Implementation of various generative neural network models for anomaly detection in Julia, using the Flux framework.
acronym | name | paper |
---|---|---|
AE | Autoencoder | Vincent, Pascal, et al. "Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion." Journal of Machine Learning Research 11.Dec (2010): 3371-3408. link |
VAE | Variational Autoencoder | Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013). link |
sVAE | symetric Variational Autoencoder | Pu, Yunchen, et al. "Symmetric variational autoencoder and connections to adversarial learning." arXiv preprint arXiv:1709.01846 (2017). link |
GAN | Generative Adversarial Network | Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014. link |
fmGAN | GAN with feature-matching loss | Salimans, Tim, et al. "Improved techniques for training gans." Advances in Neural Information Processing Systems. 2016. link |
Experiments are executed on the Loda (Lightweight on-line detector of anomalies) datasets that can be downloaded here. Tha sampling method is based on this paper. After downloading the datasets, you can create your own using the experiments/prepare_data.jl function.