[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)에 해당하는 부분은 최대한 데이터 포인터들을 구의 중심으로 가깝게 매핑하도록 바꿀 수 있음
- 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와 동일함
- 에타(η)는 unlabeled와 labeled sample에 대한 term의 균형을 조정함 (η=1 설정)
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:
* 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 |
---|
댓글