{"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/path-integral-sampler-a-stochastic-control-1","title":"Path Integral Sampler: a stochastic control approach for sampling","arxiv_id":"2111.15141","date":"2021-11-30","proceeding":"ICLR 2022 4","authors":["Qinsheng Zhang","Yongxin Chen"],"abstract":"We present Path Integral Sampler~(PIS), a novel algorithm to draw samples from unnormalized probability density functions. The PIS is built on the Schr\\\"odinger bridge problem which aims to recover the most likely evolution of a diffusion process given its initial distribution and terminal distribution. The PIS draws samples from the initial distribution and then propagates the samples through the Schr\\\"odinger bridge to reach the terminal distribution. Applying the Girsanov theorem, with a simple prior diffusion, we formulate the PIS as a stochastic optimal control problem whose running cost is the control energy and terminal cost is chosen according to the target distribution. By modeling the control as a neural network, we establish a sampling algorithm that can be trained end-to-end. We provide theoretical justification of the sampling quality of PIS in terms of Wasserstein distance when sub-optimal control is used. Moreover, the path integrals theory is used to compute importance weights of the samples to compensate for the bias induced by the sub-optimality of the controller and time-discretization. We experimentally demonstrate the advantages of PIS compared with other start-of-the-art sampling methods on a variety of tasks.","url_abs":"https://arxiv.org/abs/2111.15141v2","url_pdf":"https://arxiv.org/pdf/2111.15141v2.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":"path-integral-sampler-a-stochastic-control-1","repo_url":"https://github.com/qsh-zh/pis","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.15141","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.15141"}},"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":"deterministic:regex_extraction","url":"https://github.com/qsh-zh/pis","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":4,"samples":[{"code_sha256_prefix":"b9b7af915f6c61c5","entry":"TimeConder","repo":"qsh-zh/pis","repo_kind":"official","path":"src/models/pis_nn.py","file_url":"https://github.com/qsh-zh/pis/blob/HEAD/src/models/pis_nn.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":"b9b7af915f6c61c5"}},{"code_sha256_prefix":"5614650744daed71","entry":"nll_unit_gaussian","repo":"qsh-zh/pis","repo_kind":"official","path":"src/models/pis_nn.py","file_url":"https://github.com/qsh-zh/pis/blob/HEAD/src/models/pis_nn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5614650744daed71"}},{"code_sha256_prefix":"6c563a697c8f902c","entry":"PISNN","repo":"qsh-zh/pis","repo_kind":"official","path":"src/models/pis_nn.py","file_url":"https://github.com/qsh-zh/pis/blob/HEAD/src/models/pis_nn.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":"6c563a697c8f902c"}},{"code_sha256_prefix":"b020a110249bfb86","entry":"get_reg_fns","repo":"qsh-zh/pis","repo_kind":"official","path":"src/models/pis_nn.py","file_url":"https://github.com/qsh-zh/pis/blob/HEAD/src/models/pis_nn.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":"b020a110249bfb86"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}