DeepAlign: Alignment-based Process Anomaly Correction Using Recurrent Neural Networks
This repository holds an efficient implementation of the DeepAlign algorithm as proposed in the paper. The code in this repository can be used to reproduce the results given in the paper.
To illustrate the findings in our paper, this repository contains Jupyter notebooks.
- Paper Process from Sec. 4
- Describes the creation of the paper process used as the running example in the paper.
- Dataset Generation
- Downloads the pretrained models and datasets used in the evaluation. Also includes the dataset generation script.
- 2.A1 Generation Algorithm explains how the generation algorithm works.
- Training the Models
- Demonstartes how to train your own models.
- This notebook contains all the examples from the Evaluation section of the paper and outlines how to reproduce them.
- Caching the Alignments
- This is a helper script to speed up the evaluation.
- Evaluation Script
- This is the evaluation script used in the paper.
- This notebook contains all tables used in the paper. It also contains some figures that didn't make it into the paper.
The easiest way to setup an environment is to use Miniconda.
- Install Miniconda (make sure to use a Python 3 version)
- After setting up miniconda you can make use of the
condacommand in your command line (Powershell, CMD, Bash)
- We suggest that you set up a dedicated environment for this project by running
conda env create -f environment.yml
- This will setup a virtual conda environment with all necessary dependencies.
- If your device does have a GPU replace
- Depending on your operating system you can activate the virtual environment with
conda activate bineton Linux and macOS, and
activate deepalignon Windows (
- If you want to make use of a GPU, you must install the CUDA Toolkit. To install the CUDA Toolkit on your computer refer to the TensorFlow installation guide.
- If you want to quickly install the
pip install -e .inside the root directory.
- Now you can start the notebook server by
jupyter notebook notebooks.
Note: To use the graph plotting methods, you will have to install Graphviz.
notebooks directory for example Jupyter Notebooks.