Skip to content
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

score-based diffusion models as density estimators #962

Open
janfb opened this issue Feb 28, 2024 · 6 comments · May be fixed by #1015
Open

score-based diffusion models as density estimators #962

janfb opened this issue Feb 28, 2024 · 6 comments · May be fixed by #1015
Assignees

Comments

@janfb
Copy link
Contributor

janfb commented Feb 28, 2024

Is your feature request related to a problem? Please describe.

Score estimation has been introduced for SBI, see

it would be great to integrate these approaches into sbi.

Describe the solution you'd like

(feel free to move the last three points to separate issues, or create individual PRs for each).

@janfb janfb added this to the Hackathon 2024 milestone Feb 28, 2024
@manuelgloeckler manuelgloeckler self-assigned this Feb 28, 2024
@rdgao rdgao self-assigned this Mar 18, 2024
@jsvetter
Copy link
Contributor

I would also be interested in doing this!

@pfuhr
Copy link

pfuhr commented Mar 18, 2024

me too!

@pfuhr
Copy link

pfuhr commented Mar 18, 2024

I am not part of the org yet, though would like to be assigned.

@rdgao
Copy link
Contributor

rdgao commented Mar 18, 2024

rough work plan for the "basic" components:

  • in neural_nets, something like a VectorFieldEstimator super class that is the generic class for specific subclasses, including ScoreEstimator and FlowMatchEstimator, corresponding to score matching (i.e., denoising diffusion model) and flow matching, respectively, with their specific losses
  • a VectorFieldSampler class in samplers that receives the VectorFieldEstimator and samples by, e.g., solving the ODE/SDE
  • a VectorFieldPosterior object in inference/posteriors/ that receives the VectorFieldEstimator and sets up a VectorFieldSampler to create the posterior distribution, similar to DirectPosterior

does this sound about right? (also @janfb, @michaeldeistler, etc.)

@jsvetter
Copy link
Contributor

jsvetter commented Mar 18, 2024

torchdiffeq seems like a reasonable choice for ODEs in pytorch. It's also used in dingo! Alternatives are torchDyn and torchode.

@rdgao
Copy link
Contributor

rdgao commented Mar 18, 2024

I don't know how to link the branch to the issue here but it's in score_estimator

@jsvetter jsvetter linked a pull request Mar 19, 2024 that will close this issue
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants