[Paper Review] Auto-Encoding Variational Bayes 리뷰
최근 생성 AI에 관심이 많아지면서 만들면서 배우는 생성 AI 책을 보게 되었다.
책의 내용이 AE -> VAE -> GAN -> Diffusion 으로 이루어져 있어서,
관련 논문들을 읽고 리뷰하면 좋겠다는 생각이 들어 VAE부터 시작.
이미 많은 분들이 해주신 리뷰가 있어 이것저것 참고하면서 기초가 되는 지식과 함께 수식을 정리해보았다.
[Pre] Basic
- Auto Encoder는 두 부분으로 구성된 신경망
1) Encoder : 고차원 input 을 저차원 embedding vector로 압축
2) Decoder : embedding vector를 도메인으로 압축 해제
- Auto Encoder 와 Variational Auto Encoder 의 차이
- AE의 경우 : 각 이미지가 잠재 공간의 한 포인트에 직접 mapping
- VAE의 경우 : 각 이미지가 잠재 공간에 있는 포인트 주변의 다변량 정규 분포에 mapping
[Paper Review]
1. VAE Architecture
$\mu$ 와 $\sigma$ 에서 바로 sampling 하지 않고 표준정규분포에서 $\epsilon$을 sampling 한 후 정의 한 이유?
1. output을 다양하게 생성하기 위해서
- $\epsilon$을 추가하지 않으면 동일한 input 마다 똑같은 $\mu$ 와 $\sigma$ 을 산출하게 됨.
- 이로 인해 매번 동일한 output을 생성하게 됨.
2. backpropagation을 위해서
- encoder를 통해 나온 $\mu$ 와 $\sigma$ 모두 $q_\phi(z|x)$ 의 모수.
- 이 모수를 바탕으로 가우시안 분포로부터 decoder에서 sampling할 경우 미분 불가능.
- latent vector z를 $\mu + \sigma \times \epsilon$ 식의 곱셈과 덧셈으로 표현하게 되면 chain rule이 끊기지 않고 backpropagation이 가능해짐.
2. 수식 정리
- 여전히 $p(z|x)$ 는 알 수 없음.
- 하지만 위의 식이 KLD로, 0보다 항상 같거나 크다는 것을 이용하여 lower bound를 구해서 최대화 하는 방향으로 풀 수 있음 (= ELBO)
- 이번 페이지에서는 수식을 정리해봤고, 다음에는 코드 리뷰를 해 볼 예정이다.
참고
- 만들면서 배우는 생성 AI
- https://velog.io/@lee9843/VAE-Auto-Encoding-Variational-Bayes-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0
VAE : Auto-Encoding Variational Bayes - 논문 리뷰
오늘은 대망의 VAE를 리뷰해보겠습니다! 이번 논문은 수식이 많아 까다롭게 느껴질 수 있지만, 천천히 논리들을 따라가며 리뷰를 진행해보겠습니다. 논문을 볼 때 마다 읽다보면 오 그렇구나 하
velog.io
[Paper review] VAE - Auto-Encoding Variational Bayes (2013, ICLR)
이번에 리뷰할 논문은 VAE (Variational Auto-Encoder)로 잘 알려져있는 'Auto-Encoding Variational Bayes'이다. 현재 multimodel deep generative model, diffusion 등 generative model에 대한 연구가 활발히 이루어지고 있어서 개
woongchan789.tistory.com