{"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-to-find-your-friendly-neighborhood-graph-1","title":"How to Find Your Friendly Neighborhood: Graph Attention Design with Self-Supervision","arxiv_id":"2204.04879","date":"2022-04-11","proceeding":"ICLR 2021 1","authors":["Dongkwan Kim","Alice Oh"],"abstract":"Attention mechanism in graph neural networks is designed to assign larger weights to important neighbor nodes for better representation. However, what graph attention learns is not understood well, particularly when graphs are noisy. In this paper, we propose a self-supervised graph attention network (SuperGAT), an improved graph attention model for noisy graphs. Specifically, we exploit two attention forms compatible with a self-supervised task to predict edges, whose presence and absence contain the inherent information about the importance of the relationships between nodes. By encoding edges, SuperGAT learns more expressive attention in distinguishing mislinked neighbors. We find two graph characteristics influence the effectiveness of attention forms and self-supervision: homophily and average degree. Thus, our recipe provides guidance on which attention design to use when those two graph characteristics are known. Our experiment on 17 real-world datasets demonstrates that our recipe generalizes across 15 datasets of them, and our models designed by recipe show improved performance over baselines.","url_abs":"https://arxiv.org/abs/2204.04879v1","url_pdf":"https://arxiv.org/pdf/2204.04879v1.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-to-find-your-friendly-neighborhood-graph-1","repo_url":"https://github.com/dongkwan-kim/SuperGAT","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"how-to-find-your-friendly-neighborhood-graph-1","repo_url":"https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/conv/supergat_conv.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-attention","task_name":"Graph Attention"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/node-classification-on-citeseer-with-public","task":"Node Classification","dataset":"CiteSeer with Public Split: fixed 20 nodes per class","model":"SuperGAT MX","rank_in_archive_order":26,"of":40,"metrics":{"Accuracy":"72.6%"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-with-public-split","task":"Node Classification","dataset":"Cora with Public Split: fixed 20 nodes per class","model":"SuperGAT MX","rank_in_archive_order":11,"of":36,"metrics":{"Accuracy":"84.3%"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-with-public","task":"Node Classification","dataset":"PubMed with Public Split: fixed 20 nodes per class","model":"SuperGAT MX","rank_in_archive_order":7,"of":37,"metrics":{"Accuracy":"81.7%"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2204.04879","atlas_url":"https://app.syntology.ai/?focus=2204.04879","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.04879"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/dongkwan-kim/SuperGAT","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/conv/supergat_conv.py","reach":null}],"summary":{"ran_violates":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"ed3c4124b435e397","entry":"is_pretraining","repo":"dongkwan-kim/SuperGAT","repo_kind":"official","path":"SuperGAT/layer.py","file_url":"https://github.com/dongkwan-kim/SuperGAT/blob/HEAD/SuperGAT/layer.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ed3c4124b435e397"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}