{"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/cell-attention-networks","title":"Cell Attention Networks","arxiv_id":"2209.08179","date":"2022-09-16","proceeding":null,"authors":["Lorenzo Giusti","Claudio Battiloro","Lucia Testa","Paolo Di Lorenzo","Stefania Sardellitti","Sergio Barbarossa"],"abstract":"Since their introduction, graph attention networks achieved outstanding results in graph representation learning tasks. However, these networks consider only pairwise relationships among nodes and then they are not able to fully exploit higher-order interactions present in many real world data-sets. In this paper, we introduce Cell Attention Networks (CANs), a neural architecture operating on data defined over the vertices of a graph, representing the graph as the 1-skeleton of a cell complex introduced to capture higher order interactions. In particular, we exploit the lower and upper neighborhoods, as encoded in the cell complex, to design two independent masked self-attention mechanisms, thus generalizing the conventional graph attention strategy. The approach used in CANs is hierarchical and it incorporates the following steps: i) a lifting algorithm that learns {\\it edge features} from {\\it node features}; ii) a cell attention mechanism to find the optimal combination of edge features over both lower and upper neighbors; iii) a hierarchical {\\it edge pooling} mechanism to extract a compact meaningful set of features. The experimental results show that CAN is a low complexity strategy that compares favorably with state of the art results on graph-based learning tasks.","url_abs":"https://arxiv.org/abs/2209.08179v1","url_pdf":"https://arxiv.org/pdf/2209.08179v1.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":"cell-attention-networks","repo_url":"https://github.com/lrnzgiusti/can","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-attention","task_name":"Graph Attention"},{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-representation-learning","task_name":"Graph Representation Learning"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-classification-on-mutag","task":"Graph Classification","dataset":"MUTAG","model":"CAN","rank_in_archive_order":9,"of":74,"metrics":{"Accuracy":"94.1%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-nci1","task":"Graph Classification","dataset":"NCI1","model":"CAN","rank_in_archive_order":20,"of":69,"metrics":{"Accuracy":"84.5%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-nci109","task":"Graph Classification","dataset":"NCI109","model":"CAN","rank_in_archive_order":10,"of":38,"metrics":{"Accuracy":"83.6"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-proteins","task":"Graph Classification","dataset":"PROTEINS","model":"CAN","rank_in_archive_order":21,"of":103,"metrics":{"Accuracy":"78.2%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-ptc","task":"Graph Classification","dataset":"PTC","model":"CAN","rank_in_archive_order":9,"of":37,"metrics":{"Accuracy":"72.8%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2209.08179","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.08179"}},"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/lrnzgiusti/can","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"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":"c0f810f64d31a0d2","entry":"compute_projection_matrix","repo":"lrnzgiusti/can","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/lrnzgiusti/can/blob/HEAD/utils/utils.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":"c0f810f64d31a0d2"}},{"code_sha256_prefix":"c4272dc6297e1d6d","entry":"normalize","repo":"lrnzgiusti/can","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/lrnzgiusti/can/blob/HEAD/utils/utils.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":"c4272dc6297e1d6d"}},{"code_sha256_prefix":"a726dcb95544b625","entry":"readout","repo":"lrnzgiusti/can","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/lrnzgiusti/can/blob/HEAD/utils/utils.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":"a726dcb95544b625"}},{"code_sha256_prefix":"90f0b1312e635a38","entry":"sp_matmul","repo":"lrnzgiusti/can","repo_kind":"official","path":"layers/cell_layers.py","file_url":"https://github.com/lrnzgiusti/can/blob/HEAD/layers/cell_layers.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":"90f0b1312e635a38"}},{"code_sha256_prefix":"2300f14a33046542","entry":"sp_softmax","repo":"lrnzgiusti/can","repo_kind":"official","path":"layers/cell_layers.py","file_url":"https://github.com/lrnzgiusti/can/blob/HEAD/layers/cell_layers.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":"2300f14a33046542"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}