{"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/robust-graph-neural-networks-via-unbiased","title":"Robust Graph Neural Networks via Unbiased Aggregation","arxiv_id":"2311.14934","date":"2023-11-25","proceeding":null,"authors":["Zhichao Hou","Ruiqi Feng","Tyler Derr","Xiaorui Liu"],"abstract":"The adversarial robustness of Graph Neural Networks (GNNs) has been questioned due to the false sense of security uncovered by strong adaptive attacks despite the existence of numerous defenses. In this work, we delve into the robustness analysis of representative robust GNNs and provide a unified robust estimation point of view to understand their robustness and limitations. Our novel analysis of estimation bias motivates the design of a robust and unbiased graph signal estimator. We then develop an efficient Quasi-Newton Iterative Reweighted Least Squares algorithm to solve the estimation problem, which is unfolded as robust unbiased aggregation layers in GNNs with theoretical guarantees. Our comprehensive experiments confirm the strong robustness of our proposed model under various scenarios, and the ablation study provides a deep understanding of its advantages. Our code is available at https://github.com/chris-hzc/RUNG.","url_abs":"https://arxiv.org/abs/2311.14934v2","url_pdf":"https://arxiv.org/pdf/2311.14934v2.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":"robust-graph-neural-networks-via-unbiased","repo_url":"https://github.com/chris-hzc/rung","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"adversarial-robustness","task_name":"Adversarial Robustness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2311.14934","atlas_url":"https://app.syntology.ai/?focus=2311.14934","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.14934"}},"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/chris-hzc/RUNG","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chris-hzc/rung","reach":{"status":"ok"}}],"summary":{"ran":9,"ran_violates":1,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":13,"ran":11,"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":13,"samples":[{"code_sha256_prefix":"cca47ac480b9b53c","entry":"MLP","repo":"chris-hzc/rung","repo_kind":"official","path":"model/rung.py","file_url":"https://github.com/chris-hzc/rung/blob/HEAD/model/rung.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cca47ac480b9b53c"}},{"code_sha256_prefix":"97cd3847a8f58587","entry":"RUNG","repo":"chris-hzc/rung","repo_kind":"official","path":"model/rung.py","file_url":"https://github.com/chris-hzc/rung/blob/HEAD/model/rung.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"97cd3847a8f58587"}},{"code_sha256_prefix":"eea628ccc87ab352","entry":"accuracy","repo":"chris-hzc/RUNG","repo_kind":"official","path":"utils.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eea628ccc87ab352"}},{"code_sha256_prefix":"839cde3cdde2d88d","entry":"add_loops","repo":"chris-hzc/rung","repo_kind":"official","path":"model/rung.py","file_url":"https://github.com/chris-hzc/rung/blob/HEAD/model/rung.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"839cde3cdde2d88d"}},{"code_sha256_prefix":"ee46cbb612631a3f","entry":"get_default_att_func","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/att_func.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/att_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee46cbb612631a3f"}},{"code_sha256_prefix":"697190207550b4bc","entry":"get_log_att_func","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/att_func.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/att_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"697190207550b4bc"}},{"code_sha256_prefix":"3247d82fc456b7d3","entry":"get_mask_att_func","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/att_func.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/att_func.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3247d82fc456b7d3"}},{"code_sha256_prefix":"c83bd2700251b9aa","entry":"get_w_ruge","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/rho.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/rho.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c83bd2700251b9aa"}},{"code_sha256_prefix":"2d4a8c877ef7066b","entry":"pairwise_squared_euclidean","repo":"chris-hzc/rung","repo_kind":"official","path":"model/rung.py","file_url":"https://github.com/chris-hzc/rung/blob/HEAD/model/rung.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2d4a8c877ef7066b"}},{"code_sha256_prefix":"44c424b4c67c6f08","entry":"w_l1","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/rho.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/rho.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"44c424b4c67c6f08"}},{"code_sha256_prefix":"5235a892c6fb07f8","entry":"w_ruge","repo":"chris-hzc/RUNG","repo_kind":"official","path":"model/rho.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/model/rho.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5235a892c6fb07f8"}},{"code_sha256_prefix":"4e4cc9cc5f692636","entry":"load_cora","repo":"chris-hzc/RUNG","repo_kind":"official","path":"load_graph.py","file_url":"https://github.com/chris-hzc/RUNG/blob/HEAD/load_graph.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e4cc9cc5f692636"}},{"code_sha256_prefix":"3fd806590e3d803a","entry":"sym_norm","repo":"chris-hzc/rung","repo_kind":"official","path":"model/rung.py","file_url":"https://github.com/chris-hzc/rung/blob/HEAD/model/rung.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3fd806590e3d803a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}