kozistr / Awesome-GANs

Awesome Generative Adversarial Networks with tensorflow
MIT License
761 stars 163 forks source link

Figure out CGAN's condition label #20

Open daa233 opened 4 years ago

daa233 commented 4 years ago

Hi @kozistr, Thanks for your great work!

In your CGAN implementation, you feed G and D with the same real label from the dataset as the condition.However, I have a question about this since several other implementations feed G with a sampled label as the condition.

I have seen several CGAN implementations. There are two ways to use the condition labels:

  1. feed G with a random label, feed D with the real label
  2. feed both G and D with the same real label

Here are my questions:

The same issue has been asked here. I hope we can figure out it together.

kozistr commented 4 years ago

thank you for your interest!

1) As i know, specific implementation is not referred in the cGAN paper. But the Figure 1 at page 3, y vector is used as the same manner. so, i guess the author maybe used the same condition label for both of them.

2) actually, i think there's no need to be trained with the same condition label for both G and D. In the aspect of the implementing the code, using the same condition label is easier than the different condition label (cuz we need to generate another sample for D). and i also think using the same condition label can lead more stable training and is more make sense for the purpose of D (it is not sure 100%).

thank you in advance!