{"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/robust-and-interpretable-blind-image","title":"Robust and interpretable blind image denoising via bias-free convolutional neural networks","arxiv_id":"1906.05478","date":"2019-06-13","proceeding":"ICLR 2020 1","authors":["Sreyas Mohan","Zahra Kadkhodaie","Eero P. Simoncelli","Carlos Fernandez-Granda"],"abstract":"Deep convolutional networks often append additive constant (\"bias\") terms to their convolution operations, enabling a richer repertoire of functional mappings. Biases are also used to facilitate training, by subtracting mean response over batches of training images (a component of \"batch normalization\"). Recent state-of-the-art blind denoising methods (e.g., DnCNN) seem to require these terms for their success. Here, however, we show that these networks systematically overfit the noise levels for which they are trained: when deployed at noise levels outside the training range, performance degrades dramatically. In contrast, a bias-free architecture -- obtained by removing the constant terms in every layer of the network, including those used for batch normalization-- generalizes robustly across noise levels, while preserving state-of-the-art performance within the training range. Locally, the bias-free network acts linearly on the noisy image, enabling direct analysis of network behavior via standard linear-algebraic tools. These analyses provide interpretations of network functionality in terms of nonlinear adaptive filtering, and projection onto a union of low-dimensional subspaces, connecting the learning-based method to more traditional denoising methodology.","url_abs":"https://arxiv.org/abs/1906.05478v3","url_pdf":"https://arxiv.org/pdf/1906.05478v3.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":"robust-and-interpretable-blind-image","repo_url":"https://github.com/LabForComputationalVision/bias_free_denoising","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-denoising","task_name":"Image Denoising"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1906.05478","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.05478"}},"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/LabForComputationalVision/bias_free_denoising","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"3eb82f44d63fc857","entry":"add_logging_arguments","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/train_utils.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/train_utils.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":"3eb82f44d63fc857"}},{"code_sha256_prefix":"b5c8aa2ab7ff06db","entry":"add_noise2","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/demo_utils.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/demo_utils.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":"b5c8aa2ab7ff06db"}},{"code_sha256_prefix":"6f7ba2d60b362341","entry":"get_noise","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/noise_model.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/noise_model.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":"6f7ba2d60b362341"}},{"code_sha256_prefix":"275432b5d8078827","entry":"load_checkpoint","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/train_utils.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/train_utils.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":"275432b5d8078827"}},{"code_sha256_prefix":"a8b0f48965372855","entry":"psnr","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/metrics.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/metrics.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":"a8b0f48965372855"}},{"code_sha256_prefix":"bedee5a513142564","entry":"single_image_loader","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/demo_utils.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/demo_utils.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":"bedee5a513142564"}},{"code_sha256_prefix":"1959a57da83730a4","entry":"ssim","repo":"LabForComputationalVision/bias_free_denoising","repo_kind":"official","path":"utils/metrics.py","file_url":"https://github.com/LabForComputationalVision/bias_free_denoising/blob/HEAD/utils/metrics.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":"1959a57da83730a4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}