Excited about this new working paper! Monte Carlo samplers are a wonderfully interesting class of discrete+continuous random processes, and taking their derivative can have a number of applications π
@MoritzSchauer@xuanalogue The code snippet in https://t.co/HKOQEKqC1E would be the closest thing for nowπ but you've gotta wrap the strings branches etc. into a nice vector space -> vector space function:) For more flexibility, you'd want continuation-passing style like in ADEV https://t.co/nvRLiZuCMG!
@cosmic_mar@MilesCranmer Makes sense. In that case, I guess you just have to hope that the subtypes of one of the two parent types can be finitely enumerated, and forward all the requisite methods onto each of them as @MilesCranmer noted. Sort of a "manually strapped on" trait dispatch π
@MilesCranmer@cosmic_mar But in the common case where we can't do that, we have to work with the (successful but sometimes flawed) default choice of dispatch algorithm. Another relevant link: https://t.co/w6bNDXUv6G
@MilesCranmer@cosmic_mar meaning if one were to own a function, one has the power to change the dispatch paradigm (e.g. by asking users to define _f(args...) for their types, and then writing f(args...) to do arbitrary type-space manipulations to call the right _f implementation).
@thatpinkney There's been some prior work (cited in our preprint) that's had some success doing only the former and not the latter, so it's an interesting space
Excited about this new working paper! Monte Carlo samplers are a wonderfully interesting class of discrete+continuous random processes, and taking their derivative can have a number of applications π
@thatpinkney It's a natural next step! That involves differentiating through both HMC's continuous dynamics and the MH accept/reject. Some discussion here: https://t.co/gsvhwjf0OG
@ChrisRackauckas@alexanderklew@_k_a_c_h_@NotGauravArya Yup! I tend to think of HMC as "a fancy version of MH with a custom proposal probabilistic program", so I imagine the main additional work is propagating gradients through the deterministic parts of that program (i.e. the leapfrog integrator)!
Our 4-page paper presents some key ideas on how to get there.
In particular, we aim to form a *consistent* derivative estimator a la the usual Ergodic theorem.
@ayushchopra96@ChrisRackauckas@MIT@MoritzSchauer Hey, I agree they're related, and we'd be happy to cite your work in our final revision! Our hope is to differentiate these models unbiasedly, but as its empirical success shows Gumbel-Softmax is no doubt a good approach that avoids the complications of discreteness.