Neuromorphic computing: Difference between revisions

Content deleted Content added
AnnaBSP (talk | contribs)
No edit summary
Moving the implementation details from the introduction to a dedicate section. Also punctuation fixes and other minor edits in that section. It needs to be expanded.
Line 4:
 
'''Neuromorphic computing''' is an approach to computing that is inspired by the structure and function of the human brain.<ref>{{Cite journal |last1=Ham |first1=Donhee |last2=Park |first2=Hongkun |last3=Hwang |first3=Sungwoo |last4=Kim |first4=Kinam |title=Neuromorphic electronics based on copying and pasting the brain |url=https://www.nature.com/articles/s41928-021-00646-1 |journal=Nature Electronics |year=2021 |language=en |volume=4 |issue=9 |pages=635–644 |doi=10.1038/s41928-021-00646-1 |s2cid=240580331 |issn=2520-1131}}</ref><ref>{{Cite journal |last1=van de Burgt |first1=Yoeri |last2=Lubberman |first2=Ewout |last3=Fuller |first3=Elliot J. |last4=Keene |first4=Scott T. |last5=Faria |first5=Grégorio C. |last6=Agarwal |first6=Sapan |last7=Marinella |first7=Matthew J. |last8=Alec Talin |first8=A. |last9=Salleo |first9=Alberto |date=April 2017 |title=A non-volatile organic electrochemical device as a low-voltage artificial synapse for neuromorphic computing |url=https://www.nature.com/articles/nmat4856 |journal=Nature Materials |language=en |volume=16 |issue=4 |pages=414–418 |doi=10.1038/nmat4856 |pmid=28218920 |bibcode=2017NatMa..16..414V |issn=1476-4660}}</ref> A neuromorphic computer/chip is any device that uses physical [[artificial neuron]]s to do computations.<ref>{{cite journal|last1=Mead|first1=Carver|title=Neuromorphic electronic systems|journal=Proceedings of the IEEE|date=1990|volume=78|issue=10|pages=1629–1636|doi=10.1109/5.58356|s2cid=1169506 |url=https://authors.library.caltech.edu/53090/1/00058356.pdf}}</ref><ref name=":2" /> In recent times, the term ''neuromorphic'' has been used to describe [[Analogue electronics|analog]], [[Digital electronics|digital]], [[Mixed-signal integrated circuit|mixed-mode analog/digital VLSI]], and software systems that implement models of [[neural system]]s (for [[perception]], [[motor control]], or [[multisensory integration]]). Recent advances have even discovered ways to mimic the human nervous system through liquid solutions of chemical systems.<ref>{{Cite journal |last1=Tomassoli |first1=Laura |last2=Silva-Dias |first2=Leonardo |last3=Dolnik |first3=Milos |last4=Epstein |first4=Irving R. |last5=Germani |first5=Raimondo |last6=Gentili |first6=Pier Luigi |date=2024-02-08 |title=Neuromorphic Engineering in Wetware: Discriminating Acoustic Frequencies through Their Effects on Chemical Waves |url=https://pubs.acs.org/doi/10.1021/acs.jpcb.3c08429 |journal=The Journal of Physical Chemistry B |language=en |volume=128 |issue=5 |pages=1241–1255 |doi=10.1021/acs.jpcb.3c08429 |pmid=38285636 |issn=1520-6106}}</ref>
 
The implementation of neuromorphic computing on the hardware level can be realized by oxide-based [[memristor]]s,<ref name="Maan 1–13">{{Cite journal|last1=Maan|first1=A. K.|last2=Jayadevi|first2=D. A.|last3=James|first3=A. P.|date=2016-01-01|title=A Survey of Memristive Threshold Logic Circuits|journal=IEEE Transactions on Neural Networks and Learning Systems|volume=PP|issue=99|pages=1734–1746|doi=10.1109/TNNLS.2016.2547842|pmid=27164608|issn=2162-237X|arxiv=1604.07121|bibcode=2016arXiv160407121M|s2cid=1798273}}</ref> [[Spintronics|spintronic]] memories, threshold switches, [[transistor]]s,<ref>{{Cite journal|title = Mott Memory and Neuromorphic Devices|journal = Proceedings of the IEEE|date = 2015-08-01|issn = 0018-9219|pages = 1289–1310|volume = 103|issue = 8|doi = 10.1109/JPROC.2015.2431914|first1 = You|last1 = Zhou|first2 = S.|last2 = Ramanathan|s2cid = 11347598|url=https://zenodo.org/record/895565}}</ref><ref name=":2">{{Cite conference|author=Rami A. Alzahrani|author2=Alice C. Parker|title=Neuromorphic Circuits With Neural Modulation Enhancing the Information Content of Neural Signaling |conference=International Conference on Neuromorphic Systems 2020|date=July 2020|pages=1–8|language=EN|doi=10.1145/3407197.3407204|s2cid=220794387|doi-access=free}}</ref> among others, for which overlaps with [[Reservoir computing|Reservoir Computation]]. Training software-based neuromorphic systems of [[spiking neural networks]] can be achieved using error backpropagation, e.g., using [[Python (programming language)|Python]] based frameworks such as snnTorch,<ref>{{cite arXiv|last1=Eshraghian|first1=Jason K.|last2=Ward|first2=Max|last3=Neftci |first3=Emre|last4=Wang|first4=Xinxin|last5=Lenz|first5=Gregor|last6=Dwivedi|first6=Girish|last7=Bennamoun|first7=Mohammed|last8=Jeong|first8=Doo Seok|last9=Lu|first9=Wei D.|title=Training Spiking Neural Networks Using Lessons from Deep Learning |date=1 October 2021 |class=cs.NE |eprint=2109.12894 }}</ref> or using canonical learning rules from the biological learning literature, e.g., using BindsNet.<ref>{{Cite web |url=https://github.com/Hananel-Hazan/bindsnet | title=Hananel-Hazan/bindsnet: Simulation of spiking neural networks (SNNs) using PyTorch.| website=[[GitHub]]| date=31 March 2020}}</ref>
 
A key aspect of neuromorphic engineering is understanding how the morphology of individual neurons, circuits, applications, and overall architectures creates desirable computations, affects how [[information]] is represented, influences robustness to damage, incorporates learning and development, adapts to local change (plasticity), and facilitates evolutionary change.
Line 17 ⟶ 15:
 
The goal of neuromorphic computing is not to perfectly mimic the brain and all of its functions, but instead to extract what is known of its structure and operations to be used in a practical computing system. No neuromorphic system will claim nor attempt to reproduce every element of neurons and synapses, but all adhere to the idea that computation is highly [[distributed processing|distributed]] throughout a series of small computing elements analogous to a neuron. While this sentiment is standard, researchers chase this goal with different methods.<ref>{{Cite journal | doi = 10.1088/1741-2560/13/5/051001| title = Large-scale neuromorphic computing systems| journal = Journal of Neural Engineering| volume = 13| pages = 1–15| year = 2016| last1 = Furber | first1 = Steve| issue = 5| pmid = 27529195| bibcode = 2016JNEng..13e1001F| doi-access = free}}</ref>
 
==Implementation==
The implementation of neuromorphic computing on the hardware level can be realized by oxide-based [[memristor]]s,<ref name="Maan 1–13">{{Cite journal|last1=Maan|first1=A. K.|last2=Jayadevi|first2=D. A.|last3=James|first3=A. P.|date=2016-01-01|title=A Survey of Memristive Threshold Logic Circuits|journal=IEEE Transactions on Neural Networks and Learning Systems|volume=PP|issue=99|pages=1734–1746|doi=10.1109/TNNLS.2016.2547842|pmid=27164608|issn=2162-237X|arxiv=1604.07121|bibcode=2016arXiv160407121M|s2cid=1798273}}</ref> [[Spintronics|spintronic]] memories, threshold switches, [[transistor]]s,<ref>{{Cite journal|title = Mott Memory and Neuromorphic Devices|journal = Proceedings of the IEEE|date = 2015-08-01|issn = 0018-9219|pages = 1289–1310|volume = 103|issue = 8|doi = 10.1109/JPROC.2015.2431914|first1 = You|last1 = Zhou|first2 = S.|last2 = Ramanathan|s2cid = 11347598|url=https://zenodo.org/record/895565}}</ref><ref name=":2">{{Cite conference|author=Rami A. Alzahrani|author2=Alice C. Parker|title=Neuromorphic Circuits With Neural Modulation Enhancing the Information Content of Neural Signaling |conference=International Conference on Neuromorphic Systems 2020|date=July 2020|pages=1–8|language=EN|doi=10.1145/3407197.3407204|s2cid=220794387|doi-access=free}}</ref> among others, for which overlaps with [[Reservoir computing|Reservoir Computation]]. Training software-based neuromorphic systems of [[spiking neural networks]] can be achieved using error backpropagation, e.g., using [[Python (programming language)|Python]] -based frameworks such as snnTorch,<ref>{{cite arXiv|last1=Eshraghian|first1=Jason K.|last2=Ward|first2=Max|last3=Neftci |first3=Emre|last4=Wang|first4=Xinxin|last5=Lenz|first5=Gregor|last6=Dwivedi|first6=Girish|last7=Bennamoun|first7=Mohammed|last8=Jeong|first8=Doo Seok|last9=Lu|first9=Wei D.|title=Training Spiking Neural Networks Using Lessons from Deep Learning |date=1 October 2021 |class=cs.NE |eprint=2109.12894 }}</ref> or using canonical learning rules from the biological learning literature, e.g., using BindsNet.<ref>{{Cite web |url=https://github.com/Hananel-Hazan/bindsnet | title=Hananel-Hazan/bindsnet: Simulation of spiking neural networks (SNNs) using PyTorch.| website=[[GitHub]]| date=31 March 2020}}</ref>
 
==Examples==