Deep Learning for Time Series Anomaly Detection: A Survey
ZAHRA ZAMANZADEH DARBAN, GEOFFREY I. WEBB,
SHIRUI PAN, CHARU C. AGGARWAL, MAHSA SALEHI
ACM Computing Surveys (CSUR), 2024.
1. Introduction
- TSAD는 의료, 자연재해 등 광범위한 영역에서 적용 가능성이 증가함에 따라 주목받고 있음
- Deep Learning을 이용한 TSAD 중심으로 설명
2. Background
2.1 Univariate Time Series
- UTS(Univariate Time Series): 시간에 따라 변하는 한가지 변수
- X=(x1,x2,…,xt) : Time Series X, timestamp t
2.2 Multivariate Time Series

- MTS(Multivariate Time Series): 시간에 따라 변하는 여러 변수
- temporal dependency: 과거 값에 영향 받음
- spatial/intermetric dependency : 서로 다른 변수 사이 상관관계
- X=(X1,X2,…,Xt)=((x11,x12,…,x1d),(x21,x22,…,x2d),…,(xt1,xt2,…,xtd))
- time i 에서의 Time Series Xi, Dimension d
2.3 Time Series Decomposition
1) Secular Trend
- long term trend: 증가, 감소, 안정 등
- 전체 시간 동안의 일반적인 pattern을 나타냄
- 선형이 아니여도 됨
2) Seasonal Variations
- 계절성 (특정 달, 일, 기간 등)
- 일정 주기마다 반복됨
3) Cyclical Fluctuations
- cycle: 장기 추세 및 계절적 변동에 의해 정의된 기본 시계열에서 벗어나는 확장된 편차
- 시작 시점, 지속 기간 다양
4) Irregular Variations
- 랜덤, 불규칙적인 event
- 다른 모든 요소들이 제거되고 남은 것
2.4 Anomalies in Time Series
2.4.1 Types of Anomalies
1. temporal
1) Global
- 시리즈 전체와 비교했을때 튀는 point
- ∣xt−x^t∣>threshold
2) Contextual
- 인접한 시점에서의 벗어남 = context에서 벗어남
- 어떤 맥락에서의 이상치는 다른 맥락에서는 이상치가 아닐 수 있음
- threshold≈λ×var(Xt−w:t)
- Xt−w:t: data point xt에서의 context, window size w, 조절 변수 λ
3) Seasonal
- 전체적인 계절성에서 벗어나는 point
- disss(S,S^)>threshold
- S : 실제 계절성 , S^: 예상 계절성
4) Trend
- 데이터를 평균으로부터 영구적인 변화를 야기 / 시계열의 추세 전환을 발생시키는 이벤트
- 정상적인 주기성과 계절성을 유지하면서도 기울기를 크게 변경
- disst(T,T^)>threshold
- T : 실제 trend , T^: 정상 trend
5) Shapelet
- 보통 패턴과 구별되는 subsequence pattern
- dissc(C,C^)>threshold
- C : 실제 cycle , C^: 예상 cycle
2. intermetric
: 변수들 간의 상관관계가 깨질 때 발생하는 이상 행동
- 특정 시점에서 여러 변수들 간의 상호작용이 평소와 달라지는 것을 의미
- 개별 변수 자체는 정상 범위 내에 있더라도, 변수들 간의 관계가 비정상적으로 변화
- DTW를 활용하여 패턴에서 벗어난 정도를 정량화
- Dynamic Time Warping (동적시간워핑)
- 두 시계열을 최적으로 정렬(optimally align)하여 두 시계열 간의 비유사성(dissimilarity)을 측정하는 데 유용한 방법
- 시간 축에서 늘어나거나 줄어들 수 있는 비선형적인 왜곡을 허용하면서 유사도 측정 가능
- 같은 패턴인데 속도가 다르거나 시작 양상이 달라도 같은 패턴으로 인식 가능
3. temporal-intermetric
: Intermetric anomaly와 Temporal anomaly가 동시에 발생하는 복합적인 이상 현상
- 여러 변수 간의 상관관계도 깨지고, 동시에 시간적 의존성(temporal dependencies)도 위반하는 경우
- 여러 측면에서 이상 징후가 나타나므로 오히려 뚜렷하게 드러날 수 있음
3. Time Series Anomaly Detection Methods
: Statistical-based, Clustering-based, Distances-based, Density-based
3.1 Deep Models for Time Series Anomaly Detection
- supervised learning : 레이블 존재하는 정상/이상 데이터셋을 사용하여 학습. 그러나 실제 데이터는 이상치가 사전에 알려져 있는 경우가 적음
- unsupervised learning: 레이블 사용 안함. 데이터 자체의 특징을 학습.
- semi-supervised learning: 정상 데이터셋만 존재할때, 정상 패턴을 파악함
- self -supervised learning: 외부 레이블 없이 입력 데이터 자체의 감독 신호를 생성하여 학습. 데이터 일부를 가리거나 변형한 뒤 원본을 예측하게 하는 등 데이터의 본질적인 구조와 표현을 학습
TSAD 모델의 입력 데이터 처리 방식
1) step-by-step 모델
- 학습 모듈에서 정상 데이터 특징/패턴 학습
- 이상치 점수 모듈이 학습된 정보 바탕으로 이상치 점수 계산
2) end-to-end 모델
- 학습/이상치 점수 모듈이 하나의 통합된 신경망 구조로 결합
3.2 Forecasting-based Models
: forecasting-based(RNN,CNN,Transformer),
reconstruction-based(AE, GAN, Transformer), representation-based(CNN, Transformer)
- 예측값을 실제값과 비교하여 이상치인지 판단
- sliding window를 이동하며 한번에 한 포인트를 예측
- 정상이 이상보다 많은 실제 상황에서 유리함
3.2.1 RNN: Recurrent Neural Network

- sequence 데이터 처리에 특화
- 내부 메모리 통해 이전 단계 정보를 다음 단계로

- RNN의 한계인 장기 의존성 문제 해결
- 입력,출력,망각 게이트 존재
- 어떤 정보를 저장할지, 어떤 정보를 잊을지 조절 가능

- Gated Recurrent Neural Network
- LSTM의 간소화 버전.
- LSTM과 유사하게 gate 아키텍처 > 업데이트/리셋 gate
3.2.2 CNN: Convolutional Neural Network
- Convolutional Layers: 학습 가능한 필터들의 집합을 활용하여 전체 입력에 적용. 2차원 activation map 생성
- Pooling Layers: 결과를 통계적으로 요약
3.2.3 GNN: Graph Neural Networks

- TSAD를 그래프 이상치 탐지 문제로 바꿔서 풀 수 있음
- MTS > Graph 모양으로 바꾼뒤 GNN으로 탐지
- MTS에서 각 차원이 Graph에서 노드가 됨
- 시간 경과에 따른 공간적 변화를 감지할 수 있음
3.2.4 HTM: Hierarchical Temporal Memory

- 뇌의 계층적 처리 방식을 모방하여 이상탐지
- 추상화 수준에서 복잡한 구조까지

- 순환구조 없이 attention 만으로. QKV structure
- 순환구조 없어서 토큰 내의 순서정보 > positional encoding
3.3 Reconstruction-based Models
- forecasting-based model들은 빠르게 변하는 시계열에 적응 잘 못함 > 짧은 텀의 예측만 하게됨 > 쓸모없어짐
- 재구성 기반 모델들은 예측 기반 모델과는 다르게 현재 시계열 데이터에 접근 가능
- 감지가 좀 느릴순 있지만, 정확도가 필요하면 재구성 기반 모델을 사용
3.3.1 AE: AutoEncoder

- MTS에서 자주 사용 > 비선형 차원 축소에 유리
- encoder/decoder로 구성된 비지도 학습 신경망
- 인코더가 input을 저차원 표현으로 바꿈
- 디코더가 저차원 표현을 보고 재구성
3.3.2 VAE: Variational AutoEncoder

- 잠재공간을 특정 확률 분포(가우시안)로 모델링하는 생성 모델
- 이상치탐지에서 불확실성 모델링에 유리
- input을 개별 point로 인코딩하지 않고, 확률 분포로 인코딩
- 확률 분포의 평균, 표준편차가 인코더의 출력값
- 거기에 랜덤한 에러값을 더해줌
- 손실함수:
- 1) 재구성 오류
- 2) KL divergence: 인코더가 출력하는 잠재분포가 표준분포와 얼마나 유사한지
3.3.3 GAN: Generative Adversarial Networks

- 게임이론에 기반한 생성 모델링 알고리즘
- Generative Modeling: train data 를 학습하여 최대한 현실적인 데이터를 생성
- 생성자/판별자
- prior association: 정상적인 시계열 데이터에서 timestamp간 예상 연관성
- series association: 실제 관측 연관석
- 정상패턴 > prior/series 차이 적음
- 이상패턴 > prior/series 차이 큼
3.4 Representation-based Models
- raw data 사용하는 대신 robust한 표현을 학습
- 라벨 데이터가 적을 때 유리 > unsupervised or self-supervised
- Transformers, CNN
3.6 Model Selection
1) Multidimensional Data with Complex Dependencies
: 복잡한 종속성을 가진 다차원 데이터 > GNN
- 다변량 시계열에서 시간적 및 공간적 종속성을 모두 포착하는 데 적합
2) Sequential Data with Long-Term Temporal Dependencies
: 장기적인 시간적 종속성을 가진 순차 데이터 > LSTM, GRU
- 장기적인 시간적 종속성을 모델링해야 하는 애플리케이션에 효과적. RNN 계열의 모델로, 과거 데이터가 현재 및 미래 값에 미치는 영향을 학습
3) Large Datasets Requiring Scalability and Efficiency
: 확장성과 효율성이 요구되는 대규모 데이터셋 > Transformers
- Self-attention 메커니즘을 활용하여 장거리 종속성을 효율적으로 모델링할 수 있어, 대규모 데이터셋 처리에 적합
4) Handling Noise in Anomaly Detection
: 이상 탐지에서 노이즈 처리 > AE, VAE
- 데이터를 저차원 잠재 공간으로 압축한 후 다시 원본으로 복원하는 과정에서 정상 데이터의 패턴을 학습하고, 노이즈나 이상치로 인해 발생하는 복원 오류를 통해 이상을 탐지
5) High-Frequency Data and Detailed Temporal Patterns
: 고주파 데이터 및 상세한 시간적 패턴 > CNNs
- 고주파 데이터에서 지역적인 시간적 패턴을 포착하는 데 유용
6) Data with Evolving Patterns and Multimodal Distributions
: 진화하는 패턴 및 다중 모드 분포를 가진 데이터 > Hybrid Models
- 다양한 아키텍처의 강점(예: 예측 기반, 재구성 기반, 표현 학습 기반)을 통합하여 복잡하고 고차원적이며 진화하는 패턴의 시계열 데이터를 처리하도록 설계
7) Capturing Hierarchical and Multi-Scale Contexts
: 계층적 및 다중 스케일 컨텍스트 포착 > HTM Models
- 시계열 데이터에서 계층적(hierarchical) 및 다중 스케일(multi-scale) 컨텍스트를 포착하도록 설계
8) Generalisation across Diverse Datasets
: 다양한 데이터셋에 대한 일반화 > Contrastive Learning
- 긍정 및 부정 쌍을 통해 robust representation을 학습함으로써 다양한 데이터셋에 대한 일반화 능력이 필요한 시나리오에서 탁월한 성능
4. Datasets

5. Evaluation Metrics for Time Series Anomaly Detection
