1.변수 추출방식과 신경망 방식의 비교
다음은
생체신호(뇌파)에서 유의한 어떤 값을 추출하는 방식으로 감성을 정량화 하는 전체 모식도를 보여주고 있다. 이러한 과정에서 핵심은 신호처리 과정이다. 그러나 신호처리라는 것은 원래의 신호에 포함되어 있는 모든 정보를 남겨두질 않는다. 나름대로 유의한 부분만을 볼려고 하는 것이다. 따라서 이 방식은 측정된 원래의 신호에서 무엇이 중요한 것인지를 아는 경우에 유용한 방식이다. 또는 시행착오적 방식으로 수많은 신호처리과정을 해보면서 중요한 변수를 추출해야만 한다. 그러나 다른 생체신호와는 달리 뇌파의 경우 선험적으로 중요한 변수가 어떤 것인지 우리가 알 수 있는 것이 아니다. 유의한 변수를 추출하기 위한 유일한 방법은 수많은 시행착오를 거쳐야 한다는 점이다.

한편 다음 그림은 신경망 방식을 이용한 감성추출 방식이다. 전체적으로 뇌전위에서 주요한 정보를 주파수 분포와 전극이 부착되어 있는 공간적인 주파수의 차이라고 가정한다. 이때 원래의 뇌전위 신호에서 제거되는 정보는 위상정보이다. 그 외에는 모두 보존되고 있다. 실제 분류는 신경망의 학습에 의한다. 앞서 기술한 신호처리과정에 의한 정보손실의 위험성은 없다.

![]()
2. Classifier 시스템의 구현
1) 특징
뇌파에
기반한 신경망 classifier 프로그램은 일반 개인용 컴퓨터에서 작동된다. GUI 환경을 바탕으로 하여, 보통 뇌파 신호처리에 요구되는 복잡성을 줄일 수 있어 사용자가 쉽게 접근 할 수 있다.2) 시스템 구현환경
본 프로그램은 MS Visual C++ 5.0에서 작성되었고, IBM-PC(펜티엄급)에서 Window95/NT를 기반으로 한다. 최소32Mbyte 램이면 충분하다.
3) 시스템의 구조
본 프로그램은 뇌파신호에서 주파수 분포를 먼저 계산하고 이를 학습이 된 신경망의 입력노드에 인가하여 최종적으로 그래프 출력으로 그 결과를 보여주게 된다. 다음 그림의 경우에 오른쪽 아래 그림이 최종적인 출력의 예이다. 이 예에서는 가로축은 시간축(단위: 초)이며 세로축은 자극반응성을 나타낸다. 원래의 뇌파신호는 7초까지 안정을 취하고 있던 피검자에게 시각자극을 가하면서 측정된 뇌파를 이용하였다. 이 결과에서 알 수 있는 것은 피검자가 7초까지는 안정이었음을 알 수 있고, 자극이 주어진 7초 이후, 즉 9초 10초 11초 에서 자극 반응성을 보이고 있음을 알 수 있다.
4. 시스템의 기능
1) 데이타 파일 열기
다음 창은 파일 메뉴에서 "open data..."를 선택하였을 때 대화상자가 나타난 모습이다. 측정된 뇌파 데이타를 선택하여 "열기"를 선택한다.

2) 뇌파테이타 보기 창 활성화

위와
같이 데이타 파일을 선택하면 다음과 같이 뇌파 데이타를 보여주는 창이 생성된다. 보통 뇌파 데이타는 장시간동안 측정된 경우가 많기 때문에 한번에 보여주기에는 컴퓨터의 폭이 좁다. 그래서 전체 데이타 중에서 일부분만을 보여주는데, 파형을 보여주는 창의 우상단에 현재 보이는 데이타 영역을 보여주고 있다. 1/6이라는 것은 전체를 6등분 하였고 현재 보이는 것이 1번째라는 것이다. 다른 파형을 보기 위해서는 툴바에서 하늘색 화살표를 클릭하면 된다.3) 데이타 등록정보 보기

툴바에서
체크표시로 되어 있는 버튼을 선택하면 현재 열려있는 데이타 파일의 등록정보를 보여준다. 피검자 이름, 나이, 측정일이 기록되어 있고, 측정된 데이타의 세부 분할정보 샘플링 시간등이 표시된다.
4) 데이타 확대 기능
다채널
뇌파 데이타를 동시에 표시하게 되면 그 세밀한 파형을 알 수 없기 때문에 단일채널 확대 기능을 이용하여 크게 해서 볼 수 있다. 툴바에서 확대경 버튼을 누른다.
5) 주파수 분포계산
메뉴의 "Post Process "내의 Power spectrum을 선택하면 현재 보이고 있는 데이타에서 주파수 분포 정보를 계산하여 새로운 창이 생성된다.

주파수
창에서 마우스 왼쪽 버튼을 누르면 다음과 같이 주파수 구간 선택 대화상자가 생성된다. 여기서 주파수 구간을 변경할 수 있다.

7) 신경망 학습용 데이타 저장을 위한 출력 셋팅

주파수
분포를 이용하여 신경망을 학습시키기 위하여 학습용 데이타를 저장해야 한다. 먼저 툴바에서 출력치 셋팅 버튼을 선택하여 다음과 같이 값을 선택한다.
8) 신경망 학습용 데이타 저장
주파수
창에서 마우스의 오른쪽 버튼을 누르면 다음과 같이 신경망 "학습용" 데이타 저장을 위한 대화상자가 생성된다. 여기서 적당한 이름을 선택하여 저장한다. 이때 저장 되는 것은 현재 주파수 창에서 보이는 모든 채널의 power spectrum 값이다.
저장
대화상자에서 저장 버튼을 누르면 데이타 저장과 동시에 대화창은 닫힌다. 이 기능은 한번 실행되고 나면 다음번에 마우스 오른쪽 버튼을 ㅋㄹ릭하여도 대화상자는 생성되지 않고 처음에 지정한 파일에 계속적으로 기록된다. 다른 데이타 구간에 대해서 학습용 데이타를 저장하기 위해서는 앞의 2번에서 설명한 하늘색 화살표를 클릭한다. 그러면 파형데이타가 2번째 것으로 갱신되면서 동시에 자동으로 power spectrum도 새롭게 계산되어 창에 바뀐 결과를 보여준다. 이를 학습용으로 저장하기 위해서는 역시 주파수 창에서 오른쪽 마우스를 클릭한다. 이미 저장할 파일명을 지정한 상태이기 때문에 대화상자가 활성화 되지 않고, 처음에 지정한 파이명으로 계속 저장하게 된다. 학습용 데이타는 이와 같은 방법을 반복적으로 사용하면 된다.
9) 학습용 데이타를 이용한 신경망 학습
앞의 8) 과정에서 만들어진 학습용 데이타를 이용하여 신경망을 훈련시키는 과정을 설명한다.
주메뉴에서
Neural Net Process -> Power Spectrum Based...를 선택하면 다음 그림과 같이 Neural Net Classifier 전용 대화상자가 생성된다.
가장
먼저 신경망의 층수, 입력층, 은닉층의 노드 개수등을 셋팅해야 하는데, 대화상자에서 Setting the Layer를 클릭하여 각각의 값들을 기입하면된다. 버튼 중에서 "Learning Process and Making Weight File"에서 신경망을 학습시키게 되는데, 프로그램의 지시대로 파일명 등을 기입하면 된다. 보통 이과정에서 필요한 계산시간은 20분 내지 30분 정도이다. 이과정까지 끝나면 학습용 데이타를 이용하여 신경망 연결들의 가중치가 파일로 만들어 지게 된다.
10) 가중치 파일을 이용한 실제 문제 적용과정. - output 파일을 만드는 경우
앞의
9)의 과정에서 가중치 파일을 이용하여 임의 데이타의 분류문제에 적용하는 것만이 남아 있다. 본 프로그램에서는 문제 적용이 2가지 방식이 가능한데, 계산결과치를 파일로 출력하는 방식과 파일로는 만들지는 않고 그 결과를 그래픽으로 디스플레이 하는 방식이 있다. 먼저 파일 만드는 방식을 설명한다. 가중치 파일이 주파수분포를 기반으로 하여 만들어 졌기 때문에 임의의 뇌파 데이타에서 주파수분포를 파일로 먼저 저장하여야 한다. 이를 설명한다. 앞의 설명 1 과 동일하게 먼저 임의 데이타를 열고 주파수 분포 창을 생성하는 것 까지는 동일하다(설명 6까지 동일함). 주파수 창에서 오른쪽 마우스를 클릭하면 학습용 저장이지만 여기서는 그렇지 않다.
테스트용 저장은 위 그림에서 동그라미 표시가 있는 T자 버튼을 통해 이뤄진다. 버튼을 클릭하면 테스트용 power spectrum 데이타 저장용 대화상자가 생성되며 적당한 파일명을 기입하고 저장 버튼을 클릭한다. 이것 역시 처음에 한번 세팅하면 다음의 저장에서는 대화상자가 생성되지 않고 처음 지정한 파일명으로 계속 저장한다.
테스터
파일저장이 완료된 후 신경망을 이용하여 분류하기 위해서는 주메뉴에서 Neural Net Process -> Power Spectrum Based...를 선택한다. 가장 먼저 신경망의 층수, 입력층, 은닉층의 노드 개수등을 셋팅해야 하는데, 대화상자에서 Setting the Layer를 클릭하여 각각의 값들을 기입하면 되는데, 학습용 데이타를 이용하여 가중치 파일을 만들때 설정했던 셋팅과 반드시 동일해야 한다.

셋팅하고
난 후에 버튼 "Classifier Start with Test File"을 선택하여 지시사항대로 기입하면 최종적으로 *.out이라는 파일에 결과치를 저장한다.다음은
*.out파일의 예를 보여주고 있다. 쾌 자극을 받은 뇌파데이타를 이용하여 쾌라는 상태를 0, 1 로 신경망을 학습시킨 후, 다른 사람의 쾌자극을 받은 임의 뇌파 데이타를 이용하여 자극 받은 후 4초 동안의 상태를 1초단위로 신경망으로 분류한 것이다. 결과를 보면 완전히 0,1의 상태임을 알 수 있고 이를 바탕으로 피험자는 지금 쾌한 상태임을 알 수 있다.0.101806 0.898646
0.029206 0.966066
0.041872 0.967032
0.016752 0.944167
11) 가중치 파일을 이용한 실제 문제 적용과정. - 파일을 만들지 않는 경우
임의
뇌파 파형을 입력하면 그 결과를 그래픽으로 바로 디스플레이 하는 방식이다. 이 과정은 앞의 파일저장 방식보다 훨씬 간단하고 그 결과를 바로 볼 수 있기 때문에 매우 유용한 방식이다. 뇌파 데이타를 열고 주메뉴에서 Display Emotion을 클릭하기만 하면 된다. 먼저, 앞의 1)의 설명대로 검사하려는 뇌파 데이타 파일을 open 한다. 다음의 그림에서 처럼 주메뉴의 Display Emotion을 클릭하면 새로운 창이 생성되는데 이대 동시에 툴바에서 Display Start 버튼만이 활성화 되게 된다.다음
그림에 예를 보여주고 있다.
이
그림에서 왼쪽 편은 뇌파 데이타를 1초단위로 보여주고 있고, 오른쪽은 각 채널의 뇌파 데이타에서 계산된 주파수 분포를 보여준다. 그리고 중앙은 주파수분포를이용하여 신경망 분류한 결과를 보여준다. 쾌, 불쾌 중에서 어디에 가까운지를 원의 중심에서 그려진 지시막대로 판별해주는 것이다. 그 방향에 따라서 쾌와 불쾌의 상태를 알 수 있고, 지시막대의 길이는 그 강도를 의미한다. 이 그림의 예 에서는 쾌라는 상태임을 알 수 있는데, 실제 이 피험자는 쾌한 자극을 받은 상태이고, 주관적 평가도 쾌라고 답했다.![]()
12) 신경망 분류기를 이용한 감성데이타에의 적용결과
5명의 피검자에게서 이뤄진 감성자극실험 데이타를 이용하여 거의 대부분 주관적 평가와 일치하는 결과를 보여주었다. 감성실험에 사용된 자극은 시각적인 것이었고 스크린을 통하여 30초 동안 장면이 제시되는 것이었다. 다음의 일련의 그림에서 그 결과를 보여주고 있는데 이 그림은 총 30초동안의 감성의 변화를 하나의 그림에 나타낸 것이다. 대체적으로 모든 피검자에 대하여 불쾌보다는 쾌상태를 잘 분류해 주고 있다. 그러나 불쾌의 경우에도 자극이 제시된 직후에는 바로 불쾌의 상태를 가리키다가 시간이 지나면서 쾌 상태쪽으로 지시막대가 움직이는 결과를 보여주었다. 이의 해석은 여러가지가 가능한데 실제 뇌파의 상태가 불쾌와는 다른 어떤 상태로 천이하였을 수도 있고, 또는 제시된 자극이 매우 혐오스러운 것이었음을 고려해 볼 때 피검자들이 몸을 움직인다든지 머리를 움직임에 의한 artifacts에 의한 결과 일 수 도 있는 듯 하다.
피검자
-1쾌자극 불쾌자극


피검자
-2쾌자극 불쾌자극


피검자
-3쾌자극 불쾌자극


피검자
- 4쾌자극 불쾌자극

피검자
- 5쾌자극 불쾌자극


![]()