새소식

딥러닝, 머신러닝/생성 모델

생성 모델의 기초

  • -

확률 밀도 함수 추정

  • 64x64x3 과 같은 input 이미지가 있을 때, 1차원의 vector로 만들어서 그에 따른 값을 추정하는 확률 분포
  • x, y가 어떤 값일 때 나올 수 있는 확률값 (아래 이미지의 바닥면이 x, y이고 확률값이 수직면이라 보면 된다)

3차원 그래프 (출처: 구글)

 


 

VAE의 이해

 

1. Autoencoder

  • 정보 압축 및 복원을 위한 모델

Autoencoder (출처: 구글)

 

2. VAE

  • Autoencoder의 확률론 기반 변형
  • encoder의 output vector가 확률 변수로 모델링되어, 샘플링과정을 통해 추출된 벡터(평균, 분산/표준편차의 추정치)가 디코더의 입력으로 사용됨

VAE (출처: 구글)

 

loss

  • 출력 이미지와 입력 이미지 차이
  • KL (KL Diversions term) : dimension별로의 평균/표준편차가 표준정규분포(평균 0, 분산 1) 가깝도록 해주는 regularization term

 


 

VAE 학습 과정

  • 주어진 입력 이미지를 하나의 긴 vector로 만들고,
    인코더의 output은 각 dimension(RGB 3차원)별로 정규분포의 평균/분산 추출
    정규분포에서 랜덤 샘플링을 통해 하나의 벡터 얻게되고
    그걸 디코더의 입력으로 사용한다
  • loss : 입력-출력 차이, 표준정규분포에 가깝도록 하는 KL Diversions term 사용
  • Reparameterization Trick : back-prop 안되는 문제 개선하기 위한 방법.

 

Reparameterization Trick

인코더에서

평균 3, 분산 2로 주어졌을 때 N(3, 2^2)에서 샘플링 하는 게 아니라,

표준정규분포 N(0, 1^2)에서 샘플링하도록 처리 

0.7이 첫번째 dimension이라면, 샘플링한 표준편차 2를 곱하고, 평균 3을 더해서

y = ax + b

y = 2*0.7 + 3

위처럼 처리한다. (affine transform) N(3, 2^2)에 정확히 대응이 되는 값

a,b라는 값 쪽으로 back-prop을 수행, 학습

 

 

VAE 결과 (출처: 구글)

VAE는 생성 결과가 blurry함

  • VAE loss 한계점 : 이런 단점을 극복한 GAN

'딥러닝, 머신러닝 > 생성 모델' 카테고리의 다른 글

GAN 모델 기초  (0) 2022.05.30
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.