Hi, I’m new to pyro and struggling to figure out whether pyro is appropriate to replicate Francisco J. R. Ruiz, Susan Athey and David M. Blei’s paper (https://arxiv.org/pdf/1711.03560.pdf) ‘SHOPPER: A PROBABILISTIC MODEL OF CONSUMER CHOICE WITH SUBSTITUTES AND COMPLEMENTS’.
Now I’m stuck in one specific question about the inference of the model, the one-vs-each bound to approximate a big softmax. (page 31)
where eta is at page 10 (Sorry, new user is only allowed to post one figure, so I combine it to the right.)
Although within this context, I believe what is important is how to do this in pyro?
(the one-vs-each bound is introduced in paper ‘One-vs-each approximation to softmax for scalable estimation of probabilities’ https://arxiv.org/pdf/1609.07410.pdf)
Usually we will do:
pyro.sample(“eta”, dist.Categorical(logits), obs=data)
but with one-vs-each bound, we may do something like (I’m not sure):
pyro.sample(“eta”, dist.Binomial(logits), obs=data)
So, what should we use to scale the negative-sampled loss?
Should it be with pyro.plate()? Or shall we customize the ELBO?
I hope I make myself understood. Any help is appreciated~