{"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/markovian-flow-matching-accelerating-mcmc","title":"Markovian Flow Matching: Accelerating MCMC with Continuous Normalizing Flows","arxiv_id":"2405.14392","date":"2024-05-23","proceeding":null,"authors":["Alberto Cabezas","Louis Sharrock","Christopher Nemeth"],"abstract":"Continuous normalizing flows (CNFs) learn the probability path between a reference distribution and a target distribution by modeling the vector field generating said path using neural networks. Recently, Lipman et al. (2022) introduced a simple and inexpensive method for training CNFs in generative modeling, termed flow matching (FM). In this paper, we repurpose this method for probabilistic inference by incorporating Markovian sampling methods in evaluating the FM objective, and using the learned CNF to improve Monte Carlo sampling. Specifically, we propose an adaptive Markov chain Monte Carlo (MCMC) algorithm, which combines a local Markov transition kernel with a non-local, flow-informed transition kernel, defined using a CNF. This CNF is adapted on-the-fly using samples from the Markov chain, which are used to specify the probability path for the FM objective. Our method also includes an adaptive tempering mechanism that allows the discovery of multiple modes in the target distribution. Under mild assumptions, we establish convergence of our method to a local optimum of the FM objective. We then benchmark our approach on several synthetic and real-world examples, achieving similar performance to other state-of-the-art methods, but often at a significantly lower computational cost.","url_abs":"https://arxiv.org/abs/2405.14392v2","url_pdf":"https://arxiv.org/pdf/2405.14392v2.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":"markovian-flow-matching-accelerating-mcmc","repo_url":"https://github.com/albcab/mfm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.14392","atlas_url":"https://app.syntology.ai/?focus=2405.14392","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.14392"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/albcab/mfm","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":1},"by_repo_kind":{"official":{"samples":9,"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":9,"samples":[{"code_sha256_prefix":"9ff19b4076d60a34","entry":"create_learning_rate_fn","repo":"albcab/mfm","repo_kind":"official","path":"exe_flow_matching.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/exe_flow_matching.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":"9ff19b4076d60a34"}},{"code_sha256_prefix":"9303cdbe67021bf7","entry":"get_bin_counts","repo":"albcab/mfm","repo_kind":"official","path":"cox_process_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/cox_process_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":"9303cdbe67021bf7"}},{"code_sha256_prefix":"af767a03e2037f30","entry":"get_bin_vals","repo":"albcab/mfm","repo_kind":"official","path":"cox_process_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/cox_process_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":"af767a03e2037f30"}},{"code_sha256_prefix":"1394231f7de85953","entry":"gram","repo":"albcab/mfm","repo_kind":"official","path":"cox_process_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/cox_process_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":"1394231f7de85953"}},{"code_sha256_prefix":"8215d729b7afbd08","entry":"inference_loop","repo":"albcab/mfm","repo_kind":"official","path":"mcmc_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/mcmc_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":"8215d729b7afbd08"}},{"code_sha256_prefix":"78c695bb394d4bf8","entry":"linear_map","repo":"albcab/mfm","repo_kind":"official","path":"bblackjax/util.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/bblackjax/util.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":"78c695bb394d4bf8"}},{"code_sha256_prefix":"8d5bcf8e0385793c","entry":"optimize","repo":"albcab/mfm","repo_kind":"official","path":"bblackjax/adaptation/atess.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/bblackjax/adaptation/atess.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":"8d5bcf8e0385793c"}},{"code_sha256_prefix":"e0b7c5e41c7f98e7","entry":"stein_disc","repo":"albcab/mfm","repo_kind":"official","path":"mcmc_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/mcmc_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":"e0b7c5e41c7f98e7"}},{"code_sha256_prefix":"b1982ee1cd473040","entry":"inference_loop0","repo":"albcab/mfm","repo_kind":"official","path":"mcmc_utils.py","file_url":"https://github.com/albcab/mfm/blob/HEAD/mcmc_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":"b1982ee1cd473040"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}