-
Notifications
You must be signed in to change notification settings - Fork 83
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
Add support for parallel hmm sampler #341
Comments
The HMM sampling can't really be done using prefix-sum. You would need to
use a divide and conquer approach as in Section 3.2 in my paper
https://arxiv.org/abs/2303.00301
(Note that it's for Gaussians but the general principle applies).
…On Tue, 5 Sept 2023, 22:31 Caleb Weinreb, ***@***.***> wrote:
Currently there are associative scan implementations for hmm smoothing and
filtering, but not for sampling.
—
Reply to this email directly, view it on GitHub
<#341>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEYGFZ2XVWPCYRF4TWE6GRDXY54X3ANCNFSM6AAAAAA4MH73AQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
@AdrienCorenflos, I think @calebweinreb has actually come up with a clever way to implement the HMM (and LGSSM) sampling with |
The LGSSM is unsurprising (it's just a cumulative sum over pre-generated
Gaussians). In fact I think I had it implemented some time ago.
I'm actually surprised by the HMM case though. I had given it some thought
and decided it was not possible because I didn't see how selecting indices
could be associative. I need to check how that is done here. Is there a
small proof for it somewhere?
…On Wed, 6 Sept 2023, 00:06 Scott Linderman, ***@***.***> wrote:
@AdrienCorenflos <https://github.com/AdrienCorenflos>, I think
@calebweinreb <https://github.com/calebweinreb> has actually come up with
a clever way to implement the HMM (and LGSSM) sampling with
associative_scan! Curious what you think of his implementation in this PR
#342 <#342>. You can see the
corresponding parallel LGSSM sampler here
<https://github.com/probml/dynamax/blob/main/dynamax/linear_gaussian_ssm/parallel_inference.py#L356>
.
—
Reply to this email directly, view it on GitHub
<#341 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEYGFZ2VIY2Y7RHZOCTYJC3XY6H5HANCNFSM6AAAAAA4MH73AQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Hi Adrien, The way I think about the algorithm, each associative scan element is a function |
I think the other necessary ingredient to the proof is that the function composition Finally, note that the base cases |
Currently there are associative scan implementations for hmm smoothing and filtering, but not for sampling.
The text was updated successfully, but these errors were encountered: