Skip to content

seonho-park/PGN_anomaly_detection

Repository files navigation

PGN

: Prior Generating Networks for Anomaly Detection

Interpreting Rate-Distortion of Variational Autoencoder and Using Model Uncertainty for Anomaly Detection
Seonho Park (U. of Florida), George Adosoglou (U. of Florida), Panos M. Pardalos (U. of Florida)

Abstract Building a scalable machine learning system for unsupervised anomaly detection via representation learning is highly desirable. One of the prevalent methods is using a reconstruction error of variational autoencoder (VAE) by maximizing the evidence lower bound. We revisit VAE from the perspective of information theory to provide some theoretical foundations on using the reconstruction error and finally arrive at a simpler yet effective model for anomaly detection. In addition, to enhance the effectiveness of detecting anomalies, we incorporate a practical model uncertainty measure into the anomaly score. We show empirically the competitive performance of our approach on benchmark data sets.

Requirements

  • python == 3.7.3
  • pytorch == 1.0.1

Execution - Anomaly Detection

python main_pgn.py
  • Tested on CIFAR10, FMNIST, MNIST Datasets
  • one could find some options in utils.py
  • other methods (GPND, DSVDD, AE, VAE, AAE) can be executed in a similar way with execution files main_dsvdd.py, main_gpnd.py and so on.

Execution - beta-VAE for rate-distortion analysis

python beta_vae_test.py

Results

Ablation study

Anomaly detection on MNIST & FMNIST

Anomaly detection on CIFAR10

Citation

If you want to cite this, please refer to the following:

@article{park2020anomaly,
  title={Interpreting Rate-Distortion of Variational Autoencoder and Using Model Uncertainty for Anomaly Detection},
  author={Park, Seonho and Adosoglou, George and Pardalos, Panos M},
  journal={arXiv preprint arXiv:2005.01889},
  year={2020}
}