본문 바로가기
Signal Processing/Sleep

논문 읽기 - DeepSleepNet: a Model for Automatic Sleep StageScoring based on Raw Single-Channel EEG

by 187cm 2023. 5. 7.
반응형

저자: Akara Supratak et al.

소속: Imperial College London, London

학회: IEEE TRANSACTIONS on Neural Systems and Rehabilitation Engineering 2017
인용: 786 (until 2023.05.07)

 

Baseline

PSG(Polysomnogram)

- PSG: EEG(뇌파), EOG(눈), EMG(근전도), ECG(심전도)등 다양한 형태의 신호를 수면 중 수집한 데이터 정보

- 30초 간격으로 R&K 혹은 AASM Manual을 통해 어떤 수면 단계에 있는지를 판단한다.

 

Time Invariant vs Time variant.

- 아래 이미지와 같이, 같은 입력에 대해 같은 출력이 나오도록 하는 것.

hand-engineered feature 

- 스펙트럼 대역, 주파수 대역 등 사용자가 직접 가공하여 선별한 특징. 

 

Problem

- 현존하는 Sleep stage classification은 hand-engineered feature 기반.

- 몇 개의 Model만 temporal information(transition rule)을 담고 있음. 

Abstract

- CNN과 Bidirectional LSTM을 활용하여 Transition rule을 수면 단계에서 자동으로 학습하는 모델 개발.

- Labeling 방법이 다른 2개의 데이터 셋에서 동일한 모델으로 SOTA달성.

Related Work

DeepBeliefNets and etc. 

- 전처리 된 raw PSG 신호의 확률적인 표현을 학습

- CNN은 Fpz-Cz EEG 신호를 활용하여 time-inhvariant feature를 뽑아낸다.

- Raw EEG신호보다 hand-engineered feature 신호를 딥러닝에 넣은 것이 성능이 더 좋았다.

RNN 활용 모델

- RNN을 활용하여 long-term dependcies(transition rules)를 학습 가능하다.
- LSTM을 활용하여 time-frequency domain을 추출가능하지만, 여전히 hand-engineered feature에 의존한다.

 

I. INTRODUCTION

- 수면 단계 분류는 피실험자에게 부착된 여러 센서를 가지고 라벨링을 진행하기에 노동 집약적이며, 시간 소모적이다. 

- time-domain, frequency-domain, time-frequency domain 등을 뽑아내는 여러가지 방법이 존재하였다.

- hand-engineered feature에서는 여러개의 신호를 사용하여 하나의 Vector로 합친 후, Input으로 넣어 학습이 가능하지만 DeepSleepNet에서는 피실험자와 하드웨어간의 이질성으로 인해 이러한 과정이 일반화가 잘 되지 않을 수 있다고 본다.

- 따라서 DeepSleepnet에서는 Deep-learning을 활용하여 자동으로 hand-engineered feature를 추출하는 것을 목표로 한다

- 2개의 CNN과 Bi-directional LSTM을 활용한다. 2개의 CNN은 time-invariant feature를 추출하고, LSTM은 temporal information을 학습하는 것을 목표로 한다.

- 2 step의 학습 방법을 통해 Class imbalance 문제를 해결하고자 하였다.

- 모델의 구조 변경 없이 2개의 데이터 셋에 대해 적용이 가능하다.

II. DEEPSLEEPNET

1. Representation Learning: raw single-channel EEG에서 time-invartiant 특징 추출.

2. Sequence Residual Learning: transition rules과 같은 temporal information추출.

3. Model Specification

Figure 1

A. Representation Learning

- Figure 1에서 윗부분의 CNN part를 담당한다. large/small CNN 2개를 사용한다. 

- temporal / frequency precision을 가지고 trade-off를 겪는 signal processing 전문가들에게 영감을 받았다.

- Small CNN은 temporal information을, Larger CNN은 frequency information을 더 잘 학습한다. 

(temporal information: EEG patern, frequency information: frequency components)

- Conv Layer는 1D Conv, BatchNorm, ReLU 3개가 합쳐져 있다. Conv layer는 각각 filter size, filter 수, stride size이다.

- pooling layer는 filter size, stride size이다

- hs_i, hl_i는 각각 Small, Large CNN이며, ||은 Concatenate이다

B. Sequence Residual Learning

- 2개의 Bi-directional LSTM과 Skip-connection으로 구성되어있다.

- transition rules과 같은 temporal information을 학습하기 위해 Bi-directional LSTM을 사용했다.

- Skip-connection을 통해 과거와 미래의 정보를 같이 볼 수 있다.

C. Model Specification

- A,B 요약과 같다.

III. TWO-STEP TRAINING ALGORITHM

A. pre-training for representation Leraning

1. 2개의 CNN을 init_model에서 추출 → init_CNN_(θ_s  , θ_l ) // Random Weight 사용.
2. Pre_model 은 init_CNN_(θ_s  , θ_i) 과 softmax 가 합쳐진 Model 즉 pre_train model의 구조를 정의함.

Softmax는 마지막 FCN을 나타낸다. (Fine-tuning 단계에서 사용안할 것이기 때문, 또한 CNN만 Pre-training 진행)
3. pre-train에 사용할 data, 〖data〗_over 는 기존 데이터를 Oversampling 하여 Class-balance training set으로 학습.
4. Epochs는 학습할 횟수
5. 각 epochs에서 mini-batch 사이즈만큼 데이터를 뽑는 과정.
6. pre_model에 adam optimizer를 사용하여 학습 진행, Learning rate는 lr, “←” 개선 된 모델!
7 ~ 8 : 반복문 끝

B. Fine-tuning the whole model using different LR

09. 위의 단계의 출력물인 pre_model에서 CNN 2개를 뽑음 → pre_CNN_(θ_s  , θ_l )
10. model은 pre_CNN_(θ_s  , θ_i) 과 init_model 을 합쳐 Fine-tuning을 진행할 Model 생성
11. 학습할 횟수 만큼 반복하여 학습 진행
12. fine-train에 사용할 data는 기존 데이터 (Sequence training set) Subject는 피실험자 data는 피실험자들의 데이터가 모인 데이터 셋 (imbalanced training set)
13. Bidirectional-LSTM의 파라미터 초기화 (Pre-training 단계에서는 CNN만 학습했기 때문)
14. arrange_sequence(subject)를 통해 학습 가능한 상태인subject_data_(seq)로 바꿈.
15.Batch size에 맞게 데이터를 잘라서 학습 진행
16.2개의 Learning Rate를 가지고 학습 진행 Optimizer는 Adam

 

IV. RESULTS

- 2개의 pre-training, fine-tuning 단계에서 Oversampling을 통해 Class-imbalancing문제를 해결하고자 하였다. 실제로도 성능이 올라간 것을 볼 수 있다.

- 2개의 Learning Rate를 사용하여 Fine-tuining을 진행하였다.

 

반응형