SlideShare a Scribd company logo
1 of 27
Download to read offline
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
번역 : 김홍배
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 [Goodfellow+,2014]
– Generator (G)와 Discriminator (D)를 서로 경쟁시켜서
생성 정확도의 향상을 도모하는 모델
Generator(G) Discriminator(D)Data True data
or
Generated data
GAN이란
데이터셋의 데이터를
「진짜」로 식별
생성된 데이터를「위조」로 식별
• GAN: Generative Adversarial Networks [Goodfellow+,2014]
• Generator (G)와 Discriminator (D)를 서로 경쟁시켜서 생성 정확도
의 향상을 도모하는 모델
• G : 생성용 벡터 z로부터 데이터를 생성
• D : 대상 데이터가 진짜(데이터 세트)
인가 가짜(G에 의해 생성)를 식별
목적함수
• Deep Convolutional GAN (DCGAN)
– G와D에CNN을 이용
• 활성화 함수가 특수하긴
하지만 같은 아이디어
– Z 벡터 연산에 의한 새로운 이미지 생성
GAN에 의한 데이터 생성
[Randford+, 2015]
Z의 공간중에서 다양한 특징량이 얻어진다 !
• Chainer-DCGAN
GAN에 의한 데이터 생성
http://mattya.github.io/chainer-DCGAN/
長髪ベクトル
増
長髪ベクトル
減
• GAN, DCGAN (Chainer-DCGAN)
– 무대뽀로 찾는다 !
• 원하는 특징과 대항하는 특징을 포함하는
데이터를 생성하는 z를 찾는다.
특징량은 어떻게 얻어질까 ?
𝒛
• Semi-supervised Learning with Deep Generative 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 InfoGAN
GAN의 학습에서는 생성분포 𝑃𝐺
𝒄에 조건화된다는 보장이 없다.
𝑃𝐺(𝒙|𝒄) → 𝑃𝐺(𝒙) 로 된다
어떻게 Latent code의 조건화를 보장할까 ?
1. 생성용 벡터의 분할
– 생성용 벡터 𝒛′를 소스 z과 latent code c로 분활
– 𝒄 로 데이터 특징을 나타내는 특징량을 확보하도록
Latent code 분포 :
– 𝐼 (𝑋; 𝑌)= 0인 경우, 2개의 확률변수는 독립관계
– 상호정보량 극대화를 목적함수에 도입
• InfoGAN의 목적함수 :
InfoGAN의 아이디어 II
GAN의 목적함수 상호정보량화
• Latent code와 생성분포의 상호정보량 극대화
– 𝐼(𝒄; 𝐺(𝒛, 𝒄 ))를 최대화하여 𝒄와 𝐺(𝒛, 𝒄)사이를 종속관계로 만든다.
• 상호정보량 : 2개의 확률변수 X, Y의 상호의존의 척도를 나타내는 양
Variational Information Maximization I
• 상호정보량 𝐼(𝒄; 𝐺 𝒛, 𝒄 )을
– 계산에 𝑃(𝒄|𝒙)가 필요하지만 직접 최대화가 불가능
– 보조분포 𝑄(𝒄|𝒙)를 사용하여 low limit을 구한다.
• Variational Information Maximization을 이용 [Barber and Agakov, 2003]
– 보 조 분 포 를 도 입 시 KL 정보량으로 low limit을 설정
– 상호정보량의 low limit 𝐿𝐼(𝐺, 𝑄)
– 최종적인 InfoGAN의 목적함수
GAN의 목적함수 상호정보량 low limit
• 𝑐′~𝑃(𝑐|𝑥) 에서의 기대값 계산을 회피
– 변수변환에 의하여 𝑐′~𝑃(𝑐|𝑥) 부터의 샘플링을 회피
Variational Information Maximization 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, 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のデモ
참고문헌

More Related Content

What's hot

Variational Autoencoder
Variational AutoencoderVariational Autoencoder
Variational AutoencoderMark Chang
 
CycleGAN이 무엇인지 알아보자
CycleGAN이 무엇인지 알아보자CycleGAN이 무엇인지 알아보자
CycleGAN이 무엇인지 알아보자Kwangsik Lee
 
Simple Introduction to AutoEncoder
Simple Introduction to AutoEncoderSimple Introduction to AutoEncoder
Simple Introduction to AutoEncoderJun Lang
 
Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Jeong-Gwan Lee
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)HyunKyu Jeon
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초Hyungsoo Ryoo
 
CVPR 2018 Paper Reading MobileNet V2
CVPR 2018 Paper Reading MobileNet V2CVPR 2018 Paper Reading MobileNet V2
CVPR 2018 Paper Reading MobileNet V2Khang Pham
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You NeedDaiki Tanaka
 
Flow based generative models
Flow based generative modelsFlow based generative models
Flow based generative models수철 박
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
Autoencoders
AutoencodersAutoencoders
AutoencodersCloudxLab
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)Donghyeon Kim
 
Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Appsilon Data Science
 
Convolutional neural networks 이론과 응용
Convolutional neural networks 이론과 응용Convolutional neural networks 이론과 응용
Convolutional neural networks 이론과 응용홍배 김
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs홍배 김
 
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial NetworksDeep Learning JP
 
Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Hojin Yang
 
Variational Auto Encoder and the Math Behind
Variational Auto Encoder and the Math BehindVariational Auto Encoder and the Math Behind
Variational Auto Encoder and the Math BehindVarun Reddy
 

What's hot (20)

Variational Autoencoder
Variational AutoencoderVariational Autoencoder
Variational Autoencoder
 
CycleGAN이 무엇인지 알아보자
CycleGAN이 무엇인지 알아보자CycleGAN이 무엇인지 알아보자
CycleGAN이 무엇인지 알아보자
 
Simple Introduction to AutoEncoder
Simple Introduction to AutoEncoderSimple Introduction to AutoEncoder
Simple Introduction to AutoEncoder
 
Attention is All You Need (Transformer)
Attention is All You Need (Transformer)Attention is All You Need (Transformer)
Attention is All You Need (Transformer)
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
CVPR 2018 Paper Reading MobileNet V2
CVPR 2018 Paper Reading MobileNet V2CVPR 2018 Paper Reading MobileNet V2
CVPR 2018 Paper Reading MobileNet V2
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need
 
Flow based generative models
Flow based generative modelsFlow based generative models
Flow based generative models
 
Autoencoder
AutoencoderAutoencoder
Autoencoder
 
인공신경망
인공신경망인공신경망
인공신경망
 
Autoencoders
AutoencodersAutoencoders
Autoencoders
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)
 
Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)
 
Convolutional neural networks 이론과 응용
Convolutional neural networks 이론과 응용Convolutional neural networks 이론과 응용
Convolutional neural networks 이론과 응용
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs
 
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
[DL輪読会]A Style-Based Generator Architecture for Generative Adversarial Networks
 
Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Variational Autoencoder Tutorial
Variational Autoencoder Tutorial
 
Variational Auto Encoder and the Math Behind
Variational Auto Encoder and the Math BehindVariational Auto Encoder and the Math Behind
Variational Auto Encoder and the Math Behind
 

Viewers also liked

Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE홍배 김
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA홍배 김
 
Convolution 종류 설명
Convolution 종류 설명Convolution 종류 설명
Convolution 종류 설명홍배 김
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events홍배 김
 
Meta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural NetworksMeta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural Networks홍배 김
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator홍배 김
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...홍배 김
 
Normalization 방법
Normalization 방법 Normalization 방법
Normalization 방법 홍배 김
 
Learning by association
Learning by associationLearning by association
Learning by association홍배 김
 
Explanation on Tensorflow example -Deep mnist for expert
Explanation on Tensorflow example -Deep mnist for expertExplanation on Tensorflow example -Deep mnist for expert
Explanation on Tensorflow example -Deep mnist for expert홍배 김
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)홍배 김
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance SegmentationSingle Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance Segmentation홍배 김
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향홍배 김
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization홍배 김
 

Viewers also liked (16)

Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA
 
Convolution 종류 설명
Convolution 종류 설명Convolution 종류 설명
Convolution 종류 설명
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events
 
Meta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural NetworksMeta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural Networks
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
 
Normalization 방법
Normalization 방법 Normalization 방법
Normalization 방법
 
Learning by association
Learning by associationLearning by association
Learning by association
 
Explanation on Tensorflow example -Deep mnist for expert
Explanation on Tensorflow example -Deep mnist for expertExplanation on Tensorflow example -Deep mnist for expert
Explanation on Tensorflow example -Deep mnist for expert
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance SegmentationSingle Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
 

Similar to InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

Anomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learningAnomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learning도형 임
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pubJaewook. Kang
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기Myeongju Kim
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderLee Seungeun
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요Nohyun Kee
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tae Young Lee
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
DeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsDeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsSOYEON KIM
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pubJaewook. Kang
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.Adonis Han
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection창기 문
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection창기 문
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extendedJaewook. Kang
 
추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-drafthyunsung lee
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow양 한빛
 

Similar to InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets (20)

Anomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learningAnomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learning
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
DeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social RepresentationsDeepWalk: Online Learning of Social Representations
DeepWalk: Online Learning of Social Representations
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended
 
추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
Mahout
MahoutMahout
Mahout
 

More from 홍배 김

Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...홍배 김
 
Gaussian processing
Gaussian processingGaussian processing
Gaussian processing홍배 김
 
Lecture Summary : Camera Projection
Lecture Summary : Camera Projection Lecture Summary : Camera Projection
Lecture Summary : Camera Projection 홍배 김
 
Learning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robotsLearning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robots홍배 김
 
Robotics of Quadruped Robot
Robotics of Quadruped RobotRobotics of Quadruped Robot
Robotics of Quadruped Robot홍배 김
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics홍배 김
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier홍배 김
 
Optimal real-time landing using DNN
Optimal real-time landing using DNNOptimal real-time landing using DNN
Optimal real-time landing using DNN홍배 김
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function홍배 김
 
Machine learning applications in aerospace domain
Machine learning applications in aerospace domainMachine learning applications in aerospace domain
Machine learning applications in aerospace domain홍배 김
 
Anomaly Detection and Localization Using GAN and One-Class Classifier
Anomaly Detection and Localization  Using GAN and One-Class ClassifierAnomaly Detection and Localization  Using GAN and One-Class Classifier
Anomaly Detection and Localization Using GAN and One-Class Classifier홍배 김
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...홍배 김
 
Brief intro : Invariance and Equivariance
Brief intro : Invariance and EquivarianceBrief intro : Invariance and Equivariance
Brief intro : Invariance and Equivariance홍배 김
 

More from 홍배 김 (14)

Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
 
Gaussian processing
Gaussian processingGaussian processing
Gaussian processing
 
Lecture Summary : Camera Projection
Lecture Summary : Camera Projection Lecture Summary : Camera Projection
Lecture Summary : Camera Projection
 
Learning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robotsLearning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robots
 
Robotics of Quadruped Robot
Robotics of Quadruped RobotRobotics of Quadruped Robot
Robotics of Quadruped Robot
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier
 
Optimal real-time landing using DNN
Optimal real-time landing using DNNOptimal real-time landing using DNN
Optimal real-time landing using DNN
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function
 
Machine learning applications in aerospace domain
Machine learning applications in aerospace domainMachine learning applications in aerospace domain
Machine learning applications in aerospace domain
 
Anomaly Detection and Localization Using GAN and One-Class Classifier
Anomaly Detection and Localization  Using GAN and One-Class ClassifierAnomaly Detection and Localization  Using GAN and One-Class Classifier
Anomaly Detection and Localization Using GAN and One-Class Classifier
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
 
Brief intro : Invariance and Equivariance
Brief intro : Invariance and EquivarianceBrief intro : Invariance and Equivariance
Brief intro : Invariance and Equivariance
 

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로 변환하는 것 처럼
  • 3. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 4. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 5. 논문개요 • 목적 – 데이터 생성의 모델로서 우수한 GAN으로 정보를 표현하는 "알기쉬운" 특징량을 "간단하게" 얻는다. • Key idea – GAN의 생성 벡터에 특징을 표현하는 Latent code를 삽입한다. – Latent code 와 생성분포간 상호 정보량 최대화를 학습의 목적함수로 추가 • 결과 – 복수의 이미지 데이터 세트에 대하여 해석이 가능한 결과를 얻었다
  • 6. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 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의 공간중에서 다양한 특징량이 얻어진다 !
  • 10. • Chainer-DCGAN GAN에 의한 데이터 생성 http://mattya.github.io/chainer-DCGAN/ 長髪ベクトル 増 長髪ベクトル 減
  • 11. • GAN, DCGAN (Chainer-DCGAN) – 무대뽀로 찾는다 ! • 원하는 특징과 대항하는 특징을 포함하는 데이터를 생성하는 z를 찾는다. 특징량은 어떻게 얻어질까 ? 𝒛 • Semi-supervised Learning with Deep Generative Models [Kingma+, 2014] – 소수의 라벨링된 데이터를 사용 • 라벨 데이터를 z의 일부로 학습 얼굴의 방향을 바꾸는 특징벡터
  • 12. • GAN으로 특징량 얻기 – 생성 벡터 z의 공간 중에 생성 이미지의 특징이 표현된다. • z의 각 차원의 특징은 해석하기 어렵다. • 해석 가능한 표현은 생성 이미지를 확인해서 찾을 수 밖에 없다 • 지도학습으로는 일부의 특징밖에 학습시킬 수 없다 문제점 정리 ? 스 타 일 카테고리 비지도학습으로 해석가능한 특징량을 "간단"하게 얻고싶다 !! ?
  • 13. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 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 : λ는 작은편을 추천
  • 20. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 21. 실험결과 I: MNIST • 상호정보량 최대화 – 실험조건 • Latent code : 𝑐~Cat(𝐾 = 10, 𝑝 = 0.1) • 상호정보량 최대화 : 𝐻( 𝑐) ≈ 2.30 – 실험결과 • InfoGAN 학습에 따라 상호정보량이 거의 최대값에 접근 • GAN (모델은 InfoGAN)의 상호정보량은 증가하지 않는다. InfoGAN의 목적함수를 이용하여 학습함으로써 생성 분포에 크게 영향을 미치는(종속하는) Latent code가 얻어진다
  • 22. 실험결과 II: MNIST 지도학습에 관계없이 𝑐1에서 5%의 식별오류 • 획득된 표현의 확인과 이미지 생성 –Latent code : 𝑐1~Cat (𝐾 = 10, 𝑝 = 0.1) , 𝑐2, 𝑐3~Unif(−1,1)
  • 23. 실험결과 III: CelebA • 획득된 표현의 확인과 이미지 생성 – Latent code : 𝑐1, ⋯ , 𝑐5~Unif(−1,1)
  • 24. 실험결과 IIII: CelebA • 획득된 표현의 확인과 이미지 생성 – Latent code : 𝑐1, ⋯ , 𝑐10~Cat(𝐾 = 10, 𝑝 = 0.1)
  • 25. Agenda • 논문개요 • GAN이란 • InfoGAN의 목적과 아이디어 • 실험결과 • 결론
  • 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のデモ 참고문헌