Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2016 ICLR] Importance Weighted Autoencoders #113

Open
Jasonlee1995 opened this issue Dec 31, 2022 · 1 comment
Open

[2016 ICLR] Importance Weighted Autoencoders #113

Jasonlee1995 opened this issue Dec 31, 2022 · 1 comment
Labels
Generative Generative Modeling Vision Related with Computer Vision tasks

Comments

@Jasonlee1995
Copy link
Owner

Jasonlee1995 commented Dec 31, 2022

image

VAE 논문에서 ELBO objective를 optimize하는데 있어 sample의 개수인 L = 1을 사용하였음

이때 L을 크게 하면 tightness of the bound를 improve하며 VAE의 assumption을 완화시킬 수 있다는 논문

VAE에 대한 간단한 사전지식은 comment에 달고, 중요하다고 생각되는 부분만 요약

1. Importance Weighted Autoencoder

1.1. Motivation

image

Conditional distribution이 가정하여 수식 전개
(Bayesian Neural Network 같은 느낌?으로 생각해볼 수 있긴한데 ancestral sampling이라서 나온 것임)

image

image

Reparameterization trick을 이용하여 back propagation 가능
(5번 식이 잘못된 것 같은데 log expectation에서 갑자기 expectation log로 바뀌는데, LHS가 expectation log로 바뀌어야할듯)

image

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)

image

저자들이 제안한 알고리즘인 IWAE는 VAE와 같은 architecture를 사용하는데, maximize하는 lower bound가 약간 다름

식이 달라보일 수 있는데, input x에 대하여 posterior distribution을 구한 상태에서 여러번 sampling을 한 objective임
(VAE와의 차이는 VAE는 sample을 1번만 함)

그렇다면 왜 sampling을 더 해야되는가?에 대한 답변은 sampling을 많이 할수록 tightness of the bound을 improve할 수 있기 때문임

image

image

1.3. Training Procedure

image

image

위와 같은 과정을 통해 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

image

논문에서 저자들의 표현을 빌리면 '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를 제대로 활용 못한다고 볼 수 있음)

image

Active units를 계산하는 방법은 모든 input x에 대해 latent의 specific dimension u를 모아서 표준편차를 구한 것으로 이해하였음

@Jasonlee1995 Jasonlee1995 added Generative Generative Modeling Vision Related with Computer Vision tasks labels Dec 31, 2022
@Jasonlee1995
Copy link
Owner Author

image

image

image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Generative Generative Modeling Vision Related with Computer Vision tasks
Projects
None yet
Development

No branches or pull requests

1 participant