Tuli, S., Casale, G., & Jennings, N. R. (2022). TranAD: Deep Transformer Networks for Anomaly Detection in Multivariate Time Series Data. Proceedings of the VLDB Endowment, 15(8), 2277-2287.
이상 탐지 모델 중 마음에 들어서 사용해 보았던 모델을 리뷰해보려 한다!
마음에 들었지만... 이젠 떠나 보내줄게..🥲
Contents
1. Introduction
먼저 기존 연구의 한계점들엔 이러한 어려움들이 존재했다. 논문이 2022년에 게재되었으며 그 때의 기준임을 참고하기!
Limitations of Previous Research
기존 모델들은 단순한 패턴 학습에는 적합하지만, 복잡한 상호작용이나 비선형적인 시간적 패턴을 효과적으로 학습하지 못함.
RNN 및 LSTM 기반 모델들은 기울기 소실 문제로 인해 실제로는 장기 의존성을 효과적으로 학습하기 어려움.
재구성 기반 모델들은 복잡한 데이터에서 정상 데이터와 이상치를 명확하게 구분하지 못해 높은 오류율을 나타낼 수 있음.
트랜스포머 기반 모델은 강력한 성능을 제공하지만, 계산 비용이 크고 훈련 시간이 길어 실시간 이상 탐지에는 비효율적임.
TranAD는 이름에서도 유추할 수 있듯이 Transformer 기반이다!
Transformer
Transformer는 자연어 처리(NLP)에서 처음 도입된 모델로, RNN이나 LSTM과 달리 시퀀스 데이터의 병렬 처리가 가능하며, 특히 긴 시퀀스 데이터의 학습에 효과적임.
기존의 순차적 처리 대신, 모든 입력 토큰(데이터 포인트)을 동시에 처리하는 병렬 처리 구조를 사용.
Self-Attention 메커니즘
입력 데이터의 각 요소가 다른 요소들과의 관계를 학습하도록 하는 메커니즘. 각 입력 요소가 전체 시퀀스에서의 상대적 중요도를 계산하여 학습.
장점: 입력 시퀀스의 모든 요소 간 상호작용을 고려하여, 중요한 정보에 더 높은 가중치를 부여. 특히 장기 의존성(Long-Term Dependency) 문제를 해결하는 데 유리함.
Transformer 구조
Transformer는 인코더-디코더 구조로 구성되며, 인코더는 입력 시퀀스를 잠재 벡터로 변환하고, 디코더는 이 벡터를 기반으로 출력 시퀀스를 생성.
Encoder: 각 인코더는 다수의 Self-Attention 레이어와 피드포워드 네트워크로 구성됨. 레이어 정규화와 잔차 연결이 추가되어 학습 안정성을 높임.
Decoder: 디코더는 인코더와 유사하지만, 인코더의 출력을 참조하여 새로운 시퀀스를 생성.
각 시퀀스 데이터의 Q와 다른 시점 데이터들의 K값을 곱해서 각 요소 마다 다른 요소들과의 어텐션 스코어(Attention Score)를 구함.
이 어텐션 스코어는 각 요소가 다른 요소들과 얼마나 관련이 있는지를 나타내며, 이를 통해 모델은 시퀀스 내에서 중요한 부분에 더 집중할 수 있게 됨.
이렇게 어텐션 값을 계산하면 결과적으로, Q⋅K^T는 각 시점의 데이터가 다른 시점의 데이터와 얼마나 관련이 있는지, 또는 얼마나 중요한지를 나타내는 역할을 함. 이 값은 어텐션 메커니즘에서 매우 중요한 역할을 하며, 모델이 시퀀스 내의 중요한 정보를 효과적으로 학습할 수 있게 함.
2. Model
TranAD
Complete Sequence: 데이터 상의 전체 Sequence임. ( 코드 상 전체 데이터를 특정 길이의 시퀀스로 나눴을 때 그 시퀀스를 의미함. 데이터 전체 정보가 아님!)
Input Window: 전체 Sequence 중 일부임. ( 코드 상 현재 시점의 시퀀스 데이터를 가리킴!)
à 정상에 대해 좀 더 강건하고 일반화된 특징을 적절히 학습
앞 부분은 Transformer 인코더-디코더 구조를 뿌리채 박아 놓은 것을 볼 수 있음.
Encoder와 두개의 Decoder로 구성
reconstruction을 기반으로 adversarial training 적용
Encoder
TranAD는 Complete Sequence의 장기적 특징과 Input Window의 단기적 특징을 모두 반영하여 해당 window에 대한 특징 추출함.
Phase 1
초기에는 Window input과 같은 차원의 0으로 구성된 focus score를 활용하고, 차원을 증폭 시킴
--> 차원을 맞춰주기 위해 Focus Score와 Complete Sequence가 Concatenate 연산을 함
Decoder
Representation가 디코더의 입력으로 들어옴.
*Representation은 시계열 데이터의 중요한 특징을 요약하고 압축한 특징 벡터
Decoder 1과 2는 모두 데이터를 복원하고 reconstruction loss를 연산하지만 각각의 역할이 다름.
Decoder 1: reconstruction decoder의 역할로 진짜 데이터를 적절히 재구축.( 재구축된 데이터는 가짜 데이터임)
Decoder 2: prediction decoder로 진짜 데이터는 적절히 재구축, 가짜 데이터는 재구축 하지 못 함. (decoder1의 재구축된 데이터가 들어오면 재구축을 잘 못 해야함.)
Phase 2
Decoder 1의 결과 값을 adversarial training의 입력 값으로 활용(Focus Score)
Loss Function
Reconstruction loss와 adversarial loss가 병합된 형태로 최종 손실함수 정의함.
1. Reconstruction loss: 디코더 1, 디코더 2 손실 함수 둘 다 입력 데이터와 재구축 데이터가 각각 유사해지도록 학습(재구성 및 예측 오류를 최소화하는 방향으로 모델을 최적화)
2.Adversarial loss: Decoder1은 입력 데이터와 재구축 데이터가 각각 유사해지도록 학습
(Decoder 1이 재구성 과정에서 정상 데이터를 정확하게 복원하지 못한다면, 즉 재구성 오류가 발생한다면 Decoder 1의 재구성 오류를 보완)
Anomaly Score
정상 신호의 경우 O1 과 O2hat 이 실제 값과 차이가 작음
이상 신호의 경우 O1과 O2hat 이 실제 값과 차이가 큼
3. Experimental Results
실험 결과
9개의 데이터셋과 10개의 다른 모델과 비교 실험 수행
데이터셋: TranAD는 다양한 도메인에서 6개의 공개 시계열 데이터셋(예: SWaT, WADI, SMD, SMAP, MSL 등)에서 실험
비교 모델: 기존의 주요 시계열 이상치 탐지 모델(예: LSTM-ED, OmniAnomaly, USAD, GDN 등)과 성능을 비교.
F1-Score: TranAD는 대부분의 데이터셋에서 가장 높은 F1-score를 기록, 특히 복잡한 패턴을 가진 데이터셋에서 우수한 성능을 보임.
Precision: TranAD는 높은 Precision을 유지, 이는 정상 데이터에 대해 오탐(False Positive)이 적음을 의미.
Recall: 일부 데이터셋에서는 Recall이 기존 모델과 유사한 수준을 보였지만, 대부분의 경우 높은 Recall을 달성하여 이상치 탐지 성능이 뛰어남을 입증.
시각화, 모델 해석 가능한 모델임.
9개의 데이터셋과 10개의 다른 모델과 비교 실험 수행
데이터셋: TranAD는 다양한 도메인에서 6개의 공개 시계열 데이터셋(예: SWaT, WADI, SMD, SMAP, MSL 등)에서 실험
비교 모델: 기존의 주요 시계열 이상치 탐지 모델(예: LSTM-ED, OmniAnomaly, USAD, GDN 등)과 성능을 비교.
주요 결과
훈련 속도: TranAD는 상대적으로 짧은 훈련 시간에 비해 높은 정확도를 달성, 이는 실시간 이상치 탐지에 유리함.
4. Conclusion
Applications
사용 후기 (끄적 끄적)
TranAD는 제가 처음 선택한 애착이 가는 모델이었다. 사용한 비지도 학습 기반의 이상 탐지 모델로, 모델이 예측한 부분을 해석할 수 있어 어떤 부분에서 성능이 저하되는지 쉽게 확인할 수 있었다.💫👍🏻이는 모델의 성능을 평가하고 개선하는 데 큰 도움이 되었다. 그러나 Transformer 모델의 특성상, 긴 시퀀스를 Complete Sequence로 설정할 경우 메모리 부족 오류가 발생하는 아쉬움이 있었다. 만약 훈련 데이터가 매우 다양한 패턴을 가지고 있다면, 더 긴 시퀀스를 효과적으로 학습할 수 있는 다른 모델을 사용하는 것이 좋을 것 같다는 생각이 들었다. 그래도 내가 사용해 본 모델 중 TranAD의 추론 속도는 가장 빨라서 데이터에 맞는 모델이라면 실시간 이상 탐지에 매우 적합한 것 같다. 왕 따봉.~😎
'Machine Learning > Paper Review' 카테고리의 다른 글
[Review] RESTAD : REconstruction and Similarity based Transformer for Anomaly Detection (0) | 2024.08.26 |
---|---|
[Review] LSTM Fully Convolutional Networks for Time Series Classification (0) | 2024.07.13 |