{"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/graph-neural-networks-with-convolutional-arma","title":"Graph Neural Networks with convolutional ARMA filters","arxiv_id":"1901.01343","date":"2019-01-05","proceeding":null,"authors":["Filippo Maria Bianchi","Daniele Grattarola","Lorenzo Livi","Cesare Alippi"],"abstract":"Popular graph neural networks implement convolution operations on graphs based on polynomial spectral filters. In this paper, we propose a novel graph convolutional layer inspired by the auto-regressive moving average (ARMA) filter that, compared to polynomial ones, provides a more flexible frequency response, is more robust to noise, and better captures the global graph structure. We propose a graph neural network implementation of the ARMA filter with a recursive and distributed formulation, obtaining a convolutional layer that is efficient to train, localized in the node space, and can be transferred to new graphs at test time. We perform a spectral analysis to study the filtering effect of the proposed ARMA layer and report experiments on four downstream tasks: semi-supervised node classification, graph signal classification, graph classification, and graph regression. Results show that the proposed ARMA layer brings significant improvements over graph neural networks based on polynomial filters.","url_abs":"https://arxiv.org/abs/1901.01343v7","url_pdf":"https://arxiv.org/pdf/1901.01343v7.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":"graph-neural-networks-with-convolutional-arma","repo_url":"https://github.com/dmlc/dgl/tree/master/examples/pytorch/arma","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"graph-regression","task_name":"Graph Regression"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"skeleton-based-action-recognition","task_name":"Skeleton Based Action Recognition"}],"methods":[{"method_slug":"arma","method_name":"ARMA"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[{"slug":"arma","name":"ARMA","full_name":"ARMA GNN"}],"results":[{"leaderboard":"/sota/graph-regression-on-lipophilicity","task":"Graph Regression","dataset":"Lipophilicity","model":"ARMA","rank_in_archive_order":18,"of":23,"metrics":{"RMSE":"0.894"},"uses_additional_data":false},{"leaderboard":"/sota/skeleton-based-action-recognition-on-sbu","task":"Skeleton Based Action Recognition","dataset":"SBU / SBU-Refine","model":"ArmaConv","rank_in_archive_order":5,"of":9,"metrics":{"Accuracy":"96.00%"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1901.01343","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}