{"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/meta-learning-spiking-neural-networks-with","title":"Meta-learning Spiking Neural Networks with Surrogate Gradient Descent","arxiv_id":"2201.10777","date":"2022-01-26","proceeding":null,"authors":["Kenneth Stewart","Emre Neftci"],"abstract":"Adaptive \"life-long\" learning at the edge and during online task performance is an aspirational goal of AI research. Neuromorphic hardware implementing Spiking Neural Networks (SNNs) are particularly attractive in this regard, as their real-time, event-based, local computing paradigm makes them suitable for edge implementations and fast learning. However, the long and iterative learning that characterizes state-of-the-art SNN training is incompatible with the physical nature and real-time operation of neuromorphic hardware. Bi-level learning, such as meta-learning is increasingly used in deep learning to overcome these limitations. In this work, we demonstrate gradient-based meta-learning in SNNs using the surrogate gradient method that approximates the spiking threshold function for gradient estimations. Because surrogate gradients can be made twice differentiable, well-established, and effective second-order gradient meta-learning methods such as Model Agnostic Meta Learning (MAML) can be used. We show that SNNs meta-trained using MAML match or exceed the performance of conventional ANNs meta-trained with MAML on event-based meta-datasets. Furthermore, we demonstrate the specific advantages that accrue from meta-learning: fast learning without the requirement of high precision weights or gradients. Our results emphasize how meta-learning techniques can become instrumental for deploying neuromorphic learning technologies on real-world problems.","url_abs":"https://arxiv.org/abs/2201.10777v1","url_pdf":"https://arxiv.org/pdf/2201.10777v1.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":"meta-learning-spiking-neural-networks-with","repo_url":"https://github.com/nmi-lab/snn_maml","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"meta-learning","task_name":"Meta-Learning"}],"methods":[{"method_slug":"maml","method_name":"MAML"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2201.10777","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2201.10777"}},"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/nmi-lab/snn_maml","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"listed":{"samples":9,"ran":2,"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":"b6491973ad8364e5","entry":"to_cuda","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/utils.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/utils.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b6491973ad8364e5"}},{"code_sha256_prefix":"12f203b46fecc22d","entry":"tonp","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/device_models.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/device_models.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"12f203b46fecc22d"}},{"code_sha256_prefix":"ce7baba61747821d","entry":"batch_one_hot","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/maml.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/maml.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ce7baba61747821d"}},{"code_sha256_prefix":"58242025465b988c","entry":"compute_accuracy","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/utils.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"58242025465b988c"}},{"code_sha256_prefix":"dc6b1ac69f080a76","entry":"compute_accuracy_lava","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/utils.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dc6b1ac69f080a76"}},{"code_sha256_prefix":"b2f15f3f78f1c065","entry":"cross_entropy_gradient","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/plasticity_rules.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/plasticity_rules.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b2f15f3f78f1c065"}},{"code_sha256_prefix":"0b749164577e61da","entry":"get_voltage_current_slayer_network","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/snn_model_lava.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/snn_model_lava.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0b749164577e61da"}},{"code_sha256_prefix":"6621d5d1e6b46201","entry":"loihi_soel","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/plasticity_rules.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/plasticity_rules.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6621d5d1e6b46201"}},{"code_sha256_prefix":"ddf8bbd838b03f3d","entry":"undo_onehot","repo":"nmi-lab/snn_maml","repo_kind":"listed","path":"snn_maml/maml.py","file_url":"https://github.com/nmi-lab/snn_maml/blob/HEAD/snn_maml/maml.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ddf8bbd838b03f3d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}