GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
动机
- Anomaly detection
- highly biased towards one class (normal)
- insufficient sample size of the other class (abnormal)
- semi-supervised learning
- detecting the unknown/unseen anomaly case
- trained on normal samples
- tested on normal and abnormal samples
- encoder-decoder-encoder
- minimizing the distance between the images
- and the latent vectors
- a larger distance metric
- Anomaly detection
论点
- supervised approaches heavily depend on large, labeled datasets
- Generative Adversarial Networks (GAN) have emerged as a leading methodology across both unsupervised and semi-supervised problems
- reconstruction-based anomaly techniques
- Overall prior work strongly supports the hypothesis that the use of autoencoders and GAN
方法
- GAN
- unsupervised
- to generate realistic images
- compete
- generator tries to generate an image, decoder- alike network, map input to latent space
- discriminator decides whether the generated image is a real or a fake, classical classification architecture, reading an input image, and determining its validity
Adversarial Auto-Encoders (AAE)
- encoder + decoder
- reconstruction: maps the input to latent space and remaps back to input data space
- train autoencoders with adversarial setting
inverse mapping
- with the additional use of an encoder, a vanilla GAN network is capable of learning inverse mapping
model
- learns both the normal data distribution and minimizes the output anomaly score
- two encoder, one decoder, a discriminator
- encoder
- convolutional layers followed by batch-norm and leaky ReLU() activation
- compress to a vector z
- decoder
- convolutional transpose layers, ReLU() activation and batch-norm
- a tanh layer at the end
- 2nd encoder
- with the same architectural
- but different parametrization
- discriminator
- DCGAN discriminator
- Adversarial Loss
- 不是基于GAN的traditional 0/1 ouput
- 而是选了一个中间层,计算real/fake(reconstructed)的L2 distance
- Contextual Loss
- L1 yields less blurry results than L2
- 计算输入图像和重建图像的L1 distance
- Encoder Loss
- an additional encoder loss to minimize the distance of the bottleneck features
- 计算两个高维向量的L2 distance
- 在测试的时候用它来scoring the abnormality
- GAN