I am new to both pyro and probabilistic programming but I tried to do my homework before I raise this issue, please bear with me if it is real basic.

I was going through the Bayesian regression tutorial and don’t quite understand the difference between the model function and the guide function, both of them create a linear model, with parameter defined as a distribution.

My understanding is that model function simply add samples (to adjust the prior to sample to model from) while guide function only returns a (trainable?) regression model sampled from the parameter distributions.

However, its written that the guide function is one with the parameter that actually get trained.

TL;DR

What is the point of defining 2 sets of parameters (in model and guide)?

Why is the parameter in model drawn from a constant distribution?

Why do we need argument for the guide function if its never reference during training and inference?

Thank you