NIPS2019 TGAN Supplementary PDF
NIPS2019 TGAN Supplementary PDF
NIPS2019 TGAN Supplementary PDF
TimeGAN integrates ideas from autoregressive models for sequence prediction [1, 2, 3], GAN-based
methods for sequence generation [4, 5, 6], and time-series representation learning [7, 8, 9]—the
relation and details for which are discussed in the main manuscript. In this section, we additionally
discuss methods related on the periphery, including RNN-based sequence models using variational
autoencoders, as well as GAN-based approaches for semi-supervised learning.
RNN-based models have been combined with variational autoencoders to generate sequences. In [10],
this was done by learning to map entire sequences to single latent vectors, with the goal of capturing
high-level properties of sequences and interpolating in latent space. This idea was extended to the
general time-series setting [11], with the additional proposal that the trained weights and network
states can be used to initialize standard RNN models. However, in both cases sampling from the
prior over these representations involved but a simple deterministic decoder, so the only source of
variability is found in the conditional output probability model. On the other hand, [12] proposed
augmenting the representational power of the standard RNN model with stochastic latent variables at
each time step. Recognizing that model variability should induce dependencies across time steps,
[13] further extended this approach to accommodate temporal dependencies between latent random
variables, and [14] explicitly layer a state space model on top of the RNN structure. In parallel,
this technique has since been applied to temporal convolutional models of sequences as well, with
stochastic latent variables injected into the WaveNet structure [15]. However, the focus of these
methods is specifically on encoding sufficient input variability to model highly structured data (such
as speech and handwriting). In particular, they do not ensure that new sequences unconditionally
sampled from the model match the underlying distribution of the training data. By contrast, TimeGAN
focuses on learning the entire (joint) distribution such that sampled data match the original, while
simultaneously ensuring that the model respects the (conditional) dynamics of the original data.
It is also worth mentioning that our method bears superficial resemblance to GAN-based approaches
for semi-supervised learning. With methods such as [18, 19, 20], the task of interest is one of
supervised classification, with an auxiliary unsupervised loss for generating additional unlabeled
examples for training. Conversely, the focus of TimeGAN is on the unsupervised task of generative
modeling, with an auxiliary supervised loss to provide additional control over the network’s dynamics.
33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada.
Table 1: Summary of Related Work. (Open-loop: Previous outputs are used as conditioning informa-
tion for generation at each step; Mixed-variables: Accommodates static & temporal variables).
C-RNN-GAN RCGAN T-Forcing P-Forcing TimeGAN
[4] [5] [16, 17] [2] (Ours)
Stochastic X X X
Open-loop X X X X
Adversarial loss X X X X
Supervised loss X X X
Discrete features X X
Embedding space X
Mixed-variables X
Additional Illustrations
Figure 1(b) in the main manuscript details the training scheme for TimeGAN. For side-by-side
comparison, Figure 1(a) below additionally illustrates the training scheme for existing methods
C-RNN-GAN and RCGAN, which employ the standard GAN setup during training. Furthermore,
Figure 1(b) also compares the flow of data during sampling time for TimeGAN and these existing
methods.
s̃, x̃1:T
<latexit sha1_base64="(null)">(null)</latexit>
ỹS , ỹ1:T
<latexit sha1_base64="(null)">(null)</latexit>
ỹS , ỹ1:T
<latexit sha1_base64="(null)">(null)</latexit>
ŝ, x̂1:T
<latexit sha1_base64="(null)">(null)</latexit>
d
<latexit sha1_base64="(null)">(null)</latexit>
<latexit
d
<latexit sha1_base64="(null)">(null)</latexit>
<latexit
r
<latexit sha1_base64="(null)">(null)</latexit>
<latexit
hS , h1:T
<latexit sha1_base64="(null)">(null)</latexit>
ĥS , ĥ1:T
<latexit sha1_base64="(null)">(null)</latexit>
s, x1:T
<latexit sha1_base64="(null)">(null)</latexit>
ŝ, x̂1:T
<latexit sha1_base64="(null)">(null)</latexit>
ĥS , ĥ1:T
<latexit sha1_base64="(null)">(null)</latexit>
ŝ, x̂1:T
<latexit sha1_base64="(null)">(null)</latexit>
e
<latexit sha1_base64="(null)">(null)</latexit>
<latexit
s, x1:T
<latexit sha1_base64="(null)">(null)</latexit>
zS , z1:T
<latexit sha1_base64="(null)">(null)</latexit>
zS , z1:T
<latexit sha1_base64="(null)">(null)</latexit>
zS , z1:T
<latexit sha1_base64="(null)">(null)</latexit>
zS , z1:T
<latexit sha1_base64="(null)">(null)</latexit>
Figure 1: Block diagram of our proposed method (TimeGAN), shown here in comparison with
existing methods (C-RNN-GAN and RCGAN) during (a) training time, as well as (b) sampling
time. Solid lines indicate forward propagation of data, and dashed lines indicate backpropagation of
gradients.
2
• T-Forcing [16]: https://github.com/snowkylin/rnn-handwriting-generation
• P-Forcing [2]: https://github.com/anirudh9119/LM_GANS
• WaveNet [21]: https://github.com/ibab/tensorflow-wavenet
• WaveGAN [22]: https://github.com/chrisdonahue/wavegan
For fair comparison, we use the same underlying recurrent neural network architecture (3-layer GRUs
with hidden dimensions 4 times the size of input features) for C-RNN-GAN, RCGAN, T-Forcing,
and P-Forcing as is used in TimeGAN. In the case of deterministic models (such as T-Forcing and
P-Forcing), we first train an original GAN model to generate feature vectors as inputs for the initial
time step, which follows the original feature distribution at the initial time step. Then, using the
generated feature vector as input, we initialize the model to generate the sequence in open-loop mode.
Finally, the post-hoc time-series classification and sequence-prediction models are implemented as
2-layer LSTMs with hidden dimensions 4 times the size of the input features. As before, we use tanh
as the activation function and sigmoid as the output layer activation function such that outputs are
within the [0, 1] range.
The Google Stocks dataset is available online, and can be downloaded from: LINK. The UCI
Appliances Energy Prediction dataset is also available online, and can be downloaded from: LINK.
3
Algorithm Pseudocode
4
Additional Visualizations with t-SNE and PCA
Figure 2: t-SNE (1st column) and PCA (2nd column) visualizations on Sines, and t-SNE (3rd column)
and PCA (4th column) visualizations on Stocks. Each row provides the visualization for each of the 7
benchmarks, ordered as follows: (1) TimeGAN, (2) RCGAN, (3) C-RNN-GAN, (4) T-Forcing, (5)
P-Forcing, (6) WaveNet, and (7) WaveGAN. Red denotes original data, and blue denotes synthetic.
5
References
[1] Samy Bengio, Oriol Vinyals, Navdeep Jaitly, and Noam Shazeer. Scheduled sampling for
sequence prediction with recurrent neural networks. In Advances in Neural Information
Processing Systems, pages 1171–1179, 2015.
[2] Alex M Lamb, Anirudh Goyal Alias Parth Goyal, Ying Zhang, Saizheng Zhang, Aaron C
Courville, and Yoshua Bengio. Professor forcing: A new algorithm for training recurrent
networks. In Advances In Neural Information Processing Systems, pages 4601–4609, 2016.
[3] Vijay R Konda and John N Tsitsiklis. Actor-critic algorithms. In Advances in neural information
processing systems, pages 1008–1014, 2000.
[4] Olof Mogren. C-rnn-gan: Continuous recurrent neural networks with adversarial training. arXiv
preprint arXiv:1611.09904, 2016.
[5] Cristóbal Esteban, Stephanie L Hyland, and Gunnar Rätsch. Real-valued (medical) time series
generation with recurrent conditional gans. arXiv preprint arXiv:1706.02633, 2017.
[6] Giorgia Ramponi, Pavlos Protopapas, Marco Brambilla, and Ryan Janssen. T-cgan: Conditional
generative adversarial network for data augmentation in noisy time series with irregular sampling.
arXiv preprint arXiv:1811.08295, 2018.
[7] Anders Boesen Lindbo Larsen, Søren Kaae Sønderby, Hugo Larochelle, and Ole Winther.
Autoencoding beyond pixels using a learned similarity metric. arXiv preprint arXiv:1512.09300,
2015.
[8] Vincent Dumoulin, Ishmael Belghazi, Ben Poole, Olivier Mastropietro, Alex Lamb, Martin Ar-
jovsky, and Aaron Courville. Adversarially learned inference. arXiv preprint arXiv:1606.00704,
2016.
[9] Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, and Brendan Frey. Adver-
sarial autoencoders. arXiv preprint arXiv:1511.05644, 2015.
[10] Samuel R Bowman, Luke Vilnis, Oriol Vinyals, Andrew M Dai, Rafal Jozefowicz, and Samy
Bengio. Generating sentences from a continuous space. arXiv preprint arXiv:1511.06349,
2015.
[11] Otto Fabius and Joost R van Amersfoort. Variational recurrent auto-encoders. arXiv preprint
arXiv:1412.6581, 2014.
[12] Justin Bayer and Christian Osendorfer. Learning stochastic recurrent networks. arXiv preprint
arXiv:1411.7610, 2014.
[13] Junyoung Chung, Kyle Kastner, Laurent Dinh, Kratarth Goel, Aaron C Courville, and Yoshua
Bengio. A recurrent latent variable model for sequential data. In Advances in neural information
processing systems, pages 2980–2988, 2015.
[14] Marco Fraccaro, Søren Kaae Sønderby, Ulrich Paquet, and Ole Winther. Sequential neural
models with stochastic layers. In Advances in neural information processing systems, pages
2199–2207, 2016.
[15] Guokun Lai, Bohan Li, Guoqing Zheng, and Yiming Yang. Stochastic wavenet: A generative
latent variable model for sequential data. arXiv preprint arXiv:1806.06116, 2018.
[16] Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint
arXiv:1308.0850, 2013.
[17] Ilya Sutskever, James Martens, and Geoffrey E Hinton. Generating text with recurrent neural
networks. In Proceedings of the 28th International Conference on Machine Learning (ICML-11),
pages 1017–1024, 2011.
[18] Durk P Kingma, Shakir Mohamed, Danilo Jimenez Rezende, and Max Welling. Semi-supervised
learning with deep generative models. In Advances in neural information processing systems,
pages 3581–3589, 2014.
6
[19] Abhishek Kumar, Prasanna Sattigeri, and Tom Fletcher. Semi-supervised learning with gans:
Manifold invariance with improved inference. In Advances in Neural Information Processing
Systems, pages 5534–5544, 2017.
[20] Takumi Kobayashi. Gan-based semi-supervised learning on fewer labeled samples.
[21] Aäron Van Den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex
Graves, Nal Kalchbrenner, Andrew W Senior, and Koray Kavukcuoglu. Wavenet: A generative
model for raw audio. SSW, 125, 2016.
[22] Chris Donahue, Julian McAuley, and Miller Puckette. Adversarial audio synthesis. arXiv
preprint arXiv:1802.04208, 2018.