728x90
VAE (Variational AutoEncoder)
- Decoder(생성)을 학습시키기 위해 Encoder를 붙인 것
- Network를 학습시켜 train data x가 나올 확률을 구하는 것이 목적임
- random noise로 부터 원하는 결과를 얻을 수 있을까? 라는 의문에서 시작됨
구조
- Encoder: 학습 데이터를 Latent Variable Vector로 변환함
- Latent Variable Vetor: 고양이 특징들이 담겨져있음
- Decoder: Latent Variable Vector를 받아 학습 데이터와 비슷한 데이터를 만듦
- 입출력을 비교하여 loss를 도출함 -> 비지도 학습
- Sampling 전의 벡터는 후의 벡터보다 2배 더 많다 (평균과, 분산이 각각 들어있기 때문)
- z분포에서 z를 변환받음
Reparametrization trick
- 위의 방식대로 하면 미분이 불가능해 역전파를 할 수 없는 문제가 발생하는데 이를 해결하기 위해 고안된 방법
- Encoder의 평균과 분산을 바로 사용하지 않고 N(0 ,\(1^{2} \))를 따르는 random noise(x) 를 만들어 y = ax + b 형식으로 사용한다.
728x90
'Generative model' 카테고리의 다른 글
[GAN] GAN 학습 (1) | 2022.12.29 |
---|---|
[GAN] 생성 모델 GAN의 이해 (0) | 2022.12.29 |
[GAN] GANs Generative Adversarial Networks (0) | 2022.12.26 |
[GAN] 확률 밀도 함수 추정, 샘플링 (0) | 2022.10.14 |
[GAN] Computer vision (0) | 2022.10.14 |