[논문 리뷰] Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets(InfoGANs)
Simple GANs의 한계
기존의 GAN(Generative Adversarial Network)은 몇 가지 문제점을 가지고 있습니다. 그 중 하나는 노이즈의 분포가 무질서하게 배치되어 있어, 모델이 유의미한 정보를 파악하고 학습하는 데 어려움을 겪는다는 점입니다. 이러한 노이즈의 분포를 질서 있게 배치하기 위해서는 데이터에 레이블 정보를 추가한 지도 학습이 필요합니다.
하지만 일반적으로 지도 학습은 비지도 학습보다 비용이 많이 듭니다. 본 논문에서는 정보 이론의 개념인 엔트로피와 상호 정보량을 활용하여 비지도 학습만으로도 노이즈의 분포를 질서 있게 바꾸고자 합니다.
Details of Unsupervised Learning
Add Noize c
비지도 학습을 위해 본 논문에서는 latent variable인 새로운 노이즈 를 추가하는 방법을 사용합니다. 하지만, 단순히 새로운 노이즈를 추가하는 것은 노이즈의 차원을 늘려주는 것 이상의 효과가 없습니다. 이 문제를 해결하기 위해 Loss function에 특정 항을 추가합니다.
Mutual Information
그 특정한 항을 이해하기 위해 먼저 상호 정보량(Mutual Information)에 대해 알아야 합니다. 이는 를 알 때, 의 불확실성이 얼마나 감소하는지를 나타내며, 식으로는 I(X;Y)라고 표현합니다. 만약 X와 Y가 독립이라면 는 0이 됩니다.
Loss Function
InfoGANs의 Loss function은 아래와 같이 정의됩니다:
이 식은 일반적인 GAN에 λI(c;G(z,c))이라는 regularization term을 더해준 것인데, G의 관점에서 V(D, G) 최소화해야하므로I(c;G(z,c))를 최대화해야 합니다. 이는 곧 latent variable c와 G(z, c)의 Mutual Information을 알아야함을 의미합니다.
G(z, c)를 알기 위해선 P(c|x)를 알아야 하므로 본 논문에서는 어떠한 분포 Q(c|x)를 사용해 LI(G, Q)를 I(c;G(z,c))의 lower bound가 되게 하여 I(c;G(z,c))를 직접 구하지 않고 lower bound를 최대화하여 I(c;G(z,c))를 최대화하는 것입니다 이를 통해 손실 함수를 다음과 같이 재정의합니다:
Experiments
구현 과정에서는 앞서 설명한 를 활용하였습니다. 네트워크 구조는 DCGAN의 구조를 그대로 사용하여 구현하였고, MNIST 데이터셋을 활용하여 학습시켰습니다. Latent variable cc를 c1, c2, c3로 설정하여 생성한 이미지는 아래와 같습니다:
- c1: 0~9를 뽑을 확률이 0.1인 이산 확률 분포
- c2, c3: -1 ~ 1 사이의 균등 분포
이 결과, c1c_1에 따라 숫자가 바뀌고, c2c_2와 c3c_3에 따라 각도와 넓이가 달라지는 것을 확인할 수 있었습니다.
추가로, 다양한 데이터셋에 대한 실험 결과는 다음과 같습니다:
- 3D 얼굴 데이터: 얼굴의 회전에 따른 음영을 잘 표현함.
- 의자 사진 데이터: 한 가지 의자의 모양을 잘 유지하며 회전시킴.
- SVHN 데이터: 음영의 변화와 각 판의 내용을 잘 학습함.
- CelebA 데이터: 얼굴 포즈 뿐만 아니라 안경, 헤어스타일, 감정의 차이도 학습됨.
Conclusion
InfoGANs은 정보 이론적 접근을 통해 비지도 학습에서 의미 있는 잠재 변수를 발견하고, 이를 활용해 구조화된 데이터 표현을 학습하는 새로운 방법을 제시했습니다. 이 접근 방식은 GAN의 기능을 확장하여, 생성된 이미지의 특정 특성을 조작할 수 있는 능력을 제공하며, 딥러닝 모델의 해석 가능성과 유연성을 크게 향상시킵니다. 개인적으로 생각하는 InfoGANs의 가장 큰 강점은 비지도 학습을 통해 데이터의 다양한 특성을 효과적으로 학습할 수 있다는 점입니다.