Deep Learning/Anomaly Detection

[Paper Review] Deep SVDD (Deep One-Class Classification)

sdbeans 2022. 1. 23. 14:47

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

 

Deep One-Class Classification

Despite the great advances made by deep learning in many machine learning problems, there is a relative dearth of deep learning approaches for anomaly detection. Those approaches which do exist inv...

proceedings.mlr.press

Github 링크: https://github.com/lukasruff/Deep-SVDD-PyTorch

 

GitHub - lukasruff/Deep-SVDD-PyTorch: A PyTorch implementation of the Deep SVDD anomaly detection method

A PyTorch implementation of the Deep SVDD anomaly detection method - GitHub - lukasruff/Deep-SVDD-PyTorch: A PyTorch implementation of the Deep SVDD anomaly detection method

github.com

Code Explanation: 

https://emptydb.tistory.com/9


Deep SVDD Paper Review

1. Introduction (소개)

커널 기반 one-class classification, 그리고 minimum volume estimation을 기반으로 Deep Support Vector Data Description 모델을 생성했다. 신경망으로 훈련시키면서 data representation을 모두 포함시키는 hypersphere의 부피(volume)를 최소화한다. Hypersphere를 최소화시키는 것은 network가 data point들을 hypersphere의 중심과 가깝게 맵핑해야 하기 때문에 variation의 공통분모를 추출하도록 한다.

 

2. Related Works (관련된 기존 모델)

2-1. Kernel-based One-Class Classification: SVDD & OC-SVM

How to solve: 이 두 방법은 각자의 respective dual인 quadratic program이나 sequential minimal optimization과 같은 다른 method들로 해결한다.

OC-SVM의 objective: feature space에 있는 maximum margin hypersphere들 중에 맵핑된 data와 origin을 가장 잘 분리하는 hypersphere를 찾는다.

SVDD의 objective: 중심 c와 반지름 R을 갖고있는 가장 작고 feature space에서 대부분의 data를 포함하는 hypersphere를 찾는다.

Limitations: explicit feature engineering 필요, 커널 행렬의 construction과 manipulation으로 인한 poor computational scaling, 예측 단계에서 support vector를 저장하기 위해 많은 메모리 공간이 필요.

 

2-2. Deep Approaches to Anomaly Detection (mixed or fully-deep): deep autoencoder & AnoGAN

Deep autoencoder: mixed approach는 학습된 embedding들을 classical anomaly detection 방법들에 대입. 반면, fully-deep approach는 direct 하게 reconstruction error를 anomaly score로 사용한다. (예시: denoising AE, sparse AE, variational AE, deep convolutional AE) Autoencoder의 objective중 하나로 dimensionality reduction이 있다.

 

2-3. 기존 method에서부터 진행된 Deep SVDD의 발전

Unsupervised anomaly detection의 fully-deep approach 중 하나. Data distribution의 variation들의 공통분모를 추출하는 방법을 배운다. 이는 network의 output을 최소 volume의 hypersphere에 맵핑하는 신경망을 훈련시키며 배우게 된다. Target anomaly를 직접 찾는 최소 volume을 가진 data-enclosing hypersphere를 구할 수 있기에, 축소된 data representation 또한 objective의 일부분이다.

 

3. Deep SVDD (이 논문의 모델)

3-1. Objective

커널 기반의 SVDD와 minimum volume estimation을 바탕으로. Data를 모두 포함시키는 hypersphere중 가장 작은 것을 찾는다. 또한, data의 feature representation들을 학습하기 위해 jointly train 된 신경망을 사용하여 data를 최소 volume hypersphere에 맵핑한다.

 

3-2. Aim

Parameter들을 jointly하게 학습하고, output space에 있는 data-enclosing hypersphere 중 가장 작은 volume을 가진 hypersphere의 중심과 반지름을 찾는다.

 

3-3. Tradeoff in soft-boundary

Hypersphere의 부피와 boundary 밖에 맵핑된 몇 개의 data point들 간의 tradeoff가 있다. 이는 hyperparameter v로 조절한다.

 

3-4. Difference between soft-boundary and one-class

Soft-boundary: 반지름과 hypersphere 밖에 있는 포인트들에게 페널티를 주면서 hypersphere의 부피를 검사한다.
One-class: 모든 포인트와 중심 c 사이의 거리들의 평균을 최소화시켜 hypersphere를 검사한다.

 

3-5. Anomaly score

각 포인트와 hypersphere의 중심 c 사이의 거리가 비정상 점수가 된다.

 

3-6. Optimization

Stochastic gradient descent (SGD)와 Adam optimizer를 사용하여 최적화된 parameter들을 back propagation시켜 신경망에 사용한다. Dataset의 양이 많을 때 좋으며, 반복학습(iterative learning)이나 온라인 학습(online learning)을 가능하게 한다.

 

3-7. 4 Properties

  • all-zero-weights solution
  • bias terms
  • bounded activation functions
  • v-property

 

4. Experiments (실험 진행 방법)

  • remove bias terms in all network units to prevent hypersphere collapse
  • choose v from 0.01 to 0.1 and report best results
  • hypersphere center c = mean of the mapped data after performing initial forward pass
  • optimization = Adam optimizer
  • apply Batch Normalization
  • use weights from the trained DCAE encoder for initialization (pretraining)
  • two-phase learning rate schedule: searching & fine-tuning
  • leaky ReLU activations (leakiness = 0.1)
  • higher standard deviations for deep methods because of SGD optimization
  • no anomalies in training data
  • train only on normal data of training set

 

Key Points / Significance (내가 생각하는 Deep SVDD의 Highlight)

  • fully-deep one-class classification method for unsupervised AD
  • decreases the volume of the hypersphere and minimizes the distances between each feature. compactness
  • use AE to pretrain parameter, then find the appropriate model for better results

 


(아래는 이전에 하다 만 그냥 간단 필기)

  • preprocess data by:
    • global contrast normalization using L1-norm
    • rescale to unit interval [0,1]
  •  train only on normal data, where only one class is considered normal and all other classes are anomalies
  • each convolution module is consist of:
    • 1 convolutional layer
    • leaky ReLU activations
    • 2 X 2 max-pooling
  • in the experiment:
    • batch size is 200
    • weight decay parameter lambda is 10 ^ (-6)