InverseTime_A_Self-Supervised_Technique_for_Semi-Supervised_Classification_of_Time_Series.pdf

< 논문 요약 >

딥러닝 모델은 시계열 분류에서 우수한 성능을 보이지만, 대량의 라벨링된 데이터가 필요하다. 실제 환경에서 라벨을 지정하는 것은 비용이 많이 들고 어렵다. 기존 SOTA의 Semi-Supervised Classification 모델들은 대조학습 기반의 노이즈 추가, 랜덤 시간순서 등으로 Pretext Tasks를 만들어 이 문제를 해결하였다.

But, 본 논문은 기존의 복잡한 증강 기법들이 시계열 데이터의 특성에 최적화되지 않았거나, 데이터를 과도하게 파괴하여 원래 데이터의 특징을 잃게 만든다고 지적했다.

So, 데이터를 단순히 거꾸로 뒤집는 ‘Time Inversion’만으로도 강력한 학습 성능을 얻을 수 있음을 증명하고자 한다. ‘Time Inversion’은 시계열 데이터는 시간적 순서가 핵심 특징이라는 점에서 착안 되었다.

제안 방법은 제목에서 알 수 있듯, Self-Supervised 기법을 활용하여 Semi-Supervised 문제를 해결하는 것이다. Pretext Task는 원본 시계열 데이터와 역순으로 변환한 데이터이다. 모델은 현재 입력 받은 데이터가 ‘정방향’인지 ‘역방향’인지를 분류하도록 학습한다. 이를 통해 모델은 단순히 특정 수치가 높고 낮음을 보는 것뿐만 아니라, 어떤 신호 뒤에 어떤 신호가 오는 것이 자연스러운 것인지 시간적 문맥을 효과적으로 이해하게 된다.

즉, ‘Time Inversion’을 활용한 SSL로 사전훈련 시키면, 시계열 데이터의 복잡한 시간적 구조와 인과관계를 미리 파악할 수 있다. 이를 통해 정답이 아주 적은 상황에서도 모델이 데이터의 핵심 특징을 빠르게 포착할 수 있어, 최종 분류 작업에서 훨씬 높은 정확도와 일반화 성능을 얻을 수 있다.


< 모델 아키텍쳐 >

image.png

이 모델은 하나의 Encoder에 두 개의 Head가 달린 멀티 헤드(Multi-head) 구조

Input : 데이터 입력 및 변환

Shared Encoder : 공통 특징 추출 (이미지 중앙의 파란색 사각형 부분)

정방향과 역방향 데이터가 동일한 가중치를 가진 인코더를 통과함.