반응형
VQ-VAE는 VAE에서 latent를 quantize한 것이다. 덕분에 noise에 resistant하다던가 하는 얘기가 있는데 안써봐서 잘은 모르겠다.
embedding space에 latent값을 따로 넣고, encoder를 통해서 접근할 codebook의 index를 찾고, encoder output을 그 codebook의 값으로 대체하는 방식이다.


첫번째 항은 당연히 reconstruction term이다. quantized embedding에서 decoder를 거쳐서 recon이 되도록 하는 것이 목적.
두번째 항은 reg term이다. 코드북 벡터를 update한다. 이때 encoder 출력은 freeze한다. 세번째 항도 reg term이다. 여기서는 encoder를 학습해서 codebook과 가까워지도록 한다. 두 번째, 세 번째는 quantized latent space를 사용하려고 하니 어쩔 수 없이 나뉘게 되는 것...
여기서 $\nabla_z L$는 Straight-Through Estimator로, 중간의 quanization 부분을 건너 뛰고 decoder 입력단까지 온 gradient를 encoder 끝단으로 복사해주는 trick이다.
반응형
'AI > Generative Models' 카테고리의 다른 글
| [Generative Models] VAE 수식 전개 및 의미 정리 (0) | 2026.01.20 |
|---|