{"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/learning-expressive-priors-for-generalization","title":"Learning Expressive Priors for Generalization and Uncertainty Estimation in Neural Networks","arxiv_id":"2307.07753","date":"2023-07-15","proceeding":null,"authors":["Dominik Schnaus","JongSeok Lee","Daniel Cremers","Rudolph Triebel"],"abstract":"In this work, we propose a novel prior learning method for advancing generalization and uncertainty estimation in deep neural networks. The key idea is to exploit scalable and structured posteriors of neural networks as informative priors with generalization guarantees. Our learned priors provide expressive probabilistic representations at large scale, like Bayesian counterparts of pre-trained models on ImageNet, and further produce non-vacuous generalization bounds. We also extend this idea to a continual learning framework, where the favorable properties of our priors are desirable. Major enablers are our technical contributions: (1) the sums-of-Kronecker-product computations, and (2) the derivations and optimizations of tractable objectives that lead to improved generalization bounds. Empirically, we exhaustively show the effectiveness of this method for uncertainty estimation and generalization.","url_abs":"https://arxiv.org/abs/2307.07753v1","url_pdf":"https://arxiv.org/pdf/2307.07753v1.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":"learning-expressive-priors-for-generalization","repo_url":"https://github.com/dlr-rm/bpnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"continual-learning","task_name":"Continual Learning"},{"task_slug":"generalization-bounds","task_name":"Generalization Bounds"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.07753","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.07753"}},"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/DLR-RM/BPNN","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dlr-rm/bpnn","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":5,"unverified":5},"by_repo_kind":{"official":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"95ce48cf157d31ee","entry":"lenet5","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/curvature/lenet5.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/curvature/lenet5.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"95ce48cf157d31ee"}},{"code_sha256_prefix":"2e385df3141c14ac","entry":"nested_module_dict","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/pnn.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/pnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"2e385df3141c14ac"}},{"code_sha256_prefix":"a69b5d550b745fb9","entry":"nll_cls","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a69b5d550b745fb9"}},{"code_sha256_prefix":"7a14dc9886409c12","entry":"nll_reg","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7a14dc9886409c12"}},{"code_sha256_prefix":"6784abf28118d102","entry":"power_method_sum_kronecker_products_rank_1","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/curvature/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/curvature/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"6784abf28118d102"}},{"code_sha256_prefix":"d1d60175a8cdd4c2","entry":"accuracy","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d1d60175a8cdd4c2"}},{"code_sha256_prefix":"4e7a77446f19cbd8","entry":"dataset_step_pnn","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/pnn.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/pnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4e7a77446f19cbd8"}},{"code_sha256_prefix":"1b273971a01e4d5f","entry":"dataset_step_ppnn","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/bpnn/pnn.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/bpnn/pnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1b273971a01e4d5f"}},{"code_sha256_prefix":"f9d6c400b14f0bba","entry":"get_eigenvalues","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/curvature/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/curvature/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f9d6c400b14f0bba"}},{"code_sha256_prefix":"bb518932c78f4fb4","entry":"get_eigenvectors","repo":"DLR-RM/BPNN","repo_kind":"official","path":"src/curvature/utils.py","file_url":"https://github.com/DLR-RM/BPNN/blob/HEAD/src/curvature/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"bb518932c78f4fb4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}