All Projects → simonkamronn → Kvae

simonkamronn / Kvae

Licence: mit
Kalman Variational Auto-Encoder

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kvae

Tensorflow Mnist Cvae
Tensorflow implementation of conditional variational auto-encoder for MNIST
Stars: ✭ 139 (+20.87%)
Mutual labels:  variational-autoencoder, variational-inference
normalizing-flows
PyTorch implementation of normalizing flow models
Stars: ✭ 271 (+135.65%)
Mutual labels:  variational-inference, variational-autoencoder
Normalizing Flows
Understanding normalizing flows
Stars: ✭ 126 (+9.57%)
Mutual labels:  variational-autoencoder, variational-inference
haskell-vae
Learning about Haskell with Variational Autoencoders
Stars: ✭ 18 (-84.35%)
Mutual labels:  variational-inference, variational-autoencoder
lagvae
Lagrangian VAE
Stars: ✭ 27 (-76.52%)
Mutual labels:  variational-inference, variational-autoencoder
Awesome Vaes
A curated list of awesome work on VAEs, disentanglement, representation learning, and generative models.
Stars: ✭ 418 (+263.48%)
Mutual labels:  variational-autoencoder, variational-inference
SIVI
Using neural network to build expressive hierarchical distribution; A variational method to accurately estimate posterior uncertainty; A fast and general method for Bayesian inference. (ICML 2018)
Stars: ✭ 49 (-57.39%)
Mutual labels:  variational-inference, variational-autoencoder
gradient-boosted-normalizing-flows
We got a stew going!
Stars: ✭ 20 (-82.61%)
Mutual labels:  variational-inference, variational-autoencoder
CIKM18-LCVA
Code for CIKM'18 paper, Linked Causal Variational Autoencoder for Inferring Paired Spillover Effects.
Stars: ✭ 13 (-88.7%)
Mutual labels:  variational-inference, variational-autoencoder
Generative models tutorial with demo
Generative Models Tutorial with Demo: Bayesian Classifier Sampling, Variational Auto Encoder (VAE), Generative Adversial Networks (GANs), Popular GANs Architectures, Auto-Regressive Models, Important Generative Model Papers, Courses, etc..
Stars: ✭ 276 (+140%)
Mutual labels:  variational-autoencoder, variational-inference
Variational Autoencoder
Variational autoencoder implemented in tensorflow and pytorch (including inverse autoregressive flow)
Stars: ✭ 807 (+601.74%)
Mutual labels:  variational-autoencoder, variational-inference
Brain Inspired Replay
A brain-inspired version of generative replay for continual learning with deep neural networks (e.g., class-incremental learning on CIFAR-100; PyTorch code).
Stars: ✭ 99 (-13.91%)
Mutual labels:  variational-autoencoder
Codeslam
Implementation of CodeSLAM — Learning a Compact, Optimisable Representation for Dense Visual SLAM paper (https://arxiv.org/pdf/1804.00874.pdf)
Stars: ✭ 64 (-44.35%)
Mutual labels:  variational-autoencoder
Repo 2017
Python codes in Machine Learning, NLP, Deep Learning and Reinforcement Learning with Keras and Theano
Stars: ✭ 1,123 (+876.52%)
Mutual labels:  variational-autoencoder
Vae protein function
Protein function prediction using a variational autoencoder
Stars: ✭ 57 (-50.43%)
Mutual labels:  variational-autoencoder
Multitarget Tracker
Multiple Object Tracker, Based on Hungarian algorithm + Kalman filter.
Stars: ✭ 1,621 (+1309.57%)
Mutual labels:  kalman-filter
Python World
Stars: ✭ 98 (-14.78%)
Mutual labels:  variational-autoencoder
Li emnlp 2017
Deep Recurrent Generative Decoder for Abstractive Text Summarization in DyNet
Stars: ✭ 56 (-51.3%)
Mutual labels:  variational-autoencoder
Tsanalysis.jl
This package includes basic tools for time series analysis, compatible with incomplete data.
Stars: ✭ 56 (-51.3%)
Mutual labels:  kalman-filter
Variationaldeepsemantichashing
The original implementation of the models and experiments of Variational Deep Semantic Hashing paper (SIGIR 2017)
Stars: ✭ 50 (-56.52%)
Mutual labels:  variational-autoencoder

Kalman Variational Auto-Encoder

This repository contains the code for the model introduced in the paper

A Disentangled Recognition and Nonlinear Dynamics Model for Unsupervised Learning.
Marco Fraccaro*, Simon Kamronn*, Ulrich Paquet, Ole Winther
NIPS 2017, arXiv:1710.05741
* Equal contribution.

The Kalman variational auto-encoder is a framework for unsupervised learning of sequential data that disentangles two latent representations: an object’s representation, coming from a recognition model, and a latent state describing its dynamics. The recognition model is represented by a convolutional variational auto-encoder and the latent dynamics model as a linear Gaussian state space model (LGSSM).

Main Results

As shown in the paper, the KVAE can be trained end-to-end, and is able learn a recognition and dynamics model from the videos. The model can be used to generate new sequences, as well as to do missing data imputation without the need to generate high-dimensional frames at each time step.

Videos

Videos of simulations are available for many of the experiments here: link.

Installation instructions

The Kalman Variational Auto-Encoder (KVAE) package can be installed running

# Install requirements
pip install tensorflow-gpu numpy pandas matplotlib seaborn

# Clone the kvae repository and install it
git clone https://github.com/simonkamronn/kvae
cd kvae
pip install -e .

Dependencies

  • Python >= 2.7 or 3.5
  • Tensorflow >= 1.1

Data

The data used in the experiments is available for download here: link. Once downloaded, it needs to be placed in the data folder in the root directory. In Linux you can download the data by running from the root directory:

wget https://archive.compute.dtu.dk/archives/public/users/marco/kvae/data.zip
unzip data.zip

Alternatively, you can also find the data here: link The scripts we used to generate the video sequences can be found in kvae/datasets, and depend on pygame and the pymunk physics engine (and their dependencies).

Usage Example

In the examples folder execute the command

python run_kvae.py  --gpu=0

to train a model using the default bouncing ball dataset and parameters. To train a model with different parameters run

python run_kvae.py  --help

to view the configuration options or look in kvae/utils/config.py. Further details on the experimental setup can be found in the paper and in the supplementary material. Plots and videos generated during training can be found in examples/logs.

Citing

@article{Fraccaro2017,
    Author = {Marco Fraccaro, Simon Kamronn, Ulrich Paquet, Ole Winther},
    Title = {A Disentangled Recognition and Nonlinear Dynamics Model for Unsupervised Learning},
    Journal = {Advances in Neural Information Processing Systems 30, NIPS},
    Year = {2017}
}

License

  • Free software: MIT license
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].