일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Computer Vision
- Neural Radiance Field
- pytorch
- 논문리뷰
- 융합연구
- Vae
- 논문
- panoptic segmentation
- NERF
- Python
- 2022
- linux
- Semantic Segmentation
- paper review
- 파이토치
- GAN
- 경희대
- Paper
- ICCV
- 리눅스
- CVPR
- ICCV 2021
- docker
- NeRF paper
- IROS
- CVPR2023
- panoptic nerf
- 딥러닝
- 논문 리뷰
- Deep Learning
- Today
- Total
윤제로의 제로베이스
Beta-VAE 본문
Introduction
VAE Loss 는 Samping 된 Latent Vector에서 본래 이미지가 잘 생성되는지에 대한 Reconstruction term과 생성 데이터에 대한 통제를 위해 latent vector가 prior 분포를 따르도록 하는 Regularization term으로 이뤄어져 있다.
이에 대한 가중치를 부여하여 VAE의 Blurry한 이미지를 줄여보자!
Main Method
이미지 생성기에 z가 아닌 v, w를 집어 넣는다.
이때 v는 conditionally independent factors로 disentagle하기 원하는 요소를 의미하고
w는 conditionally dependent factors로 알고자 하는 부분은 아니다.
Generative model은 data x와 latent z의 결합 분포를 학습하게 된다. 이때 z는 x를 생성할 수 있는 latent이다.
그래서 다음과 같은 확률분포를 최대화 하도록 학습되게 된다.
곧바로 p_theta(x|z)를 알수 없으므로 우린 q_phi(z|x)로부터 z의 분포를 추정하게 된다.
여기서 중요한 포인트는 v를 disentangle하게 해야한다는 것이다.
그리고 여기서 q_phi(z|x)가 p(z)와 같아지게끔 한다.
위의 수식을 KKT 조건 하에 라그랑지안으로 풀면 아래의 수식이된다.
여기서 라그랑주 승수법은 두가지 조건을 동시에 만족시키는 공통 접선을 찾는 원리 하에 진행되는 방법이다.
즉, 제약 조건을 만족하며 최대 최소를 찾는것이다.
라그랑주 승수법은 목적 함수 f(x)와 제약 함수 g(x)가 있다면 이를 하나의 식으로 만든다.
KKT 조건은 라그랑주 수식이 연립 부등식인 경우 아래의 조건들을 만족해야한다.
- 모든 변수의 미분값은 0이다.
- 모든 라그랑주 승수값과 제한 조건 부등식(라그랑주 승수값에 대한 미분)의 곱이 0이다.
- 라그랑주 승수는 음수가 아니어야한다.
여기서 KKT multiplier beta는 latent information channel z를 통제하는 regularization coefficient가 된다.
KKT 조건인 The complementary slackness에 따라 epsilon >= 0이므로 위와 같이 lower bound가 나오게 된다.
여기서 beta가 가중치를 주는 항은 X와 Z의 정보량을 나타내는 항이다.
모델에서 인코더에서 나오는 z를 우리가 정한 prior에 가깝게 만들며 정보를 압축하게 된다.
이때 beta가 작아지면 z가 강한 표현력을 갖게된다. 작은 분산과 멀어진 평균을 갖는 것이 유리하지만 KLD가 매우 커지게 된다.
beta가 커지면 z가 하나의 Gaussian에 근사하여 표현력과 모델의 성능은 떨어진다.
하지만 큰 값을 줄 때 disentangling 된다.
그 이유는 z의 차원 중 최소한의 z에 연관 정보를 담게 하여 부득이한 KLD만 가지는 것이 유리해지기 때문이다.
Beta의 역할을 더 찾아보면.
- Disentanglement의 정도를 조절할 수 있다.
- beta = 1이면, Vanilla VAE와 똑같아지고
- beta > 1이면, 더 좋은 latent representation을 찾기 위해 학습하게 된다. →Regularize term이 강화된다.
- 학습이 비교적 안정적이다.
결국 제약 조건들로 인해 beta를 잘 조절하여 학습하면 z가 v와 w로 분리된다.
즉 기존의 VAE에서 KL term 규제를 가해 latent vector의 분포가 prior를 따르도록 강제하게 되면 distanglement가 잘 되게 된다.
여기서 높은 beta는 v의 distangeeld representation을 학습하지만 학습된 latent representation에서 reconstruction fidelity와 disentangled quality 간의 trade-off가 발생한다.
이로 인해 beta가 커지고 distangle이 잘 되는 경우 이미지 복원을 잘 못하는 상황이 생김.
하지만 VAE 기반으로 이루어지기 때문에 규제를 가하면서 정보 손실을 일으켜 Blurry한 이미지를 얻게된다.
이게 작동하는 원리는 아직 이해하지 못했다...
꼭 이해할 수 있도록
'Self Paper-Seminar > VAE' 카테고리의 다른 글
Intro-VAE (0) | 2022.10.25 |
---|---|
InfoVAE: Information Maximizing Variational Autoencoders (0) | 2022.10.19 |
VQ-VAE (Neural Discrete Representation Learning) (0) | 2022.10.12 |
Conditional Variational AutoEncoder: CVAE (0) | 2022.09.28 |
Variational Autoencoders: VAE (0) | 2022.09.21 |