{"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/neural-sheaf-diffusion-a-topological","title":"Neural Sheaf Diffusion: A Topological Perspective on Heterophily and Oversmoothing in GNNs","arxiv_id":"2202.04579","date":"2022-02-09","proceeding":null,"authors":["Cristian Bodnar","Francesco Di Giovanni","Benjamin Paul Chamberlain","Pietro Liò","Michael M. Bronstein"],"abstract":"Cellular sheaves equip graphs with a \"geometrical\" structure by assigning vector spaces and linear maps to nodes and edges. Graph Neural Networks (GNNs) implicitly assume a graph with a trivial underlying sheaf. This choice is reflected in the structure of the graph Laplacian operator, the properties of the associated diffusion equation, and the characteristics of the convolutional models that discretise this equation. In this paper, we use cellular sheaf theory to show that the underlying geometry of the graph is deeply linked with the performance of GNNs in heterophilic settings and their oversmoothing behaviour. By considering a hierarchy of increasingly general sheaves, we study how the ability of the sheaf diffusion process to achieve linear separation of the classes in the infinite time limit expands. At the same time, we prove that when the sheaf is non-trivial, discretised parametric diffusion processes have greater control than GNNs over their asymptotic behaviour. On the practical side, we study how sheaves can be learned from data. The resulting sheaf diffusion models have many desirable properties that address the limitations of classical graph diffusion equations (and corresponding GNN models) and obtain competitive results in heterophilic settings. Overall, our work provides new connections between GNNs and algebraic topology and would be of interest to both fields.","url_abs":"https://arxiv.org/abs/2202.04579v4","url_pdf":"https://arxiv.org/pdf/2202.04579v4.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":"neural-sheaf-diffusion-a-topological","repo_url":"https://github.com/twitter-research/neural-sheaf-diffusion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"node-classification-on-non-homophilic","task_name":"Node Classification on Non-Homophilic (Heterophilic) Graphs"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/node-classification-on-actor","task":"Node Classification","dataset":"Actor","model":"O(d)-NSD","rank_in_archive_order":14,"of":62,"metrics":{"Accuracy":"37.81 ± 1.15"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-actor","task":"Node Classification","dataset":"Actor","model":"Gen-NSD","rank_in_archive_order":15,"of":62,"metrics":{"Accuracy":"37.80 ± 1.22"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-actor","task":"Node Classification","dataset":"Actor","model":"Diag-NSD","rank_in_archive_order":16,"of":62,"metrics":{"Accuracy":"37.79 ± 1.01"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-chameleon","task":"Node Classification","dataset":"Chameleon","model":"Diag-NSD","rank_in_archive_order":36,"of":61,"metrics":{"Accuracy":"68.68 ± 1.73"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-chameleon","task":"Node Classification","dataset":"Chameleon","model":"O(d)-NSD","rank_in_archive_order":41,"of":61,"metrics":{"Accuracy":"68.04 ± 1.58"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-chameleon","task":"Node Classification","dataset":"Chameleon","model":"Gen-NSD","rank_in_archive_order":42,"of":61,"metrics":{"Accuracy":"67.93 ± 1.58"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-citeseer-48-32-20","task":"Node Classification","dataset":"Citeseer (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":10,"of":26,"metrics":{"1:1 Accuracy":"77.14 ± 1.85"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-citeseer-48-32-20","task":"Node Classification","dataset":"Citeseer (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":17,"of":26,"metrics":{"1:1 Accuracy":"76.70 ± 1.57"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-citeseer-48-32-20","task":"Node Classification","dataset":"Citeseer (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":19,"of":26,"metrics":{"1:1 Accuracy":"76.32 ± 1.65"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-48-32-20-fixed","task":"Node Classification","dataset":"Cora (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":18,"of":26,"metrics":{"1:1 Accuracy":"87.30 ± 1.15"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-48-32-20-fixed","task":"Node Classification","dataset":"Cora (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":19,"of":26,"metrics":{"1:1 Accuracy":"87.14 ± 1.06"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-48-32-20-fixed","task":"Node Classification","dataset":"Cora (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":21,"of":26,"metrics":{"1:1 Accuracy":"86.90 ± 1.13"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cornell","task":"Node Classification","dataset":"Cornell","model":"Diag-NSD","rank_in_archive_order":8,"of":60,"metrics":{"Accuracy":"86.49 ± 7.35"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cornell","task":"Node Classification","dataset":"Cornell","model":"Gen-NSD","rank_in_archive_order":18,"of":60,"metrics":{"Accuracy":"85.68 ± 6.51"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cornell","task":"Node Classification","dataset":"Cornell","model":"O(d)-NSD","rank_in_archive_order":26,"of":60,"metrics":{"Accuracy":"84.86 ± 4.71"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-48-32-20-fixed","task":"Node Classification","dataset":"PubMed (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":10,"of":26,"metrics":{"1:1 Accuracy":"89.49 ± 0.40"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-48-32-20-fixed","task":"Node Classification","dataset":"PubMed (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":11,"of":26,"metrics":{"1:1 Accuracy":"89.42 ± 0.43"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-48-32-20-fixed","task":"Node Classification","dataset":"PubMed (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":12,"of":26,"metrics":{"1:1 Accuracy":"89.33 ± 0.35"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-squirrel","task":"Node Classification","dataset":"Squirrel","model":"O(d)-NSD","rank_in_archive_order":33,"of":59,"metrics":{"Accuracy":"56.34 ± 1.32"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-squirrel","task":"Node Classification","dataset":"Squirrel","model":"Diag-NSD","rank_in_archive_order":39,"of":59,"metrics":{"Accuracy":"54.78 ± 1.81"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-squirrel","task":"Node Classification","dataset":"Squirrel","model":"Gen-NSD","rank_in_archive_order":41,"of":59,"metrics":{"Accuracy":"53.17 ± 1.31"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-texas","task":"Node Classification","dataset":"Texas","model":"O(d)-NSD","rank_in_archive_order":25,"of":62,"metrics":{"Accuracy":"85.95 ± 5.51"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-texas","task":"Node Classification","dataset":"Texas","model":"Diag-NSD","rank_in_archive_order":28,"of":62,"metrics":{"Accuracy":"85.67 ± 6.95"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-texas","task":"Node Classification","dataset":"Texas","model":"Gen-NSD","rank_in_archive_order":45,"of":62,"metrics":{"Accuracy":"82.97 ± 5.13"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-wisconsin","task":"Node Classification","dataset":"Wisconsin","model":"O(d)-NSD","rank_in_archive_order":5,"of":63,"metrics":{"Accuracy":"89.41 ± 4.74"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-wisconsin","task":"Node Classification","dataset":"Wisconsin","model":"Gen-NSD","rank_in_archive_order":6,"of":63,"metrics":{"Accuracy":"89.21 ± 3.84"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-wisconsin","task":"Node Classification","dataset":"Wisconsin","model":"Diag-NSD","rank_in_archive_order":11,"of":63,"metrics":{"Accuracy":"88.63 ± 2.75"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-11","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Chameleon (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":14,"of":29,"metrics":{"1:1 Accuracy":"68.68 ± 1.73"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-11","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Chameleon (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":17,"of":29,"metrics":{"1:1 Accuracy":"68.04 ± 1.58"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-11","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Chameleon (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":18,"of":29,"metrics":{"1:1 Accuracy":"67.93 ± 1.58"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-7","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Cornell (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":1,"of":27,"metrics":{"1:1 Accuracy":"86.49 ± 7.35"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-7","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Cornell (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":7,"of":27,"metrics":{"1:1 Accuracy":"85.68 ± 6.51"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-7","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Cornell (48%/32%/20% fixed splits)","model":"O(d) - NSD","rank_in_archive_order":13,"of":27,"metrics":{"1:1 Accuracy":"84.86 ± 4.71"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-10","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Film(48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":2,"of":26,"metrics":{"1:1 Accuracy":"37.81 ± 1.15"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-10","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Film(48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":3,"of":26,"metrics":{"1:1 Accuracy":"37.80 ± 1.22"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-10","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Film(48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":4,"of":26,"metrics":{"1:1 Accuracy":"37.79 ± 1.01"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-12","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Squirrel (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":14,"of":29,"metrics":{"1:1 Accuracy":"56.34 ± 1.32"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-12","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Squirrel (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":17,"of":29,"metrics":{"1:1 Accuracy":"54.78 ± 1.81"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-12","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Squirrel (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":18,"of":29,"metrics":{"1:1 Accuracy":"53.17 ± 1.31"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-9","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Texas (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":7,"of":26,"metrics":{"1:1 Accuracy":"85.95 ± 5.51"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-9","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Texas (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":8,"of":26,"metrics":{"1:1 Accuracy":"85.67 ± 6.95"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-9","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Texas (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":16,"of":26,"metrics":{"1:1 Accuracy":"82.97 ± 5.13 "},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-8","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Wisconsin (48%/32%/20% fixed splits)","model":"O(d)-NSD","rank_in_archive_order":1,"of":26,"metrics":{"1:1 Accuracy":"89.41 ± 4.74"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-8","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Wisconsin (48%/32%/20% fixed splits)","model":"Gen-NSD","rank_in_archive_order":2,"of":26,"metrics":{"1:1 Accuracy":"89.21 ± 3.84"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-non-homophilic-8","task":"Node Classification on Non-Homophilic (Heterophilic) Graphs","dataset":"Wisconsin (48%/32%/20% fixed splits)","model":"Diag-NSD","rank_in_archive_order":3,"of":26,"metrics":{"1:1 Accuracy":"88.63 ± 2.75"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.04579","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.04579"}},"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/twitter-research/neural-sheaf-diffusion","reach":null}],"summary":{"unverified":1},"by_repo_kind":{"official":{"samples":1,"ran":0,"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":"2000cda4ded21558","entry":"SheafDiffusion","repo":"twitter-research/neural-sheaf-diffusion","repo_kind":"official","path":"models/sheaf_base.py","file_url":"https://github.com/twitter-research/neural-sheaf-diffusion/blob/HEAD/models/sheaf_base.py","link_basis":"first_harvest_node","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":"2000cda4ded21558"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}