{"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/parameterized-explainer-for-graph-neural","title":"Parameterized Explainer for Graph Neural Network","arxiv_id":"2011.04573","date":"2020-11-09","proceeding":"NeurIPS 2020 12","authors":["Dongsheng Luo","Wei Cheng","Dongkuan Xu","Wenchao Yu","Bo Zong","Haifeng Chen","Xiang Zhang"],"abstract":"Despite recent progress in Graph Neural Networks (GNNs), explaining predictions made by GNNs remains a challenging open problem. The leading method independently addresses the local explanations (i.e., important subgraph structure and node features) to interpret why a GNN model makes the prediction for a single instance, e.g. a node or a graph. As a result, the explanation generated is painstakingly customized for each instance. The unique explanation interpreting each instance independently is not sufficient to provide a global understanding of the learned GNN model, leading to a lack of generalizability and hindering it from being used in the inductive setting. Besides, as it is designed for explaining a single instance, it is challenging to explain a set of instances naturally (e.g., graphs of a given class). In this study, we address these key challenges and propose PGExplainer, a parameterized explainer for GNNs. PGExplainer adopts a deep neural network to parameterize the generation process of explanations, which enables PGExplainer a natural approach to explaining multiple instances collectively. Compared to the existing work, PGExplainer has better generalization ability and can be utilized in an inductive setting easily. Experiments on both synthetic and real-life datasets show highly competitive performance with up to 24.7\\% relative improvement in AUC on explaining graph classification over the leading baseline.","url_abs":"https://arxiv.org/abs/2011.04573v1","url_pdf":"https://arxiv.org/pdf/2011.04573v1.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":"parameterized-explainer-for-graph-neural","repo_url":"https://github.com/flyingdoog/PGExplainer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"parameterized-explainer-for-graph-neural","repo_url":"https://github.com/Graph-COM/GSAT","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"parameterized-explainer-for-graph-neural","repo_url":"https://github.com/LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"parameterized-explainer-for-graph-neural","repo_url":"https://github.com/realmoana/proxyexplainer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[],"datasets_introduced":[{"slug":"ba-2motifs","name":"BA-2motifs","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2011.04573","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2011.04573"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Graph-COM/GSAT","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/realmoana/proxyexplainer","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/flyingdoog/PGExplainer","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks","reach":null}],"summary":{"ran":3,"unverified":5},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":7,"ran":2,"repositories":2}},"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":8,"samples":[{"code_sha256_prefix":"8a01a842b30f5c44","entry":"Explainer","repo":"flyingdoog/PGExplainer","repo_kind":"official","path":"codes/forgraph/Explainer.py","file_url":"https://github.com/flyingdoog/PGExplainer/blob/HEAD/codes/forgraph/Explainer.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":"8a01a842b30f5c44"}},{"code_sha256_prefix":"75305de9413fa579","entry":"GraphTransformer","repo":"realmoana/proxyexplainer","repo_kind":"listed","path":"ExplanationEvaluation/explainers/ProxyExplainer.py","file_url":"https://github.com/realmoana/proxyexplainer/blob/HEAD/ExplanationEvaluation/explainers/ProxyExplainer.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":"75305de9413fa579"}},{"code_sha256_prefix":"791d93e39ee92907","entry":"PGExplainer","repo":"LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks","repo_kind":"listed","path":"ExplanationEvaluation/explainers/PGExplainer.py","file_url":"https://github.com/LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks/blob/HEAD/ExplanationEvaluation/explainers/PGExplainer.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":"791d93e39ee92907"}},{"code_sha256_prefix":"5458b37cb44bba84","entry":"BaseExplainer","repo":"LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks","repo_kind":"listed","path":"ExplanationEvaluation/explainers/PGExplainer.py","file_url":"https://github.com/LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks/blob/HEAD/ExplanationEvaluation/explainers/PGExplainer.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":"5458b37cb44bba84"}},{"code_sha256_prefix":"904f2c89659503a7","entry":"BaseExplainer","repo":"realmoana/proxyexplainer","repo_kind":"listed","path":"ExplanationEvaluation/explainers/ProxyExplainer.py","file_url":"https://github.com/realmoana/proxyexplainer/blob/HEAD/ExplanationEvaluation/explainers/ProxyExplainer.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":"904f2c89659503a7"}},{"code_sha256_prefix":"6d801a0f2ac513a0","entry":"GNN_MLP_VariationalAutoEncoder","repo":"realmoana/proxyexplainer","repo_kind":"listed","path":"ExplanationEvaluation/explainers/ProxyExplainer.py","file_url":"https://github.com/realmoana/proxyexplainer/blob/HEAD/ExplanationEvaluation/explainers/ProxyExplainer.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":"6d801a0f2ac513a0"}},{"code_sha256_prefix":"802418f6d64d66e9","entry":"PROXYExplainer","repo":"realmoana/proxyexplainer","repo_kind":"listed","path":"ExplanationEvaluation/explainers/ProxyExplainer.py","file_url":"https://github.com/realmoana/proxyexplainer/blob/HEAD/ExplanationEvaluation/explainers/ProxyExplainer.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":"802418f6d64d66e9"}},{"code_sha256_prefix":"e953093580fc56e8","entry":"index_edge","repo":"LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks","repo_kind":"listed","path":"ExplanationEvaluation/explainers/PGExplainer.py","file_url":"https://github.com/LarsHoldijk/RE-ParameterizedExplainerForGraphNeuralNetworks/blob/HEAD/ExplanationEvaluation/explainers/PGExplainer.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":"e953093580fc56e8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}