"DEEG조"의 두 판 사이의 차이
(→개발 과제의 목표 및 내용) |
(→개발 과제 요약) |
||
26번째 줄: | 26번째 줄: | ||
◇ 시계열 데이터는 시간의 경과에 따라 관측된 데이터로 time plot 을 그림으로서 다음과 같이 시계열의 특징을 쉽게 파악할 수 있다. | ◇ 시계열 데이터는 시간의 경과에 따라 관측된 데이터로 time plot 을 그림으로서 다음과 같이 시계열의 특징을 쉽게 파악할 수 있다. | ||
그런데 최근 그저 시계열 데이터 값을 그래프로 나타냄으로서 그 특징을 파악하는 것이 아닌 그 변화 패턴을 하나의 행렬 이미지로 나타낼 수 있는 Recurrence Plot이 등장했다. Reccurence Plot 이란 Dynamical System 상에서 Phase Space 내에서의 임의의 시간 i, j 에 관한 Unique Point의 대응 관계에 대한 그래프라 볼 수 있다. Recurrence Plot을 이용하면 EEG time-series 데이터의 여러 특징을 잡아서 어떤 것을 색으로, 어떤 것은 특정 축으로 나타내어 각 data에 따라 다른 matrix 이미지를 만들어낸다. | 그런데 최근 그저 시계열 데이터 값을 그래프로 나타냄으로서 그 특징을 파악하는 것이 아닌 그 변화 패턴을 하나의 행렬 이미지로 나타낼 수 있는 Recurrence Plot이 등장했다. Reccurence Plot 이란 Dynamical System 상에서 Phase Space 내에서의 임의의 시간 i, j 에 관한 Unique Point의 대응 관계에 대한 그래프라 볼 수 있다. Recurrence Plot을 이용하면 EEG time-series 데이터의 여러 특징을 잡아서 어떤 것을 색으로, 어떤 것은 특정 축으로 나타내어 각 data에 따라 다른 matrix 이미지를 만들어낸다. | ||
+ | [[파일:img1.jpg]] | ||
우리는 머신러닝 중에서 가장 주목 받는 인공 신경망 기반 딥러닝을 사용하기로 하였고, 높은 성과를 보이는 이미지 데이터 분석에 이 시계열 데이터를 이용하기로 하였다. | 우리는 머신러닝 중에서 가장 주목 받는 인공 신경망 기반 딥러닝을 사용하기로 하였고, 높은 성과를 보이는 이미지 데이터 분석에 이 시계열 데이터를 이용하기로 하였다. | ||
31번째 줄: | 32번째 줄: | ||
◇ 우리가 Deep Learning에 사용하기로 한 데이터는 Electro-encephalogram, EEG time-series data로, 더 깊은 주제로는 인간의 뇌파에 따른 감정, 상태를 label로 나타낸 EEG dataset을 이용하기로 하였다. Kaggle에 있는 EEG 관련 dataset을 살펴보면 EEG분석을 의료, 범죄, 심리학 등에 다양하게 이용할 수 있었다. 그러하여 활용도가 높은 EEG dataset을 우리 논문의 학습 데이터로 정하였다. | ◇ 우리가 Deep Learning에 사용하기로 한 데이터는 Electro-encephalogram, EEG time-series data로, 더 깊은 주제로는 인간의 뇌파에 따른 감정, 상태를 label로 나타낸 EEG dataset을 이용하기로 하였다. Kaggle에 있는 EEG 관련 dataset을 살펴보면 EEG분석을 의료, 범죄, 심리학 등에 다양하게 이용할 수 있었다. 그러하여 활용도가 높은 EEG dataset을 우리 논문의 학습 데이터로 정하였다. | ||
우리가 사용하는 EEG dataset은 Muse EEG headband를 이용하여 측정된 데이터로, 4개의 채널로 시간의 흐름을 따라서 뇌파를 각각 측정한다. TP9, TP10으로 forehead electrodes를 측정하고 AP7, AP8로 ear electrodes를 측정한다. | 우리가 사용하는 EEG dataset은 Muse EEG headband를 이용하여 측정된 데이터로, 4개의 채널로 시간의 흐름을 따라서 뇌파를 각각 측정한다. TP9, TP10으로 forehead electrodes를 측정하고 AP7, AP8로 ear electrodes를 측정한다. | ||
+ | [[파일:img2.jpg]] | ||
TP9, TP10 channel을 예시로 보면 그 시계열 데이터의 값의 범위가 감정별로 주로 다음과 같이 나타나는 것을 알 수 있다. | TP9, TP10 channel을 예시로 보면 그 시계열 데이터의 값의 범위가 감정별로 주로 다음과 같이 나타나는 것을 알 수 있다. |
2019년 6월 20일 (목) 08:24 판
프로젝트 개요
기술개발 과제
국문 : EEG를 통한 시계열 데이터 임베딩 모델 생성 및 state Classification
영문 : EEG-based state Classification using Embedding Model with Recurrence plot
과제 팀명
DEEG
지도교수
유하진 교수님
개발기간
2019년 3월 ~ 2019년 6월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 2015920044 장유진(팀장)
서울시립대학교 컴퓨터과학부 2015920004 김건회
서론
개발 과제의 개요
개발 과제 요약
◇ 시계열 데이터는 시간의 경과에 따라 관측된 데이터로 time plot 을 그림으로서 다음과 같이 시계열의 특징을 쉽게 파악할 수 있다. 그런데 최근 그저 시계열 데이터 값을 그래프로 나타냄으로서 그 특징을 파악하는 것이 아닌 그 변화 패턴을 하나의 행렬 이미지로 나타낼 수 있는 Recurrence Plot이 등장했다. Reccurence Plot 이란 Dynamical System 상에서 Phase Space 내에서의 임의의 시간 i, j 에 관한 Unique Point의 대응 관계에 대한 그래프라 볼 수 있다. Recurrence Plot을 이용하면 EEG time-series 데이터의 여러 특징을 잡아서 어떤 것을 색으로, 어떤 것은 특정 축으로 나타내어 각 data에 따라 다른 matrix 이미지를 만들어낸다.
우리는 머신러닝 중에서 가장 주목 받는 인공 신경망 기반 딥러닝을 사용하기로 하였고, 높은 성과를 보이는 이미지 데이터 분석에 이 시계열 데이터를 이용하기로 하였다.
◇ 우리가 Deep Learning에 사용하기로 한 데이터는 Electro-encephalogram, EEG time-series data로, 더 깊은 주제로는 인간의 뇌파에 따른 감정, 상태를 label로 나타낸 EEG dataset을 이용하기로 하였다. Kaggle에 있는 EEG 관련 dataset을 살펴보면 EEG분석을 의료, 범죄, 심리학 등에 다양하게 이용할 수 있었다. 그러하여 활용도가 높은 EEG dataset을 우리 논문의 학습 데이터로 정하였다. 우리가 사용하는 EEG dataset은 Muse EEG headband를 이용하여 측정된 데이터로, 4개의 채널로 시간의 흐름을 따라서 뇌파를 각각 측정한다. TP9, TP10으로 forehead electrodes를 측정하고 AP7, AP8로 ear electrodes를 측정한다.
TP9, TP10 channel을 예시로 보면 그 시계열 데이터의 값의 범위가 감정별로 주로 다음과 같이 나타나는 것을 알 수 있다.
따라서 이러한 결과를 통해 EEG분석으로 감정의 예측이 가능하다고 보았다. channel의 수가 많을수록 각 time-series data 집합에 따라 감정을 분류할 비교 요소가 많아지기 때문에 해당 channel들이 감정별로 정확한 분류 기준이 나눠 된다면 감정 분류에 도움이 된다. 우리는 EEG를 데이터 셋으로 이용하여 다양한 상태의 예측을 해보고자 하였고 이를 모두 종합한다면 실제 다양한 감정분류에 EEG를 사용할 수 있을 것이라고 생각하였다.
◇ 우리의 Deep learning 에서 이용될 cost function인 ‘Triplet Loss’는 Input과 Label의 명시적인 1대1 대응을 통해 학습시키는 기존의 딥러닝 방식과는 다르게 각각의 데이터가 특정 N차원 Eclidean Dimension에서 어느 위치에 사상되는지를 학습하도록 하는 방법이다. 학습 방법은 다음과 같다.
먼저 기준이 되는 어떠한 Anchor 이미지에 대해 Anchor이미지와 같은 Labeling이 되어있는 Positive 이미지와 다른 Labeling이 되어있는 Negative이미지를 선택한다. 그 후 각각의 이미지를 모델에 넣어 여러 레이어를 거친 후, 결과로서 나온 각각의 벡터 데이터의 Euclidean Distance를 구한다. 이 때 각 Anchor로부터 Positive 이미지와의 거리, Negative 이미지와의 거리를 측정하는데, Anchor와 Negative 이미지사이의 거리가 Anchor와 Positive 이미지 사이의 거리보다 α 만큼 멀도록 학습시키는 것이 Triplet Loss의 역할이다.
α는 Anchor와 Positive의 거리와 Anchor와 Negative의 거리가 최소한 어느 정도 차이가 나게 하여 각 데이터에 대한 명확한 구분이 가능하게 해준다.
이 때 Loss는 α만큼의 차이를 만드는 조건에 만족할 경우 0, 만족하지 못할 경우는 그 차이가 된다.
이와 같이 Triplet Loss를 사용하여 학습을 할 경우 각각의 데이터가 무엇인지를 학습하는 것이 아니라 이러한 데이터는 이 곳에 사상된다는 것을 학습시키기 때문에 적은 수의 데이터로도 One Shot Learning을 가능하게 한다는 장점이 있다. 또한 실제 학습 시 모든 Triplet을 사용하는 것이 아닌 Hard Triplet, 즉 위 식을 만족하지 못하는 데이터들만을 가지고 학습을 시키는 방법을 사용함으로서 타 모델과 비교했을 때 Fast Convergence를 이룰 수 있도록 해준다. 즉 더 빠르고 정확하게 학습을 할 수 있는 것이다.
◇ Triplet Loss를 Cost function으로 이용해 Siamese Network 에서 임베딩한다. Siamese Network는 학습이 끝나면 테스트 이미지를 네트워크에 집어넣고 support set 중에서 어떤 이미지가 가장 같은 카테고리에 속하는지 맞춰보게 한다. 이를 위해 샴 네트워크(siamese neural network)는 두 개의 이미지를 각각 하나의 네트워크에 집어넣어 최종적으로 두 이미지가 같은 클래스인지에 대한 확률값이 나오게 설계되어있다. 샴 넷의 가장 큰 특징은 대칭성(symmetry)을 가진다는 점이다. 두 이미지 x1과 x2가 있다고 했을 때, x1∘x2는 두 이미지가 같은 클래스에 속해 있다는 뜻이고 그렇다면 x1∘x2과 x2∘x1는 항상 같은 결과가 나와야한다. 즉 샴 넷의 결과물인 p(x1∘x2)는 p(x2∘x1)와 항상 같아야하는 것이다. 이러한 대칭성이 매우 중요한 이유는, 샴 넷의 가장 큰 특징 중 하나가 distance metric을 사용하기 때문이다.
개발 과제의 배경
◇ Nima Hatami의 'Classification of Time-Series Images Using Deep Convolutional Neural Networks' 라는 우리의 실험 배경이 되는 논문에는 Recurrence Plot과 CNN을 이용한 성능 실험의 내용이 있다. 이 논문의 모델의 성능은 특정데이터에서는 조금 부족한 경향이 있었다. 그리고 또 다른 배경 논문으로는 Google사의 FaceNet이 있는데 FaceNet은 얼굴인식 분야에서 95%~99%의 정확도를 보여주는 이미지 분류 기술로 ‘Triplet Loss’라는 새 개념의 cost function을 이용한 기법이다.
우리는 두 배경논문을 분석하여 두 기술을 접목시켜 이미지 분류를 하는 모델을 생성한다면 더 좋은 성능을 낼 것 이라는 결론을 내었다. 또 우리가 사용할 EEG time-series data에 뿐만 아니라 여러 종류의 time-series data에 적용할 수 있을 예측 모델을 만들어 다양한 분야에서 활용될 수 있는 효과를 기대한다.
개발 과제의 목표 및 내용
◇ 우리 실험 논문의 목적은 배경 논문에서 사용된 Deep Learning 방법들을 연구하고 학습하여 재현 하고, 기존 논문의 분류 모델보다 더 성능이 좋은 분류 모델을 만드는 것이다.
◇ Input 데이터로 Kaggle 에서 받은 EEG 데이터를 사용하기로 한다. 이 time-series data는 여러 컬럼 값들을 갖고 있고 3가지 출력값으로 사람의 감정을 ‘긍정적’, ‘중립’, ‘부정적’으로 나누어 놓았다.
◇ 우리의 데이터 machine Learning 방법은 대략적으로 다음과 같다.
① 수치로 나타내진 time-series data set을 Recurrence plot을 이용해 이미지 데이터로 만든다. ② 이미지 데이터를 Triplet Loss를 Loss Function으로 사용한 Siamese Network로 학습한다. ③ 임베딩된 값을 최종적으로 1-NN Classificaion을 이용해 분류한다. ④ 올바른 분류, 예측이 되었는지 평가한다.
1) Recurrence Plot을 이용하면 수치로 나타내진 time-series data set을 이미지 데이터로 만든다. recurrence는 특징값이라고 할 수 있는데 time-series data의 두 개 이상의 시점에서의 데이터 값이 비슷할 때 그 값들로 이루어진다. 여러 차원의 많은 값을 지니고 있는 time-series 데이터의 N개의 point 중 m차원의 값을 Si라고 할 때, time-series data는 si, si+t, si+2t,..., si+(m-1)t 로 표현할 수 있다. recurrence plot을 통해 할 것은 우선 이 값들을 2차 matrix로 나타내는 것이다. matrix의 각 값인 Rij는 point Si와 Sj 사이 거리를 나타내며 이 matrix는 대칭인 사선을 나타낸다.
recurrence plot의 원리식은 다음과 같은데, 파일:Nona1.jpg
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술현황
내용
- 특허조사 및 특허 전략 분석
내용
- 기술 로드맵
내용
시장상황에 대한 분석
- 경쟁제품 조사 비교
내용
- 마케팅 전략 제시
내용
개발과제의 기대효과
기술적 기대효과
내용
경제적, 사회적 기대 및 파급효과
내용
기술개발 일정 및 추진체계
개발 일정
내용
구성원 및 추진체계
내용
설계
설계사양
제품의 요구사항
내용
설계 사양
내용
개념설계안
내용
이론적 계산 및 시뮬레이션
내용
상세설계 내용
내용
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
내용
포스터
내용
관련사업비 내역서
내용
완료작품의 평가
내용
향후계획
내용
특허 출원 내용
내용