Introduction
이상탐지 (Anomaly Detection)은 정상/비정상 데이터를 분류하는 이분법적인 단순한 문제로 보일 수 있으나, 여전히 어려움이 존재한다.
1. 대부분 비정상 데이터가 정상 데이터에 비해 매우 적기때문에 불균형한 데이터를 가지고있다
2. 비정상 데이터를 수동으로 라벨링하는 것은 매우 어렵다
상기에 서술된 문제로 인해 이상탐지에는 비지도학습 (unsupervised learning)이 많이 사용된다.
최근에는 센서의 보편화로 인해 여러 센서를 사용하는 연구가 확산됨에 따라 다변랑 시계열 (multi-variate time-series) 데이터가 대량으로 생성된다.
다중 센서 시계열 신호 기반 학습 알고리즘은 다중 센서 데이터의 시공간 상관성을 처리하는데 우선순위를 두며, 이를 위한 많은 접근 방식이 연구되었으나, 여전히 어려움이 존재한다.
1. 시계열 데이터의 시간적 요소로 인해 시공간 도메인에서의 이상탐지가 더욱 복잡해진다.
PCA, 오토인코더 등 기존의 이상탐지 기법은 시공간 의존성을 동시에 포착할 수 없다.
2. 이상탐지에 Convolution AutoEncoder(CAE), Denoising AutoEncoder(DAE)와 같은 재구성 기반 모델이 사용된다.
모델 특성상 잡음과 이상치에 대해 견고해지는 문제가 있다.
3. 차원을 줄이고 이상탐지를 하기 위해 two-step 방법이 사용된다.
두 모델을 따로 학습시킨 뒤 joint 하는 방식은 local optima에 쉽게 빠지게 됨.
위 문제를 해결하기 위해, 본 논문은 다중 센서 시계열 데이터에 대한 새로운 비지도 심층 학습 기반 이상 탐지 접근 방식인
'Deep Convolutional AutoEncoding Memory Network' (CAE-M)을 제안한다.
Related Work
Traditional anomaly detection
1. 재구성 기반 방법: 정상 데이터를 정확히 재구성하기 위한 모델들로, PCA(주성분 분석), Kernel PCA, Robust PCA와 같은 방법들이 있다.
특히 Robust PCA(RPCA)는 노이즈와 이상치를 포함한 저차원 표현을 식별하는 데 사용된다.
2. 클러스터링 분석: Gaussian Mixture Models (GMM), k-means, Kernel Density Estimator (KDE)와 같은 방법으로 데이터를 클러스터링하고, 이상치 점수를 통해 이상을 탐지한다.
3. One-class 학습 모델: One-Class Support Vector Machine (OCSVM), Support Vector Data Description (SVDD)와 같은 모델들은 정상 데이터를 둘러싸는 구를 학습하여 새로운 데이터를 정상 또는 이상으로 분류한다.
이러한 전통적인 방법들은 정적 데이터를 처리하기 위해 설계되었다.
시계열 데이터의 시간적 의존성을 포착하기 위해 AR, ARMA, ARIMA 모델들이 사용된다.
Deep anomaly detection
1. 재구성 모델: 입력 데이터를 재구성하는데 중점을 둔다. AutoEncoder는 정상 데이터를 학습하고, 입력 데이터의 재구성 오류가 큰 경우 이를 이상으로 간주한다.
LSTM Encoder-Decoder(시간), CAE(이미지), ConvLSTM(시공간 의존성)과 같은 모델이 있다.
2. 예측 모델: 예측 모델은 미래의 값을 예측하여 이를 실제 값과 비교해 이상을 탐지한다.
RNN과 LSTM, NeuralNetwork, CNN, RNN변형 모델이 사용된다.
3. 복합 모델: 복합모델은 다중 목적을 수행하는 모델로, 재구성과 예측을 결합하여 이상을 탐지한다.
예를 들어, Composite LSTM 모델은 단일 인코더와 여러 디코더를 사용해 입력 시퀀스를 재구성하고 미래 시퀀스를 예측한다.
본 논문에서는 기존 연구와 달리 복잡한 시공간 의존성을 처리하기 위해
Attention 기반 양방향 LSTM과 Auto-Regressive를 결합한 모델을 제안하며,
noise 데이터에 잘 대응하기위해 Maximum Mean Discrepancy (MMD) 패널티를 추가하여 성능을 향상시킨다.
Method
개요
기존 비지도 이상 탐지의 문제점들은 아래와 같다.
1. PCA, k-means, OCSVM와 같은 기존 기법은 시간 의존성을 적절히 포착하지 못한다.
2. 정상 샘플이 노이즈나 이상치를 포함할 수 있어, AutoEncoder와 같은 딥러닝 기반 이상탐지 기법은 일반화 성능에 영향을 줄 수 있다.
3. 다단계 (multi-stage) 접근법, 예를들어 특징 추출 (Feature Extraction)과 예측 모델 구축이 분리되어 있는 방식은 local optima에 빠지기 쉽다.
Characterization Network
Representation Learning이 이루어지는 네트워크, low-dimensional features는 아래 항목을 포함한다.
1. 다변량 신호의 feature
2. 거리 지표 (distance metrics)를 사용한 재구성 오류(Reconstruction Error)
$ z_f = \text{Encode}(x) $
$ x' = \text{Decode}(z_f) $
원래의 input x와 재구성된 x` 간 MSE가 재구성 오류가 된다.
$$ L_{MSE} = \| x - x' \|_2^2 $$
노이즈 데이터의 영향을 줄이기 위해, low-dimensional에서 정상 데이터와 노이즈 데이터를 구분할 수 있도록
MMD 패널티를 사용하여 정규화를 수행한다.
MMD는 샘플 간 분포 차이를 측정하는 거리측정 방식으로, low-dimensional representation이 정상 데이터의 분포에 가깝도록 유도한다.
$$ L_{MMD}(Z, P_z) = \left\| \frac{1}{h} \sum_{i=1}^{h} \phi(z_f^{(i)}) - \frac{1}{h} \sum_{i=1}^{h} \phi(z^{(i)}) \right\|_H^2 $$
$z_f^{(i)}$: low-dimensional representation, $z^{(i)}$: 목표 분포
Memory Network
메모리 네트워크는 시공간 의존성을 동시에 포착하기 위해 재구성 분석과 예측 분석을 동시에 수행하여
복잡한 시공간 패턴을 특성화하도록 설계되었다.
Bi-LSTM으로 비선형 예측, AR를 통한 선형 예측을 수행한다.
Joint Optimization
다단계 접근 방식은 여러 모델을 개별적으로 훈련시키기 때문에 local optima에 빠지기 쉽다.
= 모델이 부분적으로만 최적화되어 최선의 성능을 얻을 수 없음
이를 해결하기 위해 end-to-end hybrid 모델을 제안한다. 복합목적함수(compound objective function)을 최소하 함으로써 모델 전체를 한번에 최적화 하는 방식으로 훈련할 수 있다.
CAE-M의 목적함수는 네 가지 항을 가진다:
MSE (reconstruction error), MMD (regularization), prediction error (non-linear forecasting / linear forecasting)
$$ \begin{align*}
J(\theta) &= L_{MSE} + \lambda_1 \cdot L_{MMD} + \lambda_2 \cdot L_{lp} + \lambda_3 \cdot L_{np} \\
&= \frac{1}{M} \sum_{i=1}^{M} L(x_i, x'_i) + \lambda_1 L_{MMD}(Z, P_Z) \\
&+ \frac{1}{M} \sum_{i=1}^{M} \left[ \lambda_2 \| Y_h^{(i)} - z_h^{(i)} \|_F^2 + \lambda_3 \| \hat{z}_h^{(i)} - z_h^{(i)} \|_F^2 \right]
\end{align*} $$
'AI' 카테고리의 다른 글
Kaggle - Regression of Used Car Prices 데이터 분석 및 엔지니어링 (0) | 2024.10.27 |
---|---|
모개숲 딥러닝 스터디 - 17. End-to-End Autonomous Driving: Challenges and Frontiers (2) | 2024.10.20 |
모개숲 딥러닝 스터디 - 16. Proximal Policy Optimization Algorithms (0) | 2024.09.29 |
[논문 리뷰] Time Series Data Augmentation for Deep Learning: A Survey (0) | 2024.09.23 |
[논문 리뷰] Let’s Verify Step by Step (1) | 2024.09.16 |