{"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/collective-variable-free-transition-path","title":"Transition Path Sampling with Improved Off-Policy Training of Diffusion Path Samplers","arxiv_id":"2405.19961","date":"2024-05-30","proceeding":null,"authors":["Kiyoung Seong","Seonghyun Park","SeongHwan Kim","Woo Youn Kim","Sungsoo Ahn"],"abstract":"Understanding transition pathways between two meta-stable states of a molecular system is crucial to advance drug discovery and material design. However, unbiased molecular dynamics (MD) simulations are computationally infeasible because of the high energy barriers that separate these states. Although recent machine learning techniques are proposed to sample rare events, they are often limited to simple systems and rely on collective variables (CVs) derived from costly domain expertise. In this paper, we introduce a novel approach that trains diffusion path samplers (DPS) to address the transition path sampling (TPS) problem without requiring CVs. We reformulate the problem as an amortized sampling from the transition path distribution by minimizing the log-variance divergence between the path distribution induced by DPS and the transition path distribution. Based on the log-variance divergence, we propose learnable control variates to reduce the variance of gradient estimators and the off-policy training objective with replay buffers and simulated annealing techniques to improve sample efficiency and diversity. We also propose a scale-based equivariant parameterization of the bias forces to ensure scalability for large systems. We extensively evaluate our approach, termed TPS-DPS, on a synthetic system, small peptide, and challenging fast-folding proteins, demonstrating that it produces more realistic and diverse transition pathways than existing baselines.","url_abs":"https://arxiv.org/abs/2405.19961v5","url_pdf":"https://arxiv.org/pdf/2405.19961v5.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":"collective-variable-free-transition-path","repo_url":"https://github.com/kiyoung98/tps-dps","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"drug-discovery","task_name":"Drug Discovery"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.19961","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.19961"}},"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/kiyoung98/tps-dps","reach":null}],"summary":{"ran":2,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":3,"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":5,"samples":[{"code_sha256_prefix":"39dd7656270be16a","entry":"BiasForce","repo":"kiyoung98/tps-dps","repo_kind":"official","path":"src/dps.py","file_url":"https://github.com/kiyoung98/tps-dps/blob/HEAD/src/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"39dd7656270be16a"}},{"code_sha256_prefix":"564a155eb9ec3bee","entry":"ReplayBuffer","repo":"kiyoung98/tps-dps","repo_kind":"official","path":"src/dps.py","file_url":"https://github.com/kiyoung98/tps-dps/blob/HEAD/src/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"564a155eb9ec3bee"}},{"code_sha256_prefix":"72c8311f7baf4e11","entry":"kabsch","repo":"kiyoung98/tps-dps","repo_kind":"official","path":"src/dps.py","file_url":"https://github.com/kiyoung98/tps-dps/blob/HEAD/src/dps.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"72c8311f7baf4e11"}},{"code_sha256_prefix":"b40d0151c8bbf02b","entry":"DiffusionPathSampler","repo":"kiyoung98/tps-dps","repo_kind":"official","path":"src/dps.py","file_url":"https://github.com/kiyoung98/tps-dps/blob/HEAD/src/dps.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":"b40d0151c8bbf02b"}},{"code_sha256_prefix":"2648d75aa414fde7","entry":"TargetPathMeasure","repo":"kiyoung98/tps-dps","repo_kind":"official","path":"src/dps.py","file_url":"https://github.com/kiyoung98/tps-dps/blob/HEAD/src/dps.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":"2648d75aa414fde7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}