{"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/iterated-denoising-energy-matching-for","title":"Iterated Denoising Energy Matching for Sampling from Boltzmann Densities","arxiv_id":"2402.06121","date":"2024-02-09","proceeding":null,"authors":["Tara Akhound-Sadegh","Jarrid Rector-Brooks","Avishek Joey Bose","Sarthak Mittal","Pablo Lemos","Cheng-Hao Liu","Marcin Sendera","Siamak Ravanbakhsh","Gauthier Gidel","Yoshua Bengio","Nikolay Malkin","Alexander Tong"],"abstract":"Efficiently generating statistically independent samples from an unnormalized probability distribution, such as equilibrium samples of many-body systems, is a foundational problem in science. In this paper, we propose Iterated Denoising Energy Matching (iDEM), an iterative algorithm that uses a novel stochastic score matching objective leveraging solely the energy function and its gradient -- and no data samples -- to train a diffusion-based sampler. Specifically, iDEM alternates between (I) sampling regions of high model density from a diffusion-based sampler and (II) using these samples in our stochastic matching objective to further improve the sampler. iDEM is scalable to high dimensions as the inner matching objective, is simulation-free, and requires no MCMC samples. Moreover, by leveraging the fast mode mixing behavior of diffusion, iDEM smooths out the energy landscape enabling efficient exploration and learning of an amortized sampler. We evaluate iDEM on a suite of tasks ranging from standard synthetic energy functions to invariant $n$-body particle systems. We show that the proposed approach achieves state-of-the-art performance on all metrics and trains $2-5\\times$ faster, which allows it to be the first method to train using energy on the challenging $55$-particle Lennard-Jones system.","url_abs":"https://arxiv.org/abs/2402.06121v2","url_pdf":"https://arxiv.org/pdf/2402.06121v2.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":"iterated-denoising-energy-matching-for","repo_url":"https://github.com/jarridrb/dem","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"efficient-exploration","task_name":"Efficient Exploration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.06121","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.06121"}},"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/jarridrb/dem","reach":null}],"summary":{"ran":3,"ran_draft_wrong":5,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":0,"samples":[{"code_sha256_prefix":"05630fa764ede53f","entry":"AISData","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05630fa764ede53f"}},{"code_sha256_prefix":"c0238358b3127562","entry":"ReplayBuffer","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c0238358b3127562"}},{"code_sha256_prefix":"1e856fe0d2ba8386","entry":"VEReverseSDE","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1e856fe0d2ba8386"}},{"code_sha256_prefix":"7a316acfbe0e868f","entry":"conditional_no_grad","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7a316acfbe0e868f"}},{"code_sha256_prefix":"e57978157ea21e5c","entry":"euler_maruyama_step","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e57978157ea21e5c"}},{"code_sha256_prefix":"a014cc7f7a0f7646","entry":"grad_E","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a014cc7f7a0f7646"}},{"code_sha256_prefix":"2aff702e8d21bee4","entry":"negative_time_descent","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2aff702e8d21bee4"}},{"code_sha256_prefix":"e63616b709d7b674","entry":"remove_mean","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e63616b709d7b674"}},{"code_sha256_prefix":"4417fed9baa3ae47","entry":"BaseEnergyFunction","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4417fed9baa3ae47"}},{"code_sha256_prefix":"4ef35e9b375c671f","entry":"integrate_sde","repo":"jarridrb/dem","repo_kind":"official","path":"dem/models/components/sde_integration.py","file_url":"https://github.com/jarridrb/dem/blob/HEAD/dem/models/components/sde_integration.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ef35e9b375c671f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}