Deep Autoencoding Gaussian Mixture Model for Unsupervised Anomaly Detection

Unsupervised anomaly detection on multi- or high-dimensional data is of great importance in both fundamental machine learning research and industrial applications, for which density estimation lies at the core. Although previous approaches based on dimensionality reduction followed by density estimation have made fruitful progress, they mainly suffer from decoupled model learning with inconsistent optimization goals and incapability of preserving essential information in the low-dimensional space. In this paper, we present a Deep Autoencoding Gaussian Mixture Model (DAGMM) for unsupervised anomaly detection. Our model utilizes a deep autoencoder to generate a low-dimensional representation and reconstruction error for each input data point, which is further fed into a Gaussian Mixture Model (GMM). Instead of using decoupled two-stage training and the standard Expectation-Maximization (EM) algorithm, DAGMM jointly optimizes the parameters of the deep autoencoder and the mixture model simultaneously in an end-to-end fashion, leveraging a separate estimation network to facilitate the parameter learning of the mixture model. The joint optimization, which well balances autoencoding reconstruction, density estimation of latent representation, and regularization, helps the autoencoder escape from less attractive local optima and further reduce reconstruction errors, avoiding the need of pre-training. Experimental results on several public benchmark datasets show that, DAGMM significantly outperforms state-of-the-art anomaly detection techniques, and achieves up to 14% improvement based on the standard F1 score.

PDF Abstract
Task Dataset Model Metric Name Metric Value Global Rank Benchmark
Unsupervised Anomaly Detection with Specified Settings -- 30% anomaly ASSIRA Cat Vs Dog DAGMM AUC-ROC 0.846 # 1
Unsupervised Anomaly Detection with Specified Settings -- 10% anomaly Cats and Dogs DAGMM AUC-ROC 0.960 # 3
Unsupervised Anomaly Detection with Specified Settings -- 0.1% anomaly Cats and Dogs DAGMM AUC-ROC 0.784 # 4
Unsupervised Anomaly Detection with Specified Settings -- 20% anomaly Cats and Dogs DAGMM AUC-ROC 0.914 # 3
Unsupervised Anomaly Detection with Specified Settings -- 1% anomaly Cats and Dogs DAGMM AUC-ROC 0.710 # 5
Unsupervised Anomaly Detection with Specified Settings -- 20% anomaly cifar10 DAGMM AUC-ROC 0.883 # 2
Unsupervised Anomaly Detection with Specified Settings -- 1% anomaly CIFAR-10 DAGMM AUC-ROC 0.503 # 6
Unsupervised Anomaly Detection with Specified Settings -- 30% anomaly CIFAR-10 DAGMM AUC-ROC 0.850 # 2
Unsupervised Anomaly Detection with Specified Settings -- 10% anomaly CIFAR-10 DAGMM AUC-ROC 0.778 # 6
Unsupervised Anomaly Detection with Specified Settings -- 0.1% anomaly CIFAR-10 DAGMM AUC-ROC 0.494 # 6
Unsupervised Anomaly Detection with Specified Settings -- 30% anomaly Fashion-MNIST DAGMM AUC-ROC 0.769 # 4
Unsupervised Anomaly Detection with Specified Settings -- 10% anomaly Fashion-MNIST DAGMM AUC-ROC 0.788 # 4
Unsupervised Anomaly Detection with Specified Settings -- 0.1% anomaly Fashion-MNIST DAGMM AUC-ROC 0.784 # 4
Unsupervised Anomaly Detection with Specified Settings -- 20% anomaly Fashion-MNIST DAGMM AUC-ROC 0.780 # 4
Unsupervised Anomaly Detection with Specified Settings -- 1% anomaly Fashion-MNIST DAGMM AUC-ROC 0.793 # 5
Unsupervised Anomaly Detection with Specified Settings -- 20% anomaly MNIST DAGMM AUC-ROC 0.616 # 5
Unsupervised Anomaly Detection with Specified Settings -- 0.1% anomaly MNIST DAGMM AUC-ROC 0.624 # 4
Unsupervised Anomaly Detection with Specified Settings -- 1% anomaly MNIST DAGMM AUC-ROC 0.708 # 5
Unsupervised Anomaly Detection with Specified Settings -- 10% anomaly MNIST DAGMM AUC-ROC 0.629 # 5
Unsupervised Anomaly Detection with Specified Settings -- 30% anomaly MNIST DAGMM AUC-ROC 0.613 # 5
Unsupervised Anomaly Detection with Specified Settings -- 1% anomaly STL-10 DAGMM AUC-ROC 0.477 # 6
Unsupervised Anomaly Detection with Specified Settings -- 0.1% anomaly STL-10 DAGMM AUC-ROC 0.574 # 5
Unsupervised Anomaly Detection with Specified Settings -- 20% anomaly STL-10 DAGMM AUC-ROC 0.911 # 4
Unsupervised Anomaly Detection with Specified Settings -- 30% anomaly STL-10 DAGMM AUC-ROC 0.883 # 4
Unsupervised Anomaly Detection with Specified Settings -- 10% anomaly STL-10 DAGMM AUC-ROC 0.826 # 5

Methods