ADAST: Attentive Cross-domain EEG-based Sleep Staging Framework with Iterative Self-Training
2022. 4. 25. 13:44ㆍPapers/Sleep Stage
ADAST: Attentive Cross-domain EEG-based Sleep Staging Framework with Iterative Self-Training
Eldele, E., Ragab, M., Chen, Z., Wu, M., Kwoh, C. K., Li, X., & Guan, C. (2021). ADAST: Attentive Cross-domain EEG-based Sleep Staging Framework with Iterative Self-Training. arXiv preprint arXiv:2107.04470
1. Domain Adaptation이란 무엇인가??
Domain Adaptation에서 알아야되는 것
1. Source Domain : 학습에 활용되는 데이터셋 분포 도메인 (Seen) => 실제 학습에 활용된 데이터셋(Domain Adaptation이전)
2. Target Domain : 학습에 활용되지 않은 데이터셋(Domain Adaptation이 적용되기전) qnsvh ehapdls(Unseen) ==> UnSeen이라고해서 Validation 이나 Test dataset인 것은 아니다.
Domain Adaptation은 이러한 Target Domain에 대해서 성능을 향상시키고자 하는 방법인데, 가장 잘 알려진 방법인 Transfer Leraning이 같은 문제를 해결하고자 하는 방법이다. 하지만 Transfer Learning의 경우에는 Target Domain의 데이터셋 label이 모두 있는 상태에서 학습이 수행되지만, 일반적으로 Domain Adaptation problem은 Unsupervised Learning 환경에서 수행하는 것이 목표로 된다.
Domain Adaptation은 최종적으로는 "Domain Shift"문제를 해결하기 위해 방법론을 적용하여 문제를 해결하고자 하는 것이다.
위 그림을 통해 알 수 있듯이 source-only의 경우에는 target domain에서 성능이 낮지만, Adaptation을 적용했을 때 높은 성능을 얻어짐을 알 수 있다.(당연히 학습에 관여했기 때문이긴 하다.)
Domain Shift는 위의 그림과 같이 같은 도시라 하더라도 다른 계절에 의해 다른 형태를 가질 수 도 있는 상황을 Domain Shift의 대표적인 예시이다.
labeled가 있는 source 데이터셋에 대해서 학습된 것으로 바로 unlabeled target domain에 적용시켰을때 낮은 성능을 얻는데, 이를 해결하기 위한 방법으로 Domain Adaptation을 적용하여 문제를 해결하고자 한다.
Abstract
Research Environment
- 최근 수면 단계 분류에서 많은 데이터 기반의 deep learning이 등장했다.
- 하지만, 학습 데이터와 test가 동일한 분포를 가지는 것은 "Real-world Scenarios"에서는 굉장히 비현실 적이다.(실용성이 부족하다고 생각)
Problem
- Unsupervised Domain Adaptation(UDA)는 최근 Domain Shift를 해결하기 위한 방법으로 개발되고 있다.
- 하지만, 이전 UDA방법의 경우에는 두가지 한계점이 있다.
1. 그들은 전체 모델 가중치가 도메인 정렬을 위해 공유되기 때문에 도메인-별 정보를 잃을 수 있다.(Target Domain에 대해서 학습을 수행하는 과정에 있어서)
2. 또한, source와 target 분포를 정렬하는데 있어서 target domain의 class 정보가 없기 때문에 결과론적으로 testing단계에 있어서 classification 성능을 낮출 수 있다.
Proposed the method
해당 논문에서는 새로운 방법인 ADAST(Adversarial Domain Adaptation framework based on preserving attention mechanism and iterative Self-Training)을 제안함으로써 domain shift문제를 UDA문제에서 해결하고자 한다.
1. 공유되지 않는 unshared "Attention Mechanism"을 통하여 도메인-별 특징을 보전하고자 하였다.
2. 반복적인 "self-training"전략을 통하여 target domain의 "pseudo labels"을 만듬으로써 2번 문제를 해결하고자 한다.
Domain shift in Sleep staging
- 많은 수면 label은 manually scoring에 의존한다. 하지만 public dataset과 real world의 dataset 간에는 큰 차이가 존재한다.
- 이는 여러가지 요인에 의해 발생할 수 있는데, 단순 public dataset이 아니더라도 뇌파를 측정하고자 하는 위치의 차이에 의해서 발생할 수 있으며, 같은 뇌파(C3)라 하더라도 부착하는데 있어서 오차로 인해 차이가 발생할 수 도 있으며, 추가적으로 장비의 차이에 의해서 sample rate의 차이로 인해서도 domain shift가 발생할 수 있다.
Contributions
1. 새로운 cross-dataset 수면 분류 문제를 제안하며, 이는 반복적인 자가-학습을 적대적 학습을 통해 해결하고자 한다. 그러므로 본인들의 방법은 label이 없는 target sleep data의 분포에 대해 효과적인 재정렬을 할 수 있다.
2. ADAST는 공유되지 않은 도메인별 attention module을 각 도메인의 특징을 보전하기 위하여 활용되었으며, 이는 적대적 학습을 통해 향상시켰으며 또한 타겟 도메인의 분류 성능을 향상시켰다.
3. 또한 본 저자는 dual classifier를 제안하는데, 이를 통하여 가짜 레이블의 견고성을 향상시켰으며, 추가적인 반복적 학습을 통해 이를 해겨하였다. 또한 제약조건을 줌으로써 두 classifier은 다른 weight를 갖도록 수행했다.
Overall Architecture of the proposed ADAST framework
본 논문에서 제안하는 대표적인 모듈은 다음과 같다.
1. Inter-domain의 특징을 유지하기 위한 Source and Target Attention Module(각 도메인별 특징을 위한)
2. 분류 능력 및 pseudo label 생성 능력을 향상시키기 위한 Dual Classifier
(1) 도메인별 Attention module
$$V_{ji} = \frac{exp(z_{si}^T\bigodot z_{sj})}{\sum_{k=1}^l{expz_{sk}^T\bigodot z_{sj})}}$$
$$O_{sj} = \sum_{i=1}^l{v_{ji}}\bigodot {f_{si}}$$
위의 두 식은 Attention module에서 연산되는 식이다.위의 식은 Transformer에서의 Attention과 동일한 모습을 알 수 있다.
Adversarial Loss function $\mathcal{L}_{adv}$
다음과 같이 Adversarial loss는 위와 같으며, 기존의 Adversarial loss와 동일하다. 분류기의 입장에서는 Generator(+Attention module)의 예측 값을 잘 구분할 수 있도록, Generator는 Discriminator가 분류하지 못하도록 학습한다. 추가적으로 $A_t$와 $A_s$는 각각 Target Attention과 Source Attention을 의미하며, 해당 Attention을 통하여 각 Domain의 특징을 유지할 수 있도록 학습한다.
Dual Classifier based Iterative Self-Training
본 논문의 특징인 Dual Classifier을 통하여 Pseudo Label을 생성하며, 이를 반복적으로 학습시킴으로써 각 Classifier의 성능을 높인다.
Total Loss function
위의 $\lambda_{2} |\theta_{C_1}^{T} \theta_{C_2} | $는 Regularization term으로, 두개의 Classifier가 같은 가중치를 갖지 않도록 하는 term이다. 이를 통하여 두개의 다른 Classifier를 학습시킴으로써 보다 좋은 Pseudo Label을 만들어 내는 것이 본 논문의 Dual Classifier의 목표이다. $lambda_{2}가 커질수록 같지 않은 weight를 가지도록 제약을 크게 주는 것을 의미하며, 0에 수렴할수록 제약을 없애는 것을 의미한다. 그렇다면 0일 경우 두개의 classifier module이 같은 가중치를 가질 수도 있게 된다.
Experiments
기존의 방법들보다 높은 성능을 얻음을 보여준다.
본 논문에서 제시한 Attention module, Dual Classifier 그리고 Self-training 방법들을 적용시키는 것에 따른 성능 차이를 보여주는 Table이다. 결과론적으로 모든 방법을 활용했을 때, 가장 높은 성능을 얻음을 볼 수 있다.
위의 그림은 Domain Adaptation 적용 유무에 따른 feature space에서의 결과를 시각화 한 것이다. 결과를 보면 알 수 있듯이 Adaptation이 적용되었을 때 보다 군집이 잘 됨을 볼 수 있다.
마지막으로 Loss function에서의 hyperparameter의 값을 수정함에 따른 성능 평가이다. 결과론적으로 $\lambda_1$은 1e-2일때 가장 높은 성능을 얻었으며, $\lambda_2$는 1e-3일때 가장 높은 성능을 얻었기에 본 논문에서 각 parameter은 위의 figure를 기반으로 결정하여 진행했다.
'Papers > Sleep Stage' 카테고리의 다른 글
[dataset] Sleep-edf (2) | 2020.09.14 |
---|---|
[논문정리] DeepSleepNet : A model for Automatic Sleep Stage Scoring Based on Raw Single-Channel 논문 리뷰 (0) | 2020.09.14 |