- GAN has its latent space representation. One thing with this representation is that the representation is “entangled”.
- By “entangled”, we mean each dimension of latent space is not directly associated with some feature of generated output. Ratehr, certain combinatoric change of latent space is associated with some feature of generated output.
- We want to “disentangle” this. By “disentangling”, we mean each dimension of latent space is directly associated with some feature. For example, in figure 2, digit type is associated with c1 so that varying c1 changes digit type.
- How can we make it work?
- Mutual information measures dependency between two distributions.
- Two independent random variables would have 0 mutual information.
- InfoGAN solves information-regularized minimax problem as Figure 5.
- V(D, G) is usual minimax algorithm of GAN.
- Why solve such equation? The author’s explanation is:
In other words, the information in the latent code c should not be lost in the generation process.
- In other words, again, generator may be trained in a way that it does not use any of c’s information. Therefore, we force the generator to learn from c by adding the regularization term, λI(c; G(z, c)).
- However, the mutual information term is not easily computable. Therefore, it is approximated by another term — P(c|x) is approximated by Q(c|x).
- So, the final term becomes L_I(G, Q).
- So, how do we obtain Q(c|x)? We put a small FC at the end of discriminator network so the output matches the dimension of c. From this, we obtain Q(c|x).