You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I read the paper of InfoGAN (https://arxiv.org/abs/1606.03657) and I found that it has the objective function for Discriminator (D), Generator (G), and mutual information network (Q) in equation (6).
So, in the implementation, D is to maximize the part which originally for GAN, G is to minimize its own part for GAN minus the mutual information times a tuning lambda, and Q is to maximize the mutual information as it uses a lower bound for mutual information.
However, in this InfoGAN official code, I actually found in InfoGAN/infogan/algos/infogan_trainer.py that:
So both the discriminator loss and the generator loss incorporate the mutual information lower bound. I found this is not consistent with the paper.
First, the discriminator loss does not have the mutual information lower bound in the formulation. Although the paper says it constructed Q network from the last hidden layer of D, training the D network should not incorporate the mutual information lower bound value.
Second, in equation (6) or any other GANs, G and D should always have opposite signs (+ or -) for the same term. But the paired code above used mutual information both to be the negative sign for D and G to minimize. This does not make sense and it means the equation (6) in paper is not correct and should be changed.
Could you help me with this?
The text was updated successfully, but these errors were encountered:
In my opinion, since MI lower bound estimator does not regularize the discriminator so there is no difference whether you add the MI estimator to discriminator loss. You could verify it by compute the gradient using tf.train.Optimizer.gradient and it should return None. (Though I haven't verified it myself)
Hi,
I read the paper of InfoGAN (https://arxiv.org/abs/1606.03657) and I found that it has the objective function for Discriminator (D), Generator (G), and mutual information network (Q) in equation (6).
So, in the implementation, D is to maximize the part which originally for GAN, G is to minimize its own part for GAN minus the mutual information times a tuning lambda, and Q is to maximize the mutual information as it uses a lower bound for mutual information.
However, in this InfoGAN official code, I actually found in
InfoGAN/infogan/algos/infogan_trainer.py
that:So both the discriminator loss and the generator loss incorporate the mutual information lower bound. I found this is not consistent with the paper.
First, the discriminator loss does not have the mutual information lower bound in the formulation. Although the paper says it constructed Q network from the last hidden layer of D, training the D network should not incorporate the mutual information lower bound value.
Second, in equation (6) or any other GANs, G and D should always have opposite signs (+ or -) for the same term. But the paired code above used mutual information both to be the negative sign for D and G to minimize. This does not make sense and it means the equation (6) in paper is not correct and should be changed.
Could you help me with this?
The text was updated successfully, but these errors were encountered: