TimeGAN Architecture and Training with Tensorflow, learning the data generation process across features and time, combining adversarial and supervised training with time-series embedding, the four components of the TimeGAN architecture, joint training of autoencoder and adversarial network, training in three phases