2020. 10. 16. 17:54ㆍ카테고리 없음
Objective
InfoGAN, an information-theoretic extension to the Generative Adversarial Network that is able to learn disentangled representations in a completely unsupervised manner.
How?
- Information-theoretic regularization: 정보 이론을 GAN에 접목.
- noise z와 Code c로 생성 샘플을 생성할 때, Latent Code c~P(c)에 대해서 c와 생성 샘플 G(z,c) 사이에 mutual information이 최대화 되도록 유도하는 손실 함수를 추가하여 GAN을 학습.
- Variational Mutual Information Maximization: mutual information의 하한(lower bound)을 유도하여 효율적으로 계산.
Results
- MNIST 숫자 데이터에 학습하였을 때, Latent code는 필기체, 두께, 회전, 그리고 숫자 카테고리를 비지도학습 기반으로 구별한다.
왜 InfoGAN이 좋은가?
- 온전한 비지도 학습 기반 disentanglement
- 불연속/연속적인 latent factor를 disentangle
- 추가되는 학습 cost가 매우 적다.
Intuition
Problem of Original GAN
z는 random noise로 제한 조건이 없기 때문에 entangle될 수 밖에 없다.
P(x|c) = P(x) 로 생성할 수 있으므로 단순히 GAN에 latent code c를 추가해도 큰 의미를 갖지 못한다.
z의 각 차원 값이 의미론적 특징을 반영하지 못함
The GAN formulation uses a simple factored continuous input noise vector z, while imposing no restrictions on the manner in which the generator may use this noise. As a result, it is possible that the noise will be used by the generator in a highly entangled way, causing the individual dimensions of z to not correspond to semantic features of the data.
- 샘플 생성 시에 latent code c에 대한 정보를 잃지 않게 하자!
- latent code c와 생성 샘플 G(z,c) 간의 Mutual Information을 최대화
BackGround: Information Theory
- Mutual Information I(X;Y)
- I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = I(Y;X)
- The "amount of information" learned from knowledge of random variable Y about the other random variable X.
- The reduction of "uncertainty" in X when Y is observed.
- If X and Y are independent: I(X;Y) = 0
Network Architecture
- Auxiliary distribution Q
- Parameterized as a Neural Network
- Encoder Structure: 주어진 생성 샘플에 대한 latent code c' 을 예측하고 기존 latent code c 와 reconstruction loss를 계산.