lukedeo/keras-acgan

When training Discriminator, should y labels from generator and true_data always be the same?

Opened this issue · 3 comments

Hi lukedeo!
After reviewing ur file 'Understanding AC-GANs in Keras', I find it's still not very clear that should y labels from generator and true_data always be the same during traning D?
Specifically, which following understanding is true:
true_sample = (x_true, y_true)
V = E[logD(x_true)] - E[log(1-D(G(z,y_true)))]
or
true_sample = (x_true, y_true)
y_false = random
V = E[logD(x_true)] - E[log(1-D(G(z,y_false)))]
Really Appreciate It !

Labels are shared by Gen and Dis, Gen will use both noise array Z and label to generate fake image, Dis will try to give the correct class label referred to the label you give and real-fake label it should be. Check ACGAN model may help you😁

yep, but should the shared labels u mentioned be the same or not. Cause, I think, if the shared label be the same, Dis will be working under the prior knowledge of the same label. So whats the difference to CGAN in this consequence. But, if the labels are not always the same, I guess that the Classifier(which could be separate form Dis ) makes sense now.

you almost said it in last sentence. The classifier in Dis will be fed with true dataset and real_label loss will be the difference between the truedata label and predict label. The Gen will be fed with the label we create and generates the fake dataset. In this time, classifier loss in Dis will be the label we create and predict label. In other words, the label information for Dis will only be send to the softmax layer to caculate loss