1. Introduction

논문 링크 : http://proceedings.mlr.press/v80/ruff18a/ruff18a.pdf

해당 논문은 Anomaly Detection 분야에서 베이스라인으로 자리잡은 DeepSVDD 라는 모델이다. 근간이 되는 이론은 SVM(정확히는 OC-SVM) 과 매우 유사하다. OC-SVM latent space 에서 정상 / 비정상 클래스를 구분할 수 있는 가상의 hyperplane 을 찾아내는 문제였다면, SVDD 는 어떤 중심점을 기준으로 가상의 원을 찾아내겠다는 이론이다. 그리고 이를 딥러닝에게 맡기겠다는 것이 DeepSVDD 이다.  OC-SVM 도 좋은 알고리즘이지만 고차원 데이터에서는 잘 작동하지 않기 때문에 이러한 방법이 제안되었다.

2. Background

2.1 Kernel-based One-Class Classification

SVM 이론은 깊숙히 들어가면 굉장히 어려운 이론이기 때문에 공식으로만 이해한다면

첫번째 term 은 일종의 보정(regularizer)이라고 생각하면 된다. 두번째 term은 원점과 hyperplane 까지의 거리로 목적함수에 의하면 최대한 값이 커지게 하는 것이 목적이다. OC-SVM은 무조건 원점을 기준으로 정상 / 비정상 클래스를 나누기 때문에 원점으로부터 hyperplane을 최대한 멀어지게 하는 것이 바람직하다는 말이다. 마지막 term 은 매핑된 데이터들과 hyperplane 까지의 거리를 의미하며 $v$ 값은 trade-off 값이다. 해당 term 은 논문에서 slack variables 라고 부르는데 해당 변수를 통해 soft / hard boundary 를 조절할 수 있다. 위의 목적함수에 따라 최대한 많은 데이터 포인트가 hyperplane 바깥에 위치하게 된다.

2.2  SVDD

SVDD 도 마찬가지로 공식만 살펴본다면

R 은 경계면까지의 반지름을 의미하며 마찬가지로 soft / hard boundary 를 결정하는 변수도 있다. 

 

3. Main

3.1 Deep SVDD

원리는 위에서 설명한 SVDD 와 동일하다. 다만 OC-SVM, SVDD 는 원하는 hyperplace, sphere 를 계산하기 위해서 복잡한 과정(라그랑주)을 거쳐야한다. 이것을 딥러닝으로 해결해보자는 접근법이 Deep SVDD 이다. Deep SVDD 의 목적함수는 아래와 같다.

마찬가지로 반지름은 최대한 줄이면서, 동시에 원 밖에 있는 데이터들도 경계면에 최대한 근접하게 하는 것이 목적이다. 거기에 약간의 regularization 을 추가하면 최종목적함수가 된다. 논문에서 제시한 기본 모델은 위의 목적함수에 따라 학습을 진행하며 이를 SOFT-BOUND. Deep SVDD 라고 명명했다. 여기에 추가로 간단한 버전의 모델도 제시했으며, 해당 모델의 목적함수는 아래와 같다. (결과적으로는 후자모델이 더 성능이 좋았다.)

원 밖의 데이터들의 경계면까지의 거리는 더 이상 고려하지 않고, 그냥 모든 데이터에 대해서 중심점까지의 거리를 최대한 줄여주겠다는 뜻이 된다. 단순히 모든 데이터들의 평균거리를 고려함으로서 SOFT-BOUND. Deep SVDD 와 비슷한 효과를 기대한다고 한다. 다만 이를 위해서 학습 데이터의 상당수는 한 개의 클래스에서 추출되었다고 가정했다. 

3.2 Properties of Deep SVDD

저자는 Deep SVDD 의 학습이 제대로 이루어지려면 4가지 특성을 충족해야 한다고 설명했다.

3.1.1 All-zero-weights solution

명확히 이해한 것인지는 모르겠지만 간략히 설명한다면 중심점이 제대로 설정이 되지 않는다면 뉴럴넷의 모든 weight이 0이 되는 결과를 얻을 수 있다는 것이다. 모든 값이 0인 weight 를 $W_{0}$ 라고 한다면 이 뉴럴넷은 모든 입력을 한 점 $c_{0}$으로 매핑할 것이다. 그런데 만약 우리가 최적화할 중심 $c$를 $c_{0}$ 로 설정한다면 뉴럴넷은 진짜로 $W_{0}$ 로 학습이 될 것이다. 따라서 적절한 중심점을 선택하는 것이 매우 중요하며 논문에서는 실험결과 학습 데이터 일부를 forward 시킨 다음에 평균을 구하는 것이 괜찮다고 한다.

3.1.2 Bias terms

이것도 이전 경우와 약간 비슷한 경우인데, 특정 layer 에서 만약 weight 값들이 모두 0이라면 어떤 입력이든 결국 bias term 에 의해 다음 layer 로의 input 이 결정된다. 이럴 경우 뉴럴넷이 그냥 어떤 입력이든 $c$로 매핑하는 bias 를 학습할 가능성이 있다는 것이다. 따라서 Deep SVDD 에서는 모든 레이어에서 bias 를 사용하지 않았다.

3.1.3 Bounded activation functions

해당 특성은 bouned activation function 을 사용할 경우 발생할 수 있는 특성에 대한 설명이다. 만약 우리가 가진 데이터 중에서 특정 차원의 데이터가 모두 양수라고 가정해보자. 그런데 이때 bounded activation function(sigmoid, tanh) 를 사용하게 된다면 한 쪽 방향으로만 계속 이동하게 될테고 결국 포화상태에 이르게 된다. 즉, 모든 입력에 대해서 해당 dimension 의 weight 는 그냥 무작정 크게 학습이 된다는 것이다. 그렇게 학습을 해도 bounded 이기 때문에 최대값은 커질 수 없기 때문이다. 그렇게 된다면 이후에는 또 다시 bias term 들에 의해 입력에 상관없이 똑같은 output을 내는 네트워크가 완성될 가능성이 생기게 된다. 따라서 그냥 ReLU 를 쓰라는 것이다.

 

3.1.4 ν-property

이것은 SOFT-BOUND 버전 모델에 적용되는 사항으로 일단은 넘어가도록 하겠다.

 

4. Experiment

 

2022 ICLR spotlight 논문 ANOMALY TRANSFORMER 리뷰 https://arxiv.org/pdf/2110.02642.pdf

참고사항

Reconsturction-based anomaly detection

  • 비지도 학습 anomaly detection 의 하나로 가장 많이 사용되는 방법 중 하나
  • 시계열 데이터를 입력받아 latent space(잠재 공간)을 만들어 입력 데이터를 그대로 복원시키는 방법
  • 이때 원본 데이터와의 차이(에러)를 기준으로 정상 / 비정상 데이터를 구분
  • PCA, AE, VAE 등이 대표적인 알고리즘
  • AE, VAE 에서는 뉴럴넷을 사용해 잠재 공간을 형성해주는데 이때 시계열 데이터의 연관성을 학습하기 위해 RNN, LSTM, GRU을 적용한 사례가 많습니다. 해당 모델은 트랜스포머를 사용하여 연관성을 학습한 모델입니다.

Anomaly

  • Point
    • Global outliers
      • 다른 포인트들과 확연히 다른 데이터 포인트. 주로 스파이크 데이터를 말합니다.
    • Contextual outliers
      • 주어진 context(흐름) 상에서 벗어난 데이터로 주로 이웃한 데이터 포인트에 대해 정의됩니다. 배열 데이터에서 작은 glitches 등이 있습니다.
  • Pattern
    • Shapelet outliers
      • shapelet은 "분류 성능 향상에 가장 크게 도움이 되는 부분 시계열" 이라고 정의할 수 있습니다.
      • shapelet outliers는 기저가 되는 shaplet에서 벗어난 부분 시계열을 말합니다.
    • Seasonal outliers
      • 시계열 전반적인 seasonality(계절성)에서 벗어난 부분 시계열
      • 기저 shaplet 과는 유사하지만 계절성이 다른 데이터
    • Trend outliers
      • 데이터의 평균을 영구적으로 바꾸는 등 시계열 데이터의 트랜드를 크게 바꿔놓는 부분 시계열
      • 정상적인 기저 shaplet, seasonality 를 모두 가지고 있지만 트랜드를 바꾸는 경사가 매우 급한 데이터

1. Summary

  • Key word : Anomaly transformer, association Discrepancy, minimax strategy
  • Anomaly Transformer
    • 기존의 트랜스포머 모델을 사용하여 시계열 데이터 내에서 포인트들간의 연관성을 학습할 수 있도록 변형
  • Association Discrepancy
    • 어노말 트랜스포머는 시계열 데이터 내에서 prior-association, series-association 이라는 2가지 연관성을 학습합니다.
      • Prior-association(P) : 인접한 데이터들간의 연관성, 시간 차이를 기준으로 가우시안 분포로 모델링하기 때문에 prior이라는 단어를 사용했습니다.
      • Series-association(S) : 시계열 전체에서 데이터들간의 연관성, self-attention에 의해 모델링
    • 2가지 분포의 차이(distance)를 association discrepancy(이하 AssDis)라고 부르며, 어노말 트랜스포머는 2개의 값을 교차로 최적화시켜 결과적으로 이상/정상 데이터의 AssDis이 구분되도록 하는 것입니다.
    • 저자는 이상 데이터는 오직 인접한 데이터와 연관성이 높게 나타나지만, 정상 데이터라면 시계열 전체에 걸쳐 연관성이 나타날 것이라고 주장했습니다. 따라서 이상 데이터라면 P, S 분포가 모두 인접 데이터에 밀집하게 되며 AssDis 가 작아지게 됩니다.

 

2. 본문

  • 입력 데이터 : (d 차원으로 구성된 N개의 time step)

$$ \mathcal{X} = \{ x_{1}, x_{2}, ... , x_{N} \} \\ x_{t} \in \mathbb{R}^d $$

  • 모델 구조
    • Anomaly Attention, Feed Forward 2개의 블록이 하나의 인코더를 구성하며 L 개의 인코더를 쌓아올리는 구조

2.1 Anomaly Attention

  • 입력 데이터 : x (time series)
  • 출력 데이터 : z (hidden state)
  • 입력 데이터를 받아서 prior, series association, hidden state를 계산하는 블록

  • Query, Key, Value는 모두 같은 input time series로부터 생성(self-attention) 하며 추가로 prior-association에서 사용할 표준편차(sigma)도 학습으로 생성
  • Prior-Association은 가우시안 분포로 계산하며 row sum 나눠주는 rescale을 수행합니다.
  • 실제로 학습된 모델에서의 sigma
    • Anomaly point 에서는 sigma가 급격히 감소하는데 이는 비정상 데이터가 인접한 데이터와 유사성이 강하게 나타나기 때문에 분산이 매우 작게 학습되는 것으로 해석할 수 있습니다.

  • 추가적으로 가우시안 분포가 아닌 power-law 분포로 모델링했을 경우도 대체로 좋은 성능을 보여주었지만 가우시안 분포가 최적화가 더 쉽기 때문에 더 좋은 성능을 보였습니다.

2.2 Feed Forward

  • 입력 데이터 : z (hidden state)
  • 출력 데이터 : x (reconstruction time series)
  • anomaly attention 블록의 출력(hidden state)를 입력받아 입력 데이터(x)를 재현하는 블록

2.3 Association Discrepancy

  • KL-divergence 를 사용하여 prior, series association 분포의 차이를 계산했으며 위의 식은 Symmetrized Kullback–Leibler Divergence 이라고 불리는 distance 측정 방법입니다.
    • 그 외에도 4가지 distance(Jensen-Shannon Divergence, Wasserstein, Cross-Entropy, L2)를 사용하여 AssDis를 계산했는데 위의 수식이 가장 좋은 성능을 보여주었습니다.

  • 한 번의 layer(L)가 끝나면 prior, series 는 (batch, header, N, N)의 분포를 가진 확률값을 가집니다.
  • 이를 사용해 우선 time step 기준 (batch, header, N) 크기의 KL-divergence를 계산한 후에 header 기준 평균(batch, N)을 계산합니다. 그리고 마지막으로 batch * N 개의 평균을 계산합니다.
  • 이러한 값이 총 L 개가 KL-divergence 값이 쌓이게 되며 이 값의 평균이 최종 AssDis 값이 됩니다.
  • 단일 layer만을 사용하는 것보다 여러 layer의 평균을 사용할 경우 더 좋은 성능을 얻을 수 있었습니다.

2.4 Minimax Association Learning

  • 모델에서 사용된 최종 손실 함수 reconstruction 차이와 AssDis를 결합하여 사용했습니다.

  • 람다의 부호는 AssDis의 크기를 조절해주는 역할을 합니다.
    • Maximize Phase(람다 > 0)
      • Maximize 단계에서는 AssDis 값이 커지도록 최적화가 진행됩니다.
      • 이때 prior-association은 고정하며 series-association 만 조절하여 특정 time point가 인접하지 않은 time point들과의 연관성을 높이도록 학습합니다.
    • Minimize Phase(람다 < 0)
      • Minimize 단계에서는 AssDis 값이 작아지도록 학습합니다.
      • 반대로 series-association은 고정하며 prior-association이 series-association에 유사해지도록 학습이 진행됩니다.
  • prior-ass 이 series-ass 에 근접하도록 학습하며 series-ass는 이와 반대로 학습이 진행되기 때문에 학습이 진행될수록 인접하지 않은 time point들과의 연관성에도 주목하도록 모델이 학습됩니다. 이때 reconstruction 에러와 함께 학습이 진행되기 때문에 비정상 데이터는 위의 내용을 학습하는 것이 정상 데이터에 비해 어렵다는 것이 anomaly transformer의 주요 내용입니다.

2.5 Anomaly Score

  • Anomaly score는 위에서 계산한 AssDis와 복원한 입력(x)를 사용하여 point-wise 하게 계산합니다.

  • 비정상 데이터라면 AssDis가 작게 나타나기 때문에 anomaly score은 크게 나타납니다.
  • anomaly score가 threshold 보다 크다면 비정상 데이터로 판별됩니다. 성능 평가 단계에서는 비정상 구간 내에서 한 포인트라도 비정상이 감지된다면 해당 비정상 구간은 모두 탐지가 되었다고 간주합니다.
  • threshold는 데이터 분포를 조사한 결과 anomaly score를 계산한 후 데이터 개수를 기준으로 비율로 계산합니다. (SMD는 0.5 %)
  • 실제코드와 논문과의 차이점 : Test 단계에서 AssDis를 계산할때 layer의 평균이 아닌 layer단위로 KL-divergence에 temperature(오픈소스에서는 50) 곱한 후 sum을 해주었는데 해당 내용은 논문에서 자세한 설명을 찾지 못했습니다. 값의 단위가 커졌을 뿐 큰 틀은 변하지 않아서 크게 영향을 줄 것 같지는 않고 softmax 때문에 추가된 것으로 생각됩니다.

$$ AssDis(\mathcal{P, S;X}) = temperature \times \sum_{l=1}^{L}{(KL(P^{l}{i,:} ||S^{l}{i,:}) + KL(S^{l}{i,:}|P^{l}{i,:}))}_{i=1,...,N} \\ temperature = 50 $$

  • 그 외에도 3가지 다른 anomaly score 측정 방법을 적용한 결과 Recon, AssDis 을 곱해서 사용한 위의 경우가 가장 좋은 성능을 보여주었습니다.

3. Experiments

  • 데이터셋
    • SMD, MSL, SMPA, SWaT, NeurIPS-TS
  • 주요 하이퍼 파라미터
    • 슬라이딩 윈도우 = 100(SMD는 50)
    • r = 0.1% for SWaT, 0.5% for SMD and 1% for other datasets
    • model dimension = 512
    • Encoder Layer = 3
    • head = 8
    • 람다 = 3
    • learning rate = 0.0001
    • 10 epochs, 32 batch size

3.1 5 real dataset 결과

3.2 Ablation study

  • 총 3가지 block에 대해 ablation study를 진행

Anomaly Criterion

  • Recon
  • AssDis
  • Assoc

Prior-Association

  • Learnable
  • Fix

Optimization Stragtegy

  • Minimax
  • Max

  • AssDis 를 사용하는 것이 더 좋은 성능을 보여주었고, recon까지 결합하는 것이 최상의 효과를 보여주었습니다.
  • Prior-association의 분산을 학습시키는 것이 더 좋은 성능을 보여주었으며, series-association만을 학습(maximize)보다는 prior 도 같이 학습하는 것이 최적의 성능을 보여주었습니다.

3.3 Recon vs. Assoc

  • NeurIPS-TS에 있는 다양한 패턴의 시계열 데이터를 사용해 왜 어노말 트랜스포머가 잘 작동하는지 보다 직관적으로 해석했습니다.
  • 아래의 그림에 의하면 많은 anomaly detection 에서 사용하는 reconstruction criterion과 비교해 association-based criterion의 경우 정상/비정상 데이터의 anomaly score가 보다 명확하게 구분되고 있습니다.

3.4 Prior-association

  • 어노말 트랜스포머는 minimax 최적화 전략을 선택했는데 이 과정에서 prior-association은 series-association과 유사해지도록 학습됩니다. 따라서 분산을 학습시키는 행동이 prior-assocation가 인접 데이터에 얼마나 주목하는 정도를 조절할 수 있습니다.

3.5 Minimax strategy

  • Maximize 단계에서 series-association은 prior-association에 멀어지도록 학습하기 때문에 결과적으로 인접하지 않은 데이터에 더욱 주목하도록 학습됩니다.
  • 이때, 더 좋은 성능을 얻으려면 비정상 데이터는 정상 데이터보다 인접 데이터에 대한 주목도가 더 높아야 합니다. 하지만 단순히 maximize 만을 사용한다면 이러한 효과를 보기 어려우며 minimax 전략을 사용해야만 series-association에 강력한 제약이 적용됩니다.
  • 아래의 표는 recon, max, assoc 전략을 사용했을때 정상/비정상 데이터 간의 구분 정도(인접 데이터와의 association weight)를 나타내며 abnormal/normal 값이 클수록 두 데이터가 명확하게 구분됨을 의미합니다.

3.6 Threshold Selection

  • 논문에서는 Gap Statistic method 라는 데이터 내의 cluster의 개수를 결정하는 방법을 사용하여 threshold를 선정했습니다.
  • 결과적으로 각 데이터셋의 anomaly score는 3개의 cluster로 나눠지며 이를 기준으로 threshold를 설정했습니다.

  • threshold의 값을 직접적으로 설정(SMD: 0.1)할 수도 있고, 비율로 설정(SMD: 0.5%)하는 방법이 존재하는데 후자를 선택하는 것이 더 실용적이라고 합니다.

결론

  • 어노말 트랜스포머의 핵심 아이디어는 3가지로 정리할 수 있습니다
    • Reconstruction + Association Discrepancy criterion
    • Learnable Prior-Association
    • Minimax Strategy
  • 위의 3가지 아이디어를 모두 결합했을때 최적의 성능을 얻을 수 있었으며, 특히 assocation-discrepancy에 사용되었던 아이디어는 시계열 데이터의 local/global 특성을 대조적으로 학습시키겠다는 것으로 이는 최근 발표된 다른 AD 모델에서도 적용된 아이디어입니다. 어노말 트랜스포머는 local 특성을 가우시안 분포로 모델링한다는 점입니다.
  • 어노말 트랜스포머는 윈도우 사이즈가 작을 경우 성능이 안좋을 수 있는데, 윈도우 사이즈에 따라 연산량 증가가 많기 때문에 이를 적절히 조절해야 합니다.
  • 최신 6개의 논문에서 사용된 Time Series 데이터셋 정리 및 모델 간의 성능 비교를 위해 작성
  • 각 모델별 사용한 데이터의 특성, 모델의 특성이 다르기 때문에 해당 표는 단순히 참고용
  • 논문 목록
    • Anomaly Transformer: Time Series Anomaly Detection with Association Discrepancy
      • Reconstruction-based method + Association Discrepancy loss를 추가
    • Time Series Anomaly Detection with Multi-resolution Ensemble Decoding
      • Reconstruction-based method + Multi-resolution 기법을 추가
    • Detecting Anomalous Event Sequences with Temporal Point Processes
      • Temporal point precess에서의 OOD detection을 AD로 해석
    • Neural Contextual Anomaly Detection for Time Series
      • Window 기법
    • Multi-Scale One-Class Recurrent Neural Networks for Discrete Event Sequence Anomaly Detection
      • OC-NN, event sequence + local, global latent space 를 따로 지정해 OC-NN을 수행
      • 로그 메시지를 미리 설정하여 이상현상을 찾아내는 모델
    • Multivariate Time Series Anomaly Detection and Interpretation using Hierarchical Inter-Metric and Temporal Embedding
      • 다변량 시계열 데이터를 2가지 관점에서 해석하여 각각을 임베딩하여 학습하는 모델
        • 하나의 변수 내에서 시간적인 변화량 관점
        • 여러 변수간의 상관관계 관점

데이터셋

(1) SMD (Server Machine Dataset, Su et al. (2019))

(2) PSM (Pooled Server Metrics, Abdulaal et al. (2021))

(3) Both MSL (Mars Science Laboratoryrover) and SMAP (Soil Moisture Active Passive satellite)

  • Public datasets from NASA (Hundman et al., 2018) with 55 and 25 dimensions respectively,
  • Contain the telemetry anomaly data derived from the Incident Surprise Anomaly (ISA) reports of spacecraft monitoring systems.
  • 데이터 확보가 어려워 일단 제외

(4) SWaT(Secure Water Treatment, Mathur & Tippenhauer (2016))

(5) NeurIPS-TS (NeurIPS 2021 Time Series Benchmark)

  • Proposed by Lai et al. (2021) and includes five time series anomaly scenarios categorized by behavior-driven taxonomy as point-global, pattern-contextual, pattern-shapelet, pattern-seasonal and pattern-trend.

(6) UCR Dataset

  • Multi-dataset Time Series Anomaly Detection Competition of KDD2021.

(7) ECG

(8) 2D-gesture

  • This contains time series of X-Y coordinates of an actor’s right hand. The data is extracted from an video in which the actor grabs a gun from his hip-mounted holster, moves it to the target, and returns it to the holster. The anomalous region is in the area where the actor failsto return his gun to the holster.
  • https://www.cs.ucr.edu/~eamonn/discords/

(9) Power-demand

(10) Yahoo’s S5 Webscope

(11) RUBiS

  • weblog dataset and was generated by an auction site prototype modeled after eBay.com
  • User web behavior including user_id, date, request_inf

(12) Hadoop Distributed File Systme(HDFS)

  • Generated by a Hadoop-based map-reduce cloud environment usingbenchmark workloads
  • 11,175,629 log messages, of which 2.9% are labeled as anomalies by Hadoop experts

(13) BlueGene/L (BGL)

  • 4,747,936 log messages generated by a BlueGene/L supercomputer system with 131,072 processors and 32,768 GB memory at Lawrence Livermore National Labs.

(14) WADI

  • Water Distribution

(15) ASD

DAD(Deep Anomaly Detection) 서베이

소개

  • Anomalies ?
    • Abnormalities, deviants, outliers 라고도 불리며 N1, N2처럼 다수의 데이터를 정상 데이터라고 할때 O1, O2, O3 처럼 소수의 데이터 덩어리를 이상 데이터(anomalies)라고 칭합니다.

  • Novelites ?
    • anormalies 와 거의 동일한 흐름의 데이터로 지금껏 관찰되지 않았던 데이터를 칭합니다.
    • decision threshold 에 의해 anormalies / novelities가 결정되며 이 둘을 판별하는 알고리즘도 보통 동일한 방법이 사용됩니다.

  • DAD techniques
    • 전통적인 outliers 탐지기법들은 그 성능이 sub-optimal 한 경우가 많습니다. 데이터의 양이 많아지고 복잡해지면서 전통적인 기법들은 데이터의 복잡한 feature를 이해하기 어려웠고, 딥러닝을 결합한 DAD들이 주목받고 있습니다.
    • 또한 DAD는 데이터의 특정을 계층적으로 이해하기 때문에 end-to-end 로 raw data을 그대로 사용할 수 있다는 장점이 있습니다.
    • 본 논문은 현존하는 다양한 DAD 들의 원리와 실제 적용사례를 소개하며 전반적인 이해를 돕는데에 목적이 있습니다.

DAD

  • DAD 모델을 만들때 크게 3가지 요소를 고려해야 합니다.

1. 데이터의 특성

  • 데이터는 크게 배열(음성, 텍스트, 음악, 시계열) / 비계열(이미지) 데이터로 나눌 수 있습니다.
  • 데이터의 종류와 차원에 따라 모델 구조, 레이어 수를 조절해야 합니다.

2. 라벨링의 여부

  • Supervised deep anomaly detection
    • 지도학습 DAD는 많이 쓰이지 않습니다. 왜냐하면 classification과 비슷한 원리로 동작하기 때문에 정상 / 이상 데이터가 모두 필요한데 실제로는 라벨링된 이상 데이터를 얻는게 매우 어렵기 때문입니다. 따라서 해당 논문에서 이 모델은 다루지 않았습니다.
  • Semi-supervised deep anomaly detection
    • 정상 데이터는 이상 데이터와 비교해 얻기 쉽기 때문에 준지도 DAD가 많이 활용됩니다. 대표적인 것이 autoencoders를 사용한 기법입니다.
  • Unsupervised deep anomaly detection
    • 위에서 정상 데이터는 비교적 얻기 쉽다고 했지만, 현실에서는 라벨링된 데이터를 얻는 것 자체도 어려운 경우가 많습니다. 그래서 비지도 DAD가 가장 효과적인 모델로 주목받고 있으며 전통적인 기법인 PCA, SVM, Isolation Forest 들을 뛰어넘는 성능을 보여주었습니다. 대부분의 비지도 모델들에서 autoencoder 는 핵심으로 동작합니다.

3. 학습 목표

  • 해당 논문에서 새롭게 제시한 카테고리로 학습 목표에 따라 2가지로 나뉩니다.
  • Deep Hybrid Models(DHM)
    • DHM은 autoencoder 를 사용해 데이터의 feature를 추출해 이를 전통적인 anomaly detection 모델(SVM)에 사용하는 것입니다.
    • Transfer learning 이 DHM 의 배경이 되며 feature extractor 로써 pre-trained 모델을 사용할 경우 좋은 성능을 얻을 수 있었습니다.
  • One-Class Neural Networks(OC-NN)
    • 한 클래스 내에서 노말 데이터와 근접한 envelope를 추출하는게 OC-NN의 목적입니다.
    • DHM과 구조적으로 굉장히 유사하지만 단순히 autoencoder를 사용해 latent vector를 다음 입력으로 사용하는게 DHM 이라는 것에서 차별점이 있습니다.
  • DAD 의 출력물
    • Anomaly score
      • 각 데이터들의 outlierness 의 정도를 수치화한 점수입니다.
    • Labels
      • 점수를 출력하는 대신 normal / anormalous 의 라벨을 출력하는 방법입니다.

Anomaly

실제 적용 사례

  • DAD를 실제로 적용한 다양한 사례들입니다.
    • Intrusion detection
      • Host-Based Intrusion Detection Systems (HIDS)
      • Network Intrusion Detection Systems (NIDS)
    • Fraud detection
      • Banking fraud
      • Mobile cellular network fraud
      • Insurance fraud
      • Healthcare fraud
    • Malware detection
    • Medical anomaly detection
    • Social Networks anomaly detection
    • Log anomaly Detection
    • IoT Big Data anomaly detection
    • Industrial anomalies detection
    • Time series anomlay detection
      • Uni-variate time series deep anomaly detection
      • Multi-variate time series deep anomaly detection
    • Video surveillance

DAD 모델

  • 실제 DAD 모델들은 어떤 종류가 있는지와 그 특성을 4가지 사항을 고려하여 정리했습니다.
    • 가정
    • 모델 구조
    • 계산 복잡성
    • 장점 및 단점

Supervised deep anomaly detection

  • 일반적으로 지도학습모델은 라벨링 데이터를 사용하기 때문에 비지도학습 모델들보다 좋은 성능을 보여줍니다.
  • 지도학습모델의 목적은 정상 / 비정상 데이터들의 경계를 찾아내는 것 입니다.
  • 가정
    • 지도학습은 정상 데이터가 다수의 클래스를 가진다고 가정합니다. 따라서 모델은 비정상 데이터 클래스와 나머지 클래스들간의 경계를 학습합니다.
    • 지도학습은 충분히 많은 데이터(수천개)를 필요로 하며 이후 설명할 준지도 / 비지도 학습에 비해 많이 쓰이지 않습니다.
  • 계산 복잡성
    • 입력 데이터의 차원수와 모델 구조에 따라 달라집니다. 모델의 레이어 수에 따라 선형적으로 증가합니다.
  • 장점 및 단점
    • 테스트 단계에서 속도가 빠릅니다.
    • 멀티 클래스의 경우 정확하게 라벨링된 다수의 데이터를 필요로 합니다.
    • feature 공간이 지나치게 복잡하다면 성능이 떨어질 수 있습니다.

Semi-supervised deep anomaly detection

  • 가정
    • 준지도 학습에서는 학습 데이터는 하나의 클래스만을 가진다고 가정합니다.
    • 또한 anomaly score 를 측정하기 위해 아래의 가정을 따릅니다.
      • Proximity and Continuity: 입력 공간(input space)와 feature space 두 공간에서 가까운 데이터는 같은 라벨을 공유할 가능성이 높습니다.
      • 정상 / 비정상 데이터를 구분할 수 있는 robust feature가 딥뉴럴 네트워크의 히든 레이어에서 학습됩니다.
  • 계산 복잡성
    • 지도학습의 계산 복잡성과 유사합니다.

장점 및 단점

  • 준지도학습 GANs 는 적은 라벨링 데이터만을 사용하고도 좋은 성능을 보여주었습니다.
  • 라벨링된 데이터를 사용한다는 것은 비지도학습과 비교해 상단한 성능 향상을 기대할 수 있습니다.
  • 은닉층이 소수의 이상 데이터에 적합하지 않을 수 있으며 이는 과적합 문제로 이어집니다.

Hybrid deep anomaly detection

  • 딥러닝 모델들은 feature extractors 로 많이 사용됩니다.
  • DHM은 2단계 과정을 적용함으로써 주목할만한 성능을 보여주었습니다.
  • 가정
    • 딥뉴럴 네트워크의 은닉층에서 추출된 특성은 비정상 데이터의 존재여부를 판별하는 것에 도움을 줍니다.
    • Robust 한 anomaly detection 모델을 만들기 위해서는 feature extractor와 anomlay detector를 필요로 합니다.
  • 계산 복잡성
    • DHM의 복잡성은 딥러닝 모델과 전통 알고리즘의 복잡성을 모두 고려해야 합니다.
  • 장점 및 단점
    • Feature extractor는 '차원의 저주' 라는 유명한 문제를 해소하는데 큰 도움을 줍니다.
    • DHM 모델은 축소된 차원내에서 linear/ nonlinear kernel을 적용하기 때문에 매우 효율적입니다.
    • Hybrid한 접근법은 일반적인 loss값을 사용하는게 아니며 은닉층에 직접적으로 적용할 수 없기 때문에 suboptimal한 경우가 많습니다.
    • 모델의 깊이가 깊어질수록 좋은 성능을 보여주는데 이는 계산 복잡성을 높이게 됩니다.

 

One-class neural networks (OC-NN) for anomaly detection

  • OC-NN은 딥뉴럴 네트워크의 feature extractor 능력을 사용해 정상 / 비정상 데이터를 분리하는데 사용한 모델입니다.
  • OC-NN은 목표 함수를 사용해 은닉층을 최적화할 수 있다는 강점이 있습니다.
  • 가정
    • OC-NN은 은닉층 내에서 데이터 분포의 공통 요인을 추출합니다.
    • 혼합된 representation learning 수행하며 테스트 데이터의 outlier score를 계산합니다.
    • Anomalous sample 은 공통 요인을 가지고 있지 않기 때문에 은닉층이 representation을 찾아낼 수 없습니다.
  • 계산 복잡성
    • OC-NN의 복잡도는 오직 딥뉴럴 네트워크에 의해서만 결정됩니다.
  • 장점 및 단점
    • OC-NN은 뉴럴 네트워크를 학습함과 동시에 데이터를 포괄하는 hypersphere / hyperplane도 학습합니다.
    • OC-NN 모델은 학습하는 것은 최소화 알고리즘의 대안을 제시합니다.
    • 학습 시간이 다소 긴 편입니다.
    • 입력공간에 변화가 있을때 업데이트도 다소 긴 편입니다.

Unsupervised Deep Anomaly Detection

  • 비지도학습은 기계학습 연구에서도 중요한 분야로 autoencoder를 적용한 anomaly detection들이 매우 좋은 성능을 보여주고 있습니다.
  • 가정
    • original / latent feature 공간에서 정상과 비정상 데이터들은 서로 구분됩니다.
    • 주류 데이터들은 정상으로 간주됩니다.
    • 비지도학습 모델은 거리나 밀도와 같은 특성을 사용해 outlier score을 계산할 수 있습니다. 모델의 은닉층은 이러한 특성을 학습하는데 목적이 있습니다.
  • 계산 복잡성
    • 일반적으로 autoencoder 를 사용한 모델은 계산 복잡성이 높은 편 입니다.
  • 장점 및 단점
    • 정상과 비정상 데이터를 구분하기 위해 데이터에 내재된 특성을 학습할 수 있습니다.
    • Annotated 데이터를 필요없기 때문에 비용면에서 효율적입니다.
    • 일반적으로 복잡한 데이터에서 공통점을 찾아내는 것은 쉬운 문제가 아닙니다.
    • Autoencoder를 사용할 때 축소될 차원을 조절하는 것도 별개의 최적화 문제입니다.
    • 비지도학습은 노이즈에 매우 민감한 편이며 보통 지도/준지도 학습에 비해 성능이 낮습니다.

Miscellaneous Techniques

  • 위에서 소개한 방법들이 가장 대표적인 anomaly detection 방법들이며 그 외에도 다양한 방법들이 존재합니다.
    • Transfer Learning based anomaly detection
      • 전이학습은 학습 데이터가 충분하지 않을 때 활용할 수 있는 방법입니다.
      • 전이학습의 목표는 소스 도메인의 지식을 목표 도메인에도 적용하는 방법으로 학습 데이터와 미래의 데이터가 반드시 같은 분포에서 왔다는 가정을 하지 않습니다.
    • Zero Shot learning based anomaly detection
      • zero-shot 학습은 학습에서 한번도 보지 못했던 데이터를 구분하는 것을 목표로 합니다.
    • Ensemble based anomaly detection
      • 딥러닝 모델의 문제점 중 하나는 노이즈에 민감하다는 것 입니다. 이 문제를 해결하기 위해서 autoencoder 의 연결을 랜덤하게 변화했더니 좋은 결과를 얻을 수 있었습니다.
    • Clustering based anomaly detection
    • Deep Reinforcement Learning (DRL) based anomaly detection
      • 강화 학습을 이용한 anomaly detection은 복잡한 데이터도 학습이 가능하다는 점에서 주목받고 있습니다.
      • DRL 은 anomaly 에 대한 어떠한 가정도 하지 않으며 그저 보상을 강화하는 방법으로 anomalies를 식별합니다.
    • Statistical techniques deep anomaly detection

현재 Anomaly Detection 모델 및 벤치마크 데이터

https://paperswithcode.com/task/anomaly-detection

Anomaly Detection

아래 내용은 고려대학교 강필성 교수님의 강의를 바탕으로 정리했습니다. 

Anomaly Detection

  • abnormal / novel data / outliers 란?
    • 다른 관찰들과 비교해 생성방식이 다른 매커니즘을 따르는 관찰
      • 데이터의 발생 메커니즘이 이미 정해진 상황에서 생성방식이 다른 데이터를 찾아내는법
    • 데이터 밀도가 낮은 데이터
      • 데이터 발생 메커니즘이 반드시 같을 필요는 없으며 그 발생빈도가 낮은 데이터를 찾아내는 방법
    • 일반적으로 abnormal, outliers는 부정적 / novel data 는 긍정적인 의미를 내포하며 outliers 는 단변량, abnormal은 다변량에 대한 이상치를 의미합니다.
  • Noise data vs. Outliers
    • 노이즈는 데이터를 수집하는 과정에서 자연/필연적으로 발생하는 데이터로 처리과정에서 안고가야하는 변수입니다.

Classification vs. Anomaly Detection

  • 이상 데이터를 감지하기 위해서 보통 2가지 방법을 사용하게 됩니다.

  • Classification은 양질/불량 데이터를 모두 학습시켜 단순히 분류를 하는 방법으로 작동합니다.
  • 반면에 Anomaly detection은 정상 데이터만을 학습시키며 테스트 데이터가 학습에 사용한 데이터와 일관성이 있는지 등을 확인하여 불량 데이터 여부를 판단합니다.
  • 그래서 Anomaly detection은 generalization / specialization 이라는 2가지의 상반된 능력을 가지게 되며 이를 적절히 조율하는 것이 모델의 성능을 높일 수 있는 방법입니다.
  • 두 가지 방법 중 어떤 모델을 선택할 지는 데이터의 양을 기준으로 판단합니다.

  • 요약하면 데이터의 불균형이 심하며 불량 데이터의 수가 충분하지 않다면 anomaly detection을 사용하는게 바람직하며, 그 외에 경우에는 데이터 전처리를 해서라도 데이터 불균형을 해소한 후에 classification을 사용하는게 좋은 성능을 보여준다고 합니다.

  • A, B 모두 데이터 불균형이 심하지만 B의 경우 불량 데이터의 절대적인 수가 많이 부족하기 때문에 이런 경우는 anomaly detection을 사용하는 것이 바람직합니다.
  • Outlier 에도 3가지 종류가 존재합니다.
    • Global Outlier: 일반적으로 저희가 인지하는 outlier로 누가봐도 명백히 이상한 outlier를 의미힙니다. 3가지 중에서 가장 판별하기 쉽습니다.
    • Contextual Outlier: 상황/조건에 따라 이상치 여부가 달라지는 경우입니다. 예를 들어 외부기온을 측정하는 경우, 한국에서는 20도가 정상적인 온도지만 북극에서는 20도가 비정상적인 데이터가 됩니다.
    • Collective Outlier: 데이터의 집합이 이상치가 되는 경우입니다. 3가지 중 가장 까다로운 경우로 데이터 공간에서 다수의 군집 속에 속하더라도 지나치게 한 지점에 모인다는 이유로 outlier가 되는 경우가 존재합니다.
  • Anomaly Detection을 수행하려면 몇 가지 주의사항이 존재합니다.
    • 모델과 outlier를 적절히 설정해야한다.
      • 양질 / 불량 데이터들간의 경계를 설정하는 것은 쉬운 일이 아니기 때문에 적절한 모델과 경계를 설정하는 것이 매우 중요합니다.
    • 목적/분야에 맞는 detection을 해야한다
      • 의료분야에서는 작은 이상치라도 그 의미가 클 수 있습니다. 반면에 마케팅 분야에서는 보다 큰 변동까지도 수용이 가능할 수 있습니다. 따라서 목적/분야에 맞게 탐지를 하는 것이 중요합니다.
    • 해석이 가능해야한다.
      • 모델에 의해 outlier로 판단된 데이터가 왜 그런 결과가 나왔는지 해석이 가능해야 합니다.

방법

Anomaly detection

  1. Density-based Methods
    1. Gaussian Density Estimation
      • 데이터가 가우시안 분포에서 발생했다고 가정하여 정상 데이터들의 평균, 분산을 계산해 그 범위에서 벗어나는 데이터들을 불량 데이터로 판단하는 방법
    2. Mixture of Gaussian Densitiy Estimation
      • 1번 방법과 동일하지만 데이터들의 분포가 다수의 가우시안 분포 결합에서 발생했다고 가정하는 방법
    3. Kernel Density Estimation
      • 데이터가 특정 분포에서 발생했다고 가정하는 것이 아니며 데이터의 개수가 충분하다면 특정 데이터의 분포를 단순히 카운팅하는 방법으로 근사가 가능하다는 이론. 대표적인 방법이 Parzen window density estimator 입니다.
    4. Local Outlier Factor
      • 메인 집합이 아닌 작은 집합들에서 발생할 수 있는 local outlier의 abnormal score을 명백한 outlier 보다도 더 크게 측정할 수 있도록 고안된 방법
  2. Distance-based Methods
    1. K-nearest Neighbor-based Anomaly Detection
      • 강의를 진행하신 강필성 교수님이 착안해낸 방법으로 단순히 군집으로 abnormal을 감지하는 것은 한계점이 있다는 점에서 출발한 이론입니다.
      • 군집을 이루는 데이터들로 형성되는 polygon 내부에 감지하고자 하는 데이터가 포함되는지 여부까지 고려해서 abnormal을 판단하는 알고리즘입니다.
    2. K-means clustering based Anomaly Detection
      • 단순하게 설명하면 어떤 군집과도 거리가 가깝지 않다면 abnormal로 판단하겠다는 이론입니다.
    3. PCA-based Anomaly Detection
      • PCA 기반으로 주어진 데이터를 축약시킨후에 다시 복원시켰을때 본래의 데이터와 차이가 큰 데이터는 abnormal로 판단하는 방법입니다.
      • 설명에 따르면 abnormal 데이터의 경우는 그 패턴이 제대로 파악되지 않았기 때문에 복원했을경우 기존 데이터와 거리가 멀어진다는 이론입니다.
  3. Model-based Methods
    1. Auto-Encoder
      • 데이터를 latent space로 투영한 후에 다시 복원시켜서 차이가 큰 데이터는 abnormal 로 판단하는 방법
    2. 1-SVM
    3. SVDD
  4. Isolation Forest

+ Recent posts