https://github.com/yeonghyeon/adae-tf
TensorFlow implementation of Anomaly Detection with Adversarial Dual Autoencoders (ADAE) with MNIST dataset.
https://github.com/yeonghyeon/adae-tf
adversarial-dual-autoencoders anomaly-detection mnist mnist-dataset tensorflow
Last synced: 8 months ago
JSON representation
TensorFlow implementation of Anomaly Detection with Adversarial Dual Autoencoders (ADAE) with MNIST dataset.
- Host: GitHub
- URL: https://github.com/yeonghyeon/adae-tf
- Owner: YeongHyeon
- License: mit
- Created: 2021-03-18T02:44:43.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-26T09:13:07.000Z (over 4 years ago)
- Last Synced: 2025-01-08T18:54:24.180Z (9 months ago)
- Topics: adversarial-dual-autoencoders, anomaly-detection, mnist, mnist-dataset, tensorflow
- Language: Python
- Homepage:
- Size: 1.84 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[TensorFlow] Anomaly Detection with Adversarial Dual Autoencoders
=====TensorFlow implementation of Anomaly Detection with Adversarial Dual Autoencoders (ADAE) with MNIST dataset.
The Keras implementation is provided as the following link.
https://github.com/kjm1559/ADAE_LSTM_Autoencoder## Architecture
### Objective Functions
![]()
The objective functions (losses) for training ADAE [1].
### ADAE architecture
![]()
The architecture of ADAE.
### Graph in TensorBoard
![]()
Graph of ADAE.
### Problem Definition
![]()
'Class-1' is defined as normal and the others are defined as abnormal.
## Results
### Training Procedure
![]()
![]()
![]()
Loss graphs in the training procedure.Each graph shows the generative loss, and the two terms that make loss-G.
![]()
![]()
![]()
Loss graphs in the training procedure.Each graph shows the discriminative loss, and the two terms that make loss-G.
![]()
Restoration result by ADAE.
### Test Procedure
![]()
Box plot with encoding loss of test procedure.
![]()
![]()
![]()
Normal samples classified as normal.
![]()
![]()
![]()
Abnormal samples classified as normal.
![]()
![]()
![]()
Normal samples classified as abnormal.
![]()
![]()
![]()
Abnormal samples classified as abnormal.
## Environment
* Python 3.7.4
* Tensorflow 1.14.0
* Numpy 1.17.1
* Matplotlib 3.1.1
* Scikit Learn (sklearn) 0.21.3## Reference
[1] Ha Son Vu et al. (2019). Anomaly Detection with Adversarial Dual Autoencoders. arXiv preprint arXiv:1902.06924.