안녕하세요. 오늘은 생체신호 중 가장 대표적인 EEG (Electroencephalography)을 CNN과 Transformer의 self-attention 구조를 결합하여 분류 성능을 향상시킨 EEG Conformer에 대해서 소개하도록 하겠습니다.
Background

Brain-Computer Interface (BCI)는 위 그림과 같이 뇌와 외부 장비를 직접적으로 연결하여 인간과의 상호작용을 돕는 연구입니다. 위 그림과 같이 운동 재활 (Motor Reabiliation), 감정 인식 (Emotion Recognition), 그리고 인간-기계 상호작용 (Human-Machine Interaction; HMI)가 대표적으로 활용되는 분야입니다.

BCI 연구에서 가장 핵심이 되는 데이터가 바로 EEG (Electroencephalography)로 쉽게 생각하면 뇌의 전기적 신호라고 볼 수 있습니다. 보통 뇌의 전기적 신호를 얻기위해 가장 정확한 방법은 외과적 수술을 통해 뇌에 칩을 직접 심는 방법을 생각해볼 수 있습니다. 하지만, 이는 인간의 면역반응 및 이후 건강상태 악화 등의 이유로 좀 더 안전한 방법으로 뇌의 전기적 신호를 얻는 방법을 고려하였습니다. 이 방법이 바로 EEG이죠. 위 그림과 같이 뇌에 직접 심는 게 아니라 두개골의 겉에서 전기적 신호를 얻는 방법입니다. 하지만, 높은 임피던스로 인해 신호의 퀄리티가 떨어지거나 심리적인 요소로 인해 저희가 실험한 시뮬레이션에 해당하는 뇌파 정보가 제대로 추출되지 않을 가능성도 있기 때문에 이 EEG 신호를 정확하게 디코딩하고 분류하는 것은 굉장히 어려운 문제입니다.
그래도 CSP (Common Spatial Pattern), Filter Bank, CWT (Continuous Wavelet Transform), EWT (Empirical Wavelet Transform) 등 다양한 전통적인 기법을 활용하여 추출하고 SVM (Support Vector Machine) 또는 MLP (Multi-layer Perceptron)과 같은 분류기에 입력하는 방식은 적극적으로 활용되어 왔습니다. 하지만, 이러한 방법들은 task-dependent한 feature를 얻기 때문에 prior 정보가 필요하죠. 이러한 문제를 해결하기 위해 CNN 기반으로 제안된 ConvNet, EEGNet 등이 제안되어 지역적인 세부정보를 잘 추출함에도 불구하고 전체 시간에 걸쳐 전역적인 문맥 정보를 추출하지 못한다는 문제점이 있었습니다.
이러한 문제를 해결하기 위해 본 논문에서는 CNN과 Transformer의 self-attention을 결합한 EEG Conformer를 제안합니다. CNN을 통해 지역적인 디테일을 추출하고 self-attention을 통해 전역적인 문맥 정보를 추출하는 것이죠. 이때, CNN으로는 2D 합성곱이 아니라 2개의 1D 합성곱으로 설계하여 시간축과 공간축에 대해 각각 합성곱을 적용하여 특징을 추출합니다. 이렇게 얻은 특징을 self-attention에 입력하게 되고 이때 필요한 토큰은 이전 합성곱 모듈에서 얻는 시간축의 각 포인트로 정의합니다. 뿐만 아니라 본 논문에서는 컴퓨터 비전 분야의 대표적인 설명가능한 AI 중 하나인 CAM을 변형하여 EEG의 해석에 알맞는 CAT (Class Activation Topography)를 제안하였습니다.
Proposed Method: EEG Conformer
1) Overall Architecture

그림 1은 EEG Conformer의 전체적인 그림을 보여주고 있습니다. 전체적인 처리과정은 Preprocessing + Convolution Module + Self-Attention Module + Classfier로 구성됩니다.
2) Preprocessing
EEG는 다채널의 긴 시계열 신호 데이터로 많은 정보가 포함되어 있지만 그만큼 노이즈도 많이 포함되어 있습니다. 따라서, 전처리 과정은 필수이죠. 먼저 노이즈 제거를 위해 band-pass filtering을 거치는 데 이때 6-order Chebyshev Filter라는 방법을 적용합니다. 그리고 신호의 전체적인 변동성을 줄이고 안정성을 위해 Z-score standardization을 적용합니다.
$$x_{o} = \frac{x_{i} - \mu}{\sigma^{2}}$$
여기서 $x_{i}$와 $x_{o}$는 각각 band-pass filtered 및 최종 전처리 신호 데이터를 의미합니다. 그리고 $\mu$과 $\sigma^{2}$는 각각 훈련 데이터의 평균과 분산을 의미하고 이는 시험 데이터에서도 바로 적용됩니다.
3) Convolution Module

처음에도 말씀드렷다싶이 본 논문에서는 2D 합성곱이 아니라 2개의 1D 합성곱으로 설계하여 시간축과 공간축에 대해 각각 합성곱을 적용하여 특징을 추출합니다. 표 1은 이 convolution module의 전체적인 모습을 보여주고 있으며 이 과정은 다음과 같습니다.
STEP1. [Temporal 1D Convolution] 시간축에 대해 1D 합성곱 적용
STEP2. [Spatial 1D Convolution] 서로 다른 채널 사이의 상호작용을 이해하기 위해 공간축에 대해 1D 합성곱 적용하고 배치 정규화와 ELU (Exponential Lineary Unit)을 비선형함수로 적용
STEP3. [Average Pooling] 평균 풀링을 시간축으로 적용하여 시간축의 특징의 노이즈를 줄이고 연산량을 감소
STEP4. convolution module의 출력 특징을 재배치하는 과정으로 채널 차원을 제거하고 합성곱의 채널 차원과 시간 차원을 전이시킴
4) Self-attention Module
EEG 특징의 시간축으로의 전역적인 문맥 정보를 이해하고 제한된 수용 영역을 극복하기 위해 convolution module의 출력 특징에 self-attention을 적용해줍니다. 이 과정은 저희가 Transformer를 통해서 많이 알고 있는 그 과정 (토큰 기반의 MHSA + FFN)과 완전히 동일하게 동작하기 때문에 자세한 내용은 생략하도록 하겠습니다.
5) Classifier Module and Loss Function
본 논문에서는 self-attention module로 얻은 최종 EEG 출력을 2개의 Full-Connected Layer로 구성된 분류기에 입력하여 최종 예측을 수행합니다. 이 과정에서 손실함수는 Cross-Entropy를 사용하여 업데이트를 진행합니다.
Experiment Results
1) Quantitative Results
1-1) BCI Competition IV Dataset 2a (Dataset I)

1-2) BCI Competition IV Dataset 2b (Dataset II)

1-3) SEED dataset (Dataset III)

2) Training Process

3) Ablation Study
3-1) Model Architectur and Data Augmentation

3-2) Parameter Sensitivity

4) Feature Visualization

5) Class Activation Topography


