Add general info form message passing algorithms for linear Gaussian SSMs
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- machine-learning
Research direction
Start by comparing the linked block-tridiagonal routines in ssm-jax and ssm/messages.py with the repository's LGSSM info inference code. Add equivalent routines that operate directly on the block tridiagonal precision matrix and precision-weighted mean, including the information-form samplers and smoothers described in the issue; done means these routines are available in the LGSSM info inference code.
Written by the indexing model from the issue text.
Description
The current versions of information form message passing for LGSSMs use a hybrid representation of dynamics parameters and information form emission parameters. It is often helpful to have routines that operate directly on the block tridiagonal precision matrix and the precision-weighted mean. Examples of such implementations are:
- https://github.com/lindermanlab/ssm-jax/blob/main/ssm/distributions/mvn_block_tridiag.py#L11
- https://colab.research.google.com/drive/1kY39c4UQNeG1CpviAql-iZ0dxMY8o8mn?usp=sharing
- https://github.com/lindermanlab/ssm/blob/master/ssm/messages.py#L1043
- https://github.com/lindermanlab/ssm/blob/master/ssm/messages.py#L1080
(I've also written information form samplers and smoothers in JAX, along the lines of the last two links.)
We should add similar inference routines to the LGSSM info inference code.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 114
- Avg merge
- 19h 14m
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from probml/dynamax
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100