{"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/designing-and-learning-trainable-priors-with","title":"A Flexible Framework for Designing Trainable Priors with Adaptive Smoothing and Game Encoding","arxiv_id":"2006.14859","date":"2020-06-26","proceeding":"NeurIPS 2020 12","authors":["Bruno Lecouat","Jean Ponce","Julien Mairal"],"abstract":"We introduce a general framework for designing and training neural network layers whose forward passes can be interpreted as solving non-smooth convex optimization problems, and whose architectures are derived from an optimization algorithm. We focus on convex games, solved by local agents represented by the nodes of a graph and interacting through regularization functions. This approach is appealing for solving imaging problems, as it allows the use of classical image priors within deep models that are trainable end to end. The priors used in this presentation include variants of total variation, Laplacian regularization, bilateral filtering, sparse coding on learned dictionaries, and non-local self similarities. Our models are fully interpretable as well as parameter and data efficient. Our experiments demonstrate their effectiveness on a large diversity of tasks ranging from image denoising and compressed sensing for fMRI to dense stereo matching.","url_abs":"https://arxiv.org/abs/2006.14859v2","url_pdf":"https://arxiv.org/pdf/2006.14859v2.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":"designing-and-learning-trainable-priors-with","repo_url":"https://github.com/bruno-31/groupsc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"image-denoising","task_name":"Image Denoising"},{"task_slug":"stereo-matching-1","task_name":"Stereo Matching"},{"task_slug":"compressed-sensing","task_name":"compressed sensing"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.14859","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.14859"}},"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/bruno-31/groupsc","reach":null}],"summary":{"ran_draft_wrong":1,"ran":1,"ran_honours":2,"ran_fixture":1,"unverified":3},"by_repo_kind":{"listed":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"7a6cc5881990eee7","entry":"Im2Col","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a6cc5881990eee7"}},{"code_sha256_prefix":"2cf9c10775da6033","entry":"SoftMatchingLayer","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2cf9c10775da6033"}},{"code_sha256_prefix":"7b5d643a9a6b6fff","entry":"gen_mask_windows","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7b5d643a9a6b6fff"}},{"code_sha256_prefix":"d0224b3fa8788907","entry":"gen_quadra_mask_windows","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d0224b3fa8788907"}},{"code_sha256_prefix":"acf2c9f78048b57d","entry":"im2col_shape","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"acf2c9f78048b57d"}},{"code_sha256_prefix":"ebb0c91b7b04fd56","entry":"Col2Im","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ebb0c91b7b04fd56"}},{"code_sha256_prefix":"468d182b6ed74b28","entry":"groupLista","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"468d182b6ed74b28"}},{"code_sha256_prefix":"bc72a18ed6d8c0de","entry":"group_prox","repo":"bruno-31/groupsc","repo_kind":"listed","path":"model/color_group.py","file_url":"https://github.com/bruno-31/groupsc/blob/HEAD/model/color_group.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bc72a18ed6d8c0de"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}