Triangle-GAN
October 30, 2017 · View on GitHub
This is an implemtation for NIPS paper: Triangle Generative Adversarial Networks
1. Experiments Settings:
1. Running environment:
tensorflow 1.1.0, python 2.7;
2. Dataset Format
For domain transfer and classification task, CelebA and MSCOCO dataset need to be in HDF5 format;
For semi-supervised learning tasks, please see here
3. Resources
For domain transfer and classification task: If you want to re-run the CelebA experiment, the feature can be downloaded here: CelebA tag features
2. Basic Model:
Here's is our model:

The value function for TriGAN model:
The objective of -GAN is to match the three joint distributions: , and . If
this is achieved, we are ensured that we have learned a bidirectional mapping and
that guarantees the generated fake data pairs and are indistinguishable from the true data pairs .
In order to match the joint distributions, an adversarial game is played. Joint pairs
are drawn from three distributions: , or , and two discriminator networks are learned to discriminate among the three, while the two conditional generator networks are trained to fool the discriminators.
3. Compare with simplified Triple GAN:

figure (a): the joint distribution of real data.
figure (b): -GAN left: the joint distribution ; right: the joint distribution .
figure (c): Tirple GAN without regularization terms left: the joint distribution ; right: the joint distribution .
4. Results
1. conditional generated CIFAR images:

2. MSCOCO:
1. generated COCO

2. COCO to attributes to COCO

3. CelebA tasks:
1. faces to attributes to faces

2. face editting
