About me
home
Portfolio
home
🍀

Anomaly Detection 개요

이상치 탐지 : Anomaly Detection, Novelty Detection, Outlier Detection 모두 비슷한 의미로 사용된다. 정상 데이터의 class 개수가 여러 개인 경우에는, OODOut-of-Distribution Detection 이라는 용어가 쓰인다.
용어 정리

머신러닝 계열

정형 데이터일 때에만 사용가능하다.
1.
Isolation Forest
랜덤 포레스트 모델의 Anomaly Detection 버전이다.
정상/비정상을 가르는 기준은 해당 데이터를 isolation(고립)하는데 걸린 평균 분기 횟수이다.
분기 횟수가 적을수록 비정상, 분기 횟수가 높을수록 정상 데이터로 판별한다.
2.
OC-SVM(1-SVM)
정상 데이터를 원점으로부터 멀리 위치하도록 하고 정상/비정상을 구분하는 최적의 초 평면을 계산하여 anomaly detection을 수행한다.
원점과 가까울수록 비정상, 원점과 멀리 떨어져 있을수록 정상 데이터로 판별
3.
SVDD
데이터를 감싸는 가장 작은 구 형태의 초 평면을 계산하여 anomaly detection을 수행한다.
구의 중심에서 가까울수록 정상, 구의 중심에서 멀수록 비정상 데이터로 판별한다.
4.
Clustering
KNN 기반 Anomaly Detection이 많이 쓰인다.
밀집 지역과의 거리가 작을수록 정상, 거리가 멀수록 비정상 데이터로 판별한다.

딥러닝 계열

비정형 데이터, 시계열 데이터에 anomaly detection을 수행할 때 사용된다.
1.
AE 계열
가정 : Encoder+Decoder를 통과할 때, 정상 데이터는 비정상 데이터보다 더 잘 복원될 것이다.
AE, VAE, AAE, Robust Deep AutoEncoder
AE의 loss 함수인 reconstruction error값이 정상/비정상 나누는 기준값이 된다.
정상인 경우에는 AE 모델이 데이터를 잘 복원하기 때문에 reconstruction error값이 낮고 반대로 비정상일 경우에는 reconstruction error값이 높다.
2.
GAN 계열
ANOGAN : 1. 정상 데이터를 생성하도록 정상 데이터만을 가지고 train과정을 진행한다. → 2. 생성자(Generator)의 input으로 들어갈 입력 Z를 학습을 통해 찾는다. → 3. Z를 넣어 생성된 G(Z)와 판별해야할 input X를 비교하여 정상/비정상을 판별한다.
GANomaly : 1,2단계로 나뉘어 있던 AnoGAN 모델을 단 하나의 단계로 바꾸어 학습시킨 버전이다. 즉 이미지에 대한 Generator와 Discriminator의 학습 과정과 잠재 공간 Z에 대한 학습을 한번에 진행한 모델이다.
3.
Self-Supervised based Anomaly Detection
Deep SVDD : Deep Neural Network에 SVDD를 응용하여 End-to-End 학습에 적용한다.
SSD : OOD Detection task에서 SSL 방법론을 적용하여 anomaly detection을 수행한다.
Deep SAD : Semi-Supervised Learning 방법론을 적용하여 anomaly detection을 수행한다. 정상/비정상 간의 Class-Imbalance가 심한 경우이므로, 모델 학습 시 정상 sample만 이용하는 One-Class Classification(= Semi-supervised Learning) 방식을 도입하였다.

Anomaly Detection in Time-series Data

Time-series Data 특징

1.
Temporality : data 사이에 temporal correlation 혹은 dependency가 존재한다.
2.
Dimensionality : 하나의 attribute 일때는 Univariate, 복수 개의 attribute일 때는 Multivariate
3.
Nonstationarity : 데이터의 통계적인 특징이 시간 흐름에 따라서 달라진다.
Seasonality : 주기적이나 반복되는 패턴 발생
Concept Drift : 데이터 기저의 통계적 분포가 변경되어 성질이 변화됨
Change Points : 특정한 event가 발생해 데이터의 성질이 변화됨
4.
Noise : 데이터의 수집, 저장, 전달, 처리 등의 모든 과정에서 발생하는 데이터의 변화

Time-series Data Anomaly 종류

a.
Point Anomaly : 갑작스럽게 정상 상태를 벗어나는 경우
b.
Contextual Anomaly : 정상 범주를 넘지는 않으나 비정상적인 패턴이 관찰되는 경우
c.
Collective Anomaly : 점진적으로 정상과는 다른 패턴을 보이는 Data point들의 집합

Time-series Anomaly Detection Benchmark Dataset

Detection 도메인

Detection 전략