Giter VIP home page Giter VIP logo

tsgans_cps's Introduction

Time-Series Generative Adversarial Networks for Cyber-Physical Systems

1. About

Open-source Cyber-Physical Systems (CPS) dataset is rare, thus having a tool that can generate quality (temporal-preserved) synthetic dataset is needed. TimeGAN is a tool that can generate temporal-preserve dataset. This repository will apply TimeGAN towards two multivariate time-series cyber-physical systems, BATADAL and SWaT, using Tensorflow.

2. Explanation

TimeGAN contains four components: Embedding function, Recovery function, Generator and Discriminator. There are three training phases of TimeGAN

    1. An Autoencoder (contains of Embedding and Recovery functions) is trained with the real dataset to get a very good feature-map function that reconstruct high-dim > low-dim > high-dim data.
    1. A Supervisor model in latent-space is trained using supervised learning to learn the temporal dependency of the real data in low-level latent-space.
    1. TimeGAN is then jointly trained with all components train together with three losses:
    • Reconstruction Loss of Recovery function in high-dim.
    • Supervised Loss of the Supervisor model in latent-space.
    • Classification Loss of the Discriminator as both regression and binary.

alt-text

3. Reproduction

python 3.7.13
numpy = 1.21.6
tensorflow = 2.4.1
matplotlib
sklearn = 1.0.2
pip install datagene
pip install pystan
pip install pydot
conda install -c conda-forge google-colab
conda install -c anaconda portpicker
conda install -c anaconda jinja2
conda install -c anaconda requests
conda install -c conda-forge charset-normalizer
conda install zipp
conda install typing-extensions

Training Notebooks:

Evaluating Notebooks:

4. Results

alt-text alt-text alt-text

5. Report

Presentation

Report

6. References

Yoon, Jinsung, Daniel Jarrett, and Mihaela Van der Schaar. "Time-series generative adversarial networks." Advances in Neural Information Processing Systems 32 (2019).

Goh, Jonathan, et al. "A dataset to support research in the design of secure water treatment systems." International conference on critical information infrastructures security. Springer, Cham, 2016.

Taormina, Riccardo, et al. "Battle of the attack detection algorithms: Disclosing cyber attacks on water distribution networks." Journal of Water Resources Planning and Management 144.8 (2018): 04018048.

tsgans_cps's People

Contributors

mnguyen0226 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tsgans_cps's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.