{"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/on-the-posterior-distribution-in-denoising","title":"On the Posterior Distribution in Denoising: Application to Uncertainty Quantification","arxiv_id":"2309.13598","date":"2023-09-24","proceeding":null,"authors":["Hila Manor","Tomer Michaeli"],"abstract":"Denoisers play a central role in many applications, from noise suppression in low-grade imaging sensors, to empowering score-based generative models. The latter category of methods makes use of Tweedie's formula, which links the posterior mean in Gaussian denoising (\\ie the minimum MSE denoiser) with the score of the data distribution. Here, we derive a fundamental relation between the higher-order central moments of the posterior distribution, and the higher-order derivatives of the posterior mean. We harness this result for uncertainty quantification of pre-trained denoisers. Particularly, we show how to efficiently compute the principal components of the posterior distribution for any desired region of an image, as well as to approximate the full marginal distribution along those (or any other) one-dimensional directions. Our method is fast and memory-efficient, as it does not explicitly compute or store the high-order moment tensors and it requires no training or fine tuning of the denoiser. Code and examples are available on the project webpage in https://hilamanor.github.io/GaussianDenoisingPosterior/ .","url_abs":"https://arxiv.org/abs/2309.13598v2","url_pdf":"https://arxiv.org/pdf/2309.13598v2.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":"on-the-posterior-distribution-in-denoising","repo_url":"https://github.com/HilaManor/GaussianDenoisingPosterior","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-denoising","task_name":"Image Denoising"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"uncertainty-quantification","task_name":"Uncertainty Quantification"},{"task_slug":"uncertainty-visualization","task_name":"Uncertainty Visualization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2309.13598","atlas_url":"https://app.syntology.ai/?focus=2309.13598","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.13598"}},"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/HilaManor/GaussianDenoisingPosterior","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":3,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":"cfd76fd0d89574a4","entry":"approx_standard_normal_cdf","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"DDPM_FFHQ/guided_diffusion/losses.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/DDPM_FFHQ/guided_diffusion/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfd76fd0d89574a4"}},{"code_sha256_prefix":"cd33283d615fb3d7","entry":"discretized_gaussian_log_likelihood","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"DDPM_FFHQ/guided_diffusion/losses.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/DDPM_FFHQ/guided_diffusion/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd33283d615fb3d7"}},{"code_sha256_prefix":"4e264a89eadc10a3","entry":"max_entropy_dist","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"max_entropy_utils.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/max_entropy_utils.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":"4e264a89eadc10a3"}},{"code_sha256_prefix":"bbf1e96971d3bc2f","entry":"max_entropy_pdf","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"max_entropy_utils.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/max_entropy_utils.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":"bbf1e96971d3bc2f"}},{"code_sha256_prefix":"cf2798b666b231ca","entry":"normal_kl","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"DDPM_FFHQ/guided_diffusion/losses.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/DDPM_FFHQ/guided_diffusion/losses.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf2798b666b231ca"}},{"code_sha256_prefix":"b778ce8bd64687ab","entry":"select_impatch","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"interactive_utils.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/interactive_utils.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":"b778ce8bd64687ab"}},{"code_sha256_prefix":"3db4c47e1cce5bcd","entry":"calc_moments","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"moments_calculations.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/moments_calculations.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":"3db4c47e1cce5bcd"}},{"code_sha256_prefix":"2efb8667b33d3b88","entry":"get_eigvecs","repo":"HilaManor/GaussianDenoisingPosterior","repo_kind":"official","path":"moments_calculations.py","file_url":"https://github.com/HilaManor/GaussianDenoisingPosterior/blob/HEAD/moments_calculations.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":"2efb8667b33d3b88"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}