{"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/dynamic-graph-information-bottleneck","title":"Dynamic Graph Information Bottleneck","arxiv_id":"2402.06716","date":"2024-02-09","proceeding":null,"authors":["Haonan Yuan","Qingyun Sun","Xingcheng Fu","Cheng Ji","JianXin Li"],"abstract":"Dynamic Graphs widely exist in the real world, which carry complicated spatial and temporal feature patterns, challenging their representation learning. Dynamic Graph Neural Networks (DGNNs) have shown impressive predictive abilities by exploiting the intrinsic dynamics. However, DGNNs exhibit limited robustness, prone to adversarial attacks. This paper presents the novel Dynamic Graph Information Bottleneck (DGIB) framework to learn robust and discriminative representations. Leveraged by the Information Bottleneck (IB) principle, we first propose the expected optimal representations should satisfy the Minimal-Sufficient-Consensual (MSC) Condition. To compress redundant as well as conserve meritorious information into latent representation, DGIB iteratively directs and refines the structural and feature information flow passing through graph snapshots. To meet the MSC Condition, we decompose the overall IB objectives into DGIB$_{MS}$ and DGIB$_C$, in which the DGIB$_{MS}$ channel aims to learn the minimal and sufficient representations, with the DGIB$_{MS}$ channel guarantees the predictive consensus. Extensive experiments on real-world and synthetic dynamic graph datasets demonstrate the superior robustness of DGIB against adversarial attacks compared with state-of-the-art baselines in the link prediction task. To the best of our knowledge, DGIB is the first work to learn robust representations of dynamic graphs grounded in the information-theoretic IB principle.","url_abs":"https://arxiv.org/abs/2402.06716v3","url_pdf":"https://arxiv.org/pdf/2402.06716v3.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":"dynamic-graph-information-bottleneck","repo_url":"https://github.com/ringbdstack/dgib","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.06716","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.06716"}},"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/ringbdstack/dgib","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":"01e22d114b1da6d8","entry":"get_reparam_num_neurons","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/util_IB.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/util_IB.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"01e22d114b1da6d8"}},{"code_sha256_prefix":"9e275404aa5e3c6a","entry":"recursive_index","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/pytorch_net/util.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/pytorch_net/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e275404aa5e3c6a"}},{"code_sha256_prefix":"62508539722283e0","entry":"sample_lognormal","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/util_IB.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/util_IB.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62508539722283e0"}},{"code_sha256_prefix":"f7fd106f26391f2e","entry":"scatter_sample","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/util_IB.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/util_IB.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7fd106f26391f2e"}},{"code_sha256_prefix":"4f1b3efb75f70e1b","entry":"to_Boolean","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/pytorch_net/util.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/pytorch_net/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4f1b3efb75f70e1b"}},{"code_sha256_prefix":"0c7516590985e454","entry":"to_Variable_recur","repo":"ringbdstack/dgib","repo_kind":"official","path":"DGIB/pytorch_net/util.py","file_url":"https://github.com/ringbdstack/dgib/blob/HEAD/DGIB/pytorch_net/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c7516590985e454"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}