문제 설정
- DACAD는 라벨이 없는 타겟 시계열 데이터셋 T에서 라벨이 있는 소스 데이터셋 S를 사용하여 이상탐지하는 모델
- 소스 데이터는 정상과 이상 라벨O, 타겟 데이터는 라벨X
Anomaly Injection
- 타겟 데이터에 라벨이 없기에, DACAD는 이상 주입 방법으로 합성된 이상을 만들어냄
- 이 과정에서 소스 데이터의 정상 샘플 Snorm과 타겟 데이터 T에 합성 이상을 추가하여 새로운 샘플 집합 Sinj와 Tinj를 생성함
- 모델이 다양한 유형의 이상 학습하는데에 도움됨
TCN
- TCN을 통해 시계열 window의 주요 특징 추출
- 변환된 특징 공간에서 4가지로 나눌 수 있음
- φR(S) : 소스 window의 representation
- φR(S) : 타겟 window의 representation
- φR(STriplets) : 소스 triplet의 representation
- φR(STriplets) : 타겟 triplet의 representation
Triplet의 구성
소스 도메인에서
- 라벨있는 데이터를 사용하여 anchor asi (정상 샘플), positive psi (다른 정상 샘플), negative nsj (이상 or 합성 이상 샘플)으로 구성된 삼중항 만듦
- 이 삼중항을 통해 모델이 정상과 비정상 샘플 간의 거리를 학습함.
타겟 도메인에서
- 타겟 도메인에서는 라벨이 없기에 시간적으로 가까운 window를 positive sample로 사용하고, 합성된 anomal window를 negative sample로 사용하여 삼중항을 구성함
대조학습 Loss function
소스 도메인에서의 supervised contrastive loss function
- 정상 샘플과 이상 샘플 간의 거리를 최대화하여 구별력 높임
- triplet loss 사용하여 앵커 window와 positive window간의 거리 최소화하고, negative window와의 마진 m만큼 유지
타겟 도메인에서의 self supervised contrastive loss function
- 앵커 window와 positive window간의 거리 최소화하고, negative window와는 마진 m만큼 떨어지도록 함
분류기(Center-based Entropy Classifier, CEC)
- feature space에서 정상과 이상 샘플 분리
- 모델이 학습한 특징을 통해 정상 중심에서 얼마나 멀리 떨어져있는지 계산하여 이상점수 제공
- 이상 점수 높을수록 이상으로 판단
최종 Loss function
- 총 손실 최소화하는 방향으로 학습됨
Comment
- contrastive learning 공부 다시해야될듯
- 이 방법론은 anomaly injection과 triplet lossfunction이 포인트