일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Graph
- AI
- 알고리즘
- 크롤링
- selenium
- 논문리뷰
- dropout
- 리눅스
- YarinGal
- 우분투
- DATA
- 텍스트마이닝
- GNN
- Crawling
- PYTHON
- 불확실성
- VAE
- pytorch
- uncertainty
- 데이터분석
- 강화학습
- 베이지안
- 텍스트분석
- 빅데이터
- 코딩테스트
- bayesian
- 파이썬
- pandas
- 백준
- R
- Today
- Total
끄적거림
[논문 비평] Variational AutoEncoder Bayes 본문
논문 링크 : https://arxiv.org/abs/1312.6114
해당 논문은 워낙에 유명해서 이미 영상이나, 블로그 등으로 설명이 아주 자세하게 나와있다. 그 중에서 괜찮은 설명이 있었던 블로그를 가져와 보았다.
논문 설명
1. https://deepinsight.tistory.com/127
2. https://ratsgo.github.io/generative%20model/2018/01/27/VAE/
이 블로그만 읽어도 VAE가 무엇인지 어느정도 알 것이라고 생각한다.
그러면 VAE가 bayesian 패러다임을 사용하는 것도 어느정도 보았을 것이다.
나는 이 VAE가 정말로 bayesian 철학과 패러다임을 이어 받은 것인지가 의문이다.
1. 일단은 prior를 normal 분포로 세팅한 것.
이 것은 normal 분포가 흔히 만만하고 유용한 분포다보니 그럴 수 있다고 생각은 한다.
2. 두 번째로, weight에 대한 분포가 아닌 latent variable에 대한 분포라는 것.
베이지안의 가장 근원적인 철학은 데이터가 발생하는 원리가 데이터에 있는 것이 아니고 parameter에 있다는 것인데, 해당 논문은 parameter보다는 latent variable z에 대해 관심이 있는 것으로 세팅을 해놓았다.
+ 게다가 latent variable z 분포를 위해 $\mu$와 $\sigma^2$을 Neural Network로 만들었다는 것.
그러면 NN의 parameter은 deterministic한 고정값으로 나오는 것이고 $\mu$와 $\sigma^2$에 대한 값조차도 어느정도 학습되어 고정된 값으로 도출된다.
하지만 이 것들은 역전파를 위한 reparameterization trick 때문에 사용하는 것이라고 생각한다면, 어느정도 베이지안 패러다임에서 벗어나더라도 넘어갈 수 있다고 생각한다.
3. 세 번째로는, likelihood인 $p(x|z)$의 분포를 얻기 위해 MLE를 사용한다는 것.
MLE는 부정할 수 없는 deterministic 방법론이다.
물론 이 과정에서 Variational Inference를 유도하여 결국 posterior와 유사한 $q(\theta)$ 분포를 얻을 수 있긴 하다.
단지 prior와 posterior 개념을 차용하여 사용했다는 것으로 bayes가 붙은 것인가 싶다.
베이지안을 공부하여 어느정도 베이지안 철학을 내 머리에 세팅해 놓고, VAE를 보다보니 분명 prior, posterior 등 베이지안의 개념을 사용하는 것 같아서 더 확인해보면 정말 베이지안을 사용하는 것이 아닌 것 같아서 이해하고 VAE 코드를 수정하기가 매우 어려웠다.
혹시 나와 같은 생각을 한 사람은 없을까?
https://jeffreyling.github.io/2018/01/09/vaes-are-bayesian.html
Jeffrey Ling 라는 분이 작성한 영어원문이다.
아직 읽어보진 않았지만, jeffrey라고하니 이름에서 뭔가 믿음이 간다.
조만간 한 번 읽고 해당 논문에 대해 생각하는 글을 포스팅해보도록 하겠다.