{"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/a-long-short-term-memory-for-ai-applications","title":"A Long Short-Term Memory for AI Applications in Spike-based Neuromorphic Hardware","arxiv_id":"2107.03992","date":"2021-07-08","proceeding":null,"authors":["Philipp Plank","Arjun Rao","Andreas Wild","Wolfgang Maass"],"abstract":"Spike-based neuromorphic hardware holds the promise to provide more energy efficient implementations of Deep Neural Networks (DNNs) than standard hardware such as GPUs. But this requires to understand how DNNs can be emulated in an event-based sparse firing regime, since otherwise the energy-advantage gets lost. In particular, DNNs that solve sequence processing tasks typically employ Long Short-Term Memory (LSTM) units that are hard to emulate with few spikes. We show that a facet of many biological neurons, slow after-hyperpolarizing (AHP) currents after each spike, provides an efficient solution. AHP-currents can easily be implemented in neuromorphic hardware that supports multi-compartment neuron models, such as Intel's Loihi chip. Filter approximation theory explains why AHP-neurons can emulate the function of LSTM units. This yields a highly energy-efficient approach to time series classification. Furthermore it provides the basis for implementing with very sparse firing an important class of large DNNs that extract relations between words and sentences in a text in order to answer questions about the text.","url_abs":"https://arxiv.org/abs/2107.03992v2","url_pdf":"https://arxiv.org/pdf/2107.03992v2.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":"a-long-short-term-memory-for-ai-applications","repo_url":"https://github.com/intel-nrc-ecosystem/models","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"},{"task_slug":"time-series-classification","task_name":"Time Series Classification"}],"methods":[{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2107.03992","atlas_url":"https://app.syntology.ai/?focus=2107.03992","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.03992"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/intel-nrc-ecosystem/models","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"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":11,"samples":[{"code_sha256_prefix":"824bc32c0d33b069","entry":"calc_minimum_number_of_cores","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_contrib/pcritical/modules/pcritical.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_contrib/pcritical/modules/pcritical.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"824bc32c0d33b069"}},{"code_sha256_prefix":"a854fc52ec31a97a","entry":"calculate_mant_exp","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_contrib/time_diff_enc/time_diff_enc.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_contrib/time_diff_enc/time_diff_enc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"a854fc52ec31a97a"}},{"code_sha256_prefix":"2cf097114178e215","entry":"deserializeLayer","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/dnn/src/data_structures.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/dnn/src/data_structures.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"2cf097114178e215"}},{"code_sha256_prefix":"49ca551dd28a9b36","entry":"fix_input_layer_shape","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/dnn/src/dnn_layers.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/dnn/src/dnn_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"49ca551dd28a9b36"}},{"code_sha256_prefix":"72dae2290e746a38","entry":"getChipCoreAndCxId","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_contrib/spytorch2loihi/ioProcess/ioProcess.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_contrib/spytorch2loihi/ioProcess/ioProcess.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"72dae2290e746a38"}},{"code_sha256_prefix":"be0c8d81c3402650","entry":"loadMappableLayers","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/dnn/src/data_structures.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/dnn/src/data_structures.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"be0c8d81c3402650"}},{"code_sha256_prefix":"a31a0a7461f63402","entry":"overflow_signed","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/snntoolbox/nx_backend.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/snntoolbox/nx_backend.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"a31a0a7461f63402"}},{"code_sha256_prefix":"786a20211025552d","entry":"removeNxKwargs","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/dnn/src/dnn_layers.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/dnn/src/dnn_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"786a20211025552d"}},{"code_sha256_prefix":"2a4e9fece4ccaf1d","entry":"rescale","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_contrib/pcritical/modules/pcritical.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_contrib/pcritical/modules/pcritical.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"2a4e9fece4ccaf1d"}},{"code_sha256_prefix":"992e26b5dd015cc4","entry":"save_performance_stats","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/snntoolbox/nx_backend.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/snntoolbox/nx_backend.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"992e26b5dd015cc4"}},{"code_sha256_prefix":"754a277c90434e74","entry":"to_mantexp","repo":"intel-nrc-ecosystem/models","repo_kind":"official","path":"nxsdk_modules_ncl/snntoolbox/nx_backend.py","file_url":"https://github.com/intel-nrc-ecosystem/models/blob/HEAD/nxsdk_modules_ncl/snntoolbox/nx_backend.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"754a277c90434e74"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}