{"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/bandit-samplers-for-training-graph-neural","title":"Bandit Samplers for Training Graph Neural Networks","arxiv_id":"2006.05806","date":"2020-06-10","proceeding":"NeurIPS 2020 12","authors":["Ziqi Liu","Zhengwei Wu","Zhiqiang Zhang","Jun Zhou","Shuang Yang","Le Song","Yuan Qi"],"abstract":"Several sampling algorithms with variance reduction have been proposed for accelerating the training of Graph Convolution Networks (GCNs). However, due to the intractable computation of optimal sampling distribution, these sampling algorithms are suboptimal for GCNs and are not applicable to more general graph neural networks (GNNs) where the message aggregator contains learned weights rather than fixed weights, such as Graph Attention Networks (GAT). The fundamental reason is that the embeddings of the neighbors or learned weights involved in the optimal sampling distribution are changing during the training and not known a priori, but only partially observed when sampled, thus making the derivation of an optimal variance reduced samplers non-trivial. In this paper, we formulate the optimization of the sampling variance as an adversary bandit problem, where the rewards are related to the node embeddings and learned weights, and can vary constantly. Thus a good sampler needs to acquire variance information about more neighbors (exploration) while at the same time optimizing the immediate sampling variance (exploit). We theoretically show that our algorithm asymptotically approaches the optimal variance within a factor of 3. We show the efficiency and effectiveness of our approach on multiple datasets.","url_abs":"https://arxiv.org/abs/2006.05806v2","url_pdf":"https://arxiv.org/pdf/2006.05806v2.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":"bandit-samplers-for-training-graph-neural","repo_url":"https://github.com/xavierzw/ogb-geniepath-bs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"bandit-samplers-for-training-graph-neural","repo_url":"https://github.com/xavierzw/gnn-bs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-attention","task_name":"Graph Attention"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/node-property-prediction-on-ogbn-proteins","task":"Node Property Prediction","dataset":"ogbn-proteins","model":"GeniePath-BS","rank_in_archive_order":21,"of":26,"metrics":{"Ext. data":"No","Number of params":"316754","Test ROC-AUC":"0.7825 ± 0.0035","Validation ROC-AUC":"Please tell us"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.05806","atlas_url":"https://app.syntology.ai/?focus=2006.05806","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.05806"}},"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/xavierzw/ogb-geniepath-bs","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xavierzw/gnn-bs","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran_violates":1,"ran":1,"unverified":5},"by_repo_kind":{"official":{"samples":8,"ran":3,"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":"c1d6392f89c5e495","entry":"parse_index_file","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c1d6392f89c5e495"}},{"code_sha256_prefix":"b32fd748b4bbe3bf","entry":"sample_mask","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b32fd748b4bbe3bf"}},{"code_sha256_prefix":"b190ef9c60b2629a","entry":"zeros","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"inits.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/inits.py","link_basis":"harvester_set","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":"b190ef9c60b2629a"}},{"code_sha256_prefix":"e1c745efb699b041","entry":"attention_mechanism","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"models.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1c745efb699b041"}},{"code_sha256_prefix":"d30cc18b0c05a6ae","entry":"glorot","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"models.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d30cc18b0c05a6ae"}},{"code_sha256_prefix":"7886d7d7e49e3627","entry":"glorot","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"inits.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/inits.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7886d7d7e49e3627"}},{"code_sha256_prefix":"30f4098902a4d64d","entry":"glorot","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"utils.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30f4098902a4d64d"}},{"code_sha256_prefix":"b0d1b78daecde7e9","entry":"uniform","repo":"xavierzw/ogb-geniepath-bs","repo_kind":"official","path":"inits.py","file_url":"https://github.com/xavierzw/ogb-geniepath-bs/blob/HEAD/inits.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b0d1b78daecde7e9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}