WHY?

기존의 GAN을 통하여 이미지를 생성할 때 이미지의 특성에 대한 조건을 부여할 수 없었다.

WHAT?

InfoGAN은 기존의 GAN에 간단한 regularizer term을 추가하여 의미가 담겨있는 latent variable을 unsupervised하게 disentangling하고 이를 통하여 우리가 원하는 이미지를 형성할 수 있게 한다. 기존 GAN의 generater가 노이즈 z로부터 이미지를 생성한다면(G(z)), InfoGAN에서는 노이즈 z와 latent variable c를 구분한다(G(z,c)). 그리고 c에 원하는 의미를 학습시키기 위하여 c의 prior와 c를 포함한 제너레이터의 결과 간의 mutual information을 높이는 regularization term을 추가한다. 그리하여 목적식은
가 된다. 여기서 P(c|x)를 모르기 때문에 mutual information을 정확하게 구할 수가 없어서 ELBO값()을 최대화하게 된다. 그리하여 마지막 목적식은
가 된다.

So?

이렇게 학습한 결과 c를 통하여 label값 뿐만이 아니라 회전, 넓이와 같은 의미들도 학습할 수 있게 되었다.