infogan: interpretable representation learning by information maximizing generative adversarial nets

27
InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets Xi Chen 1,2 , Yan Duan 1,2 , Rein Houthooft 1,2 , John Schulman 1,2 , Ilya Sutskever 2 , Pieter Abbeel 1,2 1 UC Berkeley, Department of Electrical Engineering and Computer Science 2 OpenAI 설설설설 : Takato Horii 설설 : 설설설

Upload: -

Post on 21-Feb-2017

361 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

InfoGAN: Interpretable Representation Learn-ing by

Information Maximizing Generative Adversar-ial NetsXi Chen1,2, Yan Duan1,2, Rein Houthooft1 , 2 , John Schulman1,2,

Ilya Sutskever2, Pieter Abbeel1,2

1 UC Berkeley, Department o f Electrical Engineering and Computer Sci-ence

2 OpenAI

설명자료 : Takato Horii번역 : 김홍배

Page 2: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Motivation

특징이 서로 얽혀 있어 해석이 불가능한 Physical space 에서 해석이 용이하도록 서로 독립적인 Eigen space 로 변환하는 것 처럼

Page 3: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 4: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 5: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

논문개요

• 목적– 데이터 생성의 모델로서 우수한 GAN 으로 정보를 표현하는 " 알기쉬운 "

특징량을 " 간단하게 " 얻는다 .

• Key idea

– GAN 의 생성 벡터에 특징을 표현하는 Latent code 를 삽입한다 .– Latent code 와 생성분포간 상호 정보량 최대화를 학습의 목적함수로 추가 • 결과 – 복수의 이미지 데이터 세트에 대하여 해석이 가능한 결과를 얻었다

Page 6: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 7: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

GAN 이란 ?

• GAN: Generative Adversarial Networks [Goodfel-

low+, 2014]

– Generator (G) 와 Discriminator (D) 를 서로 경쟁시켜서 생성 정확도의 향상을 도모하는 모델

Generator(G)

Discriminator(D)

Data

True dataor

Generated data

Page 8: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

GAN 이란

데이터셋의 데이터를 「진짜」로 식별 생성된 데이터를「위조」로 식별

• GAN: Generative Adversarial Networks [Goodfel-

low+, 2014]

• Generator (G) 와 Discriminator (D) 를 서로 경쟁시켜서 생성 정확도의 향상을 도모하는 모델

• G : 생성용 벡터 z 로부터 데이터를 생성• D : 대상 데이터가 진짜 ( 데이터 세트 ) 인가 가짜 (G 에 의해 생성 ) 를 식별

목적함수

Page 9: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

• Deep Convolutional GAN (DC-GAN)

– G 와 D 에 CNN 을 이용• 활성화 함수가 특수하긴 하지만 같은 아이디어

– Z 벡터 연산에 의한 새로운 이미지 생성

GAN 에 의한 데이터 생성[Randford+, 2015]

Z 의 공간중에서 다양한 특징량이 얻어진다 !

Page 10: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

• Chainer-DC-GAN

GAN 에 의한 데이터 생성http://mattya.github.io/chainer-DCGAN/

長髪ベクトル増 長髪ベクトル 減

Page 11: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

• GAN, DCGAN (Chainer-DC-GAN)

– 무대뽀로 찾는다 ! • 원하는 특징과 대항하는 특징을 포함하는 데이터를 생성하는 z 를 찾는다 .

특징량은 어떻게 얻어질까 ?

𝒛• Semi-supervised Learning with Deep Genera-

tive Models[Kingma+, 2014]– 소수의 라벨링된 데이터를 사용• 라벨 데이터를 z 의 일부로 학습

얼굴의 방향을 바꾸는 특징벡터

Page 12: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

• GAN 으로 특징량 얻기 – 생성 벡터 z 의 공간 중에 생성 이미지의 특징이 표현된다 .

• z 의 각 차원의 특징은 해석하기 어렵다 .• 해석 가능한 표현은 생성 이미지를 확인해서 찾을 수 밖에 없다 • 지도학습으로는 일부의 특징밖에 학습시킬 수 없다

문제점 정리

?

스타일

카테고리

비지도학습으로 해석가능한 특징량을 " 간단 " 하게 얻고싶다 !!

?

Page 13: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 14: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

제안모델

• Information Maximizing GAN (InfoGAN)– 목적 :• 생성시에 이용 가치가 높은 특징량을 비지도학습으로 획득• 기존의 GAN 계 모델에 비하여 간단하게 특징량을 획득

– 아이디어 :• 생성용 벡터 를 Source z 과 Latent code c 로 분할• Latent code c 와 생성기 분포 G(z,c) 의 상호정보량 𝐼 (𝒄; 𝐺 ( 𝒛, 𝒄 ) ) 을 극대화

덧붙여서 InfoGAN 는 OpenAI 가 소스를 공개하고 있습니다https://github.com/openai/InfoGAN

Page 15: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

• 생성분포 : G(𝒛, 𝒄) = 𝑃𝐺 (𝒙|𝒄)

InfoGAN 의 아이디어 I

��

𝒛 ~ 𝑃𝑛 𝑜 𝑖𝑠𝑒 (𝒛)𝒛𝒛 ~ 𝑃𝑛 𝑜 𝑖 𝑠 𝑒 (𝒛)𝒛

𝒄 ~ 𝑃(𝒄)𝒄

𝒙 ~ 𝐺 𝒛𝐺 𝒛= 𝑃𝐺 (𝒙)𝒙

𝒙 ~ 𝐺( 𝒛, 𝒄)𝐺( 𝒛, 𝒄) = 𝑃𝐺 (𝒙|𝒄)

GAN Info-GAN

GAN 의 학습에서는 생성분포 𝑃𝐺𝒄 에 조건화된다는 보장이 없다 . 𝑃𝐺 (𝒙|𝒄) → 𝑃𝐺 (𝒙) 로 된다

어떻게 Latent code 의 조건화를 보장할까 ?

1. 생성용 벡터의 분할– 생성용 벡터 ′를 소스 𝒛 z 과 latent code c 로 분활– 𝒄 로 데이터 특징을 나타내는 특징량을 확보하도록 Latent code 분포 :

Page 16: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

– 𝐼 (𝑋; 𝑌)= 0 인 경우 , 2 개의 확률변수는 독립관계– 상호정보량 극대화를 목적함수에 도입

• InfoGAN 의 목적함수 :

InfoGAN 의 아이디어 II

GAN 의 목적함수 상호정보량화

• Latent code 와 생성분포의 상호정보량 극대화– 𝐼(𝒄; 𝐺(𝒛, 𝒄 )) 를 최대화하여 𝒄와 𝐺 (𝒛, 𝒄) 사이를 종속관계로 만든다 .

• 상호정보량 : 2 개의 확률변수 X, Y 의 상호의존의 척도를 나타내는 양

Page 17: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Variational Information Maximiza-tion I

• 상호정보량 𝐼 (𝒄; 𝐺 𝒛, 𝒄 ) 을 – 계산에 𝑃 (𝒄|𝒙) 가 필요하지만 직접 최대화가 불가능– 보조분포 𝑄 (𝒄|𝒙) 를 사용하여 low limit 을 구한다 .

• Variational Information Maximization 을 이용 [Barber and Agakov, 2003]

– 보 조 분 포 를 도 입 시 KL 정보량으로 low limit 을 설정

Page 18: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

– 상호정보량의 low l imi t 𝐿𝐼 (𝐺, 𝑄)– 최종적인 InfoGAN 의 목적함수

GAN 의 목적함수 상호정보량 low limit

• 𝑐′~𝑃(𝑐|𝑥) 에서의 기대값 계산을 회피 – 변수변환에 의하여 ′𝑐 ~𝑃(𝑐|𝑥) 부터의 샘플링을 회피

Variational Information Maximiza-tion II

Page 19: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

구현

• 보조분포 𝑄 (𝑐|𝑥) 의 선정– 𝑄 는 식별기의 식별기 𝐷 네트웍을 활용

• GAN 에서의 학습비용의 증가는 매우 작다– 𝐷 의 최상위 층에 조건부 분포를 표현하는 전결합층 (Fully Connected Layer) 을 추가 • 분류형 Latent code : softmax • 연속값 Latent code : factored Gaussian

• 𝜆 의 선정• 이산값 Latent code : λ = 1 을 추천 • 연속값 Latent code : λ 는 작은편을 추천

Page 20: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 21: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

실험결과 I: MNIST

• 상호정보량 최대화– 실험조건

• Latent code : 𝑐~Cat(𝐾 = 10, 𝑝 = 0.1)• 상호정보량 최대화 : 𝐻( 𝑐) ≈ 2.30

– 실험결과• InfoGAN 학습에 따라 상호정보량이 거의 최대값에 접근• GAN ( 모델은 InfoGAN) 의 상호정보량은 증가하지 않는다 .

InfoGAN 의 목적함수를 이용하여 학습함으로써 생성 분포에 크게 영향을 미치는 ( 종속하는 ) Latent code 가 얻어진다

Page 22: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

실험결과 II: MNIST

지도학습에 관계없이 𝑐 1 에서 5% 의 식별오류

• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1~Cat (𝐾 = 10, 𝑝 = 0.1) , 𝑐2, 𝑐3~Unif(−1,1)

Page 23: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

실험결과 III: CelebA

• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1, ⋯ , 𝑐5~Unif(−1,1)

Page 24: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

실험결과 IIII: CelebA

• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1, ⋯ , 𝑐10~Cat(𝐾 = 10, 𝑝 = 0.1)

Page 25: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Agenda

• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론

Page 26: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

결론• GAN 에 의한 해석 가능한 특징량 표현을 획득하는 InfoGAN - 생성벡터 z 의 소스와 latent code c 의 명시적인 분할 - Latent code 와 생성분포의 상호정보량 I 를 극대화하여 종속성 보장 - I 의 하한을 계산하는 보조분포 Q 는 식별기 D 을 활용하여 비용절감 - 다양한 데이터세트에서 획득된 표현과 생성이미지를 확인• 한계와 향후문제

- 비지도학습등으로 데이터의 분포에 내재된 특징만 추출 가능 - VAE 등 다른 모델로의 응용과 반지도학습의 개선 - 계층적인 표현의 획득 - 멀티 모달정보의 취급

Page 27: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

[Goodfellow+, 2014] Ian J. Goodfellow, Jean Pouget-Abadiey, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozairz, Aaron Courville, and Yoshua Bengio, Gen-erative Adversarial Nets,NIPS2014

[Randford+, 2015] Alec Radford, Luke Metz, and Soumith Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Ad-versarial Networks, ICLR 2016

[Kingma+, 2014] Diederik P. Kingm, Danilo J. Rezendey, Shakir Mohamedy, and Max Welling, Semi-supervised Learning with Deep Generative Models, NIPS2014[Barber and Agakov, 2003] David Barber and Felix Agakov, The IM Algorithm : A varia-

tional approach to Information Maximization, NIPS2003Chainer-DCGAN: http://mattya.github.io/chainer-DCGAN/, Chainer による DCGAN のデモ

참고문헌