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

Variational Inference Design #2

Open
theogf opened this issue May 20, 2020 · 1 comment
Open

Variational Inference Design #2

theogf opened this issue May 20, 2020 · 1 comment

Comments

@theogf
Copy link
Member

theogf commented May 20, 2020

Here is to discuss about the design concerning variational inference methods.

So far in AugmentedGaussianProcesses.jl things are done this way:

  • There are two functions ∇E_μ and ∇E_Σ which return the gradient of the expected log likelihood given mu and Sigma (the second one returns an arrays as usually you don't need the covariance terms of Sigma).
  • Then the gradient given the ELBO is actually given the natural gradient because there is the relationship nat. grad. of ELBO given natural parameters (eta_1 (Sigma^-1 mu), eta_2 (-0.5Sigma^-1)) is equal to normal grad. of ELBO given normal parameters (mu, Sigma).
    • With the augmentation procedure it's possible to get analytical gradients and set the gradient to 0 and it becomes a coordinate ascent update (or a partial one with a learning rate for the stochastic case)
    • Without it, I just use a natural grad. ascent scheme.
  • Then natural parameters are mapped back to normal parameters.
@theogf
Copy link
Member Author

theogf commented May 20, 2020

Note that for the non-analytic case and for 1-D likelihood (needing only one GP), one can use the Opper and Archambeau (2009) equality :
grad_mu = expec[dlogp/df]
grad_sig = 0.5 expec[d^2logp/d^2f]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant