{"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/bridging-the-gap-between-spectral-and-spatial","title":"Bridging the Gap Between Spectral and Spatial Domains in Graph Neural Networks","arxiv_id":"2003.11702","date":"2020-03-26","proceeding":null,"authors":["Muhammet Balcilar","Guillaume Renton","Pierre Heroux","Benoit Gauzere","Sebastien Adam","Paul Honeine"],"abstract":"This paper aims at revisiting Graph Convolutional Neural Networks by bridging the gap between spectral and spatial design of graph convolutions. We theoretically demonstrate some equivalence of the graph convolution process regardless it is designed in the spatial or the spectral domain. The obtained general framework allows to lead a spectral analysis of the most popular ConvGNNs, explaining their performance and showing their limits. Moreover, the proposed framework is used to design new convolutions in spectral domain with a custom frequency profile while applying them in the spatial domain. We also propose a generalization of the depthwise separable convolution framework for graph convolutional networks, what allows to decrease the total number of trainable parameters by keeping the capacity of the model. To the best of our knowledge, such a framework has never been used in the GNNs literature. Our proposals are evaluated on both transductive and inductive graph learning problems. Obtained results show the relevance of the proposed method and provide one of the first experimental evidence of transferability of spectral filter coefficients from one graph to another. Our source codes are publicly available at: https://github.com/balcilar/Spectral-Designed-Graph-Convolutions","url_abs":"https://arxiv.org/abs/2003.11702v1","url_pdf":"https://arxiv.org/pdf/2003.11702v1.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":"bridging-the-gap-between-spectral-and-spatial","repo_url":"https://github.com/balcilar/Spectral-Designed-Graph-Convolutions","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"bridging-the-gap-between-spectral-and-spatial","repo_url":"https://github.com/sidneyarcidiacono/UnderstandingGCNs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"node-classification","task_name":"Node Classification"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-classification-on-enzymes","task":"Graph Classification","dataset":"ENZYMES","model":"DSGCN-allfeat","rank_in_archive_order":4,"of":54,"metrics":{"Accuracy":"78.39"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-enzymes","task":"Graph Classification","dataset":"ENZYMES","model":"DSGCN-nodelabel","rank_in_archive_order":21,"of":54,"metrics":{"Accuracy":"65.13"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-citeseer-with-public","task":"Node Classification","dataset":"CiteSeer with Public Split: fixed 20 nodes per class","model":"DSGCN","rank_in_archive_order":17,"of":40,"metrics":{"Accuracy":"73.3"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-with-public-split","task":"Node Classification","dataset":"Cora with Public Split: fixed 20 nodes per class","model":"DSGCN","rank_in_archive_order":12,"of":36,"metrics":{"Accuracy":"84.2%"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-fixed-20-node-per","task":"Node Classification","dataset":"Cora: fixed 20 node per class","model":"DSGCN","rank_in_archive_order":1,"of":9,"metrics":{"Accuracy":"84.2"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-ppi","task":"Node Classification","dataset":"PPI","model":"DSGCN","rank_in_archive_order":11,"of":24,"metrics":{"F1":"99.09 ± 0.03"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-with-public","task":"Node Classification","dataset":"PubMed with Public Split: fixed 20 nodes per class","model":"DSGCN","rank_in_archive_order":5,"of":37,"metrics":{"Accuracy":"81.9%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.11702","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}