SlideShare a Scribd company logo
1 of 16
Generative Models
Cs231n Lecture 13
Generative model ?
• Unsupervised learning의
한 종류로
Training data 의
distribution 와 유사한
distribution 을 가지는
data 를 생성하는 model
쉽게 말하면, training data
와 유사하거나 응용한 데이
터를 생성하는 모델들
분류
• 대부분
MLE(maximum
likelihood estimation)
을 기반으로함.
• 학습될 distribution
의 밀도 함수를 정의
하면 explicit density
• 그 밀도 함수 자체를
학습하면 implicit
density
PixelRNN/CNN
• 이전 pixel 들의 분포를 보고 이번
pixel 이 어떤게 나와야 원본 이미지의
distribution 과 유사할지에 대해 학습.
• 하지만 corner 부터 sequence 하게 이
미지를 생성해야 하고, 이전 픽셀에 대
한 dependency 때문에 학습, 생성 속
도가 매우 느림.
Autoencoder
원본 이미지를 차원 축소하여 feature
를 생성하고, 다시 upsampling 하여
이미지를 생성해냄.
관건은, encoder 가 얼마나 feature
를 잘 생성하는지, decoder 가 얼마
나 feature 로 부터 이미지를 잘 재현
해 내는지 를 학습함.
L2 Loss 를 원본 이미지와 생성된 이
미지에 사용.
VAE(Variational Autoencoder)
• Autoencoder 로 부터 image 를
생성해보자.
• p(z) 로 부터 새로운 이미지를 생
성해보자.
• 여기서 z 는 latent variable , 잠재
변수로, 해당 이미지에 존재하는
판단할 수 있는 요소들, 즉
feature 들 입니다.
• VAE 는 MLE, 즉 maximum
likelihood eistimation 을 통해서
parameter 를 optimize 하게 되는
데, 여기서 문제가 발생함.
• Z 가 얼마나 있는지 모름!
VAE
• 우리가 고양이를 판단할때, 의식적으로 생각
하는 feature 들 보다, 무의식적으로
processing 되는 feature 들이 훨씬 많을듯이,
그 feature 들을 우리는 알 수 없다는것이 문
제입니다.
• 따라서, 저 조건을 빼야 계산할 수 있으므로,
lower bound 로 저 식을 근사하여 계산하게됨.
VAE
VAE
VAE
• 최종적으로 lower bound 를
maximize 하여 학습하게됩
니다.
• 수식을 input data를 통해서
latent variable, neural
network 에서 부를때는
feature 를 근사하여 뽑게 됩
니다. neural network 에서
뽑히는 latent variable 이 모
든 변수는 아니지만, 일부를
뽑아 근사하기 때문에 괜찮
은거같습니다.
• 그 후 decoder network 에
서 image 를 생성하고, 원본
이미지와 복원된 이미지 에
서 복원 오차를 통해 학습하
게됩니다.
VAE
VAE 는 안정적으로 학습할 수 있고,
평가의 기준이 매우 명확합니다. 또한
데이터의 latent variable 을 같이 학습
할 수 있다는 장점도 있습니다.
하지만 출력이 평균값으로 근사되어
나오는 경향이 있고, 이 때문에 이미
지에 블러가 많이 껴있는듯한 느낌이
많이 들 수 있습니다. 또한 이렇게 모
델을 수식으로 정해두기 때문에, 적용
할 수 없는 경우도 있을 수 있다 합니
다.
GAN
• VAE 는 밀도 함수를 정의하고, 학습
해야했기 때문에 엄청난 수식 정리
가 필요했음.
• 그럼 이제 밀도 함수 자체를 학습해
보자 라는 시도가 있었고, 17, 18 년
도에 GAN 이 엄청난 발전을 했음.
• Simple random noise 를 generator
network 에 태우고, 여기서 만들어
진 이미지와 원본 이미지를 대조함.
• 이때 대조하는 network 는
discriminator network 가 있음.
GAN
• 결국 게임 이론으로 밀도 함수 자체를 학습하게됨.
• 2 player 가 나오는데
• Generator : 최대한 discriminator 를 속여 fake 이미지를 real 인거처럼 속인다
• Discriminator : 최대한 generator 가 속이려 하는것을 간파하고 fake 와 real 을 구분
하려한다.
• 최종적으로
Minmax game
을 통해 학습
GAN
• 학습이 끝난 후에는 generator 를 빼서 사용하게됨.
GAN
• 각 feature, 즉 latent variable
Z 를 GAN 도 학습하게 되는
데 이 Z 가 vector 형태여서
vector 연산이 가능하게됨.
• Glasses man – No glasses
man + Noglasses Woman =
Glasses Women 이 되는
vector 연산이 가능함.
GAN
• 엄청나게 많은 GAN 모델들이 있음.
• https://www.youtube.com/watch?v=p5U4NgVGAwg
• 19년도 3월에 nvidia 에서 발표한 GauGan 이라는 모델도 있는
데 정말 어썸함.

More Related Content

Similar to 2019 5-5-week-i-learned-generative model

Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)jungminchung
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용Youngjae Kim
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper ReviewLEE HOSEONG
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AITae Young Lee
 
CS231n chap12_Visualization and Understand Summary
CS231n chap12_Visualization and Understand SummaryCS231n chap12_Visualization and Understand Summary
CS231n chap12_Visualization and Understand Summaryssuser491981
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloudimcloud
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표JongkukLim
 
what is deep learning?
what is deep learning? what is deep learning?
what is deep learning? PartPrime
 
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
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝NAVER Engineering
 
Segment Anything
Segment AnythingSegment Anything
Segment Anythingfake can
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...MYEONGGYU LEE
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기Myeongju Kim
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017Donghwa Kim
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDong Heon Cho
 
연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioninghkh
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesKang Pilsung
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 

Similar to 2019 5-5-week-i-learned-generative model (20)

Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
CS231n chap12_Visualization and Understand Summary
CS231n chap12_Visualization and Understand SummaryCS231n chap12_Visualization and Understand Summary
CS231n chap12_Visualization and Understand Summary
 
Basics of deep learning_imcloud
Basics of deep learning_imcloudBasics of deep learning_imcloud
Basics of deep learning_imcloud
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표
 
what is deep learning?
what is deep learning? what is deep learning?
what is deep learning?
 
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
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝
 
Segment Anything
Segment AnythingSegment Anything
Segment Anything
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other Models
 
연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 

2019 5-5-week-i-learned-generative model

  • 2. Generative model ? • Unsupervised learning의 한 종류로 Training data 의 distribution 와 유사한 distribution 을 가지는 data 를 생성하는 model 쉽게 말하면, training data 와 유사하거나 응용한 데이 터를 생성하는 모델들
  • 3. 분류 • 대부분 MLE(maximum likelihood estimation) 을 기반으로함. • 학습될 distribution 의 밀도 함수를 정의 하면 explicit density • 그 밀도 함수 자체를 학습하면 implicit density
  • 4. PixelRNN/CNN • 이전 pixel 들의 분포를 보고 이번 pixel 이 어떤게 나와야 원본 이미지의 distribution 과 유사할지에 대해 학습. • 하지만 corner 부터 sequence 하게 이 미지를 생성해야 하고, 이전 픽셀에 대 한 dependency 때문에 학습, 생성 속 도가 매우 느림.
  • 5. Autoencoder 원본 이미지를 차원 축소하여 feature 를 생성하고, 다시 upsampling 하여 이미지를 생성해냄. 관건은, encoder 가 얼마나 feature 를 잘 생성하는지, decoder 가 얼마 나 feature 로 부터 이미지를 잘 재현 해 내는지 를 학습함. L2 Loss 를 원본 이미지와 생성된 이 미지에 사용.
  • 6. VAE(Variational Autoencoder) • Autoencoder 로 부터 image 를 생성해보자. • p(z) 로 부터 새로운 이미지를 생 성해보자. • 여기서 z 는 latent variable , 잠재 변수로, 해당 이미지에 존재하는 판단할 수 있는 요소들, 즉 feature 들 입니다. • VAE 는 MLE, 즉 maximum likelihood eistimation 을 통해서 parameter 를 optimize 하게 되는 데, 여기서 문제가 발생함. • Z 가 얼마나 있는지 모름!
  • 7. VAE • 우리가 고양이를 판단할때, 의식적으로 생각 하는 feature 들 보다, 무의식적으로 processing 되는 feature 들이 훨씬 많을듯이, 그 feature 들을 우리는 알 수 없다는것이 문 제입니다. • 따라서, 저 조건을 빼야 계산할 수 있으므로, lower bound 로 저 식을 근사하여 계산하게됨.
  • 8. VAE
  • 9. VAE
  • 10. VAE • 최종적으로 lower bound 를 maximize 하여 학습하게됩 니다. • 수식을 input data를 통해서 latent variable, neural network 에서 부를때는 feature 를 근사하여 뽑게 됩 니다. neural network 에서 뽑히는 latent variable 이 모 든 변수는 아니지만, 일부를 뽑아 근사하기 때문에 괜찮 은거같습니다. • 그 후 decoder network 에 서 image 를 생성하고, 원본 이미지와 복원된 이미지 에 서 복원 오차를 통해 학습하 게됩니다.
  • 11. VAE VAE 는 안정적으로 학습할 수 있고, 평가의 기준이 매우 명확합니다. 또한 데이터의 latent variable 을 같이 학습 할 수 있다는 장점도 있습니다. 하지만 출력이 평균값으로 근사되어 나오는 경향이 있고, 이 때문에 이미 지에 블러가 많이 껴있는듯한 느낌이 많이 들 수 있습니다. 또한 이렇게 모 델을 수식으로 정해두기 때문에, 적용 할 수 없는 경우도 있을 수 있다 합니 다.
  • 12. GAN • VAE 는 밀도 함수를 정의하고, 학습 해야했기 때문에 엄청난 수식 정리 가 필요했음. • 그럼 이제 밀도 함수 자체를 학습해 보자 라는 시도가 있었고, 17, 18 년 도에 GAN 이 엄청난 발전을 했음. • Simple random noise 를 generator network 에 태우고, 여기서 만들어 진 이미지와 원본 이미지를 대조함. • 이때 대조하는 network 는 discriminator network 가 있음.
  • 13. GAN • 결국 게임 이론으로 밀도 함수 자체를 학습하게됨. • 2 player 가 나오는데 • Generator : 최대한 discriminator 를 속여 fake 이미지를 real 인거처럼 속인다 • Discriminator : 최대한 generator 가 속이려 하는것을 간파하고 fake 와 real 을 구분 하려한다. • 최종적으로 Minmax game 을 통해 학습
  • 14. GAN • 학습이 끝난 후에는 generator 를 빼서 사용하게됨.
  • 15. GAN • 각 feature, 즉 latent variable Z 를 GAN 도 학습하게 되는 데 이 Z 가 vector 형태여서 vector 연산이 가능하게됨. • Glasses man – No glasses man + Noglasses Woman = Glasses Women 이 되는 vector 연산이 가능함.
  • 16. GAN • 엄청나게 많은 GAN 모델들이 있음. • https://www.youtube.com/watch?v=p5U4NgVGAwg • 19년도 3월에 nvidia 에서 발표한 GauGan 이라는 모델도 있는 데 정말 어썸함.