{"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/gated-attention-coding-for-training-high","title":"Gated Attention Coding for Training High-performance and Efficient Spiking Neural Networks","arxiv_id":"2308.06582","date":"2023-08-12","proceeding":null,"authors":["Xuerui Qiu","Rui-Jie Zhu","Yuhong Chou","Zhaorui Wang","Liang-Jian Deng","Guoqi Li"],"abstract":"Spiking neural networks (SNNs) are emerging as an energy-efficient alternative to traditional artificial neural networks (ANNs) due to their unique spike-based event-driven nature. Coding is crucial in SNNs as it converts external input stimuli into spatio-temporal feature sequences. However, most existing deep SNNs rely on direct coding that generates powerless spike representation and lacks the temporal dynamics inherent in human vision. Hence, we introduce Gated Attention Coding (GAC), a plug-and-play module that leverages the multi-dimensional gated attention unit to efficiently encode inputs into powerful representations before feeding them into the SNN architecture. GAC functions as a preprocessing layer that does not disrupt the spike-driven nature of the SNN, making it amenable to efficient neuromorphic hardware implementation with minimal modifications. Through an observer model theoretical analysis, we demonstrate GAC's attention mechanism improves temporal dynamics and coding efficiency. Experiments on CIFAR10/100 and ImageNet datasets demonstrate that GAC achieves state-of-the-art accuracy with remarkable efficiency. Notably, we improve top-1 accuracy by 3.10\\% on CIFAR100 with only 6-time steps and 1.07\\% on ImageNet while reducing energy usage to 66.9\\% of the previous works. To our best knowledge, it is the first time to explore the attention-based dynamic coding scheme in deep SNNs, with exceptional effectiveness and efficiency on large-scale datasets.The Code is available at https://github.com/bollossom/GAC.","url_abs":"https://arxiv.org/abs/2308.06582v2","url_pdf":"https://arxiv.org/pdf/2308.06582v2.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":"gated-attention-coding-for-training-high","repo_url":"https://github.com/bollossom/GAC","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"efficient-neural-network","task_name":"Efficient Neural Network"},{"task_slug":"image-classification","task_name":"Image Classification"}],"methods":[{"method_slug":"snn","method_name":"SNN"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-classification-on-cifar-10","task":"Image Classification","dataset":"CIFAR-10","model":"GAC-SNN","rank_in_archive_order":111,"of":265,"metrics":{"Percentage correct":"96.46"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-cifar-100","task":"Image Classification","dataset":"CIFAR-100","model":"GAC-SNN","rank_in_archive_order":127,"of":211,"metrics":{"Percentage correct":"80.45"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"GAC-SNN MS-ResNet-34","rank_in_archive_order":1022,"of":1060,"metrics":{"Top 1 Accuracy":"70.42"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.06582","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.06582"}},"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/bollossom/GAC","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":2,"ran":5,"unverified":5},"by_repo_kind":{"official":{"samples":12,"ran":7,"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":12,"samples":[{"code_sha256_prefix":"e63c09a8d741cb95","entry":"TET_loss","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/functions.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/functions.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e63c09a8d741cb95"}},{"code_sha256_prefix":"13a0e034c03001ab","entry":"add_dimention","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/CIFAR/models/layers.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/CIFAR/models/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"13a0e034c03001ab"}},{"code_sha256_prefix":"210ba8a40d178d14","entry":"get_logger","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/functions.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/functions.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"210ba8a40d178d14"}},{"code_sha256_prefix":"81dca27176dba617","entry":"get_test_dataloader","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/utils.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/utils.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":"81dca27176dba617"}},{"code_sha256_prefix":"c0ece177fe1403ab","entry":"get_training_dataloader","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/utils.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/utils.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":"c0ece177fe1403ab"}},{"code_sha256_prefix":"a93504b7fd3c8d98","entry":"normalizex","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/CIFAR/models/layers.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/CIFAR/models/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a93504b7fd3c8d98"}},{"code_sha256_prefix":"fc20496120a56972","entry":"rand_bbox","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/train_amp.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/train_amp.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":"fc20496120a56972"}},{"code_sha256_prefix":"91445f58c19b833d","entry":"build_cifar","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/CIFAR/data_loaders.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/CIFAR/data_loaders.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":"91445f58c19b833d"}},{"code_sha256_prefix":"de955f3e3ead10d1","entry":"conv1x1","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/CIFAR/models/MS_ResNet.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/CIFAR/models/MS_ResNet.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"de955f3e3ead10d1"}},{"code_sha256_prefix":"71d699d243383ea6","entry":"conv3x3","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/CIFAR/models/MS_ResNet.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/CIFAR/models/MS_ResNet.py","link_basis":"harvester_set","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":"71d699d243383ea6"}},{"code_sha256_prefix":"3003b736b22e1c18","entry":"eval_training","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/train_amp.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/train_amp.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":"3003b736b22e1c18"}},{"code_sha256_prefix":"93ce720570d3d998","entry":"get_network","repo":"bollossom/GAC","repo_kind":"official","path":"CODE/ImageNet/utils.py","file_url":"https://github.com/bollossom/GAC/blob/HEAD/CODE/ImageNet/utils.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":"93ce720570d3d998"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}