{"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/regularizing-score-based-models-with-score","title":"FP-Diffusion: Improving Score-based Diffusion Models by Enforcing the Underlying Score Fokker-Planck Equation","arxiv_id":"2210.04296","date":"2022-10-09","proceeding":null,"authors":["Chieh-Hsin Lai","Yuhta Takida","Naoki Murata","Toshimitsu Uesaka","Yuki Mitsufuji","Stefano Ermon"],"abstract":"Score-based generative models (SGMs) learn a family of noise-conditional score functions corresponding to the data density perturbed with increasingly large amounts of noise. These perturbed data densities are linked together by the Fokker-Planck equation (FPE), a partial differential equation (PDE) governing the spatial-temporal evolution of a density undergoing a diffusion process. In this work, we derive a corresponding equation called the score FPE that characterizes the noise-conditional scores of the perturbed data densities (i.e., their gradients). Surprisingly, despite the impressive empirical performance, we observe that scores learned through denoising score matching (DSM) fail to fulfill the underlying score FPE, which is an inherent self-consistency property of the ground truth score. We prove that satisfying the score FPE is desirable as it improves the likelihood and the degree of conservativity. Hence, we propose to regularize the DSM objective to enforce satisfaction of the score FPE, and we show the effectiveness of this approach across various datasets.","url_abs":"https://arxiv.org/abs/2210.04296v4","url_pdf":"https://arxiv.org/pdf/2210.04296v4.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":"regularizing-score-based-models-with-score","repo_url":"https://github.com/sony/fp-diffusion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"denoising-score-matching","method_name":"Denoising Score Matching"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2210.04296","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.04296"}},"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/sony/fp-diffusion","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"ran":3,"unverified":9},"by_repo_kind":{"official":{"samples":14,"ran":5,"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":"6c419026e778dee2","entry":"get_data_inverse_scaler","repo":"sony/fp-diffusion","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6c419026e778dee2"}},{"code_sha256_prefix":"346d2e6cc8b48a5d","entry":"get_data_scaler","repo":"sony/fp-diffusion","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"346d2e6cc8b48a5d"}},{"code_sha256_prefix":"8ff7c24dade9904c","entry":"get_optimizer","repo":"sony/fp-diffusion","repo_kind":"official","path":"losses.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/losses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8ff7c24dade9904c"}},{"code_sha256_prefix":"366bb8c7035a2fc8","entry":"optimization_manager","repo":"sony/fp-diffusion","repo_kind":"official","path":"losses.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/losses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"366bb8c7035a2fc8"}},{"code_sha256_prefix":"3ac11bfe0ae80195","entry":"variance_scaling","repo":"sony/fp-diffusion","repo_kind":"official","path":"models/layers.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/models/layers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3ac11bfe0ae80195"}},{"code_sha256_prefix":"93c2087126b99566","entry":"batch_div","repo":"sony/fp-diffusion","repo_kind":"official","path":"diff.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/diff.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"93c2087126b99566"}},{"code_sha256_prefix":"54a00db9aadf092f","entry":"classifier_fn_from_tfhub","repo":"sony/fp-diffusion","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"54a00db9aadf092f"}},{"code_sha256_prefix":"fd14d238ccd5f679","entry":"crop_resize","repo":"sony/fp-diffusion","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fd14d238ccd5f679"}},{"code_sha256_prefix":"db5f935a1d6b4c2c","entry":"get_act","repo":"sony/fp-diffusion","repo_kind":"official","path":"models/layers.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/models/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"db5f935a1d6b4c2c"}},{"code_sha256_prefix":"0bfcb6b2d940e393","entry":"get_div_fn","repo":"sony/fp-diffusion","repo_kind":"official","path":"likelihood.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/likelihood.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0bfcb6b2d940e393"}},{"code_sha256_prefix":"54eda5432a5725da","entry":"gradient","repo":"sony/fp-diffusion","repo_kind":"official","path":"diff.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/diff.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"54eda5432a5725da"}},{"code_sha256_prefix":"b45ab263f8440954","entry":"load_dataset_stats","repo":"sony/fp-diffusion","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b45ab263f8440954"}},{"code_sha256_prefix":"85b2235eb7afaa4f","entry":"ncsn_conv1x1","repo":"sony/fp-diffusion","repo_kind":"official","path":"models/layers.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/models/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"85b2235eb7afaa4f"}},{"code_sha256_prefix":"0c4a62d974bfda02","entry":"partial_t_j","repo":"sony/fp-diffusion","repo_kind":"official","path":"diff.py","file_url":"https://github.com/sony/fp-diffusion/blob/HEAD/diff.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0c4a62d974bfda02"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}