infogan: interpretable representation learning by information maximizing generative adversarial nets
TRANSCRIPT
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번역 : 김홍배
Motivation
특징이 서로 얽혀 있어 해석이 불가능한 Physical space 에서 해석이 용이하도록 서로 독립적인 Eigen space 로 변환하는 것 처럼
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
논문개요
• 목적– 데이터 생성의 모델로서 우수한 GAN 으로 정보를 표현하는 " 알기쉬운 "
특징량을 " 간단하게 " 얻는다 .
• Key idea
– GAN 의 생성 벡터에 특징을 표현하는 Latent code 를 삽입한다 .– Latent code 와 생성분포간 상호 정보량 최대화를 학습의 목적함수로 추가 • 결과 – 복수의 이미지 데이터 세트에 대하여 해석이 가능한 결과를 얻었다
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
GAN 이란 ?
• GAN: Generative Adversarial Networks [Goodfel-
low+, 2014]
– Generator (G) 와 Discriminator (D) 를 서로 경쟁시켜서 생성 정확도의 향상을 도모하는 모델
Generator(G)
Discriminator(D)
Data
True dataor
Generated data
GAN 이란
데이터셋의 데이터를 「진짜」로 식별 생성된 데이터를「위조」로 식별
• GAN: Generative Adversarial Networks [Goodfel-
low+, 2014]
• Generator (G) 와 Discriminator (D) 를 서로 경쟁시켜서 생성 정확도의 향상을 도모하는 모델
• G : 생성용 벡터 z 로부터 데이터를 생성• D : 대상 데이터가 진짜 ( 데이터 세트 ) 인가 가짜 (G 에 의해 생성 ) 를 식별
목적함수
• Deep Convolutional GAN (DC-GAN)
– G 와 D 에 CNN 을 이용• 활성화 함수가 특수하긴 하지만 같은 아이디어
– Z 벡터 연산에 의한 새로운 이미지 생성
GAN 에 의한 데이터 생성[Randford+, 2015]
Z 의 공간중에서 다양한 특징량이 얻어진다 !
• Chainer-DC-GAN
GAN 에 의한 데이터 생성http://mattya.github.io/chainer-DCGAN/
長髪ベクトル増 長髪ベクトル 減
• GAN, DCGAN (Chainer-DC-GAN)
– 무대뽀로 찾는다 ! • 원하는 특징과 대항하는 특징을 포함하는 데이터를 생성하는 z 를 찾는다 .
특징량은 어떻게 얻어질까 ?
𝒛• Semi-supervised Learning with Deep Genera-
tive Models[Kingma+, 2014]– 소수의 라벨링된 데이터를 사용• 라벨 데이터를 z 의 일부로 학습
얼굴의 방향을 바꾸는 특징벡터
• GAN 으로 특징량 얻기 – 생성 벡터 z 의 공간 중에 생성 이미지의 특징이 표현된다 .
• z 의 각 차원의 특징은 해석하기 어렵다 .• 해석 가능한 표현은 생성 이미지를 확인해서 찾을 수 밖에 없다 • 지도학습으로는 일부의 특징밖에 학습시킬 수 없다
문제점 정리
?
스타일
카테고리
비지도학습으로 해석가능한 특징량을 " 간단 " 하게 얻고싶다 !!
?
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
제안모델
• Information Maximizing GAN (InfoGAN)– 목적 :• 생성시에 이용 가치가 높은 특징량을 비지도학습으로 획득• 기존의 GAN 계 모델에 비하여 간단하게 특징량을 획득
– 아이디어 :• 생성용 벡터 를 Source z 과 Latent code c 로 분할• Latent code c 와 생성기 분포 G(z,c) 의 상호정보량 𝐼 (𝒄; 𝐺 ( 𝒛, 𝒄 ) ) 을 극대화
덧붙여서 InfoGAN 는 OpenAI 가 소스를 공개하고 있습니다https://github.com/openai/InfoGAN
• 생성분포 : G(𝒛, 𝒄) = 𝑃𝐺 (𝒙|𝒄)
InfoGAN 의 아이디어 I
��
𝒛 ~ 𝑃𝑛 𝑜 𝑖𝑠𝑒 (𝒛)𝒛𝒛 ~ 𝑃𝑛 𝑜 𝑖 𝑠 𝑒 (𝒛)𝒛
𝒄 ~ 𝑃(𝒄)𝒄
𝒙 ~ 𝐺 𝒛𝐺 𝒛= 𝑃𝐺 (𝒙)𝒙
𝒙 ~ 𝐺( 𝒛, 𝒄)𝐺( 𝒛, 𝒄) = 𝑃𝐺 (𝒙|𝒄)
GAN Info-GAN
GAN 의 학습에서는 생성분포 𝑃𝐺𝒄 에 조건화된다는 보장이 없다 . 𝑃𝐺 (𝒙|𝒄) → 𝑃𝐺 (𝒙) 로 된다
어떻게 Latent code 의 조건화를 보장할까 ?
1. 생성용 벡터의 분할– 생성용 벡터 ′를 소스 𝒛 z 과 latent code c 로 분활– 𝒄 로 데이터 특징을 나타내는 특징량을 확보하도록 Latent code 분포 :
– 𝐼 (𝑋; 𝑌)= 0 인 경우 , 2 개의 확률변수는 독립관계– 상호정보량 극대화를 목적함수에 도입
• InfoGAN 의 목적함수 :
InfoGAN 의 아이디어 II
GAN 의 목적함수 상호정보량화
• Latent code 와 생성분포의 상호정보량 극대화– 𝐼(𝒄; 𝐺(𝒛, 𝒄 )) 를 최대화하여 𝒄와 𝐺 (𝒛, 𝒄) 사이를 종속관계로 만든다 .
• 상호정보량 : 2 개의 확률변수 X, Y 의 상호의존의 척도를 나타내는 양
Variational Information Maximiza-tion I
• 상호정보량 𝐼 (𝒄; 𝐺 𝒛, 𝒄 ) 을 – 계산에 𝑃 (𝒄|𝒙) 가 필요하지만 직접 최대화가 불가능– 보조분포 𝑄 (𝒄|𝒙) 를 사용하여 low limit 을 구한다 .
• Variational Information Maximization 을 이용 [Barber and Agakov, 2003]
– 보 조 분 포 를 도 입 시 KL 정보량으로 low limit 을 설정
– 상호정보량의 low l imi t 𝐿𝐼 (𝐺, 𝑄)– 최종적인 InfoGAN 의 목적함수
GAN 의 목적함수 상호정보량 low limit
• 𝑐′~𝑃(𝑐|𝑥) 에서의 기대값 계산을 회피 – 변수변환에 의하여 ′𝑐 ~𝑃(𝑐|𝑥) 부터의 샘플링을 회피
Variational Information Maximiza-tion II
구현
• 보조분포 𝑄 (𝑐|𝑥) 의 선정– 𝑄 는 식별기의 식별기 𝐷 네트웍을 활용
• GAN 에서의 학습비용의 증가는 매우 작다– 𝐷 의 최상위 층에 조건부 분포를 표현하는 전결합층 (Fully Connected Layer) 을 추가 • 분류형 Latent code : softmax • 연속값 Latent code : factored Gaussian
• 𝜆 의 선정• 이산값 Latent code : λ = 1 을 추천 • 연속값 Latent code : λ 는 작은편을 추천
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
실험결과 I: MNIST
• 상호정보량 최대화– 실험조건
• Latent code : 𝑐~Cat(𝐾 = 10, 𝑝 = 0.1)• 상호정보량 최대화 : 𝐻( 𝑐) ≈ 2.30
– 실험결과• InfoGAN 학습에 따라 상호정보량이 거의 최대값에 접근• GAN ( 모델은 InfoGAN) 의 상호정보량은 증가하지 않는다 .
InfoGAN 의 목적함수를 이용하여 학습함으로써 생성 분포에 크게 영향을 미치는 ( 종속하는 ) Latent code 가 얻어진다
실험결과 II: MNIST
지도학습에 관계없이 𝑐 1 에서 5% 의 식별오류
• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1~Cat (𝐾 = 10, 𝑝 = 0.1) , 𝑐2, 𝑐3~Unif(−1,1)
실험결과 III: CelebA
• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1, ⋯ , 𝑐5~Unif(−1,1)
실험결과 IIII: CelebA
• 획득된 표현의 확인과 이미지 생성– Latent code : 𝑐1, ⋯ , 𝑐10~Cat(𝐾 = 10, 𝑝 = 0.1)
Agenda
• 논문개요• GAN 이란• InfoGAN 의 목적과 아이디어• 실험결과 • 결론
결론• GAN 에 의한 해석 가능한 특징량 표현을 획득하는 InfoGAN - 생성벡터 z 의 소스와 latent code c 의 명시적인 분할 - Latent code 와 생성분포의 상호정보량 I 를 극대화하여 종속성 보장 - I 의 하한을 계산하는 보조분포 Q 는 식별기 D 을 활용하여 비용절감 - 다양한 데이터세트에서 획득된 표현과 생성이미지를 확인• 한계와 향후문제
- 비지도학습등으로 데이터의 분포에 내재된 특징만 추출 가능 - VAE 등 다른 모델로의 응용과 반지도학습의 개선 - 계층적인 표현의 획득 - 멀티 모달정보의 취급
[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 のデモ
참고문헌