{"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/snips-solving-noisy-inverse-problems","title":"SNIPS: Solving Noisy Inverse Problems Stochastically","arxiv_id":"2105.14951","date":"2021-05-31","proceeding":"NeurIPS 2021 12","authors":["Bahjat Kawar","Gregory Vaksman","Michael Elad"],"abstract":"In this work we introduce a novel stochastic algorithm dubbed SNIPS, which draws samples from the posterior distribution of any linear inverse problem, where the observation is assumed to be contaminated by additive white Gaussian noise. Our solution incorporates ideas from Langevin dynamics and Newton's method, and exploits a pre-trained minimum mean squared error (MMSE) Gaussian denoiser. The proposed approach relies on an intricate derivation of the posterior score function that includes a singular value decomposition (SVD) of the degradation operator, in order to obtain a tractable iterative algorithm for the desired sampling. Due to its stochasticity, the algorithm can produce multiple high perceptual quality samples for the same noisy observation. We demonstrate the abilities of the proposed paradigm for image deblurring, super-resolution, and compressive sensing. We show that the samples produced are sharp, detailed and consistent with the given measurements, and their diversity exposes the inherent uncertainty in the inverse problem being solved.","url_abs":"https://arxiv.org/abs/2105.14951v2","url_pdf":"https://arxiv.org/pdf/2105.14951v2.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":"snips-solving-noisy-inverse-problems","repo_url":"https://github.com/bahjat-kawar/snips_torch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"compressive-sensing","task_name":"Compressive Sensing"},{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"image-deblurring","task_name":"Image Deblurring"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.14951","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.14951"}},"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/bahjat-kawar/snips_torch","reach":null}],"summary":{"ran":5,"ran_draft_wrong":5,"ran_honours":1,"ran_fixture":1,"unverified":10},"by_repo_kind":{"official":{"samples":22,"ran":12,"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":"388e66d45a0b6895","entry":"ConditionalInstanceNorm2dPlus","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"388e66d45a0b6895"}},{"code_sha256_prefix":"87800abf6d1cfbcd","entry":"ConditionalVarianceNorm2d","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"87800abf6d1cfbcd"}},{"code_sha256_prefix":"c8ee28a2429c95c7","entry":"EMAHelper","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"c8ee28a2429c95c7"}},{"code_sha256_prefix":"7ebe24984ea80e20","entry":"InstanceNorm2dPlus","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"7ebe24984ea80e20"}},{"code_sha256_prefix":"a6e7e28620d868f3","entry":"VarianceNorm2d","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"a6e7e28620d868f3"}},{"code_sha256_prefix":"1cb35353e2df12d7","entry":"general_anneal_Langevin_dynamics","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1cb35353e2df12d7"}},{"code_sha256_prefix":"61e08b48ac22c4de","entry":"get_custom_kernel","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"61e08b48ac22c4de"}},{"code_sha256_prefix":"cd9d1cd248f9be9e","entry":"inverse_data_transform","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd9d1cd248f9be9e"}},{"code_sha256_prefix":"4b07870d83869614","entry":"invert_diag","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b07870d83869614"}},{"code_sha256_prefix":"610e5888cc1e256b","entry":"kernel_to_matrix","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"610e5888cc1e256b"}},{"code_sha256_prefix":"778a78e5d08c23b3","entry":"logit_transform","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"778a78e5d08c23b3"}},{"code_sha256_prefix":"38e5424873f17c56","entry":"vec_to_image","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"38e5424873f17c56"}},{"code_sha256_prefix":"63f6d53e17f2cf08","entry":"CelebA","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"63f6d53e17f2cf08"}},{"code_sha256_prefix":"b61f91dffbc9686a","entry":"NCSNRunner","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"b61f91dffbc9686a"}},{"code_sha256_prefix":"605acc68aa3232ef","entry":"NCSNv2","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"605acc68aa3232ef"}},{"code_sha256_prefix":"cc27fd891520a914","entry":"NCSNv2Deeper","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"cc27fd891520a914"}},{"code_sha256_prefix":"3a2746c903862ace","entry":"VisionDataset","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"3a2746c903862ace"}},{"code_sha256_prefix":"c4a69cb9142a7670","entry":"data_transform","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"c4a69cb9142a7670"}},{"code_sha256_prefix":"44c4f505b4f07dde","entry":"get_dataset","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"44c4f505b4f07dde"}},{"code_sha256_prefix":"ba939dba5d855f41","entry":"get_model","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"ba939dba5d855f41"}},{"code_sha256_prefix":"1dc9e4e73ba16aac","entry":"get_normalization","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"1dc9e4e73ba16aac"}},{"code_sha256_prefix":"dc7592588979a5a3","entry":"mat_by_vec","repo":"bahjat-kawar/snips_torch","repo_kind":"official","path":"runners/ncsn_runner.py","file_url":"https://github.com/bahjat-kawar/snips_torch/blob/HEAD/runners/ncsn_runner.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":"dc7592588979a5a3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}