InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
오사카 대학 박사과정인 Takato Horii군이 작성한 자료
데이터 생성 모델로 우수한 GAN을 이용하여 비지도학습을 통해
"알기쉬게" 이미지의 정보를 표현하는 특징량을 "간단하게"획득하기
* 특징이 서로 얽혀있는 Physical space에서 서로 독립적인 Eigen space로 변환하는 것과 같은 원리
InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
1. InfoGAN: Interpretable Representation Learning by
Information Maximizing Generative Adversarial Nets
Xi Chen1,2, Yan Duan1,2, Rein Houthooft1,2, John Schulman1,2,
Ilya Sutskever2, Pieter Abbeel1,2
1 UC Berkeley, Department of Electrical Engineering and Computer Science
2 OpenAI
설명자료 : Takato Horii
번역 : 김홍배
2. Motivation
특징이 서로 얽혀 있어 해석이 불가능한 Physical space에서
해석이 용이하도록 서로 독립적인 Eigen space로 변환하는 것 처럼
5. 논문개요
• 목적
– 데이터 생성의 모델로서 우수한 GAN으로 정보를 표현하는 "알기쉬운"
특징량을 "간단하게" 얻는다.
• Key idea
– GAN의 생성 벡터에 특징을 표현하는 Latent code를 삽입한다.
– Latent code 와 생성분포간 상호 정보량 최대화를 학습의
목적함수로 추가
• 결과
– 복수의 이미지 데이터 세트에 대하여 해석이 가능한 결과를 얻었다
7. GAN이란?
• GAN: Generative Adversarial Networks [Goodfellow+,2014]
– Generator (G)와 Discriminator (D)를 서로 경쟁시켜서
생성 정확도의 향상을 도모하는 모델
Generator(G) Discriminator(D)Data True data
or
Generated data
8. GAN이란
데이터셋의 데이터를
「진짜」로 식별
생성된 데이터를「위조」로 식별
• GAN: Generative Adversarial Networks [Goodfellow+,2014]
• Generator (G)와 Discriminator (D)를 서로 경쟁시켜서 생성 정확도
의 향상을 도모하는 모델
• G : 생성용 벡터 z로부터 데이터를 생성
• D : 대상 데이터가 진짜(데이터 세트)
인가 가짜(G에 의해 생성)를 식별
목적함수
9. • Deep Convolutional GAN (DCGAN)
– G와D에CNN을 이용
• 활성화 함수가 특수하긴
하지만 같은 아이디어
– Z 벡터 연산에 의한 새로운 이미지 생성
GAN에 의한 데이터 생성
[Randford+, 2015]
Z의 공간중에서 다양한 특징량이 얻어진다 !
11. • GAN, DCGAN (Chainer-DCGAN)
– 무대뽀로 찾는다 !
• 원하는 특징과 대항하는 특징을 포함하는
데이터를 생성하는 z를 찾는다.
특징량은 어떻게 얻어질까 ?
𝒛
• Semi-supervised Learning with Deep Generative Models
[Kingma+, 2014]
– 소수의 라벨링된 데이터를 사용
• 라벨 데이터를 z의 일부로 학습
얼굴의 방향을
바꾸는 특징벡터
12. • GAN으로 특징량 얻기
– 생성 벡터 z의 공간 중에 생성
이미지의 특징이 표현된다.
• z의 각 차원의 특징은 해석하기
어렵다.
• 해석 가능한 표현은 생성 이미지를
확인해서 찾을 수 밖에 없다
• 지도학습으로는 일부의 특징밖에
학습시킬 수 없다
문제점 정리
?
스
타
일
카테고리
비지도학습으로 해석가능한
특징량을 "간단"하게 얻고싶다 !!
?
14. 제안모델
• Information Maximizing GAN (InfoGAN)
– 목적 :
• 생성시에 이용 가치가 높은 특징량을 비지도학습으로 획득
• 기존의 GAN계 모델에 비하여 간단하게 특징량을 획득
– 아이디어 :
• 생성용 벡터 를 Source z과 Latent code c로 분할
• Latent code c와 생성기 분포 G(z,c)의 상호정보량 𝐼(𝒄; 𝐺 ( 𝒛, 𝒄 ) )
을 극대화
덧붙여서 InfoGAN는 OpenAI가 소스를 공개하고 있습니다
https://github.com/openai/InfoGAN
15. • 생성분포 : G(𝒛, 𝒄) = 𝑃𝐺(𝒙|𝒄)
InfoGAN의 아이디어 I
𝒙
𝒛 ~ 𝑃𝑛 𝑜 𝑖𝑠𝑒 (𝒛)
𝒛
𝒛 ~ 𝑃𝑛 𝑜 𝑖𝑠 𝑒 (𝒛)
𝒛
𝒄 ~ 𝑃(𝒄)
𝒄
𝒙 ~ 𝐺 𝒛
𝐺 𝒛 = 𝑃𝐺 (𝒙)
𝒙
𝒙~𝐺( 𝒛, 𝒄)
𝐺( 𝒛, 𝒄)= 𝑃𝐺 (𝒙|𝒄)
GAN InfoGAN
GAN의 학습에서는 생성분포 𝑃𝐺
𝒄에 조건화된다는 보장이 없다.
𝑃𝐺(𝒙|𝒄) → 𝑃𝐺(𝒙) 로 된다
어떻게 Latent code의 조건화를 보장할까 ?
1. 생성용 벡터의 분할
– 생성용 벡터 𝒛′를 소스 z과 latent code c로 분활
– 𝒄 로 데이터 특징을 나타내는 특징량을 확보하도록
Latent code 분포 :
16. – 𝐼 (𝑋; 𝑌)= 0인 경우, 2개의 확률변수는 독립관계
– 상호정보량 극대화를 목적함수에 도입
• InfoGAN의 목적함수 :
InfoGAN의 아이디어 II
GAN의 목적함수 상호정보량화
• Latent code와 생성분포의 상호정보량 극대화
– 𝐼(𝒄; 𝐺(𝒛, 𝒄 ))를 최대화하여 𝒄와 𝐺(𝒛, 𝒄)사이를 종속관계로 만든다.
• 상호정보량 : 2개의 확률변수 X, Y의 상호의존의 척도를 나타내는 양
17. Variational Information Maximization I
• 상호정보량 𝐼(𝒄; 𝐺 𝒛, 𝒄 )을
– 계산에 𝑃(𝒄|𝒙)가 필요하지만 직접 최대화가 불가능
– 보조분포 𝑄(𝒄|𝒙)를 사용하여 low limit을 구한다.
• Variational Information Maximization을 이용 [Barber and Agakov, 2003]
– 보 조 분 포 를 도 입 시 KL 정보량으로 low limit을 설정
18. – 상호정보량의 low limit 𝐿𝐼(𝐺, 𝑄)
– 최종적인 InfoGAN의 목적함수
GAN의 목적함수 상호정보량 low limit
• 𝑐′~𝑃(𝑐|𝑥) 에서의 기대값 계산을 회피
– 변수변환에 의하여 𝑐′~𝑃(𝑐|𝑥) 부터의 샘플링을 회피
Variational Information Maximization II
19. 구현
• 보조분포 𝑄(𝑐|𝑥)의 선정
– 𝑄는 식별기의 식별기 𝐷 네트웍을 활용
• GAN에서의 학습비용의 증가는 매우 작다
– 𝐷의 최상위 층에 조건부 분포를 표현하는 전결합층
(Fully Connected Layer)을 추가
• 분류형 Latent code : softmax
• 연속값 Latent code : factored Gaussian
• 𝜆의 선정
• 이산값 Latent code : λ = 1을 추천
• 연속값 Latent code : λ는 작은편을 추천
26. 결론
• GAN에 의한 해석 가능한 특징량 표현을 획득하는 InfoGAN
- 생성벡터 z의 소스와 latent code c의 명시적인 분할
- Latent code와 생성분포의 상호정보량 I를 극대화하여 종속성 보장
- I의 하한을 계산하는 보조분포 Q는 식별기 D을 활용하여 비용절감
- 다양한 데이터세트에서 획득된 표현과 생성이미지를 확인
• 한계와 향후문제
- 비지도학습등으로 데이터의 분포에 내재된 특징만 추출 가능
- VAE 등 다른 모델로의 응용과 반지도학습의 개선
- 계층적인 표현의 획득
- 멀티 모달정보의 취급
27. [Goodfellow+, 2014] Ian J. Goodfellow, Jean Pouget-Abadiey, Mehdi Mirza, Bing Xu, David Warde-Farley,
Sherjil Ozairz, Aaron Courville, and Yoshua Bengio, Generative Adversarial
Nets,NIPS2014
[Randford+, 2015] Alec Radford, Luke Metz, and Soumith Chintala, Unsupervised Representation
Learning with Deep Convolutional Generative Adversarial 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 variational approach to
Information Maximization, NIPS2003
Chainer-DCGAN: http://mattya.github.io/chainer-DCGAN/, ChainerによるDCGANのデモ
참고문헌