Generative Models

hotmoist·2021년 12월 2일
0
post-custom-banner

Udemy 강의 "Machine Learning, Data Science and Deep Learning with Python" 정리 내용

Variational Auto-Encoder(VAE)

Auto-Encoders

  • input을 convolution을 이용하여 dense 한 vector : z (latent vector)로 차원을 축소함 → encoder
  • vector : z를 이용하여 다시 reconstruct하여 원래의 input 형태로 복원 → decoder
  • encoding전 값과 decoder 후의 값이 비슷함
  • 학습을 할 경우 encoder을 사용하지 않음, decoder만 사용함
  • 차원 축소나 compression, search, denoising, colorization에 사용

Transpose convolution

  • decoder에서 Conv2DTranspose 레이어 사용
  • 낮은 차원에서 이미지 픽셀들의 가중치를 학습할 수 있음
  • max-unpooling 사용

Variational Auto-Encoders

  • latent vecotrs을 확률 분포
  • 가우시안 정규 분포의 평균과 분산을 나타냄
  • X → p(z/X) → z → p(X/z) z : latent vector

Reparameterization trick

  • 랜덤 샘플링 된 z 를 deterministic 한 형태로 변경 : Z = mu + sigma*epsilon

Kullback-Leibler Divergence

  • 원래 형태와 재구성된 확률 분포의 거리 구함


Generative Adversarial networks (GAN's)

  • Deep fake를 이용한 얼굴 swapping이나 aging 기술
  • Self driving, 데이터 셋에서 개인 정보 제거 등 사용
  • art, music에도 적용 가능

GAN's

  • latent 벡터의 실제 분산을 학습함
  • generator은 랜덤 노이즈들을 확률 분포에 맵핑함
  • discriminator는 생성된 이미지들을 통해 실제 이미지를 학습함
  • generator가 discriminator에게 생성된 이미지들이 실제 이미지인 것처럼 속임
  • discriminator가 더 이상 차이를 인지하지 못하도록 함

https://poloclub.github.io/ganlab/

profile
No coffee, No coding
post-custom-banner

0개의 댓글