Skip to content

Need help with understanding gradient computation implementation in backward call in _inv_quad_logdet.py #2104

Answered by gpleiss
srinathdama asked this question in Q&A
Discussion options

You must be logged in to vote

However, the current implementation of _quad_form_derivative() for non_lazy_tensor computes one term ab^T, instead of the sum of two terms given in the above equation. Please let me know whether I am doing something wrong in my derivation. Even an explanation about how the gradients w.r.t covariance matrix, i.e matrix_arg_grads, are being computed would be helpful.

This is correct. The _quad_form_derivative method (and the whole LazyTensor abstraction) is designed to be as abstract as possible. This is because we want to be able to backpropagate through functions other than the log marginal likelihood of the GP (for example, we want to back propagate through predictions made with lazy t…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@srinathdama
Comment options

@gpleiss
Comment options

@srinathdama
Comment options

Answer selected by srinathdama
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants