본문 바로가기
Data Science/Paper Review

Deep Semi-Supervised Anomaly Detection

by 루크 Luke 2022. 1. 14.
반응형

[Information]

- Paper : Deep Semi-Supervised Anomaly Detection

- Author : Lukas Ruff, Robert A. Vandermeulen, Nico Görnitz, Alexander Binder, Emmanuel Müller, Klaus-Robert Müller, Marius Kloft

- 26 Sept 2019 (modified: 11 Mar 2020), ICLR 2020 Conference Blind Submission

- URL : https://openreview.net/pdf?id=HkgH0TEYwH 

 

일반적으로, Anomaly Detection은 비지도 학습을 가정한다.

- 무엇이 정상이고 비정상인지 모르지만, 대부분의 데이터가 정상일 것이라고 가정하고 학습 진행

But, 이상 탐지 문제에서도 도메인 전문가들에 의한 라벨 데이터가 주어지는 경우도 많음

- 정상/비정상이 라벨링 되어 있는 데이터도 존재함

본 논문은 라벨링 처리가 된 데이터를 포함하는 Semi-supervised AD 방법론을 제안한 Paper

- 기존 비지도 학습 기반 이상 탐지보다 더 높은 성능

 

기존의 Semi-supervised learning은 비슷한 데이터는 같은 클래스임을 가정하는 Cluster Assumption 기반

- 하지만 AD에서는 정상 데이터에서는 Cluster가 옳지만, 비정상 데이터가 꼭 비슷할 필요는 없음

- AD에서는 정상 데이터에 대해 Compact하면서, 비정상을 잘 구분할 수 있는 Feature Space로의 매핑이 중요

 

Information Theory

정보량 I(X) : 사건 X에서 발생하는 놀람의 정도를 반영하는 정보의 양

- 발생 확률이 낮은 사건일수록 정보량이 커짐

- 원래 많이 발생하지 않을수록 놀람의 정도가 크기 떄문에 정보량이 커짐

Entropy H(X) : 발생 가능한 모든 사건의 평균 정보량

- 모든 사건 결과가 비슷한 확률로 발생할수록 엔트로피(불확실성)이 커짐

- H(X) = E[I(X)]

KL Divergence Dkl : 두 확률 분포의 엔트로피 차이를 측정하는 지표

- Bayesian 관점에서는 두 확률 분포에 대한 정보량으로 해석될 수 있으며, Prior Q에서 posterior P로 이동할 때 얻어지는 정보량을 의미함

- 두 분포가 가까웠다는 가정 하에서 분포가 가깝지 않다면 정보량이 크므로 KLD는 커짐

Mutural Information I(X, Y) : 두 확률 변수의 Mutural dependency 정도로 하나의 확률변수가 다른 확률변수에 대해 제공하는 정보량을 나타냄

- 두 확률 변수의 dpdnc가 클수록 상호 정보량이 커짐

 

Deep SVDD : 기존의 SVDD를 Deep Learning을 기반으로 학습한 것

- 딥러닝 기반으로 학습한 Feature space에서 정상 데이터를 둘러싸는 가장 작은 구를 찾고,

- 해당 경계면을 기반으로 이상치를 탐지함

- 기존의 Kernel-based에서 딥러닝으로 바뀐 것

- Normal example(정상 데이터)를 구 안으로 mapping 되도록 하는 W(가중치)와 R(구의 반지름)을 학습함

- 28*28*1 -> 14*14*8 -> 7*7*4 -> 196*1 -> 32*1 (구 안으로 mapping)

- 1) 구의 부피를 최소화 하면서

- 2) 구 외부에 있는 데이터 포인트에 대해 페널티를 부여하고

- 3) Weight decay regularizer*

cf) Overfitting 문제를 해결하기 위해서 여러가지 방법이 쓰일 수 있는데, 그 중 한가지가 Weight decay이다. Loss function이 작아지는 방향으로만 단순하게 학습을 진행하면 특정 가중치 값들이 커지면서 위 첫번째 그림처럼 오히려 결과가 나빠질 수 있다. Weight decay는 학습된 모델의 복잡도를 줄이기 위해서 학습 중 weight가 너무 큰 값을 가지지 않도록 Loss function에 Weight가 커질경우에 대한 패널티 항목을 집어넣는다. 이 패널티 항목으로 많이 쓰이는 것이 L1 Regularization과 L2 Regularization이다. Weight decay 를 적용할 경우 위 두번째 그림처럼 Overfitting에서 벗어날 수 있다. (출처: https://light-tree.tistory.com/216)

- 최적화를 통해 W는 정상 데이터의 공통적인 요소(Compaction of normal description)을 추출하여, 각 데이터 포인트를 구의 중심 c에 가깝게 mapping하도록 학습하는 것이 목표(Objective)

- 데이터의 대부분이 정상 데이터라고 한다면, 1)에 해당하는 구의 부피를 최소화하는 것이 필요 없어지고, 2)에 해당하는 부분은 최대한 데이터 포인터들을 구의 중심으로 가깝게 매핑하도록 바꿀 수 있음

SVDD Objective Func

- Feature space 상 점과 중심 c와의 거리로 훈련되어, c 근방으로 정상 데이터가 매핑, 이상치는 c로부터 멀리 매핑되는 것

- 이 때, c는 미리 정의되는데, Auto-Encoder를 미리 훈련시키고 Pre-train 입력 데이터의 인코더 forward pass의 평균으로 설정

 

- Decision Func : -1: normal, +1: abnormal

- W와 R을 최적화하는 방법 : scale이 다르기 때문에, W와 R을 교대로 최적화함 (k=5)

- 1) Optimization of W: R 고정하고, W를 backpropagation -> 2) Optimization of R

 

Deep SAD : Deep SVDD에 Semi-supervised를 접목시킨 방법

Supervised Learning 상황에서는 output variable Y를 예측하기 위한 latent variable Z의 정보를 최대한 보존하면서, input variable X를 latent variable Z로 최대한 압축하는 representation learning 방법론

- compression(X~Z 압축)과 classification accuracy(Y~Z 보존) 간의 trade-off 문제를 해결함

Information Bottleneck Principle (Supervised)

- 압축은 많이 하는 것이 좋고(X과 Z의 dpndc 감소) -> Y를 예측하기 위한 Z의 정보량은 증가(Z와 Y의 dpdnc 증가)

Infomax Principle (Unsupervised)

- X를 Z로 압축하는 것 : Y가 존재하지 않기 때문에, latent Z로의 압축률은 증가시켜야 함 (dpdnc 증가)

- 비지도일 때는 X는 Z로 갈 때 정보량이 최대가 될 수 있도록 해야 함.

Semi-supervised AD 방법론은 Deep SAD의 데이터 구성을 아래와 같이 함 (Semi)

- n unlabeled samples & m labeled samples

- m=0이면 unsupervised Deep SVDD와 동일함

Deep SAD의 Objective Func

- 에타(η)는 unlabeled와 labeled sample에 대한 term의 균형을 조정함 (η=1 설정)

Z-(abnormal)일 때는 구의 중심으로부터 멀리 mapping -> entropy가 노ㅠ음

Experiments

- Model

 1) Shallow baselines : OC-SVM

 2) Deep baselines : SSAD, Deep SAD, Supervised(Binary)

 3) Hybrid variant : AutoEncoder, Latent representation을 사용한 모델

- Dataset : MNIST, Fashion-MNIST, CIFAR-10

- labeled training data 비율 -> unlabeled data의 abnormal 비율 -> labeled 내 abnormal class 개수 시나리오

 

<1> labeled training data의 비율

- 라벨링된 데이터의 비율을 늘리면서(gamma1) 실험하여, semi 방식이 얼마나 이득인지 확인함

- Supervised는 성능이 Deep SAD에 비해 낮은데, 새로운 이상치에 대해서는 취약하다는 것을 알 수 있음

 

<2> unlabeled data의 abnormal 비율

- 데이터의 일정 비율(gamma p)을 이상치로 오염시키면서 실험함

- gamma p가 커질수록 성능이 더 낮아짐

- Deep SAD는 높은 gamma p에 대해서도 견고한 성능을 보이는 것으로 나타남

 

<3> labeled 내의 abnormal class의 개수

- 이상(Abnormal) 라벨링 클래스의 수 k를 증가시키면서 실험을 진행

- k가 증가할수록 성능이 좋아지는 것을 알 수 있음

- 특히 Supervised Classifier의 성능이 비약적으로 향상 -> 이상치의 다양성에 민감하다고 볼 수 있음

- 따라서 무수히 많은 이상치를 감지하는 데에 오히려 부적합함

 

 

* Paper reviewed here:

https://openreview.net/pdf?id=HkgH0TEYwH 

 

* This Post helped me review:

https://hongl.tistory.com/79

 

* This Video helped me review:

https://www.youtube.com/watch?v=l--BSilQQqU 

 

반응형

'Data Science > Paper Review' 카테고리의 다른 글

Deep Learning Model for Anomaly Detection: Survey  (1) 2022.01.09

댓글