SlideShare a Scribd company logo
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

PPTX
Review MLP Mixer
PPTX
알기쉬운 Variational autoencoder
PPTX
Generative adversarial network
PDF
Variational Auto Encoder, Generative Adversarial Model
PDF
Chapter 20 - VAE
PPTX
InfoGAN Paper Review
PPTX
GAN with Mathematics
Review MLP Mixer
알기쉬운 Variational autoencoder
Generative adversarial network
Variational Auto Encoder, Generative Adversarial Model
Chapter 20 - VAE
InfoGAN Paper Review
GAN with Mathematics

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

PPTX
Anomaly Detection with GANs
PPTX
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
PPTX
Deep learning overview
PPTX
SAGAN_2024seminar announce_seoultech.pptx
PDF
Auto-Encoders and Variational Auto-Encoders
PPTX
Gan (generative adversarial network)
PPTX
Anomaly detection practive_using_deep_learning
PDF
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
PDF
GAN - Generative Adversarial Nets
PPTX
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
PPTX
Denoising auto encoders(d a)
PDF
딥러닝 세계에 입문하기 위반 분투
PDF
Understanding deep learning requires rethinking generalization (2017) 2 2(2)
PDF
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
PDF
십분딥러닝_7_GANs
PPTX
Variational AutoEncoder(VAE)
PPTX
Convolutional Neural Networks
PDF
Neural network의 변천사 이태영
PDF
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 2 - ZFNet, VGG-16
PPTX
Convolutional neural networks
Anomaly Detection with GANs
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Deep learning overview
SAGAN_2024seminar announce_seoultech.pptx
Auto-Encoders and Variational Auto-Encoders
Gan (generative adversarial network)
Anomaly detection practive_using_deep_learning
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
GAN - Generative Adversarial Nets
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
Denoising auto encoders(d a)
딥러닝 세계에 입문하기 위반 분투
Understanding deep learning requires rethinking generalization (2017) 2 2(2)
마이캠퍼스 딥러닝스쿨(한돌) 파트#2-딥러닝핵심
십분딥러닝_7_GANs
Variational AutoEncoder(VAE)
Convolutional Neural Networks
Neural network의 변천사 이태영
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 2 - ZFNet, VGG-16
Convolutional neural networks
Ad

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 이라는 모델도 있는 데 정말 어썸함.