{"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/fast-graph-sharpness-aware-minimization-for","title":"Fast Graph Sharpness-Aware Minimization for Enhancing and Accelerating Few-Shot Node Classification","arxiv_id":"2410.16845","date":"2024-10-22","proceeding":null,"authors":["Yihong Luo","Yuhan Chen","Siya Qiu","Yiwei Wang","Chen Zhang","Yan Zhou","Xiaochun Cao","Jing Tang"],"abstract":"Graph Neural Networks (GNNs) have shown superior performance in node classification. However, GNNs perform poorly in the Few-Shot Node Classification (FSNC) task that requires robust generalization to make accurate predictions for unseen classes with limited labels. To tackle the challenge, we propose the integration of Sharpness-Aware Minimization (SAM)--a technique designed to enhance model generalization by finding a flat minimum of the loss landscape--into GNN training. The standard SAM approach, however, consists of two forward-backward steps in each training iteration, doubling the computational cost compared to the base optimizer (e.g., Adam). To mitigate this drawback, we introduce a novel algorithm, Fast Graph Sharpness-Aware Minimization (FGSAM), that integrates the rapid training of Multi-Layer Perceptrons (MLPs) with the superior performance of GNNs. Specifically, we utilize GNNs for parameter perturbation while employing MLPs to minimize the perturbed loss so that we can find a flat minimum with good generalization more efficiently. Moreover, our method reutilizes the gradient from the perturbation phase to incorporate graph topology into the minimization process at almost zero additional cost. To further enhance training efficiency, we develop FGSAM+ that executes exact perturbations periodically. Extensive experiments demonstrate that our proposed algorithm outperforms the standard SAM with lower computational costs in FSNC tasks. In particular, our FGSAM+ as a SAM variant offers a faster optimization than the base optimizer in most cases. In addition to FSNC, our proposed methods also demonstrate competitive performance in the standard node classification task for heterophilic graphs, highlighting the broad applicability. The code is available at https://github.com/draym28/FGSAM_NeurIPS24.","url_abs":"https://arxiv.org/abs/2410.16845v1","url_pdf":"https://arxiv.org/pdf/2410.16845v1.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":"fast-graph-sharpness-aware-minimization-for","repo_url":"https://github.com/draym28/fgsam_neurips24","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"node-classification","task_name":"Node Classification"}],"methods":[{"method_slug":"base","method_name":"BASE"},{"method_slug":"sam","method_name":"SAM"},{"method_slug":"sharpness-aware-minimization","method_name":"Sharpness-Aware Minimization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.16845","atlas_url":"https://app.syntology.ai/?focus=2410.16845","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.16845"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/draym28/fgsam_neurips24","reach":{"status":"ok"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":5,"samples":[{"code_sha256_prefix":"bbbf27d3cd57273e","entry":"config_fs","repo":"draym28/fgsam_neurips24","repo_kind":"official","path":"GPN+FGSAM/config.py","file_url":"https://github.com/draym28/fgsam_neurips24/blob/HEAD/GPN%2BFGSAM/config.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":"bbbf27d3cd57273e"}},{"code_sha256_prefix":"3bfe131fe0f03d29","entry":"config_fs","repo":"draym28/fgsam_neurips24","repo_kind":"official","path":"Meta-GNN+FGSAM/config.py","file_url":"https://github.com/draym28/fgsam_neurips24/blob/HEAD/Meta-GNN%2BFGSAM/config.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":"3bfe131fe0f03d29"}},{"code_sha256_prefix":"f679f5da4e846ff1","entry":"load_data","repo":"draym28/fgsam_neurips24","repo_kind":"official","path":"GPN+FGSAM/utils.py","file_url":"https://github.com/draym28/fgsam_neurips24/blob/HEAD/GPN%2BFGSAM/utils.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":"f679f5da4e846ff1"}},{"code_sha256_prefix":"a6b633ffa6a54426","entry":"load_data","repo":"draym28/fgsam_neurips24","repo_kind":"official","path":"Meta-GNN+FGSAM/utils.py","file_url":"https://github.com/draym28/fgsam_neurips24/blob/HEAD/Meta-GNN%2BFGSAM/utils.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":"a6b633ffa6a54426"}},{"code_sha256_prefix":"d95bc2aefbb8a10f","entry":"task_generator","repo":"draym28/fgsam_neurips24","repo_kind":"official","path":"GPN+FGSAM/utils.py","file_url":"https://github.com/draym28/fgsam_neurips24/blob/HEAD/GPN%2BFGSAM/utils.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":"d95bc2aefbb8a10f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}