Variational Auto-Encoder (VAE) Outlier Detector
Anomaly or outlier detection has many applications, ranging from preventing credit card fraud to detecting computer network intrusions. The implemented VAE outlier detector aims to predict anomalies in tabular data. The VAE model can be trained in an unsupervised or semi-supervised way, which is helpful since labeled training data is often scarce. The outlier detector predicts whether the input features represent normal behaviour or not, dependent on a threshold level set by the user.
The architecture of the VAE is defined in
model.py and the model is trained by running the
train.py script. The
OutlierVAE class loads a pre-trained model and makes predictions on new data.
A detailed explanation of the implementation and usage of the Variational Auto-Encoder as an outlier detector can be found in the VAE documentation.
Running on Seldon
An end-to-end example running a VAE outlier detector on GCP or Minikube using Seldon to identify computer network intrusions is available here.
Docker images to use the generic VAE outlier detector as a model or transformer can be found on Docker Hub:
A model docker image specific for the demo is also available: