본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2025-1] 김유현 - Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

by ideakyh1206 2025. 1. 24.

https://arxiv.org/abs/1606.03657

 

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

This paper describes InfoGAN, an information-theoretic extension to the Generative Adversarial Network that is able to learn disentangled representations in a completely unsupervised manner. InfoGAN is a generative adversarial network that also maximizes t

arxiv.org

 

0. Abstract

= GAN + Information Theoretic

 

InfoGAN은 기본적인 GAN 구조에 정보이론 개념을 접목하여 비지도학습으로 disentangled representations(잠재 공간에서의 벡터 이동의 의미 파악)를 학습하는 모델이다. 이 과정에서 latent variables와 생성한 이미지 사이의 mutual information(상호 정보량)을 최대화한다. 직접적인 상호정보량을 계산할 수 없기 때문에 Variational Information Maximization 기법을 사용하여 lower bound(하한선)를 정의하고 이를 최대화한다.  

논문에서는 MNIST 데이터셋에서는 숫자 클래스뿐 아니라 필기체 스타일, 두께, 회전 등 disentangle하며, SVHN 데이터 셋에서는 3D 렌더링된 이미지의 포즈, 조명, 배경 숫자와 중심 숫자를 disentangle한다. CelebA 데이터 셋에서는 헤어 스타일, 안경의 유무, 감정 등의 시각적 개념을 학습한다. 

InfoGAN은 기존 지도 학습 방식과 대비해 특정 데이터셋에서 의미 있는 disentangled representation을 학습한 사례를 통해 경쟁력이 있음을 보여준다. 

 

더보기

※ Disentangle Representation

Entangle: 얽히다, 꼬여있다 

Disentangle: 풀다

기본적으로 원하는 특징을 가진 이미지를 생성하기는 어려운데 이는 이미지 내부의 특징들은 서로 연관이 있기 때문이다. 생성자가 원하는 특징 외에 나머지를 고정한 채 이미지를 생성하기 위해 공간을 disentangle(독립적으로) 하게 만드는 방법이다. 

 

1. Introduction

비지도 학습이란 많은 양의 라벨링 되지 않은 데이터에서 중요한 의미적 특징을 학습하여 표현하는 방법이다. 대표적으로 representation learning(표현 학습)이 있다. 이는 라벨링 되지 않은 데이터에서 중요한 의미적 특징을 학습하여 표현하는 방법이다. 

그러나 라벨링 되지 않은 데이터에서는 데이터 내 잠재적인 연관성을 바탕으로 의미있는 특징을 추출하는 것이 어렵다. 이를 해결하기 위해, 데이터의 중요한 특징을 명확히 표현하는 disentangled representation로 학습하는 접근법이 제안된다. 예를 들어, MNIST 숫자에 변환이 있다고 가정하면, 이러한 변환을 글씨 두께, 회전과 같은 속성을 각각의 차원으로 분리해 학습할 수 있다. 

InfoGAN은 GAN 구조를 개선하여 noise 변수(latent variables)와 관측 데이터 간의 mutual information을 최대화함으로써 해석 가능하고 의미 있는 표현을 학습할 수 있다. 이를 위해 Variational Lower Bound를 활용해 mutual information을 근사적으로 최적화한다. InfoGAN은 이러한 mutual information cost를 활용한 생성 모델이 disentagled representation 학습에서 유의미함을 입증한다. 

 

2. Related Work

Representation learning의 초기 연구에서는 Auto-encoder나 Boltzmann machine과 같은 모델이 Skip-Gram과 같은 구조의 기반으로 사용되었다. 이후 Ladder-model과 같이 계층적 구조를 통해 Bayesian 기반 추론을 통한 VAE, GAN 모델이 개발되었다. 

기존의 disentagled representation 연구는 라벨링 되어있는 데이터를 사용하여 학습이 진행되었으며, 일부 연구는 weakly-supervised 방식으로 발전했지만 데이터 군집화에 의존하여 일반화에 어려움이 있었다. 

hossRBM을 제외하면 InfoGAN이 supervision 없이도 disentangled representation을 학습할 수 있는 독창적인 접근 방식을 제시하며, 이는 라벨링 되지 않은 데이터에서도 의미 있는 표현 학습이 가능함을 보여준다. 

 

3. Background: Generative Adversarial Networks

기존 GAN 모델의 목적은 생성 데이터 분포 $Pg(x)$가 실제 데이터 분포인 $Pdata(x)$와 유사하게 학습하도록 하는 것이다. 

Generator와 Discriminator는 상호 경쟁하면서 학습된다. Generator는 noise vector $z$를 입력 값으로 받아 이미지를 생성하며, Discriminator는 Generator가 생성된 이미지를 입력 값으로 받아 실제 데이터인지 가짜 데이터인지 판별한다. 

<GAN - Cost Function>

 

4. Mutual Information for Including Latent Codes

기존 GAN은 latent vector로 단순 연속 분포를 사용하며, 생성자가 어떻게 $z$를 사용할 지에 대한 명시적인 제한은 없다. 이로 인해 latent vector의 분포가 매우 얽혀(entangle)있으며 고차원에서 각 dimension이 데이터의 semantic feature와 대응되지 않는다. 

논문에서는 이를 해결하기 위해 input noise vector를 두 부분으로 분해한다.  

  • $z$: 압축할 수 없는 noise
    • 생성된 데이터의 다양성 증가 역할을 수행
  • $c$: latent code
    • 데이터 분포에서 가장 의미 있는 특징 추출

 

생성 모델은 기존 $G(z)$에서 $G(z, c)$로 확장되며, latent code $c$가 생성 과정에 중요한 역할을 한다. 기존 GAN처럼 기기존 $P_G(x|c) = P_G(x)$의 방식으로 $c$가 무시되는 것을 막기 위해 논문에서는 information-theoretic(정보이론적) 규제를 추가하여 latent code $c$와 생성된 데이터 $G(z, c)$간의 상호정보량을 최대화한다.  

즉 $I(c; G(z, c))$값이 높아야한다. 

정보 이론에서 X와 Y 사이의 mutual information $I(X;Y)$는 X에서 Y로부터 설명될 수 있는 정보량(변수 X와 Y 사이의 종속성)을 측정한다. Y가 측정되었을 때, X에 대한 불확실성 감소량(증가하는 정보량)이다(얼마나 더 잘 예측할 수 있는가). 예를 들어 X와 Y가 독립인 경우 하나를 안다고 다른 하나를 알 수 없기 때문에 $I(X;Y) = 0$이 된다. 

<상호정보량 증명>

 

우리는 $P_G(x)$에서 뽑힌 $x$가 주어졌을 때, $P_G(c|x)$가 small entropy(= 정보의 불확실성이 적다)를 갖고자 한다. 논문에서는 새로운 information-regularized minimax game를 제안한다. $G$가 최소화 될 때 상호 정보량이 최대화된다. 

 

5. Variational Mutual Information Maximization

상호 정보량 $I(c; G(z, c))$를 직접 계산하는 것은 어렵기 때문에, 논문에서는 Variational Information Maximization  방법을 사용하여 $I(c; G(z, c))$의 lower bound를 정의한다. 이를 위해, Posterior $P(c|x)$를 근사하는 auxiliary distribution $Q(c|x)$를 도입한다. 위의 상호 정보량 식에 $X$에 $c$, $Y$에 $G(z, c)$를 대입하면 아래와 같은 식이 도출된다. 

 

$I(c;G(z, c)))$를 maximization하기 위해서 $P(c|x)$의 분포에서 뽑은 sample $c'$이 필요하다. 이는 데이터 $x$가 주어졌을 때, 해당 데이터에서 의미 있는 특징을 파악하기 위함이다. 이를 Auxiliary distribution(보조분포) Q를 사용해 $P(c|x)$를근사한다.

Gaussian distribution으로 $Q(c|x)$를 설정하고 $P(c|x)$의 분포와 $Q(c|x)$의 분포간 거리를 KL Divergence로 측정한다. KL Divergence $D_{KL}(P(|x)||Q(|x))$식은 0 이상으로 표현되어 있는데 이는 분포간 거리를 측정하는 값이므로 항상 0보다 크다. 

식 (4)는 auxiliary distribution Q가 true posterior distribution에 근접할수록 상호 정보량의 lower bound가 tight해짐을 보여준다. 그리고 discrete latent codes의 경우, $H(c)$와 lower bound 값이 같으면 variational lower bound가 최댓값에 도달하며, 이로 인해 maximal mutual information을 얻게 된다. 

그러나 여전히 $c'$를 $P(c|x)$ 분포에서 추출하고 있기 때문에 논문에서는 아래의 lemma를 통해 variational lower bound $L_I(G, Q)$를 새롭게 정의한다.  

 

5.1. Lemma

<증명>

2번째 줄에서 3번째 줄로 넘어갈 때 $x$ -> $x'$로 rename된 것은 확률변수를 변경한 것이 아니라, 단지 적분 과정에서 변수 표기를 변경한 것에 불과하기 때문에 식이 성립할 수 있다. 

 

Variational lower bound $L_I(G, Q)$는 Monte Carlo simulation을 통해 효율적으로 계산할 수 있다. 이 lower bound는 더 이상 $P(c|x)$와 관련이 없고 G와 Q를 사용해 직접 최대화할 수 있다. 이로 인해 $L_I(G, Q)$는 기존 GAN의 학습 절차에 변화 없이 GAN의 objective에 추가 가능하다. 이때 Q가 P에 가까워질수록, $L_I(G, Q)$가 $H(c)$를 최댓값으로 갖게 되고 maximal mutual information을 가질 수 있다. 

결론적으로, InfoGAN은 mutual information $I(c; G(z, c))$를 직접적으로 maximization하지 않고, variational lower bound $L_I(G, Q)$를 maximization함으로써 동일한 효과를 달성한다. 

 

따라서 InfoGAN은 위의 식과 같이 variational regularization of mutual information과 hyperparameter λ를 가진 새로운 minimax game으로 정의된다. 

6. Implementation

$Q$, $D$는 공통의 convolution layer를 공유한다. 

Categorical latent code의 경우 $Q(c_i|x)$를 표현하기 위해 softmax nonlinearity를 사용한다. Continuous latent code의 경우 실제 사후 확률 $P(c_j|x)$에 따라 다르지만, $Q(c_j|x)$는 평균과 분산을 학습해 factored Gaussian으로 근사된다.   

λ 값은 mutual information과 GAN의 generator 및 discriminator 간의 균형을 조절하며, discrete latent code에서는 λ = 1이 충분하지만, continuous latent code에서는 스케일 차이를 보완하기 위해 더 작은 λ 값을 선택해야 한다.

InfoGAN은 DCGAN에서 사용된 기존 기법들을 활용해 실험을 설계하였다. 

 

7. Experiments

7.1. Mutual Information Maximization

Latent code $c$와 생성된 이미지 간의 mutual information을 평가하기 위해 MNIST 데이터 셋을 사용했다. $c$ ~ $Cat(K=10, p=0.1)$의 분포로 설정한 뒤 lower bound를 각 반복마다 $H(c)$값을 기록한다. $H(c)$2.30로 빠르게 수렴한다. 기존 GAN에서는 잠재 벡터 코드를 활용하는 것을 보장하지 않는다는 것을 알 수 있다. 

 

7.2. Disentangled Representation

A. MNIST

 

MNIST의 digit shape와 styles을 분리하기 위해 discontinuous variation을 model하는 latent code $c1$, $c2$, $c3$를 추가한다. 하나의 categorical code $c1 ~ Cat(K=10, p=0.1)$와 두 continuous $c2$, $c3$변수는 $Uni f(-1, 1)$를 사용한다.

(a)

c1은 discrete latent code로 설정되며, 각 class가 균등한 확률로 샘플링됨을 보장한다. 이를 통해 supervision 없이도 MNIST 데이터의 10개 숫자 class를 명확히 구분할 수 있다.

(c) (d)

Continuous latent code ($c2$, $c3$)는 각각 숫자의 회전(rotation)과 너비(width)를 자연스럽게 조절하며, generator가 단순히 이 두 속성만 제어하는 것이 아니라, 다른 연관된 속성도 함께 조정해 자연스러운 결과 이미지를 생성한다.
또한, 논문에서는 학습되지 않은 분포 $Unif(-2, 2)$에서도 유의미한 변화를 보이므로, InfoGAN의 generalization 능력을 입증한다.

실험을 통해 InfoGAN은 Mutual Information Maximization과 Disentangled Representation을 모두 달성했다고 볼 수 있다. 

 

B.  3D image - Face & Chair

Face 데이터 셋에서 InfoGAN도 pose, elevation, lighting을 latent factor를 학습한다. InfoGAN은 labeling 없이도 pose와 elevation을 분리하여 학습하며, 얼굴 회전에 따른 음영 변화를 효과적으로 모델링한다. 

Chair 데이터 셋에서는 InfoGAN은 rotation과 width를 조절하며, 기존 데이터에 없는 각도나 너비에서도 자연스러운 변화를 생성한다. 특히, rotation 변화에 따라 동일한 의자의 모양을 유지하며, 너비 변화 시 다른 의자 유형으로의 전환도 가능하다.

 

C. SVHN & CelebA

SVHN 데이터에서 학습한 경우, 음영의 변화와 plate의 내용을 이해하고 Categorical code가 plate의 특정 정보(숫자 패턴)를 구분하는 데 효과적임을 알 수 있다. 

CelebA 데이터에서 InfoGAN은 포즈, 헤어스타일, 안경 유무 등 다양한 속성을 disentangled representation으로 분리 학습하며, 얼굴의 감정 표현 차이까지도 학습된다는 점에서 뛰어난 표현 학습 능력을 보여준다.

 

8. Conclusion

Representation learning 알고리즘으로 InfoGAN을 제시했다. 상호 정보량을 활용해 특정한 supervision 방법론 없이 완전한 비지도 학습 형태이다. 이는 다양한 데이터 셋에서 해석이 가능하고 분리 가능한 representation 학습이 가능하다. 

상호 정보량을 포함시키는 방법은 VAE의 latent space를 개선하거나 계층적 잠재 표현 학습을 통해 semi-supervised 학습 성능을 향상시키는 데 활용 가능하다.

InfoGAN은 기존 GAN과 유사한 연산 복잡도를 가지면서도 high-dimensional 데이터에서 더 해석 가능하고 disentangled representation 학습에 효과적이다.  

 

Reference


https://www.notion.so/amvision96/InfoGAN-Interpretable-Representation-Learning-by-Information-Maximizing-Generative-Adversarial-Nets-c472d333c23e46a5964f6b262a079775

 

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets | Notion

<Original Paper Link>

amvision96.notion.site

https://velog.io/@pabiya/InfoGAN-Interpretable-Representation-Learning-byInformation-Maximizing-Generative-Adversarial-Nets

 

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

오늘 리뷰할 논문은 InfoGAN 논문이다.InfoGAN은 비지도학습으로 disentangled representations을 학습하고 latent variables와 observation(=생성한 이미지) 사이의 mutual information을 최대화한다. 논문은

velog.io

https://enjoy0life.tistory.com/7

 

[InfoGAN] Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

오늘은 2016년에 NeurIPS에 발표된 InfoGAN이라는 논문을 리뷰해 보겠습니다.1. InfoGAN이란?InfoGAN이란 기존의 GAN 모델에서 정보이론(information-theoretic)의 개념을 추가하여 Disentangled representation을 학습할

enjoy0life.tistory.com

https://velog.io/@jus6886/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0-InfoGAN

 

[논문리뷰] InfoGAN

disentangle representation원하는 특징을 가진 랜덤한 이미지를 만드는 것은 쉽지않다.한 특징은 다른 특징과 연관이 있기 때문이다. 이것이 ‘entangle’, 얽히다. 꼬여있음을 의미한다. 내가 원하는 피

velog.io