[18′ NIPS] Deep Anomaly Detection Using Geometric Transformations (GEOM) 핵심 리뷰

This entry is part 26 of 40 in the series Anomaly Detection

내용 요약

Normal Image Transformation을 맞추는 Self Supervised Learning 방식을 사용한 Anomaly Detection 방법론을 소개합니다. Score로는 Dirichlet normality score를 사용합니다.

1. 들어가며

이번 글에서는 2018년 NIPS에 발표된 Deep Anomaly Detection Using Geometric Transformations 논문을 리뷰합니다. 이 논문은 GEOM이라고 불리며, 이번 글에서도 GEOM이라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.

2. 제안 방법

바로 제안 방법을 살펴보겠습니다.

그림1. GEOM 제안 방법
그림1. GEOM 제안 방법

2-1. 큰 그림

먼저 저자들의 큰 그림을 같이 살펴보겠습니다.

GEOM은 Normal Data의 Image Transformation을 맞추는 Classifier를 학습합니다. 이렇게 Image Transformation을 맞추기 위해 학습하는 과정에서 Normal Data의 공통된 핵심 Feature를 학습하겠죠. 학습이 잘 된다면, Test Normal Data에 대해서는 어떠한 Transformation을 했는지 잘 맞출것이고, 반대로 Anomal Data에 대해서는 잘 못 맞출 겁니다. 따라서 Softmax의 값이 크면 Normal, 낮으면 Anomal로 판단할 수 있을 겁니다.

2-2. Creating and learning the self-labeled dataset

이제 첫 번째 단계인 Self Labeled Dataset을 제작하는 부분부터 살펴보겠습니다.

Image Transformation을 맞추는 Classifier를 학습시키기 위해 Normal Image 한 장당 k개의 Transformation을 수행한 뒤 Transformation Label과 같이 Self-Labeled Dataset을 제작해줍니다.

2-3. Dirichlet normality score

다음은 Test단계를 살펴보겠습니다.

학습 단계에서 수행했던 k개의 rTansformation을 Test Image에게 동일하게 수행합니다. 이렇게 생성된 k개의 이미지에 대해 각각 네트워크를 통해 나온 Softmax의 출력값을 구합니다. 이때 Normal 데이터라면 Softmax가 정답 클래스에서 크게 나올 것이고, Anomal 데이터라면 균등하게 나올 것입니다. 따라서 Dirichlet Normality Score를 사용하여 Normal 정도를 측정합니다. 수식은 다음과 같습니다.

Dirichlet-normality-score
그림2. Dirichlet Normality Score

이때의 y는 Softmax값입니다.

softmax-output
그림3. Softmax Output

실제 테스트에서는 다음과 같은 Simplified Version을 사용합니다.

simplified-version
그림4. Simplified Version

3. 실험 결과

다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

3-1. CIFAR10 & CIFAR100 & Fasion-MNIST Anomaly Detection 테스트

먼저 CIFAR10, CIFAR100, Fashion-MNIST에 대한 Anomaly Deteciton 테스트 결과입니다.

cifar10-cifar100-fashion-mnist-실험결과
그림5. Cifar10 / Cifar100 / Fashion-MNIST 실험결과

비교 방법론들은 다음과 같습니다.

  • OC-SVM : One Class Deep SVDD
  • DAGMM : Deep Autoencoding Gaussian Mixture Model
  • DSEBM : Deep Structured Energy Based Model
  • AD-GAN : GAN based model

결과를 보면 비교 방법들중 가장 성능이 좋은 모습을 볼 수 있습니다.

이렇게 성능이 좋은 이유에 대한 저자들의 생각을 살펴보겠습니다.

gradient-ascent-optimization-실험
그림6. Gradient Ascent Optimization 실험

위의 그림은 MNIST 데이터셋의 3을 GEOM방식으로 학습한 뒤, 각각 0과 3을 넣고 gradient ascent하여 optimized 된 이미지를 출력한것입니다.

왼쪽을 보면 input으로 들어간 0이 3 모양으로 변하여 출력된 모습입니다.
반면 오른쪽은 input으로 들어간 3이 거의 모양이 변하지 않은채 출력된 모습입니다.
따라서 저자들은 transformation을 맞추도록 학습하는 과정에서 네트워크가 normal data의 특성을 학습한 것이라고 해석합니다. 또한 이때 transformation으로는 flip, translation, rotation 등과 같은 geometric transformation만 사용해야 하며, noise 같은 non-geometric transformation을 사용하면 더 성능이 떨어진다고 말합니다.

Series Navigation<< [Self Supervised Learning 방식의 Anomaly Detection][19′ NIPS] SSL-AD : Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top