AER: Auto-Encoder with Regression for Time Series Anomaly Detection 논문리뷰
* Long-term 홀터 ecg 데이터에 대한 효과적인 벡터 임베딩과 소아 심부전(especially, PSVT) 탐지(Anomaly detection)를 위한 논문 리뷰 *
Abstract
최근 비지도 학습 방법들 -> 단일 타임스탬프 예측(single timestamp prediction) 또는 시계열 복원(time series reconstruction)을 이용하여 해결. 서로 보완적인 관점을 제공할 수 있음.
이 논문에서는 먼저 예측 기반 방법(prediction-based)과 복원 기반 방법(reconstruction-based)의 장점과 한계를 시각적으로 보여주며 분석함. 이후, 두 방법의 장점을 결합하고 한계를 보완.
AER) vanila auto-encoder 와 LSTM regressor를 결합한 bi-directional prediction + 원래의 시계열을 복원 reconstructing the original time series 이를 위한 공동 목표 함수(joint objective function)를 최적화
prediction error와 reconstruction error를 결합하는 여러 가지 방법을 제안함. 여기에 Ablation 연구를 통해 각각의 효과를 분석함.
AER는 기존의 두 가지 예측 기반 방법과 세 가지 복원 기반 방법과 비교하며, 여러 데이터셋에서 평가 -> 평균적으로 가장 높은 F1 score 기록, vanila auto-encoder 및 regression 모델들과 유사한 runtime 유지
1. Introduction
이상값을 판단하는 기준은 분야마다 다르지만, 시계열 데이터에서 이상값은 보통 세 가지 유형으로 분류할 수 있음.
1. 점 이상(point)
- 개별 데이터 포인트가 정상 범위를 벗어나는 경우
2. 집단 이상(Collective)
- 개별적으로는 정상이지만, 연속된 데이터들이 함께 이상한 패턴을 형성하는 경우
3. 맥락적 이상(Contextual)
- 정상 범위 내에 있지만, 예상되는 시간적 패턴을 따르지 않는 경우
- 값 자체는 정상처럼 보이지만, 특정 시점에서 보면 이상한 경우 (ex. 겨울 시점 온도가 여름 수준으로 오르는 경우)
시계열 데이터에서 이상 탐지를 어렵게 만드는 몇 가지 독특한 특성
1. 시간적 종속성 (Temporality)
- 시계열 데이터는 시간에 따른 상관관계가 존재하기 때문에 독립적인 데이터 분석이 불가능함.
2. 고차원 문제 (Curse of Dimensionality)
- 다변량 시계열 데이터는 채널이 여러개 + 각 상관관계를 전부 고려하기에 계산 비용이 증가함.
3. noise 문제
- noise로 인한 문제가 있을 수 있음. preprocessing에서 noise를 최소화 할 것
4. 비정상성 (Non-stationarity)
- 통계적 성질이 시간이 지남에 따라 변화는 문제 ex.계절성(Seasonality), 개념 이동(Concept Drift), 변화 지점(Change Points) 등이 발생할 수 있음.
현재 사용되는 시계열 이상 탐지 머신러닝 기법은 크게 prediction-based / reconstruction-based 가 있음.
- Prediction-based : 이전 패턴을 학습하여 미래 값을 예측, 예측 값이 실제 값과 큰 차이가 나면 Anomaly로 판단
- 장점 : Point Anomalies 탐지에 효과적 / 단점 : 오류가 높은 경향이 있음
- Reconstruction-based : 입력 데이터를 Latent space로 변환하고, 다시 원래 데이터로 복원하는(reconstructioning) 방식, Anommaly 데이터가 복원하기 더 어렵다는 가정에서 출발한 방식
- 장점 : Contextual, Collective 한 Anommaly를 탐지하는 데 효과적
AER(Auto-Encoder with Regression) : reconstruction-based인 Auto-Encoder와 Prediction-based인 Regression을 함께 학습하는 구조로 설계
공동 목표 함수(Joint Objective Function)을 사용하여 두 모델을 동시에 최적화함. 결과적으로 두 방법에 사용하는 score를 모두 생성해낼 수 있고 기존 방법들의 한계를 해결하기 위해 여러 방향으로 결합하는 방법들까지 모색함.
간단한 이 논문의 기여
- prediction / reconstruction 기반 방법의 성공 사례와 한계를 시각적 예제를 통해 분석
- 새로운 아키텍쳐(AER) 제안
- 마스킹(Masking) 기법 도입 : 오탐지 줄이기 (Masking 한것과 하지 않은 것의 비교)
- 양방향 이상탐지 점수(Bi-directional Anomaly Scores) 제안 : prediction-based 방식에서 초기 예측값이 없어서 이상치 탐지를 못하는 문제를 보완 / forward, backward 예측값을 결합하여 이상 탐지 성능 개선
- 여러 데이터셋에서 기존 방식과 비교하여 좋은 성능을 입증 : runtime도 기존 vanila auto-encoder와 regression 모델과 유사
2. Related Work
A. Anomaly Detection Piplines
이상 탐지는 단변량 또는 다변량 시계열 데이터에서 이상 구간(Anomalous intervals)을 찾는 것을 목표로 함. (레이블된 데이터가 부족하기 때문에 일반적으로는 비지도 학습으로 수행)
최근 들어서, 이상 탐지 작업을 End to End pipline으로 정형화
End to End
1) 전처리 (Pre-Processing)
2) 모델링 (Modeling)
- Prediction과 Reconstruction하여 Expected Output을 도출
3) 후처리 (Post-Processing) <<-- 가장 중요(이상치를 실질적으로 탐지하는 과정)
- 예측된 값과 실제 입력 값 간의 차이를 분석하여 이상 감지 (prediction 관련인 것 같은데 Reconstruction의 경우에는..?)
B. Machine Learning-Based Approaches
Prediction -based approaches
예측값과 실제값의 차이를 분석하는 방식이 일반적
- ARIMA
- 과거 데이터의 지연(lag)과 예측 오류(lagged forecast errors)를 활용하여 미래 값을 예측
- 통계적 모델로, 적절한 파라미터 조정이 필요하기 때문에 사용자가 도메인 지식을 보유해야 함
- LSTM-DT
- 딥러닝 기반 시계열 모델로, 각 데이터 채널을 독립적으로 학습하여 차원이 높은 데이터에서도 오류를 줄이는 방식
- 후처리 단계에서 지수 가중 이동 평균(Exponentially Weighted Moving Average)과 비모수(dynamic thresholding) 임계값 설정을 결합하여 이상 탐지
Reconstruction-based approaches
입력 데이터를 latent space으로 변환 후, 원래 데이터로 복원하는 방식 - 데이터셋의 일반적인 패턴을 학습하고, 이상치는학습하지 못할 것이라고 가정
- PCA (주성분 분석)
- 선형 데이터 변환을 통해 차원 축소 -> Spatial-Temporal Correlation을 활용하지 못하는 한계
- LSTM-AE (LSTM 기반 AE)
- Latent Space의 크기를 적절히 설정해야 일반적인 패턴을 학습하면서도 noise를 줄일 수 있음
- LSTM-VAE (LSTM 기반 VAE)
- Probabilistic Encoder와 Decoder를 사용하여 Latent Space을 Regularization (But, overfitting의 위험이 있음)
GAN은 Reconstruction-based Anomaly detection 방법 중 하나로, 기존 방법의 overfitting 문제를 해결하려는 접근 방식
Adversarial Learning 방식을 사용하여 Reconstruction Error에 대한 Regularization을 적용할 수 있음
- MAD-GAN (Multivariate Anomaly Detection with GANs)
- Spatial-Temporal Correlation 및 여러 변수 간의 비선형 관계 학습
- TradGAN
- Cycle Consistency Loss를 활용하여 모델의 불안정성 문제를 해결
- 시계열 데이터를 더 잘 복원할 수 있음 - 후처리 단계에서 다양한 방법을 사용하여 복원 오류 기반 Anomaly Detection score를 계산
MTAD-GAT (Multivariate Time-series Anomaly Detection with Graph Attention Network) 라는 새로운 방법론도 설명하는데, Prediction-based / Reconstruction-based 방법을 결합하여 공동 손실 함수 (Joint Loss Function)를 최적화하는 Anomaly Detection임.
- MTAD-GAT : Graph Attention Network(GAT) 기반 모델
- Spectral Residual (SR) anomaly detection 기법을 활용하여 이상 영역을 미리 제거 (SR anomaly detection이 뭘까?)
- 추가적인 data cleaning 단계를 포함
- AER : Bi-directional LSTM 네트워크 사용
- 본 연구에서는 최소한의 전처리 (스케일링, 결측값 처리, 추세 제거) 정도만 수행
- 사전 지식 없이 비지도 학습으로 동작
- 하이퍼파라미터 튜닝 없이 정보 누출(Information Leakage)을 방지
3. ML-Based Anomaly Detection Pipeline
비지도 학습 기반 시계열 이상치 탐지의 목표는 주어진 시계열 데이터에서 이상 구간(Anomalous Intervals)을 찾는 것임
Anomalous Intervals : Expected Patterns에서 벗어난 Unexpected Patterns일 것
이 섹션에서는 이상탐지 작업을 단계적으로 정의한후, 기존 방법의 강점과 약점을 파악했음
A. Pre-processing Stage (전처리 단계)
시계열 신호를 잘 처리할 수 있게 하기 위해 적절한 입력 형태로 변환해야함.
1. d개의 채널을 포함하는 시계열 데이터 t는 train_test_split을 해야함. (train은 변환을 위한 파라미터 학습에 사용됨)
2. train, test data 모두 선형 회귀 기반 Least-Square Fit을 사용하여 추세를 제거할 수 있음
3. 각 데이터셋의 값을 Min-Max normalization 하여 [-1, 1]의 범위로 변환, 결측값 평균으로 대체
T를 전체 데이터셋에서의 총 샘플 개수라고 할 때,
Rolling window 기법 적용
- 윈도우 크기(n)으로 데이터 나눔
- 한 스텝씩 이동하면서 T-n 개의 입력 생성
- 각 입력 xi = {ti, ti+1, ..., ti+n-1}는 연속된 n개의 데이터 포인트 포함 (i는 윈도우의 시작 위치)
[시계열 데이터를 window 단위로 나누어 학습할 수 있도록 처리하는 과정]
B. Modeling Stage (모델링 단계)
입출력 데이터의 형식은 사용하는 이상치 탐지 모델의 유형에 따라 달라짐.
입력데이터 xi의 크기(모양) : xi = n x d 차원 (n= Window size / d=data channels)
default window size(n) : reconstruction-based = 100, prediction-based = 250 (예측 모델은 더 긴 시퀀스를 학습해야함)
다변량 데이터인 경우, 모델이 각 변수간 관계를 고려할 수도 있지만, 일반적으로는 독립적으로 각 변수를 학습함.
(이러면 다변량에서의 의미가 퇴색되지 않을까?)
ex) many to one prediction-based models = 목표 채널의 단일 시점 예측값 생성
ex) many to one reconstruction-based models = 목표 채널 전체 시퀀스를 전부 복원하여 출력
C. Post-processing Stage - Computing Anomaly Scores
1) Prediction-based Models
모델은 입력 데이터가 xi 이기 때문에 시점 i부터 시작하여 i+n 시점의 값을 예측할 것임(f i+n) 그러나, 예측을 수행하기 위해서는 최소 n 개의 관측값이 필요하므로 최초 예측은 n + 1에서 일어남. 따라서 n+1부터 T 까지만 계산이 가능함.
위와 같은 식으로 계산되고 실졔 시계열 값 ti 와 예측된 값 fi의 Absolute error로 계산됨. ti와 fi간의 차이가 크면 클수록 해당 지점이 이상 값일 가능성이 높아짐.
2) Reconstruction-based Models
모델은 입력 데이터 xi 로부터 구간 y i:i+n-1에 해당하는 연속된 값들을 복원함. 특정 시점 i에 대한 복원값은 여러개의 시퀀스에서 생성될 수 있음 즉, 동일한 시점 i가 여러개의 윈도우에 속할 수 있음. -> 복원된 여러개의 값 중 중앙값(평균보다 성능이 좋았음)을 최종 복원값으로 사용
prediction-based와 또 다른 점은, 모든 시점에서 계산이 가능하다는 점. 복원 기반 이상 점수를 계산하는 세 가지 방법은
1. point-wise differencing (PD, 점별 차이)
2. Area differencing (AD, 면적 차이)
i = 분석할 시간 스텝(시점)
l = 윈도우 크기의 절반 (default = 10)
구간 [i-l, i+1] 내에서 실제 t와 복원 값 y간의 차이의 적분 값을 계산하여 이상 점수 결정. 적분은 사다리꼴 적분법(trapezoidal rule)을 이용하여 계산
3. Dynamic Time Warping (DTW, 동적 시계열 정합)
DTW는 many to many 매핑을 허용하며, 두 시퀀스 간의 유사도를 보다 유연하게 측정할 수 있음. 두 시퀀스 간의 유사도를 유연하게 측정하기 위한 cost Matrix C를 생성 -> C = 2l x 2l 의 차원을 가지며, 각 (i,j) 좌표에서 실제 값 ti 와 복원 값 yi 간의 거리를 나타냄.
Q = 최적의 정렬 경로(Warp Path) 상의 데이터 포인트 개수
cq = 최적 경로에서 각 시점 간 거리
EWMA (Exponentially Weighted Moving Average, 지수 가중 이동 평균) 을 사용하여 이상 점수를 부드럽게 만듦. Smoothing window size는 전체 데이터 길이 T의 10%인 0.1T로 설정 -> 이상 점수의 변동성을 줄여서 갑작스러운 급등이나 noise를 완화함.
D. Post-processing Stage - Identifying Anomalous Sequences
적응형 임계값 (Locally Adaptive Thresholding) 방법을 사용하여 이상 구간을 식별
이 방법은 Sliding window 기법을 적용하여 지역적으로 최적의 임계값을 계산 (기본 window size: T/3 , step 크기: T/(3x10))
임계값 설정 방식은 각 window에서 평균 + 4 x Standard Deciation 임. 특정 이상 점수가 이 임계값을 초과하면 해당 시점을 Anomaly로 판별함.
이때, 연속된 이상 탐지 값이 있다면 merge 하여 Anomalous Sequences 생성. 과도한 오탐지 방지를 줄이기 위해 이상 탐지를 Pruning 하는 단계 포함
Purning
- 각 이상 구간 K(i)의 최대 이상 점수 K(i)max를 계산한 뒤, 내림차순 정렬. 각 인접한 두 이상 구간 간의 변화율 p(i) 계산
- p(i)가 경험적으로 설정된 임계값 θ(기본값 : 0.13)를 초과하지 않는다면, 해당 지점부터 이 후의 모든 이상 구간을 정상으로 재분류 (이상 점수가 급격하게 줄어드는 지점까지는 이상구간으로 유지하다가, 감소율이 낮으면 정상으로 간주)
4. Critical Analysis of Existing Methods
(a) : 원본 시계열 데이터 (파란색) & 실제 이상 구간 (빨간색)
(b) : prediction-based 이상 점수
- ARIMA(오렌지색)
- LSTM-DT(하늘색)
(c,d) : Reconstruction-based 이상 점수
- PD (LSTM-AE, 초록색)
- DTW (LSTM-VAE, 보라색)
5. AER : Auto-Encoder With Regression
A. Modeling Stage
AER 모델은 LSTM-AE 및 LSTM-DT의 개념을 차용하여 prediction, reconstruction 에 기반한 이상 점수를 동시에 생성할 수 있도록 설계됨.
입력 : xi ∈ R n x d 형태 (n = 시간 스텝 수(관측값 개수) / d = 채널 수(변수 수))
구조 : 인코더 디코더 구조
기존 Auto-Encoder와의 차이점
- AER 디코더는 n개가 아닌 n+2 개의 시점(Observations)을 복원
- 반복 벡터 레이어의 유닛 수를 2개 증가시켜 이 구조를 구현
출력
- r i-1 ∈ R (한스텝 역방향 예측값)
- yi:i+n-1 ∈ R (복원된 시퀀스)
- fi+n ∈ R (한스텝 정방향 예측값) - 왜 f i+1 이 아니냐? (window n 이후 다음 시점 하나에 대해 보기 때문)
AER의 손실 함수는 Prediction + Reconstruction 으로 나뉨.
V pred는 역방향 정방향 예측 오류를 더한 결과이고, V rec 는 실제 시계열과 복원된 시퀀스와의 차이임.
가중치 γ
bi-LSTM 레이어 사용
- 각 LSTM 레이어의 뉴런 수 b = 30
Latent Space의 크기 = bi-LSTM의 마지막 hidden state 크기 (2b)
- 즉, Latent Space의 차원은 60으로 설정
B. Post-processing Stage: Masking
masking을 하는 이유: prediction-based에서 EWMA를 활용한 smoothing 과정을 통해 초기 시점 오탐의 문제가 있음 (이상점수가 비정상적으로 높아짐)
- 초기 m개의 인덱스를 특정 값으로 masking하여 이상 점수를 조정
- 실험 결과, 최소 이상 점수를 masking 값으로 사용하는 것이 최적의 결과를 냄. (default m = 0.01 T)
C. Post-processing Stage: Bi-directional Scoring
Bi-directional Scoring 개념을 도입한 이유 : prediction-based에서 최소 n 개의 관측값이 필요하아여 초기 구간에 대한 이상 점수를 생성할 수 없는 문제 발생
위에서부터 차례대로
1) Forward prediction-based anomaly score
2) Bi-directional anomaly score
3) Reverse prediction-based anomaly score
D. Post-processing Stage: Combination Scores
1) PRED (Prediction-based Only) : Bi-directional anomaly score만 사용
2) REC (Reconsruction-based Only) : Reconstruction-based anomaly score만 사용
3) SUM (Convex) : 위 두개를 가중합하여 결합
4) MULT (Product) : 1), 2)를 Elementwise Product 방식으로 결합
6. Experimental Results
AER의 성능 : AER 모델이 기존 모델들보다 높은 F1 SCORE를 기록함 (대체로)
Masking 방법과 Bi-directional 방법의 효과 : Masking은 일부 모델에서 성능 향상, Bi-directional은 point anomaly detection에 유용
mixed anomaly score의 효과 : MULT 방식이 가장 높은 성능 기록
limitations
1) auto_encoder 부분 vanila하게 모델 구조가 되어있음 -> 개선 가능
2) bi-LSTM 레이어 한개만 인코더 디코더에 사용 -> 개선 가능
3) Reconstruction-based 방법을 다른 방법으로 확장 가능 -> objective function 변경으로도 적용가능
4) Hyperparameter γ 최적화 가능
7. Conclusions
세 가지 접근 방식 제안
1) AER framework
2) Masking
3) Bi-directional Scoring