GithubHelp home page GithubHelp logo

adversarial-ae-lstm's Introduction

Adversarial PC-based autoencoder and adversarial LSTM

Using adversarial training to improve forecasts of data-driven surrogate models of CFD simulations

Data-driven approaches can be seen as attractive solutions to produce reduced-order models (ROMs) of Computational Fluid Dynamics (CFD) simulations. Moreover, forecasts produced by ROMs are obtained at a fraction of the cost of the original CFD model solution when used together with a ROM. Recurrent neural networks (RNN) have been used to model and predict temporal dependencies between inputs and outputs of ROMs. Non-intrusive ROMs and RNNs have been used together in previous studies where the surrogate forecast systems can easily reproduce a time-step in the future accurately. However, when the predicted output is used as an input for the prediction of the subsequent time sequence, the results can detach quickly from the underlying physical model solution when encountering out-of-distribution data.

Our framework relies on adversarial training to improve the longevity of the surrogate forecasts and it consists of two steps:

  1. Two-step dimension-reduction: Firstly, Principal Component Analysis (PCA) is used to reduce the dimensions of the system (extractFieldsAndPCA.py). Secondly, an adversarial AE is trained on the Principal Components of the model solution in order to create a latent space with a normal distribution (adversarial_PCAE.py).

  2. The latent space is then used to train an adversarial LSTM (adversarial_LSTM.py). Robustness which may be achieved by detecting and rejecting adversarial examples by using adversarial training, allowing us to reduce the divergence of the forecast prediction over time and better compression from full-space to latent space.

Statistics of the model can be plotted using () and ().

Prediction

Requirements

python 3

tensorflow 2.4.0

scikit-learn 0.23.2

Citing this work

If you use this code or these models in your work, please cite the accompanying paper:

@article{quilodran2021adversarial,
  title={Adversarial autoencoders and adversarial LSTM for improved forecasts of urban air pollution simulations,
  author={Quilodr{\'a}n-Casas, C{\'e}sar and Arcucci, Rossella and Laetitia Mottet and Guo, Yike and Pain, Christopher C},
  journal={https://arxiv.org/abs/2104.06297},
  year={2021}
}

adversarial-ae-lstm's People

Contributors

c-quilo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.