DE112013003349T5 - Schaltung mit neuronalem Kern - Google Patents

Schaltung mit neuronalem Kern Download PDF

Info

Publication number
DE112013003349T5
DE112013003349T5 DE112013003349.6T DE112013003349T DE112013003349T5 DE 112013003349 T5 DE112013003349 T5 DE 112013003349T5 DE 112013003349 T DE112013003349 T DE 112013003349T DE 112013003349 T5 DE112013003349 T5 DE 112013003349T5
Authority
DE
Germany
Prior art keywords
neuron
neurons
neural
entry
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE112013003349.6T
Other languages
English (en)
Inventor
John Vernon c/o IBM Corp. Arthur
Paul c/o IBM Corp. Merolla
Dharmendra Shantilal Modha
Rodrigo c/o IBM Corp. Alvarez-Icaza Rivera
Andrew Stephen c/o IBM Corp. Cassidy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013003349T5 publication Critical patent/DE112013003349T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Memory System (AREA)
  • Peptides Or Proteins (AREA)
  • Multi Processors (AREA)
  • Feedback Control In General (AREA)

Abstract

Eine Multiplex-Schaltung mit neuronalem Kern weist eine Kernschaltung mit einer Speichereinheit auf, die neuronale Attribute für mehrere Neuronen vorhält. Die Speichereinheit weist mehrere Einträge auf. Jeder Eintrag hält neuronale Attribute für ein entsprechendes Neuron vor. Die Kernschaltung weist des Weiteren eine Steuereinheit zum Verwalten der Speichereinheit auf. In Reaktion auf neuronale Feuerungsereignisse, die an eines der Neuronen gerichtet sind, ruft die Steuereinheit neuronale Attribute für das Zielneuron von einem entsprechenden Eintrag der Speichereinheit ab und integriert die Feuerungsereignisse auf der Grundlage der abgerufenen neuronalen Attribute, um ein Feuerungsereignis für das Zielneuron zu erzeugen.

Description

  • Diese Erfindung erfolgte mit Unterstützung durch die US-Regierung gemäß HR0011-09-C-0002, die durch die Defense Advanced Research Projects Agency (DARPA) gewährt wurde. Die US-Regierung hat bestimmte Rechte an dieser Erfindung.
  • TECHNISCHES GEBIET
  • Ausführungsformen der Erfindung beziehen sich auf neuromorphe und synaptronische Berechnungssysteme und insbesondere auf eine Multiplex-Schaltung mit neuronalem Kern.
  • HINTERGRUND
  • Bei neuromorphen und synaptronischen Berechnungssystemen, die auch als künstliche neuronale Netze bezeichnet werden, handelt es sich um Rechensysteme, die ermöglichen, dass elektronische Systeme im Wesentlichen wie biologische Gehirne funktionieren. Bei neuromorphen und synaptronischen Berechnungssystemen wird im Allgemeinen nicht das herkömmliche digitale Modell des Bearbeitens von Nullen und Einsen genutzt. Stattdessen werden bei neuromorphen und synaptronischen Berechnungssystemen Verbindungen zwischen Verarbeitungselementen erzeugt, die mit Neuronen eines biologischen Gehirns annähernd funktional vergleichbar sind. Neuromorphe und synaptronische Berechnungssysteme können zahlreiche elektronische Schaltungen aufweisen, die biologischen Neuronen nachempfunden sind.
  • Bei biologischen Systemen wird die Kontaktstelle zwischen einem Axon eines Neurons und einem Dendrit eines anderen Neutrons als Synapse bezeichnet, und in Bezug auf die Synapse werden die beiden Neuronen als präsynaptisch bzw. postsynaptisch bezeichnet. Das Wesen unserer individuellen Erfahrungen wird im Übergangsleitwert der Synapsen gespeichert. Der synaptische Übergangsleitwert ändert sich zeitlich als eine Funktion der relativen Spike-Zeitpunkte der präsynaptischen und postsynaptischen Neuronen als von dem Spike-Zeitpunkt abhängige Plastizität (STDP). Nach der STDP-Regel vergrößert sich der Übergangsleitwert einer Synapse, wenn ihr postsynaptisches Neuron feuert, nachdem ihr präsynaptisches Neuron gefeuert hat, und verringert sich der Übergangsleitwert einer Synapse, wenn die Reihenfolge der beiden Feuerungsereignisse umgekehrt ist.
  • KURZDARSTELLUNG
  • Ausführungsformen der Erfindung beziehen sich auf eine Multiplex-Schaltung mit neuronalem Kern. Eine Ausführungsform weist eine Kernschaltung auf, die eine Speichereinheit enthält, die neuronale Attribute für mehrere Neuronen vorhält. Die Speichereinheit weist mehrere Einträge auf. Jeder Eintrag hält neuronale Attribute für ein entsprechendes Neuron vor. Die Kernschaltung weist des Weiteren eine Steuereinheit zum Verwalten der Speichereinheit auf. in Reaktion auf neuronale Feuerungsereignisse, die auf eines dieser Neuronen gerichtet sind, ruft die Steuereinheit neuronale Attribute für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit ab und integriert die Feuerungsereignisse auf der Grundlage der abgerufenen neuronalen Attribute, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  • Eine weitere Ausführungsform weist ein Vorhalten von neuronalen Attributen für mehrere Neuronen in einer Speichereinheit auf. Die Speichereinheit weist mehrere Einträge auf. Jeder Eintrag hält neuronale Attribute für ein entsprechendes Neuron vor. In Reaktion auf neuronale Feuerungsereignisse, die auf eines dieser Neuronen gerichtet sind, werden neuronale Attribute für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit abgerufen, und die Feuerungsereignisse werden auf der Grundlage der abgerufenen neuronalen Attribute integriert, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  • Diese und weitere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden bei Bezugnahme auf die folgende Beschreibung, die angefügten Ansprüche und die beigefügten Zeichnungen verstanden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Eine bzw. mehrere Ausführungsformen der Erfindung werden lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, bei denen:
  • 1 eine Schaltung mit neuronalem Kern gemäß einer Ausführungsform der Erfindung darstellt:
  • 2 die Funktionsweise einer Kernschaltung beim Empfangen eines Eingabevektors von Feuerungsereignissen gemäß einer Ausführungsform der Erfindung darstellt;
  • 3 Rücksetzen und Einrichten von Operationen für eine Kernschaltung gemäß einer Ausführungsform der Erfindung darstellt;
  • 4 eine Multiplexschaltung mit neuronalem Kern gemäß einer Ausführungsform der Erfindung darstellt;
  • 5 eine Blockdarstellung ist, die eine Speichereinheit einer Multiplex-Kernschaltung gemäß einer Ausführungsform der Erfindung zeigt;
  • 6 eine Blockdarstellung ist, die Informationen zeigt, die in einem Eintrag einer Speichereinheit einer Multiplex-Kernschaltung gemäß einer Ausführungsform der Erfindung vorgehalten werden;
  • 7 eine Blockdarstellung ist, die eine Multiplex-Kernschaltung gemäß einer Ausführungsform der Erfindung zeigt;
  • 8 eine Blockdarstellung ist, die eine Multiplex-Kernschaltung beim Empfangen eines Binär-Eingabevektors gemäß einer Ausführungsform der Erfindung zeigt;
  • 9 eine Blockdarstellung ist, die eine Teilmultiplex-Kernschaltung gemäß einer Ausführungsform der Erfindung zeigt;
  • 10 einen schlanken Meta-Kern gemäß einer Ausführungsform der Erfindung darstellt;
  • 11 eine Blockdarstellung ist, die eine schlanke Speichereinheit eines schlanken Meta-Kerns gemäß einer Ausführungsform der Erfindung zeigt;
  • 12 einen breiten Meta-Kern gemäß einer Ausführungsform der Erfindung darstellt;
  • 13 eine Blockdarstellung ist, die eine breite Speichereinheit eines breiten Meta-Kerns gemäß einer Ausführungsform der Erfindung zeigt;
  • 14 einen Meta-Kern gemäß einer Ausführungsform der Erfindung darstellt;
  • 15 eine Blockdarstellung ist, die eine Speichereinheit eines Meta-Kerns gemäß einer Ausführungsform der Erfindung zeigt;
  • 16 ein neuronales Netzwerk gemäß einer Ausführungsform der Erfindung darstellt;
  • 17 einem Ablaufplan eines beispielhaften Prozesses zum Verarbeiten von Feuerungsereignissen in einer Multiplex-Kernschaltung gemäß einer Ausführungsform der Erfindung darstellt; und
  • 18 eine Übersichts-Blockdarstellung ist, die ein Informationsverarbeitungssystem zeigt, das zum Umsetzen einer Ausführungsform der Erfindung nützlich ist.
  • GENAUE BESCHREIBUNG
  • Ausführungsformen der Erfindung beziehen sich auf eine Multiplexschaltung mit neuronalem Kern. Eine Ausführungsform weist eine Kernschaltung mit einer Speichereinheit auf, die neuronale Attribute für mehrere Neuronen vorhält. Die Speichereinheit weist mehrere Einträge auf. Jeder Eintrag hält neuronale Attribute für ein entsprechendes Neuron vor. Die Kernschaltung weist des Weiteren eine Steuereinheit zum Verwalten der Speichereinheit auf. In Reaktion auf neuronale Feuerungsereignisse, die auf eines dieser Neuronen gerichtet sind, ruft die Steuereinheit neuronale Attribute für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit ab und integriert die Feuerungsereignisse auf der Grundlage der abgerufenen neuronalen Attribute, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  • Eine weitere Ausführungsform weist Vorhalten neuronaler Attribute für mehrere Neuronen in einer Speichereinheit auf. Die Speichereinheit weist mehrere Einträge auf. Jeder Eintrag hält neuronale Attribute für ein entsprechendes Neuron vor. In Reaktion auf neuronale Feuerungsereignisse, die auf eines dieser Neuronen gerichtet sind, werden neuronale Attribute für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit abgerufen und die Feuerungsereignisse werden auf der Grundlage der abgerufenen neuronalen Attribute integriert, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  • Jeder Eintrag der Speichereinheit hält die folgenden neuronalen Attribute für ein entsprechendes Neuron vor: Informationen der synaptischen Konnektivität, Neuronenparameter und Informationen der Weglenkungsdaten. Die Steuereinheit erzeugt ein Feuerungsereignis für ein Zielneuron, wenn integrierte Feuerungsereignisse einen Schwellenwert des Neuronenparameters für das Zielneuron übersteigen.
  • Für jedes Zielneuron aktualisiert die Steuereinheit wenigstens einen Neuronenparameter für das Zielneuron.
  • Die Steuereinheit multiplext die Berechnungs- und Steuerlogik für mehrere Neuronen. Für jedes Neuron, das einem Eintrag der Speichereinheit entspricht, empfängt die Steuereinheit ankommende Feuerungsereignisse, die auf dieses Neuron gerichtet sind, und ruft Informationen der synaptischen Konnektivität für dieses Neuron aus dem entsprechenden Eintrag der Speichereinheit ab.
  • Für jedes Neuron, das einem Eintrag der Speichereinheit entspricht, ruft die Steuereinheit Neuronenparameter für dieses Neuron aus dem entsprechenden Eintrag der Speichereinheit ab und integriert ankommende Feuerungsereignisse, die an dieses Neuron gerichtet sind, wobei die ankommenden Feuerungsereignisse auf der Grundlage der Neuronenparameter und der synaptischen Konnektivität für dieses Neuron integriert werden. Die Steuereinheit erzeugt ein abgehendes Feuerungsereignis, wenn die integrierten ankommenden Feuerungsereignisse einen Schwellenwert des Neuronenparameters für dieses Neuron übersteigen, wobei das abgehende Feuerungsereignis auf der Grundlage der Informationen der Weglenkungsdaten für dieses Neuron erzeugt wird. Die Steuereinheit aktualisiert wenigstens einen Neuronenparameter für das Neuron.
  • Bei jedem Zeitschritt werden alle Einträge der Speichereinheit sequenziell ausgelesen.
  • Bei einer Ausführungsform handelt es sich bei der Speichereinheit um ein Speicherarray, das mehrere Partitionen enthält. Eine erste Partition hält Informationen der synaptischen Konnektivität für mehrere Neuronen vor, eine zweite Partition hält Neuronenparameter für die Neuronen vor, und eine dritte Partition hält Informationen der Weglenkungsdaten für die Neuronen vor.
  • Bei einer weiteren Ausführungsform enthält die Speichereinheit mehrere Speicherarrays. Ein erstes Speicherarray hält Informationen der synaptischen Konnektivität für mehrere Neuronen vor, ein zweites Speicherarray hält Neuronenparameter für die Neuronen vor, und ein drittes Speicherarray hält Informationen der Weglenkungsdaten für die Neuronen vor.
  • Der in diesem Zusammenhang verwendete Ausdruck digitales Neuron repräsentiert eine Struktur, die so eingerichtet ist, dass sie ein biologisches Neuron simuliert. Ein digitales Neuron erzeugt Verbindungen zwischen Verarbeitungselementen, die mit Neuronen eines biologischen Gehirns im Wesentlichen annähernd funktional vergleichbar sind. Daher kann ein neuromorphes und synaptronisches Berechnungssystem, das digitale Neuronen gemäß Ausführungsformen der Erfindung aufweist, zahlreiche elektronische Schaltungen enthalten, die biologischen Neuronen nachempfunden sind. Des Weiteren kann ein neuromorphes und synaptronisches Berechnungssystem, das digitale Neuronen gemäß Ausführungsformen der Erfindung aufweist, zahlreiche Verarbeitungselemente (darunter Computersimulationen) enthalten, die biologischen Neuronen nachempfunden sind. Zwar werden hier bestimmte veranschaulichende Ausführungsformen der Erfindung beschrieben, die digitale Neuronen mit digitalen Schaltungen aufweisen, die vorliegende Erfindung ist jedoch nicht auf digitale Schaltungen beschränkt. Ein neuromorphes und synaptronisches Berechnungssystem gemäß Ausführungsformen der Erfindung kann als eine neuromorphe und synaptronische Struktur mit Schaltungsanordnungen und zusätzlich als eine Computersimulation umgesetzt sein. Tatsächlich können Ausführungsformen der Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform oder einer Ausführungsform annehmen, die sowohl Hardware- als auch Softwareelemente enthält.
  • 1 veranschaulicht eine Schaltung 10 mit Neuronenkern gemäß einer Ausführungsform der Erfindung. Bei der Schaltung 10 mit Neuronenkern handelt es sich um eine Schaltung mit neurosynaptischem Kern. Die Kernschaltung 10 weist mehrere präsynaptische Axone 15 und mehrere postsynaptische Neuronen 11 auf. Jedes Neuron 11 weist konfigurierbare Betriebsparameter auf. Die Kernschaltung 10 weist des Weiteren einen synaptischen Kreuzschienenverteiler (crossbar) 12 auf, der mehrere Synapsen 31, mehrere Zeilen/Axon-Pfade 26 und mehrere Spalten/Dendrit-Pfade 34 enthält.
  • Jede Synapse (31) überträgt Feuerungsereignisse (z. B. Spike-Ereignisse) zwischen einem präsynaptischen Axon 15 und einem postsynaptischen Neuron 11. Jede Synapse 31 befindet sich insbesondere an einem Kreuzungspunkt zwischen einem Axonpfad 26 und einem Dendritpfad 34, so dass eine Verbindung zwischen dem Axonpfad 26 und dem Dendritpfad 34 durch diese Synapse 31 gebildet wird. Jedes Axon 15 ist mit einem Axonpfad 26 verbunden, sodass dieses Axon 15 Spikes zu dem angeschlossenen Axonpfad 26 sendet. Jedes Neuron 11 ist mit einem Dendritpfad 34 verbunden, sodass dieses Neuron 11 Spikes von dem angeschlossenen Dendritpfad 34 empfängt.
  • Jede Synapse 31 weist eine synaptische Gewichtung auf. Die synaptischen Gewichtungen der Synapsen 31 der Kernschaltung 10 können durch eine Gewichtungsmatrix W dargestellt werden, wobei ein Element Wji der Matrix Weine synaptische Gewichtung einer Synapse 31 darstellt, die sich an einem Zeilen/Axon-Pfad j und einem Spalten/Dendrit-Pfad i des Kreuzschienenverteilers 12 befindet. Bei einer Ausführungsform handelt es sich bei den Synapsen 31 um binäre Speichereinheiten. Jede Synapse 31 kann eine Gewichtung „0” aufweisen, die angibt, dass die Synapse 31 nichtleitend ist, oder eine Gewichtung „1” aufweisen, die angibt, dass die Synapse 31 leitend ist. Eine Lernregel wie z. B. zeitabhängige Plastizität (spike-timing dependent plasticity STDP) kann angewendet werden, um die synaptischen Gewichtungen der Synapsen 31 zu aktualisieren.
  • 2 veranschaulicht die Funktionsweise einer Kernschaltung 10 (1) beim Empfangen eines Eingabevektors 50 aus Feuerungsereignissen gemäß einer Ausführungsform der Erfindung. Bei jedem Zeitschritt (Taktschritt) t empfangen die Axone 15 (1) der Kernschaltung 10 einen binären Eingabevektor („input vector”) 50. Der Eingabevektor 50 stellt die Axone 15 dar, die Feuerungsereignisse empfangen, die in einem vorhergehenden Taktschritt t – 1 erzeugt wurden. Jeder Index des Eingabevektors 50 entspricht einem Axon 15. Jeder Index des Eingabevektors 50 mit einem Binärwert 1 gibt an, dass ein entsprechendes Axon 15 ein Feuerungsereignis empfangen hat. Jeder Index des Eingabevektors 50 mit einem Binärwert 0 gibt an, dass ein entsprechendes Axon 15 kein Feuerungsereignis empfangen hat.
  • Für jeden Index des Eingabevektors 50 mit einem Binärwert 1 wird die Gewichtung der Synapsen 31, die sich an einer Axonpfad/Zeile 26 eines entsprechenden Axons 15 befinden, ausgelesen, um einen binären Ausgabevektor („output vector”) 60 zu erhalten. Für einen Ausgabevektor 60, der einem Axon 15 entspricht, entspricht jeder Index des Ausgabevektors 60 einer Synapse 31, die sich an dem Axonpfad/Zeile 26 des Axons 15 befindet. Jeder Index eines Ausgabevektors 60 mit einem Binärwert 1 gibt an, dass es sich bei einer entsprechenden Synapse 31 um eine leitende Synapse 31 handelt. Jeder Index eines Ausgabevektors 60 mit einem Binärwert 0 gibt an, dass es sich bei einer entsprechenden Synapse 31 um eine nichtleitende Synapse 31 handelt.
  • Wie in 2 gezeigt empfangen beispielsweise die Axone 15 im Zeitschritt F(t) einen Eingabevektor 50 mit Werten <1,0,0,0,1,0,0,1,1>. Die Werte <1,0,0,0,1,0,0,1,1> geben an, dass die Axone 15, die mit Axonpfaden/Zeilen 0, 4, 7 und 8 des Kreuzschienenverteilers 12 verbunden sind, Feuerungsereignisse empfangen haben, die in einem vorhergehenden Taktschritt F(t – 1) erzeugt wurden. Die Gewichtung der Synapsen 31, die sich an jedem Axonpfad/Zeile 0, 4, 7 und 8 befinden, werden während des Zeitschritts F(t) ausgelesen. Die Ausgabevektoren 60, die den Zeilen 0, 4, 7 und 8 entsprechen, lauten <1,0,0,0,1,0,0,1,1>, <0,1,1,0,0,0,1,1,0>, <1,1,0,0,1,1,1,1,0> bzw. <0,0,0,1,1,1,0,1,1>.
  • Wie oben festgestellt gibt jeder Index eines Ausgabevektors 60 mit einem Binärwert 1 an, dass es sich bei einer entsprechenden Synapse 31 um eine leitende Synapse 31 handelt. Jedes Neuron 11 empfängt ein Feuerungsereignis von einem verbundenen Axon 15 über eine leitende Synapse 31. Jedes Neuron 11 integriert die empfangenen Feuerungsereignisse in einer Membranpotenzialvariable V dieses Neurons 11.
  • In 2 ist beispielsweise eine Folge 70 von Zahlen gezeigt, wobei jede Zahl der Folge 70 einem Neuron 11 der Kernschaltung 10 entspricht. Jede Zahl der Folge 70 repräsentiert die Anzahl von Feuerungsereignissen, die ein entsprechendes Neuron 11 in dem aktuellen Zeitschritt t empfangen hat. Die Neuronen 11, die mit Dendritpfaden/Spalten 0, 1, 2, ..., und 8 des Kreuzschienenverteilers 12 verbunden sind, haben zwei Feuerungsereignisse, zwei Feuerungsereignisse, ein Feuerungsereignis, ein Feuerungsereignis, drei Feuerungsereignisse, zwei Feuerungsereignisse, zwei Feuerungsereignisse, vier Feuerungsereignisse bzw. zwei Feuerungsereignisse empfangen.
  • Jedes Neuron 11 erzeugt ein Feuerungsereignis, wenn die Anzahl von Feuerungsereignissen, die durch das Neuron 11 in dem aktuellen Zeitschritt t integriert werden, einen Feuerungsschwellenwert des Neurons 11 übersteigt. Ein binärer Aktualisierungsvektor („update vector”) 80, der die feuernden Neuronen 11 in dem aktuellen Zeitschritt t darstellt, wird erhalten. Jeder Index des Aktualisierungsvektors 80 entspricht einem Neuron 11. Jeder Index mit einem Binärwert 1 gibt an, dass ein entsprechendes Neuron 11 ein Feuerungsereignis in dem aktuellen Zeitschritt t erzeugt hat.
  • Jedes Neuron 11 der Kernschaltung 10 kann beispielsweise einen Spiking-Schwellenwert von zwei aufweisen, (d. h., ein Neuron 11 feuert, wenn das Neuron 11 mehr als zwei Feuerungsereignisse empfängt). Wie in 2 gezeigt gibt der binäre Aktualisierungsvektor 80 mit Werten <0,0,0,0,1,0,0,1,0> an, dass die Neuronen 11, die mit Dendritpfaden/Spalten 4 und 7 des Kreuzschienenverteilers 12 verbunden sind, in dem aktuellen Zeitschritt F(t) ein Feuerungsereignis erzeugt haben. Wie oben festgestellt haben die Neuronen 11, die mit Dendritpfaden/Spalten 4 verbunden sind, jeweils mehr als zwei Feuerungsereignisse empfangen.
  • 3 veranschaulicht Rücksetzen und Einstellen von Operationen für eine Kernschaltung 10 gemäß einer Ausführungsform der Erfindung. Rücksetzoperationen und Einstelloperationen ermöglichen synaptisches Lernen wie beispielsweise STDP. Bei einer Ausführungsform wird die synaptische Gewichtung jeder Synapse 31 zurückgesetzt, die mit einem aktiven Axon 15 (1) verbunden ist. Bei einem aktiven Axon 15 handelt es sich um ein Axon 15, das ein Feuerungsereignis in einem aktuellen Zeitschritt oder einem jüngsten Zeitschritt empfangen hat. Wenn eine Synapse 31, die mit einem aktiven Axon 15 verbunden ist, binär ist, wird die synaptische Gewichtung der Synapse 31 auf 0 zurückgesetzt. Wenn eine Synapse 31, die mit einem aktiven Axon 15 verbunden ist, nichtbinär ist, wird die synaptische Gewichtung der Synapse 31 vermindert.
  • Wie in 3 gezeigt wird beispielsweise für jeden Index des Eingabevektors 50 mit einem Binärwert 1 ein binärer Rücksetzvektor 90 für ein Axon 15 erzeugt, das dem Index entspricht. Für einen Rücksetzvektor 90 für ein Axon 15 gibt jeder Index des Rücksetzvektors 90 mit einem Binärwert 1 an, dass eine mit dem Axon 15 verbundene Synapse 31 zurückgesetzt wird.
  • Bei einer Ausführungsform wird die synaptische Gewichtung jeder Synapse 31 eingestellt, die mit einem aktiven Neuron 11 (1) verbunden ist. Bei einem aktiven Neuron 11 handelt es sich um ein Neuron 11, das in dem aktuellen Zeitschritt oder einem jüngsten Zeitschritt ein Feuerungsereignis erzeugt hat. Wenn eine mit einem aktiven Neuron 11 verbundene Synapse 31 binär ist, wird die synaptische Gewichtung der Synapse 31 auf 1 eingestellt. Wenn eine mit einem aktiven Neuron 11 verbundene Synapse 31 nichtbinär ist, wird die synaptische Gewichtung der Synapse 31 erhöht.
  • Wie in 3 gezeigt wird beispielsweise für jeden Index des Aktualisierungsvektors 80 mit einem Binärwert 1 ein binärer Einstellvektor 95 für ein Neuron 11 erzeugt, das dem Index entspricht. Für einen Einstellvektor 95 für ein Neuron 11 gibt jeder Index des Einstellvektors 95 mit einem Binärwert 1 an, das eine mit dem Neuron 11 verbundene Synapse 31 eingestellt wird.
  • Bei einer Ausführungsform weist eine Schaltung mit neuronalem Kern mit N Neuronen des Weiteren α Steuereinheiten für die N Neuronen auf, wobei α eine positive Ganzzahl ist und 1 ≤ α < N und die Neuronen digitale Neuronen sind. Jede Steuereinheit ist eine Logikschaltung zur Verarbeitung und Datenverarbeitung.
  • 4 veranschaulicht eine Multiplex-Schaltung 100 mit neuronalem Kern gemäß einer Ausführungsform der Erfindung. Bei der Kernschaltung 100 handelt es sich um eine Multiplex-Schaltung mit neurosynaptischem Kern. Die Kernschaltung 100 multiplext die Berechnungs- und Steuerlogik für mehrere Neuronen 11. Die Kernschaltung 100 weist insbesondere eine Speichereinheit 110 auf, die neuronale Attribute für mehrere Neuronen 11 vorhält. Die Kernschaltung 100 weist des Weiteren eine Steuereinheit (d. h. eine Verarbeitungs- und Berechnungs Logikschaltung) 120 für die Speichereinheit 110 auf.
  • Die Speichereinheit 110 enthält mehrere Einträge 111 (5). Jeder Eintrag 111 hält neuronale Attribute für ein Neuron 11 vor. Bei einer Ausführungsform hält jeder Eintrag 111 die folgenden neuronalen Attribute für ein Neuron 11 vor: Informationen der synaptischen Konnektivität (Wji), Neuronenparameter und Weglenkungsinformationen. Bei einer Ausführungsform hält eine erste Teilmenge 112 jedes Eintrags 111 synaptische Gewichtungen von Synapsen 31 vor, die ein Neuron 11 mit Axonen 15 verbinden. Eine zweite Teilmenge 113 jedes Eintrags 111 hält die folgenden Neuronenparameter für ein Neuron 11 vor: Variable (V) des Membranenpotenzials, Spike-Schwellenwert (Th), Leckrate (Lk) und Gewichtungen aller möglichen Axontypen (SynO, Syn1, Syn2). Eine dritte Teilmenge 114 aller Einträge 111 hält des Weiteren die folgenden Weglenkungsinformationen für ein Neuron 11 vor: Fanout (F) und Weglenkungsverzögerung (ΔT).
  • Die Speichereinheit 110 ist in mehrere Segmente 110A unterteilt. Bei einer Ausführungsform handelt es sich bei der Speichereinheit 110 um ein einzelnes Speicherarray. Das Speicherarray kann mehrere Partitionen 110A enthalten, beispielsweise eine erste Partition 110A, die Informationen der synaptischen Konnektivität für mehrere Neuronen 11 vorhält, eine zweite Partition 110A, die Neuronenparameter für die Neuronen 11 vorhält, und eine dritte Partition 110A, die Informationen von Weglenkungsdaten für die Neuronen 11 vorhält. Bei einer weiteren Ausführungsform weist die Speichereinheit 100 mehrere Speicherarrays auf. Ein erstes Speicherarray hält Informationen der synaptischen Konnektivität für mehrere Neuronen 11 vor, ein zweites Speicherarray hält Neuronenparameter für die Neuronen 11 vor und ein drittes Speicherarray hält Informationen von Weglenkungsdaten für die Neuronen 11 vor.
  • Die Speichereinheit 110 enthält des Weiteren eine Speicherschnittstellenschaltung 115. Bei der Schaltung 115 kann es sich um eine Standard-Speicherschnittstellenschaltung handeln.
  • Bei einer Ausführungsform weist die Steuereinheit 120 eine Eingabe-Verarbeitungsstruktur 130 und eine Berechnungsstruktur 140 auf. Für jeden Eintrag 111 ist die Verarbeitungsstruktur 130 so eingerichtet, dass sie Feuerungsereignisse, die auf diesen Eintrag 111 gerichtet sind, empfängt und verarbeitet. Insbesondere ist jedes empfangene Feuerungsereignis auf ein Axon 15 gerichtet, mit dem ein Neuron 11 verbunden ist, das durch den Eintrag 111 repräsentiert wird. Wie oben angegeben hält eine erste Teilmenge 112 jedes Eintrags 111 synaptische Gewichtungen von Synapsen 31 vor, die ein Neuron 11 mit Axonen 15 verbinden. Wenn die Synapse 31, die das Ziel-Axon 15 und das durch den Eintrag 111 repräsentierte Neuron 11 verbindet, leitend ist, kann das Feuerungsereignis durch die Berechnungsstruktur 140 integriert werden.
  • Bei einer Ausführungsform weist die Verarbeitungsstruktur 130 einen Decodierer 131, eine Scheduler-Steuereinheit 132, einen Scheduler 133, ein Axon-Typregister 134, eine Multiplex-Steuereinheit 135 und ein Skalarprodukt-Modul 136 auf.
  • Bei einem neuronalen Netzwerk, das mehrere Kernschaltungen 100 aufweist, werden Feuerungsereignisse zwischen Kernschaltungen 100 des neuronalen Netzwerks in der Form von Adresse-Ereignis-Paketen geleitet. Jedes Adresse-Ereignis-Paket enthält ein Feuerungsereignis, das als eine binäre Adresse codiert ist, die ein Zielaxon 15 darstellt, wobei das Feuerungsereignis durch ein Neuron 11 in derselben Kernschaltung 100 oder einer anderen Kernschaltung 100 erzeugt wurde. Jedes Adresse-Ereignis-Paket enthält des Weiteren einen Zeitstempel, der angibt, wann ein Feuerungsereignis, das in dem Adresse-Ereignis-Paket eingekapselt ist, erzeugt wurde. Der Decodierer 131 jeder Kernschaltung 100 ist zum Empfangen und Decodieren von Adresse-Ereignis-Paketen eingerichtet.
  • Bei einer beispielhaften Umsetzung handelt es sich bei dem Scheduler 133 um einen Dualport-Speicher, der Zeilen und Spalten aufweist. Feuerungsereignisse, die aus empfangenen Adresse-Ereignis-Paketen decodiert werden, werden in dem Scheduler 133 gespeichert, wobei die Zeilen zukünftige Zeitschritte und die Spalten Axone 15 darstellen. Für jedes Feuerungsereignis steuert die Steuereinheit 132 des Schedulers, in welche Zeile und Spalte des Schedulers 133 dieses Feuerungsereignis geschrieben wird. Empfangenen Feuerungsereignissen wird wahlweise eine Verzögerung auferlegt, bevor sie zu Zielaxonen 15 übertragen werden. Für jedes Feuerungsereignis berechnet die Steuereinheit 132 des Schedulers die Zeitdauer, die dieses Feuerungsereignis auf dem Weg zu dem Decodierer 131 benötigt hat, als die Differenz d zwischen der Ankunftszeit des Adresse-Ereignis-Pakets am Decodierer 131 und dem Zeitstempel, der angibt, wann das Feuerungsereignis erzeugt wurde. Wenn die Differenz d kleiner ist als eine vorgegebene Zustellungsverzögerung (oder vorgegebene Gesamtverzögerung) n, wird das Feuerungsereignis in dem Scheduler 133 während einer Verzögerungsdauer D gehalten, die gleich der Differenz zwischen n und d ist, um n Zeitstempel von der Erzeugung des Feuerungsereignisses bis zur Zustellung des Feuerungsereignisses zu erreichen, wobei der Scheduler 133 das Feuerungsereignis am Ende der Verzögerungsperiode zustellt.
  • Wenn beispielsweise ein Spike-Ereignis zwischen 3 und 9 Zeitschritte benötigt, um sich in einem neuronalen Netzwerk auszubreiten, gewährleistet der Scheduler 133 für alle Spikes 9 Zeitschritte. Selbst wenn bei einem Beispiel ein Spike an dem Decodierer 131 innerhalb von 3 Zeitschritten nach der Erzeugung eintrifft, verzögert der Scheduler 133 die Übertragung dieses Spike um 6 Zeitschritte, so dass der Spike von dem Scheduler 133 am Ende von 9 Zeitschritten nach der Spike-Erzeugung übertragen wird.
  • Am Beginn jedes Zeitschritts wird ein Vektor, der alle aktiven Axone 15 in dem aktuellen Zeitschritt angibt, von dem Scheduler 133 als eine Zeile gelesen. Die gesamte Speichereinheit 110 wird dann pro Zeitschritt einmal gelesen und beschrieben.
  • Einträge 111 der Speichereinheit 110 werden für jeden Zeitschritt insbesondere unter Verwendung eines sequenziellen Scanners 150 einzeln sequenziell ausgelesen. Die Multiplex-Steuereinheit 135 ist so eingerichtet, dass sie Steuersignale zu der Speichereinheit 110 sendet. Für jeden Eintrag 111, der ein Neuron 11 darstellt, berechnet das Skalarprodukt-Modul 136 das Skalarprodukt zwischen dem Vektor von aktiven Axonen 15 in dem aktuellen Zeitschritt und den Informationen der synaptischen Konnektivität, die in dem Eintrag 111 vorgehalten werden, d. h. den synaptischen Gewichtungen aller Synapsen 31, mit denen der Dendritpfad 34 des Neurons verbunden ist (Wj).
  • Das Axon-Typregister 134 hält verschiedene Befehle vor und sendet die Befehle der Berechnungsstruktur 140 auf der Grundlage des Axon-Typs (d. h. SynO, Syn1, Syn2 usw.). Jeder Befehl, der vorgehalten wird, entspricht einem Index des berechneten Skalarprodukts. Bei einer Ausführungsform handelt es sich bei den synaptischen Gewichtungen, die in der Speichereinheit 110 vorgehalten werden, um Binärwerte. Das Axon-Typregister 134 sendet die Befehle der Berechnungsstruktur 140, die Indizes des Skalarprodukts mit von Null verschiedenen Werten entsprechen. Wenn das berechnete Skalarprodukt beispielsweise Werte <1,1,1,0,0,0> aufweist und das Axon-Typregister 134 die Werte <0,1,2,3,1,2> vorhält, sendet das Axon-Typregister 134 die Befehle 0, 1, 2 der Berechnungsstruktur 140.
  • Die Multiplex-Steuereinheit 135 ist des Weiteren so eingerichtet, dass sie das berechnete Skalarprodukt und die Feuerungsereignisse verknüpft, um Signale und Befehle zu erzeugen, die an die Berechnungsstruktur 140 zu senden sind. Zu den erzeugten Signalen gehören Taktsignale/Zeitschritte.
  • Bei einer weiteren Ausführungsform handelt es sich bei den synaptischen Gewichtungen, die in der Speichereinheit 110 vorgehalten werden, um nichtbinäre Werte. Das Axon-Typregister 134 sendet der Berechnungsstruktur 140 alle von Null verschiedenen Werte des Skalarprodukts, multipliziert mit dem Befehl, der dem Index des Skalarprodukts mit dem von Null verschiedenen Wert entspricht. Wenn das berechnete Skalarprodukt beispielsweise Werte <2,1,3,0,0,0> aufweist und das Axon-Typregister die Werte <0,1,2,3,1,2> vorhält, sendet das Axon-Typregister 134 (0,2), (1,1), und (2,3) an die Berechnungsstruktur 140.
  • Bei einer Ausführungsform weist die Berechnungsstruktur 140 einen ersten Multiplexer 141, einen zweiten Multiplexer 142, ein Addierglied 143, einen Demultiplexer 144, ein Vergleichermodul („Komparator”) 145 und einen Codierer 146 auf.
  • Für jeden Eintrag 111 verwendet der erste Multiplexer 141 Informationen, die durch die Multiplex-Steuereinheit 135 bereitgestellt werden, um einen Neuronenparameter auszuwählen (d. h. SynO, Syn1, Syn2, Lk). Die Leckrate Lk, die in dem Eintrag 111 vorgehalten wird, wird beispielsweise ausgewählt, nachdem alle Spikes integriert wurden. Das Addierglied 143 addiert die Neuronenparameter, die durch den ersten Multiplexer 141 ausgewählt wurden, zu einer Variablen des Membranenpotenzials, das durch den zweiten Multiplexer 142 ausgewählt wurde. Für jeden Eintrag 111 wählt der zweite Multiplexer 142 die Variable V des Membranenpotenzials, die in dem Eintrag 111 vorgehalten wird, für die erste Addition. Für jeden Eintrag 111 wählt der zweite Multiplexer 142 eine modifizierte Variable des Membranenpotenzials für nachfolgende Additionen, wobei es sich bei der modifizierten Variable des Membranenpotenzials um eine temporäre Variable handelt.
  • Nachdem alle Spikes integriert wurden und die Leckrate angewendet wurde, ermittelt der Vergleicher 145 für jeden Eintrag 111, ob die modifizierte Variable des Membranenpotenzials einen Schwellenwert-Parameter Th überschreitet, der in dem Eintrag 111 vorgehalten wird. Wenn der Schwellenwert-Parameter Th überschritten wird, erzeugt der Codierer 146 einen Spike und verwendet die Informationen Fanout F und Weglenkungsverzögerung ΔT, die in dem Eintrag 111 vorgehalten werden, um den erzeugten Spike in einem Adresse-Ereignis-Paket einzukapseln/zu codieren. Die Variable V des Membranenpotenzials kann auf null zurückgesetzt werden, bevor sie in den Eintrag 111 zurückgeschrieben wird.
  • Die nachfolgende Tabelle 1 stellt beispielhaften Pseudocode bereit, der die Ausführung der Steuereinheit 200 demonstriert. TABELLE 1
    Figure DE112013003349T5_0002
  • Bei einer weiteren beispielhaften Ausführungsform ist der Scheduler 133 für eine zweifache Pufferung eingerichtet. Der Scheduler 133 kann beispielsweise einen ersten Puffer und einen zweiten Puffer enthalten. Der Scheduler 133 puffert Feuerungsereignisse, die er im aktuellen Zeitschritt t empfängt, in dem ersten Puffer. Am Beginn des nächsten Zeitschritts t + 1 verschiebt der Scheduler 133 die im ersten Puffer befindlichen Feuerungsereignisse zu dem zweiten Puffer. Jedes Feuerungsereignis kann in Abhängigkeit von der programmierten Zustellzeit für das Feuerungsereignis zu einem Zielaxon 15 in dem Zeitschritt t + 1 oder in nachfolgenden Zeitschritten zugestellt werden.
  • 5 ist eine Blockdarstellung, die eine Speichereinheit 100 einer Multiplex-Kernschaltung 100 gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt hält die Speichereinheit 110 Informationen vor, die mehrere Neuronen 11 betreffen. Die Speichereinheit 110 enthält mehrere Einträge 111. Jeder Eintrag 111 hält neuronale Attribute für ein Neuron 11 vor.
  • 6 ist eine Blockdarstellung, die Informationen zeigt, die in einem Eintrag 111 einer Speichereinheit 110 einer Multiplex-Kernschaltung 100 gemäß einer Ausführungsform der Erfindung vorgehalten werden. Bei einer Ausführungsform hält jeder Eintrag 111 die folgenden neuronalen Attribute für ein Neuron 11 vor: Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen. Bei einer Ausführungsform hält eine erste Teilmenge 112 jedes Eintrags 111 synaptische Gewichtungen von Synapsen vor, die ein Neuron 11 mit Axonen 15 verbinden. Eine zweite Teilmenge 113 jedes Eintrags 111 hält die folgenden Neuronenparameter für ein Neuron 11 vor: Variable (V) des Membranenpotenzials, Spike-Schwellenwert (Th), Leckrate (Lk) und Gewichtungen aller möglichen Axontypen (Syn0, Syn1, Syn2). Eine dritte Teilmenge 114 jedes Eintrags 111 hält des Weiteren die folgenden Weglenkungsinformationen für ein Neuron 11 vor: Fanout (F) und Weglenkungsverzögerung (AT).
  • 7 ist eine Blockdarstellung, die eine Multiplex-Kernschaltung 100 gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt weist die Kernschaltung 100 eine Speichereinheit 110 mit mehreren Einträgen 111 auf. Jeder Eintrag 111 hält Informationen vor, die ein Neuron 11 betreffen. Die Kernschaltung 100 weist des Weiteren eine Steuereinheit (d. h. eine Verarbeitungs- und Berechnungs-Logikschaltung) 120 für die Speichereinheit 110 auf. Eine Speicher-Schnittstellenschaltung 115 verbindet die Speichereinheit 110 mit der Steuereinheit 120.
  • 8 ist eine Blockdarstellung, die eine Multiplex-Kernschaltung 100, die einen binären Eingabevektor 50 empfängt, gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt wird am Beginn jedes Zeitschritts ein binärer Eingabevektor 50, der alle aktiven Axone 15 in dem aktuellen Zeitschritt angibt, von dem Scheduler 133 erhalten. Alle Einträge 111 der Speichereinheit 110 werden dann einzeln sequenziell ausgelesen.
  • 9 ist eine Blockdarstellung, die einen Teilmultiplex-Kern 200 gemäß einer Ausführungsform der Erfindung zeigt. Der Kern 200 weist mehrere Speichereinheiten 110 auf. Jede Speichereinheit 110 weist eine entsprechende Steuereinheit (d. h. eine entsprechende Verarbeitungs- und Berechnungs-Logikschaltung) 120 auf. Bei einer Ausführungsform kann ein Kern 200, der N Neuronen aufweist, α Steuereinheiten (d. h. Verarbeitungs- und Berechnungs-Logikschaltungen) für die N Neuronen aufweisen, wobei α eine positive Ganzzahl ist und 1 ≤ α N.
  • 10 veranschaulicht einen schlanken Meta-Kern 400 gemäß einer Ausführungsform der Erfindung. Bei dem Meta-Kern 400 handelt es sich um ein neuronales Multiplex-Netzwerk-System. Der Meta-Kern 400 weist eine schlanke Speichereinheit 410 auf, die neuronale Attribute für mehrere Neuronen 11 vorhält, die zu verschiedenen Kernschaltungen 10 gehören. Die Speichereinheit 410 enthält mehrere Teilmengen 412 (11), wobei jede Teilmenge 412 neuronale Attribute für Neuronen 11 einer Kernschaltung 10 vorhält. Jeder Eintrag 412 enthält mehrere Einträge 411, wobei jeder Eintrag 411 neuronale Attribute für ein Neuron 11 vorhält. Bei jedem Eintrag 411 enthalten die neuronalen Attribute für ein Neuron 11 Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen.
  • Konsolidieren von Daten in einer großen Speichereinheit 410 vermindert die passive Leistungsaufnahme, ohne den Gesamtwert der aktiven Leistungsaufnahme zu erhöhen. Der Meta-Kern 400 weist des Weiteren eine Steuereinheit (d. h. eine Verarbeitungs- und Berechnungs-Logikschaltung) 120 auf. Die Neuronen 11, die durch die Speichereinheit 410 dargestellt werden, werden gemultiplext, so dass jedes Neuron 11, das durch einen Eintrag 411 der Speichereinheit 110 dargestellt ist, sich die Steuereinheit 120 mit anderen Neuronen 11 teilt, die durch andere Einträge 411 der Speichereinheit 410 dargestellt werden. Daher teilen sich Neuronen 11 von unterschiedlichen Kernschaltungen 10 dieselbe Steuereinheit 120. Eine Speicher-Schnittstellenschaltung 415 verbindet die Speichereinheit 410 mit der Steuereinheit 120.
  • Der Decodierer 131 der Steuereinheit 120 ist so eingerichtet, dass er Adresse-Ereignis-Pakete von dem Weglenkungsnetzwerk 260 empfängt. Der Codierer 146 der Steuereinheit 120 ist so eingerichtet, dass er Adresse-Ereignis-Pakete zu dem Weglenkungsnetzwerk 260 sendet.
  • 11 ist eine Blockdarstellung, die eine schlanke Speichereinheit 410 eines schlanken Meta-Kerns 400 gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt hält die schlanke Speichereinheit 410 neuronale Attribute für mehrere Neuronen 11 vor, die zu unterschiedlichen Kernschaltungen 10 gehören. Die Speichereinheit 410 enthält mehrere Teilmengen 412, wobei jede Teilmenge 412 neuronale Attribute für Neuronen 11 einer Kernschaltung 10 vorhält. Jede Teilmenge 412 enthält mehrere Einträge 411, wobei jeder Eintrag 411 neuronale Attribute für ein Neuron 11 vorhält. Für jeden Eintrag 411 enthalten die neuronalen Attribute für ein Neuron 11 Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen.
  • 12 veranschaulicht einen breiten Meta-Kern 500 gemäß einer Ausführungsform der Erfindung. Bei dem Meta-Kern 500 handelt es sich um ein neuronales Multiplex-Netzwerksystem. Der Meta-Kern 500 weist eine breite Speichereinheit 510 auf, die neuronale Attribute für mehrere Neuronen 11 vorhält, die zu unterschiedlichen Kern-Schaltungen 10 gehören. Die Speichereinheit 510 enthält mehrere Teilmengen 512, wobei jede Teilmenge 512 der Speichereinheit 510 neuronale Attribute von Neuronen 11 einer Kern-Schaltung 10 vorhält. Jede Teilmenge 512 kann in mehrere Einträge 511 unterteilt werden, wobei jeder Eintrag 511 neuronale Attribute für ein Neuron 11 vorhält. Bei einer beispielhaften Umsetzung ist die Anzahl von Einträgen 511, die jede Teilmenge 512 aufweist, gleich der Anzahl von Kern-Schaltungen 10, die die Speichereinheit 510 repräsentieren. Für jeden Eintrag 511 enthaften die neuronalen Attribute für ein Neuron 11, die in diesem Eintrag 511 vorgehalten werden, Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen.
  • Konsolidieren von Daten in einer breiten Speichereinheit 510 verringert die passive Leistungsaufnahme. Der Meta-Kern 500 weist des Weiteren mehrere Steuereinheiten (d. h. Verarbeitungs- und Berechnungslogikschaltungen) 120 auf. Bei einer Ausführungsform kann ein Meta-Kern 500, der N Neuronen aufweist, α Steuereinheiten (d. h. Verarbeitungs- und Berechnungslogikschaltungen) 120 für die N Neuronen aufweisen, wobei α eine positive Ganzzahl ist und 1 ≤ α < N. Bei einer beispielhaften Ausführungsform gibt es in jeder Teilmenge 512, die die Speichereinheit 510 aufweist, eine entsprechende Steuereinheit (d. h. eine entsprechende Verarbeitungs- und Berechnungslogikschaltung) 120. Daher teilen sich Neuronen 11 derselben Kern-Schaltung 10 dieselbe Steuereinheit 120. Während des Betriebs wird jeder Eintrag 511 jeder Teilmenge 512 vorständig ausgelesen, und neuronale Attribute jedes Eintrags 511 werden durch die Steuereinheit 120 dieser Teilmenge 512 unabhängig verarbeitet.
  • 13 ist eine Blockdarstellung, die eine breite Speichereinheit 510 eines breiten Meta-Kerns 500 gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt hält die breite Speichereinheit 510 neuronale Attribute für mehrere Neuronen 11 vor, die zu unterschiedlichen Kernschaltungen 10 gehören. Die Speichereinheit 510 enthält mehrere Teilmengen 512, wobei jede Teilmenge 512 der Speichereinheit 510 neuronale Attribute von Neuronen 11 einer Kernschaltung 10 vorhält. Jede Teilmenge 512 kann in mehrere Einträge 511 unterteilt werden, wobei jeder Eintrag 511 neuronale Attribute für ein Neuron 11 vorhält. Bei einer Ausführungsform ist die Anzahl von Einträgen 511, die jede Teilmenge 512 aufweist, gleich der Anzahl von Kernschaltungen 10, die die Speichereinheit 510 darstellen. Bei jedem Eintrag 511 enthalten die neuronalen Attribute für ein Neuron 11, die in dem Eintrag 511 vorgehalten werden, Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen.
  • 14 veranschaulicht einen Meta-Kern 600 gemäß einer Ausführungsform der Erfindung. Bei dem Meta-Kern 600 handelt es sich um ein neuronales Multiplex-Netzwerksystem. Der Meta-Kern 600 weist eine Speichereinheit 610 auf, die neuronale Attribute für mehrere Neuronen 11 vorhält (1), die zu unterschiedlichen Kernschaltungen 10 gehören (1). Wie in 14 gezeigt hält die Speichereinheit 610 neuronale Attribute für Neuronen 11 vor, die zu Kernschaltungen Core0, Core1, Core2, ..., Core8 gehören. Konsolidieren von Daten für mehrere Kernschaltungen 10 in der Speichereinheit 610 verringert die passive Leistungsaufnahme.
  • Die Speichereinheit 610 weist mehrere Teilmengen 612 auf (15), wobei jede Teilmenge 612 neuronale Attribute für Neuronen 11 einer Kernschaltung 10 vorhält. Jede Teilmenge 612 weist mehrere Einträge 611 auf (15), wobei jeder Eintrag 611 neuronale Attribute für ein Neuron 11 vorhält. Bei jedem Eintrag 611 enthalten die neuronalen Attribute, die in dem Eintrag 611 vorgehalten werden, Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen für ein Neuron 11.
  • Der Meta-Kern 600 weist des Weiteren mehrere Steuereinheiten (d. h. Verarbeitungs- und Berechnungs-Logikschaltungen) 120 auf. Bei einer Ausführungsform kann ein Meta-Kern 600, der N Neuronen aufweist, α Steuereinheiten (d. h. Verarbeitungs- und Berechnungs-Logikschaltungen) 120 für die N Neuronen aufweisen, wobei α eine positive Ganzzahl ist 1 ≤ α < N. Bei einer beispielhaften Ausführungsform sind die Teilmengen 612 der Speichereinheit 610 in mehreren Gruppen 614 organisiert (15). Jede Gruppe 614 weist mehrere Teilmengen 612 auf, die unterschiedliche Kern-Schaltungen 10 darstellen. Jede Gruppe 614 weist eine entsprechende Steuereinheit (d. h. Verarbeitungs- und Berechnungs-Logikschaltung) 120 auf, so dass Neuronen 11 dieser Gruppe 614 dieselbe Steuereinheit 120 gemeinsam nutzen. Während des Betriebs wird jeder Eintrag 611 jeder Teilmenge 612 jeder Gruppe 614 ausgelesen, und neuronale Attribute, die in dem Eintrag 611 vorgehalten werden, werden durch die Steuereinheit 120 für die Gruppe 614 unabhängig verarbeitet.
  • Wie in 14 gezeigt wird für Daten für die Kernschaltungen Core0, Core3 und Core6 eine erste Steuereinheit 120 gemeinsam genutzt, für Daten für die Kernschaltungen Core1, Core4 und Core7 eine zweite Steuereinheit 120 gemeinsam genutzt und für Daten für die Kernschaltungen Core2, Core5 und Core8 eine dritte Steuereinheit 120 gemeinsam genutzt.
  • Bei einer Ausführungsform werden Neuronen-Aktualisierungen für die Kernschaltungen 10 sequenziell ausgeführt, so dass Neuronen 11 einzeln aktualisiert werden. Bei einer beispielhaften Ausführungsform wird während einer Neuronenaktualisierung lediglich eine Steuereinheit 120 für eine Kernschaltung 10 verwendet. Wenn eine Neuronenaktualisierung für ein Neuron 11 beendet wird, fährt der Meta-Kern 600 mit dem nächsten Neuron 11 fort, bis alle Neuronen 11 verarbeitet wurden. Wenn die Anzahl von Neuronen 11 größer wird (und die Anzahl von Synapsen 31 größer wird), vergrößert sich auch die Zeitspanne, die die Steuereinheit 120 benötigt, um Neuronenaktualisierungen für eine Kernschaltung zu beenden. Wenn diese Zeit die Dauer eines Zeitschritts übersteigt, ist die Kernschaltung 120 nicht in der Lage, Neuronenaktualisierungen für eine Core-Schaltung 10 innerhalb eines Zeitschritts auszuführen. Daher sollte die optimale Größe der Speichereinheit 610 auf der Grundlage der größtmöglichen Anzahl von Neuronen 11 beruhen, die eine Steuereinheit 120 in einem Zeitschritt verarbeiten kann. Wenn beispielsweise die Steuereinheit 120 bei 100 MHz betrieben wird und alle Neuronen 11 in einem 1-ms-Zeitschritt verarbeitet werden müssen, wobei 100 Ticks zum Verarbeiten eines Neurons 11 erforderlich sind, kann die Speichereinheit 610 lediglich 100 Einträge 611 aufweisen. Ermitteln der optimalen Breite der Speichereinheit 610 erfolgt prozessabhängig.
  • Bei einer weiteren Ausführungsform werden Neuronenaktualisierungen für die Kernschaltungen 10 parallel ausgeführt. Bei einer beispielhaften Umsetzung werden die Steuereinheiten 120 für unterschiedliche Kernschaltungen 10 parallel verwendet. Änderungen an der Variablen des Membranenpotenzials für Neuronen 11 einiger Kernschaltungen 10 (d. h. Slave-Kernschaltungen) können gesammelt werden, und Daten für eine Kernschaltung 10 (d. h. eine Master-Kernschaltung) werden auf der Grundlage der gesammelten Änderungen aktualisiert. Wenn die Neuronenaktualisierungen für die Kernschaltungen 10 parallel ausgeführt werden, ist die Zeitdauer für Neuronenaktualisierungen von der Größe des Metakerns unabhängig.
  • 15 ist eine Blockdarstellung, die eine Speichereinheit 610 eines Meta-Kerns 600 gemäß einer Ausführungsform der Erfindung zeigt. Wie oben festgestellt hält die Speichereinheit 610 neuronale Attribute für mehrere Neurone 11 vor, die zu unterschiedlichen Kernschaltungen 10 gehören. Die Speichereinheit 610 enthält mehrere Teilmengen 612, wobei jede Teilmenge 612 der Speichereinheit 610 neuronale Attribute für Neuronen 11 einer Kern-Schaltung 10 vorhält, Jede Teilmenge 612 weist mehrere Einträge 611 auf, wobei jeder Eintrag 611 neuronale Attribute für ein Neuron 11 vorhält. Für jeden Eintrag 611 enthalten die neuronalen Attribute, die in dem Eintrag 611 vorgehalten werden, Informationen der synaptischen Konnektivität, Neuronenparameter und Weglenkungsinformationen für ein Neuron 11. Bei einer beispielhaften Umsetzung sind die Teilmengen in mehreren Gruppen 614 organisiert, wobei jede Gruppe 614 mehrere Teilmengen 612 aufweist, die verschiedene Kernschaltungen 10 repräsentieren.
  • Wie in 15 gezeigt sind Daten für die Kernschaltungen Core0, Core3 und Core6 in einer ersten Gruppe 614 organisiert, Daten für die Kernschaltungen Core1, Core4 und Core7 sind in einer zweiten Gruppe 614 organisiert und Daten für die Kernschaltungen Core2, Core5 und Core8 sind in einer dritten Gruppe 614 organisiert.
  • 16 veranschaulicht ein neuronales Netzwerk 700 gemäß einer Ausführungsform der Erfindung. Das neuronale Netzwerk 700 weist mehrere Kerne 710 auf. Bei den Kernen 710 kann es sich um Multiplex-Kernschaltungen 100, schlanke Metakerne 400, breite Metakerne 500 oder Meta-Kerne 600 handeln. Jeder Kern 710 weist einen entsprechenden Router 720 zum Weiterleiten von Adresse-Ereignis-Paketen zu benachbarten Routern 200 in nördlicher, südlicher, östlicher und westlicher Richtung auf.
  • 17 veranschaulicht einen Ablaufplan eines beispielhaften Prozesses 800 zum Verarbeiten von Feuerungsereignissen in einem Multiplexkern gemäß einer Ausführungsform der Erfindung. Im Prozessblock 801 werden Adresse-Ereignis-Pakete (AER-Ereignisse) empfangen. Im Prozessblock 802 werden alle empfangenen Adresse-Ereignis-Pakete decodiert. Im Prozessblock 803 werden alle decodierten Adresse-Ereignis-Pakete in einem Scheduler auf der Grundlage der decodierten Informationen gespeichert. Im Prozessblock 804 wird ein Vektor aus aktiven Axonen in dem aktuellen Zeitschritt von dem Scheduler erhalten. Im Prozessblock 805 werden alle Einträge einer Speichereinheit sequenziell ausgelesen, wobei die Speichereinheit Neuronen betreffende Informationen vorhält.
  • 18 ist eine Übersichts-Blockdarstellung, die ein Informationsverarbeitungssystem 300 zeigt, das zum Implementieren einer Ausführungsform der Erfindung nützlich ist. Das Computersystem enthält einen oder mehrere Prozessoren wie z. B. den Prozessor 302. Der Prozessor 302 ist mit einer Datenübertragungsinfrastruktur (z. B. ein Datenübertragungsbus, eine Kreuzschienenleiste (crossover-bar) oder ein Netzwerk) verbunden.
  • Das Computersystem kann eine Anzeigeschnittstelle 306 enthalten, die Grafiken, Text und andere Daten von der Datenübertragungsinfrastruktur 304 (oder von einem nicht gezeigten Rahmenpuffer) zum Anzeigen auf einer Anzeigeeinheit 308 weiterleitet. Das Computersystem enthält außerdem einen Hauptspeicher 310, vorzugsweise einen Direktzugriffsspeicher (RAM), und kann außerdem einen sekundären Speicher 312 enthalten, Als sekundärer Speicher 312 kommen z. B. ein Festplattenlaufwerk 314 und/oder ein Wechselspeicherlaufwerk infrage, bei dem es sich beispielsweise um ein Floppy-Disk-Laufwerk, ein Magnetbandlaufwerk oder ein Laufwerk mit optischer Platte handeln kann. Das Wechselspeicherlaufwerk 316 liest von und/oder schreibt auf eine Wechselspeichereinheit 318 in einer Weise, die einem Fachmann bekannt ist. Bei einer Wechselspeichereinheit 318 handelt es sich beispielsweise um eine Floppy Disk, eine Compact Disk, ein Magnetband oder eine optische Platte usw., die von dem Wechselspeicherlaufwerk 316 gelesen oder von diesem beschrieben wird. Es ist klar, dass die Wechselspeichereinheit 318 ein computerlesbares Medium enthält, in dem Computer-Software und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungsformen kann der sekundäre Speicher 312 andere ähnliche Mittel enthalten, damit Computerprogramme oder andere Befehle in das Computersystem geladen werden können. Zu derartigen Mitteln gehören beispielsweise eine Wechselspeichereinheit 320 und eine Schnittstelle 322. Zu Beispielen dieser Mittel können ein Programmpaket und eine Paketschnittstelle (wie beispielsweise jene, die in Videospieleinheiten vorkommen), ein Wechselspeicherchip (wie z. B. ein EPROM oder PROM) und ein zugehöriger Socket und andere Wechselspeichereinheiten 320 und Schnittstellen 322 gehören, die Übertragen von Software und Daten von der Wechselspeichereinheit 320 zu dem Computersystem ermöglichen.
  • Das Computersystem kann außerdem eine Datenübertragungsschnittstelle 324 enthalten. Eine Datenübertragungsschnittstelle 324 ermöglicht, dass Software und Daten zwischen dem Computersystem und externen Einheiten übertragen werden. Zu Beispielen einer Datenübertragungsschnittstelle 324 können ein Modem, eine Netzwerkschnittstelle (wie z. B. eine Ethernet-Karte), ein Datenübertragungsanschluss oder ein PCMCIA-Einschub und -karte usw. gehören. Software und Daten, die über eine Datenübertragungsschnittstelle 324 übertragen werden, liegen der Form von Signalen vor, bei denen es sich beispielsweise um elektronische, elektromagnetische, optische oder andere Signale handeln kann, die von einer Datenübertragungsschnittstelle 324 empfangen werden können. Diese Signale werden über einen Datenübertragungspfad (z. B. einen Kanal) 326 an eine Datenübertragungsschnittstelle 324 bereitgestellt. Dieser Datenübertragungspfad 326 befördert Signale und kann unter Verwendung einer Leitung oder eines Kabels, eines Lichtwellenleiters, einer Telefonleitung, einer Zellentelefon-Verbindung, einer HF-Verbindung und/oder anderen Datenübertragungskanälen realisiert werden.
  • In diesem Dokument werden die Ausdrücke „Computerprogrammmedium”, „durch einen Computer nutzbares Medium” und „computerlesbares Medium” verwendet, um Medien allgemein zu bezeichnen wie z. B. einen Hauptspeicher 310 und einen sekundären Speicher 312, ein Wechselspeichermedium 316 und eine in einem Festplattenlaufwerk 314 installierte Festplatte.
  • Computerprogramme (die außerdem als Computersteuerlogik bezeichnet werden) werden im Hauptspeicher 310 und/oder im sekundären Speicher 312 gespeichert. Computerprogramme können außerdem über eine Datenübertragungsschnittstelle 324 empfangen werden. Wenn derartige Computerprogramme ablaufen, kann das Computersystem die Merkmale der Verwendung ausführen, die an dieser Steile erläutert wurden. Wenn die Computerprogramme ablaufen, kann insbesondere der Prozessor 302 die Merkmale des Computersystems ausführen. Demzufolge stellen derartige Computerprogramme Steuereinheiten des Computersystems dar.
  • Aus der obigen Beschreibung kann erkannt werden, dass die vorlegende Erfindung ein System, ein Computerprogrammprodukt und ein Verfahren zum Umsetzen der Ausführungsformen der Erfindung bereitstellt. Die vorliegende Erfindung stellt des Weiteren ein nichtflüchtiges, durch einen Computer nutzbares Speichermedium für eine hierarchische Weglenkung und einen zweiseitig gerichteten Informationsstrom mit struktureller Plastizität in neuralen Netzwerken bereit. Das nichtflüchtige, durch einen Computer nutzbare Speichermedium weist ein computerlesbares Programm auf, wobei das Programm beim Verarbeiten in einem Computer bewirkt, dass der Computer die Schritte der vorliegenden Erfindung gemäß den hier beschriebenen Ausführungsformen ausführt. In den Ansprüchen sollen Bezugnahmen auf ein Element im Singular nicht „einzig und allein”, es sei denn explizit in dieser Weise festgelegt, sondern stattdessen „ein oder mehrere” bedeuten. Alle strukturellen und funktionalen Ersetzungen der Elemente der oben beschriebenen beispielhaften Ausführungsform, die gegenwärtig bekannt sind oder zukünftig einem Fachmann bekannt werden, sollen in die angegebenen Ansprüche eingeschlossen sein. Kein beanspruchtes Element soll gemäß 35 USC Abschnitt 112, Paragraph sechs ausgelegt werden, falls das Element nicht ausdrücklich unter Verwendung des Ausdrucks „Mittel zum” oder „Schritt zum” angegeben wurde.
  • Die in diesem Zusammenhang verwendete Terminologie dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und ist nicht vorgesehen, die Erfindung zu beschränken. Die hier verwendete Singularformen ”ein” und ”der/die/das” sollen außerdem die Pluralformen enthalten, falls im Kontext nicht anders angegeben. Es ist ferner klar, dass die Ausdrücke ”weist auf” und/oder ”aufweisend”, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von festgestellten Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder die Hinzufügung eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte Operationen, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Wirkungen und Ersetzungen aller Mittel oder Schritte plus Funktionselemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Wirkungen zum Ausführen der Funktion in Kombination mit anderen Elementen, die speziell beansprucht werden, enthalten. Die Beschreibung der vorliegenden Erfindung wurde für Zwecke der Erläuterung und Beschreibung dargestellt, es ist jedoch nicht vorgesehen, dass sie in der offenbarten Form für die Erfindung erschöpfend oder einschränkend sein soll. Viele Modifikationen und Variationen werden einem Fachmann offensichtlich erscheinen, ohne vom Umfang und Erfindungsgeist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und der praktischen Anwendung am besten zu erläutern und um Nichtfachleute zu befähigen, die Erfindung zu verstehen, da verschiedene Ausführungsformen mit zahlreichen Modifikationen für die vorgesehene praktische Verwendung geeignet sind.

Claims (21)

  1. Schaltung mit neuronalem Kern, die aufweist: eine Speichereinheit, die neuronale Attribute für mehrere Neuronen vorhält, wobei die Speichereinheit mehrere Einträge aufweist und jeder Eintrag neuronale Attribute für ein entsprechendes Neuron vorhält; und eine Steuereinheit, die die Speichereinheit verwaltet, wobei die Steuereinheit in Reaktion auf neuronale Feuerungsereignisse, die auf ein oder mehrere Neuronen gerichtet sind, neuronale Attribute für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit abruft und die Feuerungsereignisse auf der Grundlage der abgerufenen neuronalen Attribute integriert, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  2. Schaltung mit neuronalem Kern nach Anspruch 1, wobei: für jeden der Einträge die neuronale Attribute, die in dem Eintrag vorgehalten werden, Informationen der synaptischen Konnektivität, Neuronenparameter und Informationen der Weglenkungsdaten für ein entsprechendes Neuron enthalten.
  3. Schaltung mit neuronalem Kern nach Anspruch 2, wobei: die Steuereinheit ein Feuerungsereignis für ein Zielneuron erzeugt, wenn integrierte Feuerungsereignisse einen Schwellenwert-Neuronenparameter für das Zielneuron übersteigen.
  4. Schaltung mit neuronalem Kern nach Anspruch 3, wobei: die Steuereinheit für jedes Zielneuron wenigstens einen Neuronenparameter für das Zielneuron aktualisiert.
  5. Schaltung mit neuronalem Kern nach Anspruch 4, wobei: die Steuereinheit eine Berechnungs- und Steuerlogik für mehrere Neuronen multiplext.
  6. Schaltung mit neuronalem Kern nach Anspruch 1 wobei: bei jedem Zeitschritt jeder Eintrag der Speichereinheit sequenziell ausgelesen wird.
  7. Schaltung mit neuronalem Kern nach Anspruch 2, wobei: die Steuereinheit für jedes Neuron, das einem Eintrag der Speichereinheit entspricht: ankommende Feuerungsereignisse empfängt, die an das Neuron gerichtet sind; und Informationen der synaptischen Konnektivität für das Neuron aus dem entsprechenden Eintrag der Speichereinheit abruft.
  8. Schaltung mit neuronalem Kern nach Anspruch 7, wobei: die Steuereinheit für jedes Neuron, das einem Eintrag der Speichereinheit entspricht: Neuronenparameter für das Neuron aus dem entsprechenden Eintrag der Speichereinheit abruft; ankommende Feuerungsereignisse integriert, die an das Neuron gerichtet sind, wobei die ankommenden Feuerungsereignisse auf der Grundlage der Neuronenparameter und Informationen der synaptischen Konnektivität für das Neuron integriert werden; ein abgehendes Feuerungsereignis erzeugt, wenn die integrierten ankommenden Feuerungsereignisse einen Schwellenwert-Neuronenparameter für das Neuron übersteigen, wobei das abgehende Feuerungsereignis auf der Grundlage von Informationen der Weglenkungsdaten für das Neuron erzeugt wird; und wenigstens einen Neuronenparameter für das Neuron aktualisiert.
  9. Schaltung mit neuronalem Kern nach einem der vorhergehenden Ansprüche, wobei: es sich bei der Speichereinheit um ein Speicherarray handelt, das mehrere Partitionen enthält; und die mehreren Partitionen enthalten: eine erste Partition, die Informationen der synaptischen Konnektivität für die mehreren Neuronen vorhält; eine zweite Partition, die Neuronenparameter für die mehreren Neuronen vorhält; und eine dritte Partition, die Informationen von Weglenkungsdaten für die mehreren Neuronen vorhält.
  10. Schaltung mit neuronalem Kern nach einem der Ansprüche von 1 bis 8, wobei: die Speichereinheit mehrere Speicherarrays enthält; und zu den mehreren Speicherarrays gehören: ein erstes Speicherarray, das Informationen der synaptischen Konnektivität für die mehreren Neuronen vorhält; ein zweites Speicherarray, das Neuronenparameter für die mehreren Neuronen vorhält; und ein drittes Speicherarray, das Informationen von Weglenkungsdaten für die mehreren Neuronen vorhält.
  11. Verfahren zum Vorhalten von neuronalen Attributen für mehrere Neuronen in einer Speichereinheit, wobei die Speichereinheit mehrere Einträge aufweist und jeder Eintrag neuronale Attribute für ein entsprechendes Neuron vorhält, wobei das Verfahren aufweist: in Reaktion auf Neuronen-Feuerungsereignisse, die an eines der Neuronen gerichtet sind, Abrufen von neuronalen Attributen für das Zielneuron aus einem entsprechenden Eintrag der Speichereinheit und integrieren der Feuerungsereignisse auf der Grundlage der abgerufenen neuronalen Attribute, um ein Feuerungsereignis für das Zielneuron zu erzeugen.
  12. Verfahren nach Anspruch 11, das ferner aufweist: für jeden der Einträge Vorhalten von Informationen der synaptischen Konnektivität, Neuronenparametern und Informationen der Weglenkungsdaten für ein entsprechendes Neuron in dem Eintrag.
  13. Verfahren nach Anspruch 12, das ferner aufweist: Erzeugen eines Feuerungsereignisses für ein Zielneuron, wenn integrierte Feuerungsereignisse einen Schweilenwert-Neuronenparameter für das Zielneuron übersteigen.
  14. Verfahren nach Anspruch 13, das ferner aufweist: für jedes Zielneuron Aktualisieren wenigstens eines Neuronenparameters für das Zielneuron.
  15. Verfahren nach Anspruch 14, das ferner aufweist: Multiplexen der Berechnungs- und Steuerlogik für mehrere Neuronen.
  16. Verfahren nach Anspruch 12, das ferner aufweist: für jedes Neuron, das einem Eintrag der Speichereinheit entspricht: Empfangen ankommender Feuerungsereignisse, die an das Neuron gerichtet sind; und Abrufen von Informationen der synaptischen Konnektivität für das Neuron aus dem entsprechenden Eintrag der Speichereinheit.
  17. Verfahren nach Anspruch 16, das ferner aufweist: für jedes Neuron, das einem Eintrag der Speichereinheit entspricht: Abrufen von Neuronenparametern für das Neuron von dem entsprechenden Eintrag der Speichereinheit; Integrieren ankommender Feuerungsereignisse, die an das Neuron gerichtet sind, wobei die ankommenden Feuerungsereignisse auf der Grundlage der Neuronenparameter und der Informationen der synaptischen Konnektivität für das Neuron integriert werden; Erzeugen eines abgehenden Feuerungsereignisses, wenn die integrierten ankommenden Feuerungsereignisse einen Schwellenwert-Neuronenparameter für das Neuron übersteigen, wobei das abgehende Feuerungsereignis auf der Grundlage der Informationen von Weglenkungsdaten für das Neuron erzeugt wird; und Aktualisieren wenigstens eines Neuronenparameters für das Neuron.
  18. Verfahren nach Anspruch 11, das ferner aufweist: bei jedem Zeitschritt sequenzielles Auslesen aller Einträge der Speichereinheit.
  19. Verfahren nach Anspruch 11, das ferner aufweist: Vorhalten von Informationen der synaptischen Konnektivität für die mehreren Neuronen in einer ersten Partition eines Speicherarray; Vorhalten von Neuronenparametern für die mehreren Neuronen in einer zweiten Partition des Speicherarray; und Vorhalten von Informationen der Weglenkungsdaten für die mehreren Neuronen in einer dritten Partition des Speicherarray.
  20. Verfahren nach Anspruch 11, das ferner aufweist: Vorhalten von Informationen der synaptischen Konnektivität für die mehreren Neuronen in einem ersten Speicherarray; Vorhalten von Neuronenparametern für die mehreren Neuronen in einem zweiten Speicherarray; und Vorhalten von Informationen der Weglenkungsdaten für die mehreren Neuronen in einem dritten Speicherarray.
  21. Nichtflüchtiges Computerprogrammprodukt für eine Neuronen-Kernschaltung, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit Programmcode aufweist, der darin verkörpert ist, wobei der Programmcode durch einen Computer ausgeführt werden kann, um das Verfahren nach einem der Ansprüche 11 bis 20 auszuführen.
DE112013003349.6T 2012-09-14 2013-06-28 Schaltung mit neuronalem Kern Ceased DE112013003349T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/619,433 2012-09-14
US13/619,433 US9159020B2 (en) 2012-09-14 2012-09-14 Multiplexing physical neurons to optimize power and area
PCT/IB2013/055312 WO2014041443A1 (en) 2012-09-14 2013-06-28 Neural core circuit

Publications (1)

Publication Number Publication Date
DE112013003349T5 true DE112013003349T5 (de) 2015-03-19

Family

ID=50277711

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013003349.6T Ceased DE112013003349T5 (de) 2012-09-14 2013-06-28 Schaltung mit neuronalem Kern

Country Status (5)

Country Link
US (2) US9159020B2 (de)
JP (1) JP6250054B2 (de)
CN (1) CN104641385B (de)
DE (1) DE112013003349T5 (de)
WO (1) WO2014041443A1 (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390368B2 (en) * 2013-10-21 2016-07-12 International Business Machines Corporation Coupling parallel event-driven computation with serial computation
US9412063B2 (en) 2013-12-27 2016-08-09 International Business Machines Corporation Transform architecture for multiple neurosynaptic core circuits
US9406015B2 (en) 2013-12-27 2016-08-02 International Business Machines Corporation Transform for a neurosynaptic core circuit
US9852006B2 (en) 2014-03-28 2017-12-26 International Business Machines Corporation Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits
US9195903B2 (en) * 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US9373058B2 (en) 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
US9798972B2 (en) 2014-07-02 2017-10-24 International Business Machines Corporation Feature extraction using a neurosynaptic system for object classification
US10115054B2 (en) 2014-07-02 2018-10-30 International Business Machines Corporation Classifying features using a neurosynaptic system
US10664751B2 (en) * 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
CN105426957B (zh) * 2015-11-06 2017-09-29 兰州理工大学 一种电磁辐射下的神经元电活动模拟器
US10423879B2 (en) 2016-01-13 2019-09-24 International Business Machines Corporation Efficient generation of stochastic spike patterns in core-based neuromorphic systems
US10990872B2 (en) * 2016-03-31 2021-04-27 International Business Machines Corporation Energy-efficient time-multiplexed neurosynaptic core for implementing neural networks spanning power- and area-efficiency
CN109478253B (zh) * 2016-05-19 2022-11-01 国立大学法人东京工业大学 神经网络电路以及神经网络集成电路
US10586147B2 (en) * 2016-09-22 2020-03-10 Intel Corporation Neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a neuromorphic computing environment
US11281963B2 (en) * 2016-09-26 2022-03-22 Intel Corporation Programmable neuron core with on-chip learning and stochastic time step control
US11270193B2 (en) * 2016-09-30 2022-03-08 International Business Machines Corporation Scalable stream synaptic supercomputer for extreme throughput neural networks
US10423876B2 (en) * 2016-12-01 2019-09-24 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either victim cache or neural network unit memory
US10417560B2 (en) * 2016-12-01 2019-09-17 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3-dimensional convolutions
US10395165B2 (en) * 2016-12-01 2019-08-27 Via Alliance Semiconductor Co., Ltd Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory
US10248906B2 (en) * 2016-12-28 2019-04-02 Intel Corporation Neuromorphic circuits for storing and generating connectivity information
CN106971229B (zh) * 2017-02-17 2020-04-21 清华大学 神经网络计算核信息处理方法和系统
CN106971228B (zh) * 2017-02-17 2020-04-07 北京灵汐科技有限公司 神经元信息发送方法和系统
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11551067B2 (en) 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
EP3620992B1 (de) * 2017-04-06 2024-05-29 Shanghai Cambricon Information Technology Co., Ltd Neuronaler netzwerkprozessor und verfahren zur berechnung eines neuronalen netzwerks
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
US11100396B2 (en) * 2017-08-24 2021-08-24 International Business Machines Corporation Self-adjusting threshold for synaptic activity in neural networks
CN111052153B (zh) 2017-09-07 2023-07-14 松下控股株式会社 使用半导体存储元件的神经网络运算电路及动作方法
CN107748914A (zh) * 2017-10-19 2018-03-02 珠海格力电器股份有限公司 人工神经网络运算电路
US11494609B2 (en) * 2017-10-27 2022-11-08 Google Llc Capsule neural networks
JP6794336B2 (ja) * 2017-11-17 2020-12-02 株式会社東芝 ニューラルネットワーク装置
US11195079B2 (en) * 2017-11-22 2021-12-07 Intel Corporation Reconfigurable neuro-synaptic cores for spiking neural network
JP6569755B1 (ja) 2018-03-06 2019-09-04 Tdk株式会社 ニューラルネットワーク装置、信号生成方法およびプログラム
KR20190110737A (ko) * 2018-03-21 2019-10-01 에스케이하이닉스 주식회사 하나의 공통 로직 디바이스를 공유하는 다수의 시냅스 블록들을 가진 뉴로모픽 소자
US20190303740A1 (en) * 2018-03-30 2019-10-03 International Business Machines Corporation Block transfer of neuron output values through data memory for neurosynaptic processors
US20190332924A1 (en) * 2018-04-27 2019-10-31 International Business Machines Corporation Central scheduler and instruction dispatcher for a neural inference processor
US11501140B2 (en) * 2018-06-19 2022-11-15 International Business Machines Corporation Runtime reconfigurable neural network processor core
US20200117981A1 (en) * 2018-10-11 2020-04-16 International Business Machines Corporation Data representation for dynamic precision in neural network cores
CN113287122A (zh) * 2018-11-18 2021-08-20 因纳特拉纳米系统有限公司 脉冲神经网络
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
TWI733334B (zh) 2020-02-15 2021-07-11 財團法人工業技術研究院 卷積神經網路運算裝置及其運算的方法
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
CN112784972B (zh) * 2021-01-15 2022-10-11 之江实验室 一种面向片上神经网络的突触实现架构

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57125127A (en) 1981-01-21 1982-08-04 Chuo Seisakusho Inversion device for vessels
JP3260357B2 (ja) 1990-01-24 2002-02-25 株式会社日立製作所 情報処理装置
US5636327A (en) 1991-09-18 1997-06-03 Matsushita Electric Industrial Co., Ltd. Neural network circuit
JPH06139217A (ja) 1992-10-29 1994-05-20 Hitachi Ltd 高精度演算処理装置および方法
DE69430527T2 (de) 1994-07-28 2003-01-02 International Business Machines Corp., Armonk Schaltung für das Vorladen von Eingangsvektorbestandteilen in eine freie Neuronalschaltung während der Erkennungsphase
US5819245A (en) 1995-09-05 1998-10-06 Motorola, Inc. Method of organizing data into a graphically oriented format
US7089218B1 (en) 2004-01-06 2006-08-08 Neuric Technologies, Llc Method for inclusion of psychological temperament in an electronic emulation of the human brain
JPH11232244A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd ニューラルネットワーク、その学習方法およびニューロ・ファジィ制御装置
GB9924310D0 (en) 1999-10-15 1999-12-15 Univ Manchester Neural network component
US6418378B1 (en) * 2000-06-26 2002-07-09 Westerngeco, L.L.C. Neural net prediction of seismic streamer shape
US6999953B2 (en) 2002-07-03 2006-02-14 Energy Conversion Devices, Inc. Analog neurons and neurosynaptic networks
US7467115B2 (en) 2004-07-15 2008-12-16 Neurosciences Research Foundation, Inc. Mobile brain-based device having a simulated nervous system based on the hippocampus
IL165096A0 (en) * 2004-11-08 2005-12-18 Eyal Cohen A method and system for diagnosis of cardiac diseases utilizing neural networks
US8443169B2 (en) 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7627540B2 (en) 2005-06-28 2009-12-01 Neurosciences Research Foundation, Inc. Addressing scheme for neural modeling and brain-based devices using special purpose processor
US7533071B2 (en) 2005-06-28 2009-05-12 Neurosciences Research Foundation, Inc. Neural modeling and brain-based devices using special purpose processor
US8407429B2 (en) 2006-06-21 2013-03-26 Element Cxi, Llc Multi-context configurable memory controller
US8510244B2 (en) 2009-03-20 2013-08-13 ISC8 Inc. Apparatus comprising artificial neuronal assembly
US8250010B2 (en) 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements
CN101639901A (zh) 2009-09-03 2010-02-03 王连明 基于多核技术的前馈神经网络硬件实现方法
US8275727B2 (en) * 2009-11-13 2012-09-25 International Business Machines Corporation Hardware analog-digital neural networks
US8311965B2 (en) * 2009-11-18 2012-11-13 International Business Machines Corporation Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material
US9063779B2 (en) 2010-01-06 2015-06-23 Mindspeed Technologies, Inc. Task list generation, parallelism templates, and memory management for multi-core systems
US8699566B2 (en) 2010-01-27 2014-04-15 International Business Machines Corporation Adaptive and integrated visualization of spatiotemporal data from large-scale simulations
JP2013529342A (ja) * 2010-05-19 2013-07-18 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア ニューラル処理ユニット
US9665822B2 (en) * 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US8606732B2 (en) * 2010-08-04 2013-12-10 Qualcomm Incorporated Methods and systems for reward-modulated spike-timing-dependent-plasticity
US8515885B2 (en) * 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
US8856055B2 (en) * 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
CN102193518B (zh) 2011-05-13 2013-04-24 南京理工大学 基于基底神经节的fpga仿生智能控制芯片
US8712940B2 (en) 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US9147156B2 (en) 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
US8843425B2 (en) 2011-07-29 2014-09-23 International Business Machines Corporation Hierarchical routing for two-way information flow and structural plasticity in neural networks
US9104973B2 (en) 2011-09-21 2015-08-11 Qualcomm Technologies Inc. Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel
US8738554B2 (en) 2011-09-16 2014-05-27 International Business Machines Corporation Event-driven universal neural network circuit
US8874498B2 (en) 2011-09-16 2014-10-28 International Business Machines Corporation Unsupervised, supervised, and reinforced learning via spiking computation
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8626684B2 (en) 2011-12-14 2014-01-07 International Business Machines Corporation Multi-modal neural network for universal, online learning
US8799199B2 (en) 2011-12-14 2014-08-05 International Business Machines Corporation Universal, online learning in multi-modal perception-action semilattices
KR20130090147A (ko) * 2012-02-03 2013-08-13 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
US8868477B2 (en) * 2012-03-29 2014-10-21 International Business Machines Coproration Multi-compartment neurons with neural cores
CN102663497B (zh) 2012-04-05 2014-04-30 北京大学 一种自路由单元电路及其控制方法
US9224089B2 (en) 2012-08-07 2015-12-29 Qualcomm Incorporated Method and apparatus for adaptive bit-allocation in neural systems
US8990130B2 (en) 2012-11-21 2015-03-24 International Business Machines Corporation Consolidating multiple neurosynaptic cores into one memory
JP6139217B2 (ja) 2013-03-29 2017-05-31 森永乳業株式会社 D−アミノ酸の製造方法
US9852006B2 (en) 2014-03-28 2017-12-26 International Business Machines Corporation Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits

Also Published As

Publication number Publication date
US9159020B2 (en) 2015-10-13
JP2015534172A (ja) 2015-11-26
JP6250054B2 (ja) 2017-12-20
CN104641385B (zh) 2017-03-01
US10713561B2 (en) 2020-07-14
CN104641385A (zh) 2015-05-20
WO2014041443A1 (en) 2014-03-20
US20150254551A1 (en) 2015-09-10
US20150379393A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
DE112013003349T5 (de) Schaltung mit neuronalem Kern
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
US8990130B2 (en) Consolidating multiple neurosynaptic cores into one memory
DE112018004223B4 (de) Trainieren künstlicher neuronaler Netze
US11238343B2 (en) Scalable neural hardware for the noisy-OR model of Bayesian networks
US8843425B2 (en) Hierarchical routing for two-way information flow and structural plasticity in neural networks
US9400954B2 (en) Multi-scale spatio-temporal neural network system
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE3854663T2 (de) Neurorechnersystem zur lösung von optimierungsproblemen.
US8924322B2 (en) Multi-processor cortical simulations with reciprocal connections with shared weights
DE112011101370T5 (de) Neuronales Netz mit kanonischen gepulsten Neuronen für einen raumzeitlichen Assoziativspeicher
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE1549532B1 (de) Unterbrechungs direktorschaltwerk fuer eine datenverarbei tungsanlage mit mehreren rechenanlagen und mehreren peri pheren geraeten
US9412063B2 (en) Transform architecture for multiple neurosynaptic core circuits
DE112019005119T5 (de) Abgleichtechniken zum angleichen des symmetriepunktes als null-gewichtungspunkt in analogen kreuzungspunktanordnungen
US10832121B2 (en) Transform for a neurosynaptic core circuit
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE102020106867A1 (de) Vektor-matrix-multiplikation mit 3d-nand
DE2508799A1 (de) Digitale logische grundschaltung fuer lernmaschinen
DE112017002931T5 (de) Synaptischer Supercomputer mit skalierbarem Fluss für neuronale Netzwerke mit äußerstem Durchsatz
DE69310210T2 (de) Neuronale netzwerk architektur
DE112020003463T5 (de) Schaltungen für neuronale netze, die frühzeitige integration vor analog-digital-wandlung ermöglichen
DE112021004342T5 (de) Pipelining für neuronale netze auf analogspeichergrundlage mit rein lokalem speicher
DE112021005715T5 (de) Integrierter schaltkreis mit einem konfigurierbaren neuromorphen neuron für künstliche neuronale netzwerke

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final