{"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/how-does-information-bottleneck-help-deep","title":"How Does Information Bottleneck Help Deep Learning?","arxiv_id":"2305.18887","date":"2023-05-30","proceeding":null,"authors":["Kenji Kawaguchi","Zhun Deng","Xu Ji","Jiaoyang Huang"],"abstract":"Numerous deep learning algorithms have been inspired by and understood via the notion of information bottleneck, where unnecessary information is (often implicitly) minimized while task-relevant information is maximized. However, a rigorous argument for justifying why it is desirable to control information bottlenecks has been elusive. In this paper, we provide the first rigorous learning theory for justifying the benefit of information bottleneck in deep learning by mathematically relating information bottleneck to generalization errors. Our theory proves that controlling information bottleneck is one way to control generalization errors in deep learning, although it is not the only or necessary way. We investigate the merit of our new mathematical findings with experiments across a range of architectures and learning settings. In many cases, generalization errors are shown to correlate with the degree of information bottleneck: i.e., the amount of the unnecessary information at hidden layers. This paper provides a theoretical foundation for current and future methods through the lens of information bottleneck. Our new generalization bounds scale with the degree of information bottleneck, unlike the previous bounds that scale with the number of parameters, VC dimension, Rademacher complexity, stability or robustness. Our code is publicly available at: https://github.com/xu-ji/information-bottleneck","url_abs":"https://arxiv.org/abs/2305.18887v1","url_pdf":"https://arxiv.org/pdf/2305.18887v1.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":"how-does-information-bottleneck-help-deep","repo_url":"https://github.com/xu-ji/information-bottleneck","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"generalization-bounds","task_name":"Generalization Bounds"},{"task_slug":"learning-theory","task_name":"Learning Theory"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.18887","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.18887"}},"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/xu-ji/information-bottleneck","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"summary":{"ran":2,"unverified":11},"by_repo_kind":{"official":{"samples":13,"ran":2,"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":"e11996f54eea8253","entry":"adversarial_cross_entropy","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/swag/losses.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/swag/losses.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e11996f54eea8253"}},{"code_sha256_prefix":"fc2aaf6fd20bc53f","entry":"cross_entropy","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/swag/losses.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/swag/losses.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fc2aaf6fd20bc53f"}},{"code_sha256_prefix":"661a8c2abca9d4d4","entry":"basic_data","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/data.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"661a8c2abca9d4d4"}},{"code_sha256_prefix":"a0d8e4386d7c5fbd","entry":"basic_data_instance","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/data.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a0d8e4386d7c5fbd"}},{"code_sha256_prefix":"962fc1c520aa6c6a","entry":"compute_MI_theta_D_single_seed_jensen","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/swag.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/swag.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"962fc1c520aa6c6a"}},{"code_sha256_prefix":"5e26fa10c5a96c83","entry":"dataset_name","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/MI/util.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/MI/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5e26fa10c5a96c83"}},{"code_sha256_prefix":"43703d6b3f57375b","entry":"est_MI","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/general.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/general.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"43703d6b3f57375b"}},{"code_sha256_prefix":"dfa889418df10f6f","entry":"est_MI_cond","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/general.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/general.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"dfa889418df10f6f"}},{"code_sha256_prefix":"9f5a910348a7492a","entry":"exp_name","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/MI/util.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/MI/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9f5a910348a7492a"}},{"code_sha256_prefix":"36461b9533fa5d2f","entry":"exp_name_flat","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/MI/util.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/MI/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"36461b9533fa5d2f"}},{"code_sha256_prefix":"99e3815602045644","entry":"loaders","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/experiments/imagenet/data.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/experiments/imagenet/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"99e3815602045644"}},{"code_sha256_prefix":"8bbca7799326d580","entry":"masked_loss","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"dnn/swag_repo/swag/losses.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/dnn/swag_repo/swag/losses.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8bbca7799326d580"}},{"code_sha256_prefix":"802ae9c8c6458aaf","entry":"train_model","repo":"xu-ji/information-bottleneck","repo_kind":"official","path":"toy/util/general.py","file_url":"https://github.com/xu-ji/information-bottleneck/blob/HEAD/toy/util/general.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"802ae9c8c6458aaf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}