You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VAE 논문에서 ELBO objective를 optimize하는데 있어 sample의 개수인 L = 1을 사용하였음
이때 L을 크게 하면 tightness of the bound를 improve하며 VAE의 assumption을 완화시킬 수 있다는 논문
VAE에 대한 간단한 사전지식은 comment에 달고, 중요하다고 생각되는 부분만 요약
1. Importance Weighted Autoencoder
1.1. Motivation
Conditional distribution이 가정하여 수식 전개
(Bayesian Neural Network 같은 느낌?으로 생각해볼 수 있긴한데 ancestral sampling이라서 나온 것임)
Reparameterization trick을 이용하여 back propagation 가능
(5번 식이 잘못된 것 같은데 log expectation에서 갑자기 expectation log로 바뀌는데, LHS가 expectation log로 바뀌어야할듯)
epsilon을 fix시키면 mapping h는 feed-forward neural network로 표현할 수 있으며, k = 1일 때가 VAE임
VAE objective는 observation을 explain하는데 실패한 approximate posterior samples를 heavily penalize한자는 단점이 있음
무슨 말이냐면 VAE의 assumption인 posterior distribution이 approximately factorial하고 feed-forward neural network로 predictable한다는 strong constraint로 인해, 이를 만족하지 못하는 data들에 대하여 latent를 잘 못뽑아내게 된다는 것
VAE assumption에 fit하지 않는 posterior distribution도 generative network가 학습할 수 있게 additional flexibility를 주었으면 하는게 Importance Weighted Autoencoder (IWAE)의 motivation임
1.2. Importance Weighted Autoencoder (IWAE)
저자들이 제안한 알고리즘인 IWAE는 VAE와 같은 architecture를 사용하는데, maximize하는 lower bound가 약간 다름
식이 달라보일 수 있는데, input x에 대하여 posterior distribution을 구한 상태에서 여러번 sampling을 한 objective임
(VAE와의 차이는 VAE는 sample을 1번만 함)
그렇다면 왜 sampling을 더 해야되는가?에 대한 답변은 sampling을 많이 할수록 tightness of the bound을 improve할 수 있기 때문임
1.3. Training Procedure
위와 같은 과정을 통해 gradient를 구하여 back propagation을 할 수 있음
저자들은 15번 식에 대하여 다음과 같이 분석함
log p(x,h) : encourages the encoder to adjust the hidden representations so that the generative network makes better predictions
p(x,h)가 maximize되도록 학습
p(x,h) = p(x|h) * p(h)로 표현해보면 p(h)는 사실상 prior distribution으로 정해져있어 p(x|h)만 신경쓰면 됨
p(x|h)를 maximize한다는 것은 generator는 latent가 주어졌을 때 잘 생성하도록 학습될 것이고, encoder는 generative network가 prediction을 잘 할 수 있도록 학습될 것임
-log q(h|x) : encourages the recognition network to have a spread-out distribution over predictions
-q(h|x)가 maximize되도록 학습
entropy 식을 보면 H(X) = E(-log p(X))임
이 관점에서 생각해보면 q(h|x)의 entropy가 커지는 방향으로 학습한다는 것임
entropy가 커진다는 말은 uniform distribution처럼 standard deviation이 커지게끔 학습이 된다는 의미
즉 해당 term은 encoder가 spread-out distribution이 되도록 학습 (approximated posterior가 spread-out distribution이 되게)
위에서 나온 말과 해석은 거창한데, input x에 대하여 posterior distribution을 구하면 거기서 sampling을 여러번 돌려서 학습하겠다는 것임
Implementation에서는 1개의 input x를 k번 duplicate하여 학습
2. Experimental Results
논문에서 저자들의 표현을 빌리면 'both VAEs and IWAEs tend to learn latent representations with effective dimensions far below their capacity'로, 둘다 neural network의 capacity를 잘 활용하지 못하지만 active units를 통해 IWAE가 VAE보다는 괜찮다는 것을 알 수 있음
(IWAE가 완화했지만, VAE의 strong assumption으로 인해 capacity를 제대로 활용 못한다고 볼 수 있음)
Active units를 계산하는 방법은 모든 input x에 대해 latent의 specific dimension u를 모아서 표준편차를 구한 것으로 이해하였음
The text was updated successfully, but these errors were encountered:
VAE 논문에서 ELBO objective를 optimize하는데 있어 sample의 개수인 L = 1을 사용하였음
이때 L을 크게 하면 tightness of the bound를 improve하며 VAE의 assumption을 완화시킬 수 있다는 논문
VAE에 대한 간단한 사전지식은 comment에 달고, 중요하다고 생각되는 부분만 요약
1. Importance Weighted Autoencoder
1.1. Motivation
Conditional distribution이 가정하여 수식 전개
(Bayesian Neural Network 같은 느낌?으로 생각해볼 수 있긴한데 ancestral sampling이라서 나온 것임)
Reparameterization trick을 이용하여 back propagation 가능
(5번 식이 잘못된 것 같은데 log expectation에서 갑자기 expectation log로 바뀌는데, LHS가 expectation log로 바뀌어야할듯)
epsilon을 fix시키면 mapping h는 feed-forward neural network로 표현할 수 있으며, k = 1일 때가 VAE임
VAE objective는 observation을 explain하는데 실패한 approximate posterior samples를 heavily penalize한자는 단점이 있음
무슨 말이냐면 VAE의 assumption인 posterior distribution이 approximately factorial하고 feed-forward neural network로 predictable한다는 strong constraint로 인해, 이를 만족하지 못하는 data들에 대하여 latent를 잘 못뽑아내게 된다는 것
VAE assumption에 fit하지 않는 posterior distribution도 generative network가 학습할 수 있게 additional flexibility를 주었으면 하는게 Importance Weighted Autoencoder (IWAE)의 motivation임
1.2. Importance Weighted Autoencoder (IWAE)
저자들이 제안한 알고리즘인 IWAE는 VAE와 같은 architecture를 사용하는데, maximize하는 lower bound가 약간 다름
식이 달라보일 수 있는데, input x에 대하여 posterior distribution을 구한 상태에서 여러번 sampling을 한 objective임
(VAE와의 차이는 VAE는 sample을 1번만 함)
그렇다면 왜 sampling을 더 해야되는가?에 대한 답변은 sampling을 많이 할수록 tightness of the bound을 improve할 수 있기 때문임
1.3. Training Procedure
위와 같은 과정을 통해 gradient를 구하여 back propagation을 할 수 있음
저자들은 15번 식에 대하여 다음과 같이 분석함
p(x,h)가 maximize되도록 학습
p(x,h) = p(x|h) * p(h)로 표현해보면 p(h)는 사실상 prior distribution으로 정해져있어 p(x|h)만 신경쓰면 됨
p(x|h)를 maximize한다는 것은 generator는 latent가 주어졌을 때 잘 생성하도록 학습될 것이고, encoder는 generative network가 prediction을 잘 할 수 있도록 학습될 것임
-q(h|x)가 maximize되도록 학습
entropy 식을 보면 H(X) = E(-log p(X))임
이 관점에서 생각해보면 q(h|x)의 entropy가 커지는 방향으로 학습한다는 것임
entropy가 커진다는 말은 uniform distribution처럼 standard deviation이 커지게끔 학습이 된다는 의미
즉 해당 term은 encoder가 spread-out distribution이 되도록 학습 (approximated posterior가 spread-out distribution이 되게)
위에서 나온 말과 해석은 거창한데, input x에 대하여 posterior distribution을 구하면 거기서 sampling을 여러번 돌려서 학습하겠다는 것임
Implementation에서는 1개의 input x를 k번 duplicate하여 학습
2. Experimental Results
논문에서 저자들의 표현을 빌리면 'both VAEs and IWAEs tend to learn latent representations with effective dimensions far below their capacity'로, 둘다 neural network의 capacity를 잘 활용하지 못하지만 active units를 통해 IWAE가 VAE보다는 괜찮다는 것을 알 수 있음
(IWAE가 완화했지만, VAE의 strong assumption으로 인해 capacity를 제대로 활용 못한다고 볼 수 있음)
Active units를 계산하는 방법은 모든 input x에 대해 latent의 specific dimension u를 모아서 표준편차를 구한 것으로 이해하였음
The text was updated successfully, but these errors were encountered: