{"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/a-general-and-adaptive-robust-loss-function","title":"A General and Adaptive Robust Loss Function","arxiv_id":"1701.03077","date":"2017-01-11","proceeding":"CVPR 2019 6","authors":["Jonathan T. Barron"],"abstract":"We present a generalization of the Cauchy/Lorentzian, Geman-McClure,\nWelsch/Leclerc, generalized Charbonnier, Charbonnier/pseudo-Huber/L1-L2, and L2\nloss functions. By introducing robustness as a continuous parameter, our loss\nfunction allows algorithms built around robust loss minimization to be\ngeneralized, which improves performance on basic vision tasks such as\nregistration and clustering. Interpreting our loss as the negative log of a\nunivariate density yields a general probability distribution that includes\nnormal and Cauchy distributions as special cases. This probabilistic\ninterpretation enables the training of neural networks in which the robustness\nof the loss automatically adapts itself during training, which improves\nperformance on learning-based tasks such as generative image synthesis and\nunsupervised monocular depth estimation, without requiring any manual parameter\ntuning.","url_abs":"http://arxiv.org/abs/1701.03077v10","url_pdf":"http://arxiv.org/pdf/1701.03077v10.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":"a-general-and-adaptive-robust-loss-function","repo_url":"https://github.com/google-research/google-research/tree/master/robust_loss","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"a-general-and-adaptive-robust-loss-function","repo_url":"https://github.com/andrewlstewart/StereoNet_PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"a-general-and-adaptive-robust-loss-function","repo_url":"https://github.com/jonbarron/robust_loss_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"unsupervised-monocular-depth-estimation","task_name":"Unsupervised Monocular Depth Estimation"}],"methods":[{"method_slug":"adaptive-loss","method_name":"Adaptive Loss"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1701.03077","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1701.03077"}},"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/jonbarron/robust_loss_pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/andrewlstewart/StereoNet_PyTorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/google-research/tree/master/robust_loss","reach":null}],"summary":{"ran_draft_wrong":3,"unverified":8},"by_repo_kind":{"listed":{"samples":11,"ran":3,"repositories":2}},"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":"4caa20778e7219ba","entry":"compute_volume","repo":"andrewlstewart/StereoNet_PyTorch","repo_kind":"listed","path":"src/stereonet/model.py","file_url":"https://github.com/andrewlstewart/StereoNet_PyTorch/blob/HEAD/src/stereonet/model.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":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"4caa20778e7219ba"}},{"code_sha256_prefix":"67e14f39a4f3d8e5","entry":"robust_loss","repo":"andrewlstewart/StereoNet_PyTorch","repo_kind":"listed","path":"src/stereonet/model.py","file_url":"https://github.com/andrewlstewart/StereoNet_PyTorch/blob/HEAD/src/stereonet/model.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":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"67e14f39a4f3d8e5"}},{"code_sha256_prefix":"81c9eec5240c5414","entry":"soft_argmin","repo":"andrewlstewart/StereoNet_PyTorch","repo_kind":"listed","path":"src/stereonet/model.py","file_url":"https://github.com/andrewlstewart/StereoNet_PyTorch/blob/HEAD/src/stereonet/model.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":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"81c9eec5240c5414"}},{"code_sha256_prefix":"5c530a281cae6ed6","entry":"analytical_base_partition_function","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/distribution.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/distribution.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":"5c530a281cae6ed6"}},{"code_sha256_prefix":"73edfd84903106b2","entry":"exp_safe","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/util.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/util.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":"73edfd84903106b2"}},{"code_sha256_prefix":"514aafa97b8410cf","entry":"generate_filters","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/wavelet.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/wavelet.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":"514aafa97b8410cf"}},{"code_sha256_prefix":"8c712984344bea6e","entry":"get_max_num_levels","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/wavelet.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/wavelet.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":"8c712984344bea6e"}},{"code_sha256_prefix":"98d79f1edd61f3d8","entry":"interpolate1d","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/cubic_spline.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/cubic_spline.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":"98d79f1edd61f3d8"}},{"code_sha256_prefix":"f647011be290b745","entry":"log1p_safe","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/util.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/util.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":"f647011be290b745"}},{"code_sha256_prefix":"597871c4a40d74a5","entry":"log_safe","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/util.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/util.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":"597871c4a40d74a5"}},{"code_sha256_prefix":"80863318ef18bec8","entry":"pad_reflecting","repo":"jonbarron/robust_loss_pytorch","repo_kind":"listed","path":"robust_loss_pytorch/wavelet.py","file_url":"https://github.com/jonbarron/robust_loss_pytorch/blob/HEAD/robust_loss_pytorch/wavelet.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":"80863318ef18bec8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}