{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/variational-diffusion-posterior-sampling-with","title":"Variational Diffusion Posterior Sampling with Midpoint Guidance","arxiv_id":"2410.09945","date":"2024-10-13","proceeding":null,"authors":["Badr Moufad","Yazid Janati","Lisa Bedin","Alain Durmus","Randal Douc","Eric Moulines","Jimmy Olsson"],"abstract":"Diffusion models have recently shown considerable potential in solving Bayesian inverse problems when used as priors. However, sampling from the resulting denoising posterior distributions remains a challenge as it involves intractable terms. To tackle this issue, state-of-the-art approaches formulate the problem as that of sampling from a surrogate diffusion model targeting the posterior and decompose its scores into two terms: the prior score and an intractable guidance term. While the former is replaced by the pre-trained score of the considered diffusion model, the guidance term has to be estimated. In this paper, we propose a novel approach that utilises a decomposition of the transitions which, in contrast to previous methods, allows a trade-off between the complexity of the intractable guidance term and that of the prior transitions. We validate the proposed approach through extensive experiments on linear and nonlinear inverse problems, including challenging cases with latent diffusion models as priors. We then demonstrate its applicability to various modalities and its promising impact on public health by tackling cardiovascular disease diagnosis through the reconstruction of incomplete electrocardiograms. The code is publicly available at \\url{https://github.com/yazidjanati/mgps}.","url_abs":"https://arxiv.org/abs/2410.09945v2","url_pdf":"https://arxiv.org/pdf/2410.09945v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"variational-diffusion-posterior-sampling-with","repo_url":"https://github.com/yazidjanati/mgps","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.09945","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.09945"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yazidjanati/mgps","reach":{"status":"ok"}}],"summary":{"ran":7,"ran_draft_wrong":5,"unverified":11},"by_repo_kind":{"official":{"samples":23,"ran":12,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":23,"samples":[{"code_sha256_prefix":"dc2dcfd069e89041","entry":"fft2c_new","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/imaging/fastmri_utils.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/imaging/fastmri_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc2dcfd069e89041"}},{"code_sha256_prefix":"e41367ad14ff58fd","entry":"get_param_groups_and_shapes","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e41367ad14ff58fd"}},{"code_sha256_prefix":"e20dd5102da3b050","entry":"make_master_params","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e20dd5102da3b050"}},{"code_sha256_prefix":"8027fc71dcbcfc45","entry":"register_conditioning_method","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/condition_methods.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/condition_methods.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8027fc71dcbcfc45"}},{"code_sha256_prefix":"2423fa5313aa3525","entry":"register_mean_processor","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2423fa5313aa3525"}},{"code_sha256_prefix":"905f4b0d3baca742","entry":"register_noise","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"905f4b0d3baca742"}},{"code_sha256_prefix":"7f47ba486efd2c7e","entry":"register_operator","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f47ba486efd2c7e"}},{"code_sha256_prefix":"559ce6b0ae13e4fd","entry":"register_operator","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/operators_wrappers.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/operators_wrappers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"559ce6b0ae13e4fd"}},{"code_sha256_prefix":"d9bb4d03137bc7e9","entry":"register_sampler","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d9bb4d03137bc7e9"}},{"code_sha256_prefix":"e214ee19e7a9d92b","entry":"register_var_processor","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e214ee19e7a9d92b"}},{"code_sha256_prefix":"64fff1e30802b815","entry":"unflatten_master_params","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64fff1e30802b815"}},{"code_sha256_prefix":"129b804760b3115f","entry":"zero_module","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/nn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"129b804760b3115f"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ecd0fc28815b65ae"}},{"code_sha256_prefix":"944d16b22c6e6e77","entry":"cal_gradient_penalty","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/unet.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/unet.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"944d16b22c6e6e77"}},{"code_sha256_prefix":"fe4eb545bbb728e0","entry":"conv_nd","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe4eb545bbb728e0"}},{"code_sha256_prefix":"65021ae774b7b013","entry":"create_model","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/unet.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/unet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"65021ae774b7b013"}},{"code_sha256_prefix":"7a9479e9edb0166b","entry":"create_sampler","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a9479e9edb0166b"}},{"code_sha256_prefix":"d5d761740edb12db","entry":"fft2c_old","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/imaging/fastmri_utils.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/imaging/fastmri_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d5d761740edb12db"}},{"code_sha256_prefix":"ceb7328ab8bdbfe2","entry":"get_conditioning_method","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/condition_methods.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/condition_methods.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ceb7328ab8bdbfe2"}},{"code_sha256_prefix":"e92451e6fb900818","entry":"get_mean_processor","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e92451e6fb900818"}},{"code_sha256_prefix":"bbb1be64bf961d18","entry":"get_operator","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bbb1be64bf961d18"}},{"code_sha256_prefix":"b910fefa7866252e","entry":"get_sampler","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b910fefa7866252e"}},{"code_sha256_prefix":"d63efa5d2fd536e2","entry":"ifft2c_old","repo":"yazidjanati/mgps","repo_kind":"official","path":"src/imaging/fastmri_utils.py","file_url":"https://github.com/yazidjanati/mgps/blob/HEAD/src/imaging/fastmri_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d63efa5d2fd536e2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}