项目作者: probinso

项目描述 :
Neural Network for Anomaly Detection
高级语言: TeX
项目地址: git://github.com/probinso/gumiho-network.git
创建时间: 2019-12-01T05:04:47Z
项目社区:https://github.com/probinso/gumiho-network

开源协议:

下载


KNOWN UNDERFLOW ERROR FROM GAUSSIAN MIXTURE MODEL

Gumiho-Network

This is a network for unsupervised anomaly detection inspired by the neyman pearson lemma.

This implements the network found here. The implementation is modular, setup to process batches, and adapatable to different encoding/decoding networks. The final network exists in gumiho_network.py

Notes

There are admittedly no comments in this project, but it survided 5 re-writes in persuit of clear implementation. I suggest readers to ramp up code by complexity of network. A basic understanding of Variational Auto Encoders is suggested to read and understand this code. Additionally, the research paper this work is based on is a good resource for understanding the final product.

It is easiest to ramp onto this technology by following these files by complexity as listed below

Files Description

  • ae.py is an autoencoder and data loading functions
  • vae.py is supporting abstractions to variational autoencoder
  • gumiho.py is a VAE network with support for multiple tails
  • gmm.py is the gaussian mixture model
  • gumiho_descriminator.py contains a descriminating generator and the complete network

All greek letters in the paper are used directly. I use the terms False Atypical Rate and True Atypical Rate instead of FPR and TPR

I also use the words typical and atypical instead of normal and anomaly. This is to avoid main collision with gaussian.

The Encoder and Decoder networks are described in ae.py. They are super simple neural networks.

Setup

  1. pip install virtualenv
  2. virtualenv venv
  3. source venv/bin/activate
  4. pip install -r requirements.txt
  5. deactivate

Run

any of the given python files can be run to test that individual component

  1. source venv/bin/activate
  2. python gumiho_descriminator.py