{"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/cold-brew-distilling-graph-node-1","title":"Cold Brew: Distilling Graph Node Representations with Incomplete or Missing Neighborhoods","arxiv_id":"2111.04840","date":"2021-11-08","proceeding":"ICLR 2022 4","authors":["Wenqing Zheng","Edward W Huang","Nikhil Rao","Sumeet Katariya","Zhangyang Wang","Karthik Subbian"],"abstract":"Graph Neural Networks (GNNs) have achieved state-of-the-art performance in node classification, regression, and recommendation tasks. GNNs work well when rich and high-quality connections are available. However, their effectiveness is often jeopardized in many real-world graphs in which node degrees have power-law distributions. The extreme case of this situation, where a node may have no neighbors, is called Strict Cold Start (SCS). SCS forces the prediction to rely completely on the node's own features. We propose Cold Brew, a teacher-student distillation approach to address the SCS and noisy-neighbor challenges for GNNs. We also introduce feature contribution ratio (FCR), a metric to quantify the behavior of inductive GNNs to solve SCS. We experimentally show that FCR disentangles the contributions of different graph data components and helps select the best architecture for SCS generalization. We further demonstrate the superior performance of Cold Brew on several public benchmark and proprietary e-commerce datasets, where many nodes have either very few or noisy connections. Our source code is available at https://github.com/amazon-research/gnn-tail-generalization.","url_abs":"https://arxiv.org/abs/2111.04840v3","url_pdf":"https://arxiv.org/pdf/2111.04840v3.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":"cold-brew-distilling-graph-node-1","repo_url":"https://github.com/amazon-research/gnn-tail-generalization","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"cold-brew-distilling-graph-node-1","repo_url":"https://github.com/amazon-science/gnn-tail-generalization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"node-classification","task_name":"Node Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.04840","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.04840"}},"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/amazon-research/gnn-tail-generalization","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/amazon-science/gnn-tail-generalization","reach":null}],"summary":{"ran":4,"unverified":12},"by_repo_kind":{"official":{"samples":16,"ran":4,"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":"19511295442b8b8a","entry":"AcontainsB","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"GNN_model/drop_tricks.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/GNN_model/drop_tricks.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"19511295442b8b8a"}},{"code_sha256_prefix":"a5483c4f44a5f81a","entry":"reset_weight_GroupNorm","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"GNN_model/norm_tricks.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/GNN_model/norm_tricks.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a5483c4f44a5f81a"}},{"code_sha256_prefix":"429df79768882322","entry":"run_norm_if_any","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"GNN_model/norm_tricks.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/GNN_model/norm_tricks.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"429df79768882322"}},{"code_sha256_prefix":"18d569c66cbe1eda","entry":"tonp","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"GNN_model/GCN.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/GNN_model/GCN.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"18d569c66cbe1eda"}},{"code_sha256_prefix":"3cbbe6f92c0de08c","entry":"adaptive_auc_loss","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Link_prediction_model/loss.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Link_prediction_model/loss.py","link_basis":"harvester_set","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":"3cbbe6f92c0de08c"}},{"code_sha256_prefix":"4b9ae549a5732877","entry":"auc_loss","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Link_prediction_model/loss.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Link_prediction_model/loss.py","link_basis":"harvester_set","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":"4b9ae549a5732877"}},{"code_sha256_prefix":"2859a58982511839","entry":"build_edge_adj","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Link_prediction_model/edge_LP.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Link_prediction_model/edge_LP.py","link_basis":"harvester_set","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":"2859a58982511839"}},{"code_sha256_prefix":"2c1fff89f9280558","entry":"cal_acc_indices","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/LP_Adj.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/LP_Adj.py","link_basis":"harvester_set","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":"2c1fff89f9280558"}},{"code_sha256_prefix":"4995964ae5fddaf1","entry":"cal_acc_logits","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/LP_Adj.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/LP_Adj.py","link_basis":"harvester_set","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":"4995964ae5fddaf1"}},{"code_sha256_prefix":"afbdc85089318f81","entry":"diffusion","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/diffusion_feature.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/diffusion_feature.py","link_basis":"harvester_set","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":"afbdc85089318f81"}},{"code_sha256_prefix":"8e4eee31155a52fb","entry":"gen_normalized_adjs","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/outcome_correlation.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/outcome_correlation.py","link_basis":"harvester_set","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":"8e4eee31155a52fb"}},{"code_sha256_prefix":"1c9f7749bb1f3502","entry":"general_outcome_correlation_YAG","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/outcome_correlation.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/outcome_correlation.py","link_basis":"harvester_set","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":"1c9f7749bb1f3502"}},{"code_sha256_prefix":"03d2b1e423c6445b","entry":"log_rank_loss","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Link_prediction_model/loss.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Link_prediction_model/loss.py","link_basis":"harvester_set","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":"03d2b1e423c6445b"}},{"code_sha256_prefix":"869350b6e16a5a33","entry":"lp","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/diffusion_feature.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/diffusion_feature.py","link_basis":"harvester_set","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":"869350b6e16a5a33"}},{"code_sha256_prefix":"a33fe9e4734902f9","entry":"sgc","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/diffusion_feature.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/diffusion_feature.py","link_basis":"harvester_set","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":"a33fe9e4734902f9"}},{"code_sha256_prefix":"bfdd8eb94daad37e","entry":"to_device","repo":"amazon-research/gnn-tail-generalization","repo_kind":"official","path":"Label_propagation_model/LP_Adj.py","file_url":"https://github.com/amazon-research/gnn-tail-generalization/blob/HEAD/Label_propagation_model/LP_Adj.py","link_basis":"harvester_set","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":"bfdd8eb94daad37e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}