Introduction
Anomaly Detection을 위한 Deep Learning 알고리즘들에 대한 survey논문으로 anomaly detection에 대해서 전반적인 내용을 한번 다루기에 적합하다고 느꼈다. DBSA 연구실 세미나 영상을 참고하여 도움을 받으며 논문을 읽었다. 매번 어려운 논문을 쉽게 설명해줘서 유튜브 영상을 보고 논문을 함께 보면 이해가 훨씬 빨라져서 감사할 따름이다. 우선 이상치 탐지이란 Data중 정상과 불량을 구분하여 불량(이상)을 감지하고 식별하는 방법론이다. 이때 대다수의 데이터와 다른 특성을 가지는 데이터를 이상치라고 말한다. Anomaly detection은 아래와 같은 다양한 분야에서 쓰인다.
Background
이상치 종류는 3가지 정도의 기준에 따라 분류될 수 있다.
1. Pattern 종류에 따른 분류
a. Pattern outlier
b. Contextual outlier
c. Collective outlier
2. 비교 범위에 따라 분류
a. Local outlier
b. Global outlier
3. Input data type에 따라 분류
a. Vector outlier : multi-dimension으로 이뤄진 data (numeric/categorical value)
b. Graph outlier : 데이터간 상호 의존성을 나타내는 node와 edge로 이뤄진 data
Data label 유무에 따른 이상 탐지 방법론 분류
1) 지도학습 방법론
label을 가진 정상과 이상 데이터를 이용하여 classification 작업을 수행
정상과 이상의 데이터 imbalance 문제로 모델 성능이 떨어질 수 있음
Label된 이상 데이터를 수집하는 것이 현실적으로 어려움
2) 반지도학습 방법론
정상 데이터만을 가지고 모델 학습하여 정상과 다른 pattern의 데이터를 이상으로 탐지(ex. One-class SvM, Deep SVDD)
학습된 boundary가 정상 데이터에 과적합 될 확률이 높음
가장 현실적인 모델
3) 비지도 학습
정상과 이상 모두 label 데이터가 필요 없음
대부분의 데이터가 정상 sample이라는 가정을 통해 label 없이 학습 (ex. PCA, Auto encoder)
고전적인 이상 탐지 기법은 아래와 같이 분류된다고 한다.
Deep Learning 기반 이상탐지의 특징은 아래와 같다.
1. 다변량 시계열 데이터의 이상 패턴들을 다루는 데에 딥러닝 기반 이상 탐지 기술이 유용하다.
2. 기존 고전적인 방법론에 비해 고차원 데이터와 복잡한 pattern에 대해 scale할 수 있다.
3. Distance based 기법에 비해 streaming data에 대해 빠른 inference 가능하다.
4. Window 기반 학습 및 inference를 통해 Sequence안의 이상 시점들에 대해 localization 할 수 있다.
전통적인 방식과 Deep Learning 기반 방식을 비교하면 아래와 같다.
1. DL Method는 pipeline 구축을 통해 end to end optimization이 가능하다.
2. DL method 는 Anomaly detection 목적에 맞게 Representation learning이 가능하다.
3. DL method 는 High-dimensional data, image data, video data, graph data등 여러가지 다양한 type의 data로부터 relation learning이 가능하다.
4. DL method 는 다양한고 쉬운 네트워크 아키텍처와 프레임워크를 이용하여 이질적인 데이터 소스를 다룰 수 있다.
- Deep Learning for Feature Extraction : anomaly scoring과 개별적으로 Feature Extraction에만 deep learning을 사용하고 AlexNet, VGG, ResNet 등의 pre-train 모델을 통해 Feature Extraction 수행
- Learning Feature Representation of Normality: Feature extraction을 하면서 reconstruction error 및 anomaly measure를 통한 output을 도출하는 방법론
- End to End Anomaly score learning : Anomaly score를 loss function으로 사용하여 특성추출 및 anomaly scoring이 이상탐지 목적에 맞춰 한번에 이뤄지는 모델
그리고 위의 각 모델들은 아래와 같은 종류의 모델들이 있다.
몇가지 기법들을 직접 살펴보자.
Auto Encoder기반 이상탐지
Auto Encoder는 Unsupervised Learning 기법으로 input data를 encoder를 통해 잠재 vector로 축소한후 Decoding하여 원래 자기 값과 같아지도록 학습하는 기법이다. 대부분의 데이터가 정상값이므로 이상치는 결과가 혼자 다를 수 밖에 없으므로 inference시 복원 오차 (reconstruction error)가 abnormal score값으로 도출된다. 오차가 클 수록 abnormal할 확률이 높다는 뜻이다. 미리 선정된 threshold 값 이상의 복원오차 발생시 이상으로 판단하는 방식이다.
GAN기반 이상탐지
랜덤 Z vector 를 Generator에 입력하여 fake를 data 생성하고 Generator에서 나온 fake 데이터와 실제 데이터를 discriminator에 입력하여 구분하게 한다. 이러한 과정을 통해 discriminator의 구분성능이 올라간다.
Loss function을 통해 학습을 한 generator로 부터 생성된 데이터와 실제 데이터의 차이를 이용하여 anomaly score를 산출하는 방식을 이용한다.
BeatGAN기반 이상탐지
BeatGAN 기법은 Generator로 Auto Encoder를 이용하는 모델이다. Discriminator를 이용하여 AE 구조에서 output이 input data에 가까운 결과를 갖도록 한다. AE의 경우 Regularization term 이 없어서 overfitting이 되기 쉬운데 Discriminator가 정규화 역할을 해서 문제가 개선된다. Generator를 통해 생성된 output 결과와 input간의 차이를 anomaly score로 산출한다.
Deep SVDD기반 이상탐지
Deep SVDD 기법은 대표적인 One Class 이상탐지 기법이다.One Class 기법은 정상 데이터의 feature representation boundary를 학습하여 정상 영역이외의 데이터는 anomaly로 판단하는 방법이다.
Deep SVDD는 기존 kernel-based SVDD와 다르게 DL을 기반으로 학습한 feature space에서 정상 데이터를 둘러싸는 가장 작은 구를 찾고, 해당 경계면을 기반으로 이상치를 탐지한다.
Normal example이 구안으로 mapping 되도록하는 W와 R을 학습한다.
DAGMM기반 이상탐지
DAGMM은 대표적인 Clustering Based 이상탐지 기법이다. Clustering Based 이상탐지 기법은 정상값들은 하나 또는 몇 개의 군집에 모여 있고, 이상값은 군집에 속하지 않는다는 가정과 군집의 중심 중 가장 가까운 것과의 거리가 짧으면 정상값, 길면 이상값으로 볼 수 있다는 가정을두고 진행한다.
우선 GMM 기법은 데이터가 여러가지 가우시안 분포로 결합되어 있다는 가정하에 개별 데이터를 동일한 가우시안 분포별로 묶어주는 비지도 학습 기법이다. EM 알고리즘을 이용하여 최적화한다.
DAGMM은 Autoencoder를 이용한 압축 네트워크와 GMM 이용한 estimation 네트워크로 구성된다. 저차원의 representation시 발생하는 필요 정보를 제거하는 문제를 representation과 reconstruction error를 모두 고려여 저차원 공간에서의 밀도추정을 진행함으로써 필요정보를 보존하는 기법이다.
Compression network에서 압축된 latent representation vector를 도출하고 복원 오차로부터 얻은 vector를 도출하여 두 vector를 concat하여 estimation network에 넘겨준다. Estimation network에서는 저차원의 representation feature를 이용하여 각 data의 포인트가 각 분포에 속할 확률을 추정하고 membership prediction을 통해 GMM 파라미터를 추정하는 방식으로 학습을 진행한다.
Inference시에는 학습된 파라미터를 이용하여 미리 정해둔 threshold보다 energy function의 output이 크면 anomaly로 판단하게된다.
OmniAnomaly
OmniAnomaly의 구조는 offline과 online learning으로 구성되어 있다.
Data Preprocessing: standardization If time window segmentation이 진행된다.
Offine learning: data preprocessing이 완료된 데이터로 OmniAnomaly 모델을 학습한 후, 본 논문에서 제안한 POT 방법을 통해 자동으로 threshold selection을 수행한다.
Online learning : 새로운 데이터가 들어오면 data preprocessing을 한 후, offline learning에서 학습된 OmniAnomaly 모델을 기반으로 anomaly score를 도출한다. 해당 score와 offline learning에서 선택된 threshold를 비교하여 이상치 여부를 판단하고, 이상치라고 판단되면 reconstruction probability를 기반으로 주요 인자를 도출한다.
Offline model Training과정에서 OmniAnomaly는 아래 ELBO obiective function을 최적화하는 과정을 통해 gnet과 pnet을 동시에 학습한다.
Offline model training을 통해 학습된 OmniAnomaly 모델을 기반으로 Online Detection을 통해 실시간으로 이상치를 탐지할 수 있다. Reconstruction probability S_t가 높을수록 input x_t가 잘 복원되었음을 의미하며, 이는 x_t가 정상 패턴을 따를 확률이 높다는 것을 나타낸다. 결론적으로 OmniAnomaly 모델이 도출한 anomaly score S_t가 anomaly threshold 보다 낮으면 이상치로 탐지된다.