PyTorch implementation of world model.
VAE - encodes the input data (images) into a latent distribution that captures the features of the data (tracks, car, etc. in this case).
MDN-RNN - LSTM with a Mixture Density Network head that predicts the next latent state given the current state and action.
Controller - A single linear layer mapping (z_t, h_t) to 3 continuous actions: steering (tanh), gas (sigmoid), brake (sigmoid).
world-model/
modules/ # Model definitions (VAE, MDN-RNN, Controller)
dataset/ # Data collection and dataset classes
train/ # Training scripts
@article{https://doi.org/10.5281/zenodo.1207631,
doi = {10.5281/ZENODO.1207631},
url = {https://zenodo.org/record/1207631},
author = {Ha, David and Schmidhuber, Jürgen},
title = {World Models},
publisher = {Zenodo},
year = {2018},
copyright = {Creative Commons Attribution 4.0}
}