DE112019000226T5 - Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte - Google Patents

Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte Download PDF

Info

Publication number
DE112019000226T5
DE112019000226T5 DE112019000226.0T DE112019000226T DE112019000226T5 DE 112019000226 T5 DE112019000226 T5 DE 112019000226T5 DE 112019000226 T DE112019000226 T DE 112019000226T DE 112019000226 T5 DE112019000226 T5 DE 112019000226T5
Authority
DE
Germany
Prior art keywords
given
lines
axon
input
chip
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.)
Pending
Application number
DE112019000226.0T
Other languages
English (en)
Inventor
Atsuya Okazaki
Masatoshi Ishii
Junka Okazawa
Kohji Hosokawa
Takayuki Osogami
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 DE112019000226T5 publication Critical patent/DE112019000226T5/de
Pending 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
    • 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
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices having no potential barriers, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors
    • H10N70/231Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Memories (AREA)

Abstract

Ein neuromorpher Chip enthält synaptische Zellen, die entsprechende resistive Einheiten, Axonleitungen, Dendritenleitungen und Schalter umfassen. Die synaptischen Zellen sind mit den Axonleitungen und Dendritenleitungen zu einer Kreuzschienenanordnung verbunden. Die Axonleitungen sind so konfiguriert, dass sie Eingangsdaten empfangen und die Eingangsdaten an die synaptischen Zellen liefern. Die Dendritenleitungen sind so konfiguriert, dass sie Ausgangsdaten empfangen und die Ausgangsdaten über eine oder mehrere entsprechende Ausgangsleitungen liefern. Ein gegebener einer der Schalter ist so konfiguriert, dass er einen Eingangsanschluss mit einer oder mehreren Eingangsleitungen verbindet und seinen einen oder seine mehreren Ausgangsanschlüsse mit einer gegebenen einen oder mehreren gegebenen Axonleitungen veränderlich verbindet.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf einen neuromorphen Chip und ein System zum Aktualisieren präziser synaptischer Gewichtswerte davon.
  • Beschreibung des Standes der Technik
  • Hardware-Implementierungen neuromorpher Chips, z.B. neuromorphe Chips auf Grundlage von nichtflüchtigen Speichern (non-volatile memory, NVM), gewinnen immer mehr an Bedeutung. Solche neuromorphen Chips können in neuronalen Netzen, z.B. gepulste neuronale Netze (spiking neural networks, SNN) und mehrschichtige neuronale Netze (deep neural networks, DNN), implementiert werden. In gepulsten neuronalen Netzen können synaptische Verbindungen durch eine lokale Lernregel aktualisiert werden, z.B. die spike-timing-abhängige Plastizität (spike-timing-dependent-plasticity, STDP), um einen rechnerischen Ansatz zu implementieren, der biologischen Neuronen nachempfunden ist. In mehrschichtigen neuronalen Netzen können neuromorphe Chips auch Matrizen synaptischer Gewichte darstellen und Multiplikations-Akkumulations-(MAC-)Operationen, die für Algorithmen wie z.B. Rückpropagierung (backpropagation) benötigt werden, auf analoge und gleichzeitig massivparallele Weise implementieren.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein neuromorpher Chip bereitgestellt. Der neuromorphe Chip umfasst eine Mehrzahl synaptischer Zellen, die entsprechende resistive Einheiten, eine Mehrzahl von Axonleitungen, eine Mehrzahl von Dendritenleitungen und eine Mehrzahl von Schaltern enthalten, von denen jeder einen Eingangsanschluss und einen oder mehrere Ausgangsanschlüsse umfasst. Die synaptischen Zellen sind mit den Axonen und den Dendriten zu einer Kreuzschienenanordnung (crossbar array) verbunden. Die Axonleitungen sind so konfiguriert, dass sie Eingangsdaten empfangen und die Eingangsdaten an die synaptischen Zellen liefern. Die Dendritenleitungen sind so konfiguriert, dass sie Ausgangsdaten empfangen und die Ausgangsdaten über eine oder mehrere entsprechende Ausgangsleitungen liefern. Ein gegebener Schalter ist so konfiguriert, dass er seinen Eingangsanschluss mit einer oder mehreren Eingangsleitungen verbindet und dass er seinen einen oder seine mehreren Ausgangsanschlüsse mit einer gegebenen einen oder mehreren der Axonleitungen veränderlich verbindet.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein neuromorphes System bereitgestellt. Das neuromorphe System umfasst einen neuromorphen Chip und eine Steuereinheit. Der neuromorphe Chip umfasst eine Mehrzahl synaptischer Zellen, die entsprechende resistive Einheiten, eine Mehrzahl von Axonleitungen, eine Mehrzahl von Dendritenleitungen und eine Mehrzahl von Schaltern enthalten, von denen jeder einen Eingangsanschluss und einen oder mehrere Ausgangsanschlüsse umfasst. Die synaptischen Zellen sind mit den Axonen und den Dendriten zu einer Kreuzschienenanordnung (crossbar array) verbunden. Die Axonleitungen sind so konfiguriert, dass sie Eingangsdaten empfangen und die Eingangsdaten an die synaptischen Zellen liefern. Die Dendritenleitungen sind so konfiguriert, dass sie Ausgangsdaten empfangen und die Ausgangsdaten über eine oder mehrere entsprechende Ausgangsleitungen liefern. Ein gegebener Schalter ist so konfiguriert, dass er seinen Eingangsanschluss mit einer oder mehreren Eingangsleitungen verbindet und dass er seinen einen oder seine mehreren Ausgangsanschlüsse mit einer gegebenen einen oder mehreren der Axonleitungen veränderlich verbindet. Die Steuereinheit ist so konfiguriert, dass sie es dem gegebenen Schalter ermöglicht, seine Eingangsleitung mit der gegebenen einen oder mehreren Axonleitungen entsprechend einer Anforderung einer auf dem System installierten Anwendung veränderlich zu verbinden und mit den Eingangsdaten über die gegebene eine oder mehrere Axonleitungen eine Lernoperation durchzuführen, indem sie ein einzelnes Gewicht mit einer bevorzugten Anzahl von resistiven Elementen der synaptischen Zellen exprimiert.
  • Der gegebene Schalter kann seinen einen oder seine mehreren Ausgangsanschlüsse mit der einen oder den mehreren gegebenen Axonleitungen veränderlich verbinden, um einer oder mehreren gegebenen synaptischen Zellen, die der einen oder den mehreren gegebenen Axonleitungen zugehörig sind, ein synaptisches Gewicht zuzuweisen.
  • Der neuromorphe Chip kann weiterhin ein oder mehrere präsynaptische Neuronen enthalten, um die Eingangsdaten über die Schalter an die Axonleitungen zu liefern. Jedes der präsynaptischen Neuronen hat ein Eingangsende und ein Ausgangsende, und der Eingangsanschluss des gegebenen Schalters ist jeweils mit dem Ausgangsende eines gegebenen eines der präsynaptischen Neuronen verbunden, um die Eingangsdaten an den Eingangsanschluss des gegebenen Schalters zu liefern.
  • Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Aktualisieren synaptischer Gewichte in einem neuromorphen Chip bereitgestellt. Das Verfahren umfasst Verbinden entsprechender Eingangsanschlüsse einer Mehrzahl von Schaltern des neuromorphen Chips mit Eingangsleitungen des neuromorphen Chips und für einen gegebenen Schalter veränderliches Verbinden des gegebenen Schalters mit einer gegebenen einen oder mehreren einer Mehrzahl von Axonleitungen des neuromorphen Chips, um einer gegebenen einen oder mehreren der Mehrzahl synaptischer Zellen des neuromorphen Chips ein synaptisches Gewicht zuzuweisen. Die gegebene eine oder mehreren Axonleitungen sind so konfiguriert, dass sie Eingangsdaten von einer gegebenen einen oder mehreren der Eingangsleitungen empfangen und die Eingangsdaten an die gegebenen synaptischen Zellen liefern. Die synaptischen Zellen sind mit den Axonleitungen und einer Mehrzahl von Dendritenleitungen des neuromorphen Chips zu einer Kreuzschienenanordnung verbunden.
  • Der gegebene Schalter kann gemäß einer Anforderung einer Anwendung, die auf dem neuromorphen System implementiert ist, mit der gegebenen einen oder mehreren Axonleitungen veränderlich verbunden sein, und das Verfahren umfasst weiterhin Durchführen einer Lernoperation mit den Eingangsdaten über die eine oder mehreren gegebenen Axonleitungen, indem es das Gewicht mit einer bevorzugten Anzahl von resistiven Elementen der einen oder mehreren gegebenen synaptischen Zellen exprimiert.
  • Der Abschnitt „Kurzdarstellung“ beschreibt nicht unbedingt alle notwendigen Merkmale der Ausführungsformen der vorliegenden Erfindung. Bei der vorliegenden Erfindung kann es sich auch um eine Teilkombination der vorstehend beschriebenen Merkmale handeln.
  • Figurenliste
    • 1 zeigt ein Schaubild, das einen beispielhaften Überblick über einen neuromorphen Chip gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 2 zeigt ein Schaubild, das einen beispielhaften Übergang von Aktionspotenzialen von einem präsynaptischen biologischen Neuron zu einem postsynaptischen biologischen Neuron veranschaulicht.
    • 3 zeigt ein Diagramm, das in jeder synaptischen Zelle einer Anordnung eine beispielhafte synaptische Gewichtsänderung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 4A zeigt ein Schaubild, das eine beispielhafte nachgelagerte Neuronenanregung durch eine Multiplikations-Akkumulations-(MAC)-Operation veranschaulicht.
    • 4B zeigt ein Schaubild, das eine beispielhafte Hardware-Implementierung eines mehrschichtigen neuronalen Netzes (DNN) gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 5 zeigt ein neuromorphes System gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6 zeigt ein neuromorphes System gemäß einer alternativen Ausführungsform der vorliegenden Erfindung.
    • 7 zeigt ein Diagramm, das eine beispielhafte Beziehung eines Eingangsmusters veranschaulicht, das gemäß einer Ausführungsform der vorliegenden Erfindung Eingangsanschlüssen eines neuromorphen Chips zugeführt wird.
    • 8 zeigt ein Blockschaubild/einen Ablaufplan, das/der einen beispielhaften Funktionsablauf eines neuromorphen Systems gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 9 zeigt eine beispielhafte Leitwertvariation in Verbindung mit einer Anzahl synaptischer Zellen gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 10 zeigt eine beispielhafte Hardware-Konfiguration eines Computers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend werden bevorzugte Ausführungsformen der vorliegenden Erfindung ausführlich mit Bezug auf die Zeichnungen beschrieben.
  • Es ist zu beachten, dass die vorliegende Erfindung nicht auf die nachfolgenden beispielhaften Ausführungsformen beschränkt ist und im Anwendungsbereich der vorliegenden Erfindung mit verschiedenen Abwandlungen umgesetzt werden kann. Darüber hinaus dienen die hierin verwendeten Zeichnungen der Veranschaulichung und stellen keine tatsächlichen Abmessungen dar.
  • In der Regel kann eine analoge Zelle eines neuromorphen Chips einen (fortlaufenden) synaptischen Gewichtswert exprimieren. Während Lernphasen für den neuromorphen Chip können geringfügige Aktualisierungen der Gewichtswerte erforderlich sein. Aufgrund der Variabilität von Einheiten kann es jedoch schwierig sein, den synaptischen Gewichtswert pro Zelle innerhalb eines Genauigkeitsgrades präzise zu aktualisieren. Eine periphere Schaltung kann verwendet werden, um den synaptischen Gewichtswert innerhalb des Genauigkeitsgrades zu regeln, um schließlich eine Erkennungsoperation nahe einem erwarteten Wert zu erreichen. Gleichzeitig erfordert die Implementierung des neuromorphen Hardware-Chips ohne die komplizierte periphere Schaltung, dass der inhärente Vorteil sowohl bei der Trainingsleistung als auch bei der Geschwindigkeit nicht beeinträchtigt wird. Darüber hinaus kann es zu Problemen beim Aktualisieren synaptischer Gewichte aufgrund von Variationen elektrischer Parameter wie z.B. Leitwert, Widerstand und Kapazität kommen.
  • Mit Bezug auf 1 wird ein beispielhafter Überblick über eine Kreuzschienenanordnung 100 eines neuromorphen Chips bereitgestellt. Die Kreuzschienenanordnung 100 kann synaptische Zellen 10, Axone 20 und Dendriten 30 umfassen. Eine synaptische Zelle kann auch als resistive Zelle oder synaptische Speicherzelle bezeichnet werden (z.B. nichtflüchtige Speicherzelle (NVM-Zelle)). Nichteinschränkende Beispiele für NVM sind Phasenwechselspeicher (phase change memory, PCM) und Flash-Speicher. Jede der synaptischen Zellen 10 kann zwei Arten von Speicherzellen enthalten, um das Aufzeichnen analoger und/oder digitaler Daten zu ermöglichen.
  • Wie gezeigt, werden die synaptischen Zellen 10 an allen Kreuzungspunkten der Axone 20 und der Dendriten 30 platziert, um die Kreuzschienenanordnung 100 zu bilden. Somit ist jede synaptische Zelle 10 einem entsprechenden Axon-Dendriten-Paar zugehörig. Eine synaptische Zelle 10 kann einen Wert eines synaptischen Gewichts speichern, der einem synaptischen Zustand zugehörig ist, der ein synaptisches Gewicht zwischen ihrem entsprechenden Axon-Dendriten-Paar angibt.
  • Ein Ende jedes Axons 20 ist mit einem entsprechenden präsynaptischen Neuron 40 verbunden, und ein Ende jedes Dendriten 30 ist mit einem entsprechenden postsynaptischen Neuron 50 verbunden. Die präsynaptischen Neuronen 40 leiten Eingangsdaten über die Axone 20 an die entsprechenden synaptischen Zellen 10 weiter. Die postsynaptischen Neuronen 50 empfangen über die Dendriten 30 Ausgangsdaten von den entsprechenden synaptischen Zellen 10.
  • Aufgrund der Variabilität der Einheiten haben Kreuzschienenanordnungen, die resistive Einheiten enthalten, Schwierigkeiten, den hochauflösenden Widerstand des synaptischen Gewichts pro synaptischer Zelle aufrechtzuerhalten. Präzises Aktualisieren des synaptischen Gewichts der Kreuzschienenanordnungen muss verfügbar werden. Wie hierin beschrieben, kann ein einzelner synaptischer Gewichtswert mit einer variablen Anzahl von synaptischen Zellen auf Grundlage von resistiven Einheiten exprimiert werden.
  • Die Kreuzschienenanordnung 100 stellt eine mögliche Implementierung für massivparallele und energieeffiziente neuromorphe Datenverarbeitungssysteme dar. Die Kreuzschienenanordnung 100 ist biologischen neuronalen Netzen nachempfunden, von denen eines beispielhaft in 2 dargestellt ist.
  • Mit Bezug auf 2 wird ein Schaubild 200 gezeigt, das einen beispielhaften Übergang von Aktionspotenzialen von einem präsynaptischen biologischen Neuron zu einem postsynaptischen biologischen Neuron veranschaulicht. Es wird ein typischer Übergang eines biologischen synaptischen Aktionspotenzials veranschaulicht, wie er an glutamatergen Synapsen im Hippocampus beobachtet werden kann. Die Gewichtszusammenhänge zwischen Axonen und Dendriten und der Übergang von Aktionspotenzialen zwischen einem präsynaptischen Neuron und einem postsynaptischen Neuron werden gezeigt. Das präsynaptische Neuron kann das Aktionspotenzial über das Axon mit gewichtetem Potenzial an der Synapse an das postsynaptische Neuron weitergeben. In der Biologie werden exzitatorische und inhibitorische postsynaptische Potenziale durch chemische und elektrische Botschaften an Synapsen von einem Neuron zum nächsten Neuron weitergeleitet, wodurch das Erzeugen neuer Aktionspotenziale gesteuert wird.
  • Mit Bezug auf 3 wird ein Diagramm 300 gezeigt, das eine beispielhafte synaptische Gewichtsänderung in jeder synaptischen Zelle einer Anordnung veranschaulicht. Die synaptische Gewichtsänderung ΔW ist abhängig vom relativen Spike-Timing zwischen einem präsynaptischen Neuron und einem postsynaptischen Neuron in einer Hardware-Implementierung der Spike-Timing-abhängigen Plastizität (STDP). Das auf nichtflüchtigem Speicher gestützte synaptische Gewicht kann auf analoge Weise abrupt fluktuieren, z.B. im biologischen Fall. Die auf dem Chip gespeicherten neuromorphen Neuronenschaltungen in Kreuzschienenanordnung können Leaky Integrate and Fire (LIF) und synaptische Gewichtsaktualisierung gestützt auf spike-timing-abhängiger Plastizität durchführen, wodurch zusätzliche Komplikationen und zusätzlicher Stromverbrauch im Zusammenhang mit Zeitschemata vermieden werden.
  • Mit Bezug auf 4A wird ein Schaubild 400a bereitgestellt, das eine beispielhafte nachgelagerte Neuronenanregung veranschaulicht, z.B. eine nachgelagerte Neuronenanregung eines mehrschichtigen neuronalen Netzes. Die nachgelagerte Neuronenanregung hängt von der Gewichtsanregung aller vorgelagerten Neuronen ab. Eingangsdaten (z.B. x1, x2 und x3) werden empfangen und zu einem aktuellen Neuron (Σ) akkumuliert. Die Eingangsdaten können durch eine Multiplikations-Akkumulations-(MAC-)Operation akkumuliert werden. Beim Akkumulieren der Eingangsdaten durch die MAC-Operation multipliziert jede der Synapsen die Eingangsdaten mit jedem Gewicht, dann akkumuliert das aktuelle Neuron die gewichteten Eingangsdaten, um auf Grundlage einer oder mehrerer Aktivierungsfunktionen (f) Ausgangsdaten (z.B. y1) zu erzeugen.
  • Mit Bezug auf 4B wird ein Schaubild 400b bereitgestellt, das eine beispielhafte Hardware-Implementierung eines DNN veranschaulicht. Jedes der postsynaptischen Neuronen (M1, M2, ....., Mm) empfängt von den präsynaptischen Neuronen (N1, N2, ....., Nm) durch die synaptischen Zellen gewichtete Ausgangsdaten. Dann werden die gewichteten Ausgangsdaten als Eingangsdaten an eine nachfolgende Schicht von Neuronen (P1, P2, ....., Pm) geliefert. Die MAC-Operation, die sowohl bei der Vorwärtsinferenz als auch bei der Rückpropagierung von DNN zum Einsatz kommt, kann als Vektor-Matrix-Multiplikation auf großen NVM-gestützten Anordnungen implementiert werden. Die Kreuzschienenanordnung synaptischer Zellen mit NVM-(Leitwert)- und Transistorpaaren ist ideal für die MAC-Operationen geeignet, die den Kern des DNN-Lernens darstellen. Die Multiplikationsoperation kann an jeder Kreuzschiene gemäß dem Ohmschen Gesetz durchgeführt werden, und die aktuelle Summierung entlang von Zeilen oder Spalten kann gemäß dem Kirchhoffschen Stromgesetz durchgeführt werden.
  • Mit Bezug nunmehr auf 5 wird ein beispielhaftes neuromorphes System 500 gezeigt. Das System 500 umfasst eine Kreuzschienenanordnung 100, die synaptische Zellen umfasst, z.B. die synaptische Zelle 10. Die Kreuzschienenanordnung 100 ist auf verschiedene Implementierungsformen anwendbar, z.B., ohne darauf beschränkt zu sein, auf SNN, DNN, dynamische Boltzmann-Maschine (DyBM), kontrastive Divergenz und Gradientenabstieg. Die synaptischen Zellen bestehen aus einer oder mehreren resistiven Einheiten, die flüchtigen Speicher, nichtflüchtigen Speicher (NVM) und/oder einen Kondensator umfassen können. Die synaptischen Zellen sind parallel und in Reihe mit Axonleitungen 20 und Dendritenleitungen 30 verbunden, wobei die synaptischen Zellen wie gezeigt an jedem Kreuzungspunkt des Gitternetzes angeordnet sind. Präsynaptische Neuronen (z.B. das präsynaptische Neuron 40) einer Anordnung präsynaptischer Neuronen 45 sind über die synaptischen Zellen mit postsynaptischen Neuronen (z.B. dem postsynaptischen Neuron 50) einer Anordnung postsynaptischer Neuronen 55 verbunden, die jeweils einen eindeutigen Leitwert haben. Die präsynaptischen Neuronen und postsynaptischen Neuronen können Schaltungen enthalten, die so konfiguriert sind, dass sie die präsynaptischen bzw. postsynaptischen Neuronen implementieren.
  • Das System 500 enthält weiterhin Schalter (z.B. Schalter 90), die entlang der Eingangsschnittstellenseite der Kreuzschienenanordnung 100 angeordnet sind, um Schalterfunktionen zu implementieren. Die Schalter können „eins-zu-n“-Ausgabefächerungsschalter sein, die integriert sind, um Ausgabefächerungs-Schalterfunktionen zu implementieren, wobei n eine natürliche Zahl ist. In diesem Beispiel handelt es sich bei den Schaltern um 1-zu-1-Ausgabefächerungsschalter, bei denen jeder synaptischen Zelle ein einzelnes synaptisches Gewicht zugewiesen ist. Die Schalter können Eingangsanschlüsse enthalten, die mit entsprechenden Ausgangsenden der präsynaptischen Neuronen verbunden sind, sowie Ausgangsanschlüsse, die mit entsprechenden Axonleitungen verbunden sind (z.B. umfasst Schalter 90 einen Eingangsanschluss, der mit dem präsynaptischen Neuron 40 verbunden ist, und einen Ausgangsanschluss, der mit der Axonleitung 20 verbunden ist). Die Schalter werden verwendet, um eine Eingangsleitung des präsynaptischen Neurons mit den Axonleitungen 20 veränderlich zu verbinden, um ein einzelnes synaptisches Gewicht mit einer oder mehreren resistiven Zellen 95 zu exprimieren. Dementsprechend können die Schalter dazu verwendet werden, jede der Eingangsleitungen der präsynaptischen Neuronen selektiv mit einer der Axonleitungen zu verbinden, um eine resistive Zelle als synaptisches Gewicht zuzuweisen, wie in 5 durch einen Kreis 95 dargestellt ist.
  • Zwar werden die Schalter in 5 als innerhalb der präsynaptischen Neuronenanordnung 45 liegend dargestellt, doch können einer oder mehrere der Schalter außerhalb der präsynaptischen Anordnung 45 enthalten sein. Die Schalter können mit einer ASIC oder FPGA in den neuromorphen Chip integriert werden. Dementsprechend ist es möglich, den Prozess des Herstellens des neuromorphen Systems, das die Ausgabefächerungs-Schalterfunktionen umfasst, zu optimieren.
  • Gemäß den Kriterien der für eine gegebene Anwendung (z.B. Bilddatenklassifikation, Bild- oder Spracherkennung) erforderlichen Genauigkeit des Gewichtswertes kann die Steuereinheit 80 zwei oder mehr Axonleitungen für ein Ausgangsende des präsynaptischen Neurons 40 zusammenführen.
  • Eingangsleitungen postsynaptischer Neuronen können mit entsprechenden Dendritenleitungen verbunden sein (z.B. kann das postsynaptische Neuron 50 mit der Dendritenleitung 30 verbunden sein).
  • Bei dem System 500 kann es sich um eine Hardware-Vorrichtung handeln, die auf Grundlage von Eingangsdaten, Ausgangsdaten und Trainingsdaten Lernoperationen durchführt. Darüber hinaus kann das System 500 funktionsmäßig in der Lage sein, auf Grundlage der Lernergebnisse Tests durchzuführen und entsprechend der Eingangsdaten Vorhersagen für Ausgangsdaten zu machen. Das System 500 passt synaptische Gewichte so an, dass die Differenz zwischen Ausgangsdaten, die als Reaktion auf die Eingangsdaten ausgegeben werden, und Trainingsdaten, die den Eingangsdaten entsprechen, verringert wird.
  • Das System 500 ist nicht auf das in 5 abgebildete Beispiel beschränkt. Zwar wird zum Beispiel die Kreuzschienenanordnung 100 mit sieben Axonleitungen und sieben Dendritenleitungen gezeigt, jedoch wird die Anzahl von Axonleitungen und Dendritenleitungen nicht als beschränkend betrachtet. Darüber hinaus können die Anzahl von Axonleitungen und die Anzahl von Dendritenleitungen unterschiedlich sein.
  • Der Gewichtswert (z.B. der Leitwert) jeder synaptischen Zelle kann verändert werden, wenn die Eingangsdaten wiederholt von den präsynaptischen Neuronen angewendet werden. Diese Gewichtsänderung jeder synaptischen Zelle führt innerhalb der Kreuzschienenanordnung 100 zu einer Lernoperation.
  • Weiterhin wird gezeigt, dass das System 500 eine Steuereinheit 80, eine Datenbank 60, die Trainingsdaten speichert, und einen Vergleichsteil 70 enthält. Die Steuereinheit 80 kann funktionsmäßig in der Lage sein, die Eingangsdaten zu erzeugen und an die Kreuzschienenanordnung 100 zu liefern. Wenn die Kreuzschienenanordnung 100 Lernoperationen durchführt, kann die Steuereinheit 80 den Eingangsdaten entsprechende Trainingsdaten erzeugen und diese Eingangsdaten und Trainingsdaten an die Kreuzschienenanordnung 100 liefern. Wenn darüber hinaus die Kreuzschienenanordnung 100 auf Grundlage von Lernergebnissen einen Test durchführt, eine Vorhersage macht usw., kann die Steuereinheit 80 Eingangsdaten zum Testen erzeugen und diese Eingangsdaten an die Kreuzschienenanordnung 100 liefern. Im Fall von SNN können die Eingangsdaten beispielsweise eine Zeitreihen-Datenfolge enthalten, in der eine Mehrzahl von Datenteilen, z.B. Audiodaten, Videodaten usw., entlang einer Zeitachse angeordnet sind.
  • Die Steuereinheit 80 kann Eingangsdaten lesen und erfassen, die in einem vorgegebenen Format gespeichert sind (z.B. 28x28 Pixelformat oder Zeitreihen von Bilddaten). Darüber hinaus kann die Steuereinheit 80 an ein Netz o.Ä. angeschlossen werden und Eingangsdaten o.Ä. über das Netz erfassen. Die Steuereinheit 80 kann die erfassten Eingangsdaten u.Ä. in einer Speichervorrichtung o.Ä. innerhalb des Systems 500 speichern.
  • Die Steuereinheit 80 kann funktionsmäßig in der Lage sein, den synaptischen Zellen Eingangsdaten von der Datenbank 60 über die präsynaptische Neuronenanordnung 45 bereitzustellen. Beispielsweise kann jedes präsynaptische Neuron 40 funktionsmäßig in der Lage sein, ein den Eingangsdaten entsprechendes Eingangssignal an die Kreuzschienenanordnung 100 zu liefern. Jedes präsynaptische Neuron 40 kann funktionsmäßig in der Lage sein, das Eingangssignal an eine oder mehrere entsprechende Zellen der Kreuzschienenanordnung 100 zu liefern.
  • In diesem veranschaulichenden Beispiel kann jede der synaptischen Zellen den anderen entsprechenden Zellen ein gewichtetes Signal liefern. Die Ausgangszellenanordnung der Kreuzschienenanordnung kann funktionsmäßig in der Lage sein, die Ausgangsdaten auf Grundlage des von der postsynaptischen Neuronenanordnung 55 ausgegebenen Ausgangswertes auszugeben. In einer Lernoperation wird beispielsweise jede synaptische Zelle mit Gewichten aktualisiert, die einem jeweiligen Ausgangswert entsprechen, der von jedem präsynaptischen Neuron der präsynaptischen Neuronenanordnung 45 ausgegeben wird (z.B. wird die synaptische Zelle 10 mit einem Gewicht aktualisiert, das dem vom präsynaptischen Neuron 40 ausgegebenen Ausgangswert entspricht). Die Kreuzschienenanordnung gibt das Ergebnis, das mithilfe einer vorgegebenen Berechnung erzielt wird, als Ausgangsdaten aus.
  • Das System 500 ist weiterhin mit einem Vergleichsteil 70 dargestellt. Die postsynaptische Neuronenanordnung 55 kann funktionsmäßig in der Lage sein, dem Vergleichsteil 70 die Ausgangsdaten zu liefern. Der Vergleichsteil 70 kann funktionsmäßig in der Lage sein, die von der Steuereinheit 80 ausgegebenen erwarteten Ausgangsdaten mit den von der postsynaptischen Neuronenanordnung 55 gelieferten Ausgangsdaten zu vergleichen. Beispielsweise gibt der Vergleichsteil 70 die Differenz zwischen den erwarteten Ausgangsdaten und den Ausgangsdaten als Fehler aus. Der Vergleichsteil 70 kann der Steuereinheit 80 diesen Fehler als ein Ergebnis des Vergleichs liefern.
  • Darüber hinaus kann der Vergleichsteil 70 funktionsmäßig in der Lage sein, eine Vergleichsoperation durchzuführen, wenn das System 500 eine Lernoperation durchführt. Der Vergleichsteil 70 kann funktionsmäßig in der Lage sein, die Ausgangsdaten der postsynaptischen Neuronenanordnung 55 im Ist-Zustand nach außen auszugeben, wenn das System 500 einen Test durchführt oder eine Vorhersage anhand von Lernergebnissen macht. In diesem Fall kann der Vergleichsteil 70 funktionsmäßig in der Lage sein, die Ausgangsdaten an eine externe Ausgabevorrichtung auszugeben, z.B. eine Anzeige, eine Speichervorrichtung und eine externe Vorrichtung wie z.B. die Datenbank 60. Andernfalls kann der Vergleichsteil 70 funktionsmäßig in der Lage sein, die Ausgangsdaten an nachfolgende Neuronenschichten als präsynaptische Neuronen auszugeben, die den vorherigen postsynaptischen Neuronen entsprechen.
  • Die Steuereinheit 80 kann die synaptischen Gewichte initiieren, indem sie randomisierte Analogwerte für jede der synaptischen Zellen einstellt. Die Steuereinheit 80 kann funktionsmäßig in der Lage sein, die Mehrzahl von Gewichten der synaptischen Zellen 10 entsprechend den Vergleichsergebnissen des Vergleichsteils 70 einzustellen. Der Vergleichsteil 70 kann funktionsmäßig in der Lage sein, die Mehrzahl von Gewichten so einzustellen, dass das System 500 die Ausgangsdaten ausgibt, die als Reaktion auf die Eingangsdaten erwartet werden. Die Steuereinheit 80 kann funktionsmäßig in der Lage sein, die Mehrzahl von Gewichten so zu aktualisieren, dass der Fehler zwischen den Ausgangsdaten, die als Reaktion auf an die präsynaptische Neuronenanordnung 45 gelieferten Trainingsdaten von der postsynaptischen Neuronenanordnung 55 ausgegeben werden, und den für die Trainingsdaten erwarteten Ausgangsdaten weiter verringert wird. Der Vergleichsteil 70 kann funktionsmäßig in der Lage sein zu arbeiten, wenn das System 500 lernt.
  • Dementsprechend kann die oben beschriebene Kreuzschienenanordnung 100 in einem System 500 enthalten sein, das in der Lage ist, durch Aktualisieren der Gewichte der synaptischen Zellen der Kreuzschienenanordnung 100 zu lernen.
  • Beim Eingeben von Eingangsdaten zum Testen kann das System 500 Testergebnisse oder Vorhersageergebnisse für die Eingangsdaten für Tests mit aktualisierten Gewichten ausgeben. Ein solches System 500 kann die Lernoperation und eine Testoperation simulieren, indem es Matrixberechnungen durchführt. Wenn weiterhin die Kreuzschienenanordnung 100 eine physikalische Einheit ist, die als Reaktion auf ein Eingangssignal ein Ausgangssignal ausgibt, kann die Kreuzschienenanordnung 100 mit den Anordnungen NVM-gestützter synaptischer Zellen auf eine Weise implementiert werden, die eine einfache Hardware-Installation ermöglicht.
  • Mit Bezug nunmehr auf 6 wird ein weiteres beispielhaftes neuromorphes System 600 gezeigt. Die Konfiguration von System 600 ähnelt der Konfiguration von System 500 in 5. Zum Beispiel enthält das System 600 eine Kreuzschienenanordnung 100, die synaptische Zellen (z.B. die synaptische Zelle 10), Axonleitungen (z.B. die Axonleitung 20) und Dendritenleitungen (z.B. die Dendritenleitung 30), einen Satz präsynaptischer Neuronen 45 mit präsynaptischen Neuronen (z.B. das präsynaptische Neuron 40), einen Satz postsynaptischer Neuronen 55 mit postsynaptischen Neuronen (z.B. das postsynaptische Neuron 50), die Datenbank 60, den Vergleichsteil 70 und die Steuereinheit 80 enthält.
  • In diesem Beispiel von 6 sind die Schalter (z.B. der Schalter 90) jedoch 1-zu-2-Ausgabefächerungsschalter, die ein Paar benachbarter synaptischer Zellen (z.B. den Kreis 95) einem einzelnen synaptischen Gewicht zuweisen. Dies ermöglicht eine Verringerung der Gewichtsvariabilität (Δwmin) in Anwendungen soweit wie möglich durch dynamisches Ändern der Anzahl von Einheiten, die ein einzelnes Gewicht exprimieren.
  • Gemäß den Kriterien der Genauigkeit des Gewichtswertes, die für die Anwendungen wie z.B. Bilddatenklassifikation und Bild- oder Spracherkennung erforderlich ist, führt die Steuereinheit 80 zwei oder mehr Axonleitungen 20 für das Ausgangsende des präsynaptischen Neurons zusammen. Ein Paar benachbarter Axonleitungen der Kreuzschienenanordnung 100 ist mit je zwei Ausgangsanschlüssen der Schalter verbunden (z.B. ein Paar benachbarter Axonleitungen einschließlich Axonleitung 20 ist mit zwei Ausgangsanschlüssen des Schalters 90 verbunden). Dementsprechend ermöglichen die Schalter im Beispiel von 6 die selektive Verbindung von zwei der Eingangsleitungen mit einem Paar benachbarter Axonleitungen, um als synaptisches Gewicht ein Paar benachbarter synaptischer Zellen zuzuweisen (z.B. Kreis 95).
  • Eine solche Schalterfunktion wird nicht nur für verschiedene kognitive Anwendungen verwendet, sondern trotz Einheitenvariabilität der synaptischen Zellen in der Kreuzschienenanordnung 100 auch zur Kompensation von sehr wertvollen Gewichten. Die Steuereinheit 80 führt z.B. zwei Axonleitungen 20 von benachbarten resistiven Zellen (z.B. Kreis 95) zusammen. Die zusammengeführten benachbarten Zellen kompensieren die Variationen der synaptischen Gewichte, die durch instabile Zellen beeinflusst werden, die fluktuierte Analogwerte in der Kreuzschienenanordnung 100 enthalten.
  • Die Steuereinheit 80 kann die Schalter so steuern, dass sie eine oder mehrere Eingangsleitungen für eine einzelne Leitung von jedem der präsynaptischen Neuronen 40 auswählen. Zum Beispiel können die Schalter eine einzelne Eingangsleitung von jedem der präsynaptischen Neuronen einer oder mehr als 2 Eingangsleitungen des neuromorphen Chips 100 zuweisen.
  • Auch hier sind die Schalterfunktionen nicht auf die in den 5 und 6 gezeigten Beispiele beschränkt. Zum Beispiel können die folgenden Fälle von Schalterfunktionen auf das System 500 angewendet werden:
    • (1) 1-zu-1-Ausgabefächerungsschalter (nichtbenachbart) (z.B. 5)
    • (2) 1-zu-2-Ausgabefächerungsschalter (benachbart) (z.B. 6)
    • (3) 1-zu-n-Ausgabefächerungsschalter (nichtbenachbart), wobei n eine natürliche Zahl von mindestens 2 ist. In diesem Fall kann ein Ausgabefächerungsschalter eine einzelne Eingangsleitung mit nichtbenachbarten Paaren von zwei oder mehr Axonleitungen verbinden, um zwei oder mehr auf den beiden Axonleitungen parallel angeordnete synaptische Zellen als ein einzelnes synaptisches Gewicht zuzuweisen.
    • (4) 1-zu-n-Ausgabefächerungsschalter (benachbart, parallel angeordnet), wobei n eine natürliche Zahl von mindestens 3 ist. In diesem Fall kann ein Ausgabefächerungsschalter eine einzelne Eingangsleitung mit nichtbenachbarten Paaren von zwei oder mehr Axonleitungen verbinden, um zwei oder mehr auf den beiden Axonleitungen parallel angeordnete synaptische Zellen als ein einzelnes synaptisches Gewicht zuzuweisen (Fall 2 kann als Teilsatz von Fall 4 betrachtet werden).
  • 7 zeigt ein Diagramm 700, das eine beispielhafte Beziehung eines Eingangsmusters veranschaulicht, das den Eingangsanschlüssen einer Kreuzschienenanordnung eines neuromorphen Chips zugeführt wird. Die in 7 dargestellten Trainingsdaten werden als Zeitreihen an Eingangsanschlüsse geliefert. In 7 gibt die vertikale Achse die Eingangsanschlüsse Pr [1] bis Pr [7] (z. B. präsynaptische Neuronen) und die horizontale Achse die Zeit an. Der Zeitraum von der Zeit t0 bis zur Zeit t10 entspricht der normalen Operationsphase. Mit der in 7 gezeigten Operation kann das Neuronenpotenzial jeder synaptischen Zelle 10 bis zum Zeitpunkt t10 überwacht werden. In der normalen Operationsphase wird das auf einem gegebenen Muster beruhende Aktionspotenzial an die Eingangsanschlüsse Pr[1] bis Pr [7] angelegt. In 7 ist an jedem Schnittpunkt, an dem das Aktionspotential zum Zeitpunkt tn an jeden der Eingangsanschlüsse Pr [1] bis Pr [7] angelegt wird, ein Punkt markiert.
  • Als Beispiel für die Bildklassifikation wird in der Lernoperation das Eingangsdatenmuster „SC“ des Aktionspotentials an den Eingangsanschlüsse Pr[1] bis Pr[7] zugeführt. Die Zeichen „SC“ als Eingangsdaten können durch die präsynaptischen Neuronen 40 zugeführt werden. Das Eingangsdatenmuster kann mit einem Punktschema für DNN (z.B. 28x28 Pixel) oder mit einem Zeitreihenschema für SNN formatiert werden. Die Eingangsdaten beschränken sich nicht auf statische digitalisierte Daten handgeschriebener Ziffern (z.B. Datenbank des Modified National Institute of Standards and Technology (MNIST)), sondern umfassen auch eine Zeitreihen-Datenfolge, in der mehrere Datenteile wie z.B. Audiodaten, Videodaten o.Ä. entsprechend der Zeitachse angeordnet sind. In DNN wird die Lernoperation mit Rückpropagierung der handschriftlichen Ziffern oder der Pixelpunktzeichen „SC“, die in 7 dargestellt sind, in die Datenbank durchgeführt.
  • 8 zeigt das Blockschaubild/den Ablaufplan 800, das/der einen beispielhaften Funktionsablauf eines neuromorphen Systems veranschaulicht. Das System kann ein NVMgestütztes neuromorphes System sein, das funktionsmäßig in der Lage sein kann, diesbezügliche Lernprozesse von 810 bis 840 durchzuführen.
  • In Block 810 initialisiert eine Steuereinheit des Systems synaptische Zellen in einer Kreuzschienenanordnung des neuromorphen Systems. Vor Beginn der Lernoperation kann die Steuereinheit den Hardware-Zustand der synaptischen Zellen beobachten. Das System kann ein einzelnes synaptisches Gewicht dynamisch ändern, indem es nicht nur eine synaptische Zelle, z.B. eine NVM-gestützte synaptische Zelle, sondern auch synaptische Zellen entsprechend einer für die Anwendungs- oder Hardware-Bedingungen erforderlichen Auflösung exprimiert.
  • In Block 820 identifiziert die Steuereinheit eine Anwendung, die im System eingesetzt wird, bevor es die Lernoperation initiiert, oder erkennt defekte synaptische Zellen. Zum Beispiel kann die Steuereinheit je nach Auflösung (ΔR) des Widerstands (R) pro NVM-Einheit, die durch eine oder mehrere Anwendungs- oder Hardware-Bedingungen erforderlich ist, festlegen, dass ein einzelnes Gewicht exprimiert wird, indem es zuteilt, wie viele synaptische Zellen verwendet werden, um die Auflösungsanforderungen pro Einheit abzuschwächen.
  • In Block 830 kann die Steuereinheit gemäß der einen oder den mehreren Anwendungs- oder Hardware-Bedingungen eine oder mehrere der synaptischen Zellen als ein einzelnes synaptisches Gewicht zuweisen. Eine Schalterfunktion kann verwendet werden, um jeden einzelnen Ausgang eines präsynaptischen Neurons mit Anschlüssen von Axonleitungen der Kreuzschienenanordnung zu verbinden. Die Schalterfunktion kann eine „Eins-zu-n-Ausgabefächerungs“-Schalterfunktion sein, und die Steuereinheit kann den „Einszu-n-Ausgabefächerungsschalter“ so steuern, dass sie Axonleitungen für eine einzelne Eingangsleitung entsprechend dem Ausgangsende der präsynaptischen Neuronen veränderlich auswählt. Beispielsweise kann jeder der Eins-zu-n-Ausgabefächerungsschalter jeder der präsynaptischen Neuronen einer oder mehreren Eingangs-Axonleitungen eine einzelne Ausgangs/Eingangs-Leitung zuweisen.
  • In Block 840 kann das System 100 oder seine Steuereinheit 80 die Lernoperation mit Eingangsdaten durchführen, die von der Anwendung bereitgestellt werden. Nach Zuweisen einer oder mehrerer der NVM-Zellen als ein einzelnes synaptisches Gewicht, ist es bei abgeschwächter Gewichtsvariabilität während der Lernoperation möglich, die Auflösung des für die Anwendung erforderlichen Gewichtswertes zu erreichen.
  • 9 zeigt ein Diagramm 900, das eine beispielhafte Leitwertvariation in Verbindung mit einer Anzahl synaptischer Zellen veranschaulicht. Die x-Achse bezeichnet den Leitwert G, der ein Umkehrwert des Widerstands (R) ist, die y-Achse bezeichnet das Wahrscheinlichkeitsverhältnis zum Leitwert (G), und n bezieht sich auf eine Anzahl synaptischer Zellen, die einem einzelnen synaptischen Gewicht zugehörig ist. Es wird angenommen, dass Gewichtswerte proportional zum Leitwert der synaptischen Zellen oder umgekehrt proportional zum Widerstand sind. In den meisten Fällen ist die Verteilung eines einzelnen synaptischen Gewichts umso geringer, je mehr Einheiten es umfasst. Wenn ein spezifischer Leitwert erforderlich ist, um ein einzelnes synaptisches Gewicht zu bilden, sagt 9 aus, dass es besser ist, so viele resistive Elemente oder Zellen mit geringem Widerstand wie möglich zu einem einzelnen synaptischen Gewicht zusammenzuführen. Die folgenden Fälle sind im Diagramm 900 dargestellt:
    • (1) Fall A, der eine Variation oder Verteilung eines synaptischen Gewichts zeigt, das aus einer synaptischen Zelle gebildet wird.
    • (2) Fall B, der eine Variation eines synaptischen Gewichts zeigt, das aus zwei in Reihe angeordneten synaptischen Zellen gebildet wird.
    • (3) Fall C, der eine Variation eines synaptischen Gewichts zeigt, das aus zwei parallel angeordneten synaptischen Zellen gebildet wird.
    • (4) Fall D, der eine Variation eines synaptischen Gewichts zeigt, das aus acht parallel angeordneten synaptischen Zellen gebildet wird.
  • In der Lernoperation kann das (NVM-gestützte) neuromorphe System einen präzisen synaptischen Gewichtswert mit geringer Variation der synaptischen Gewichte einstellen. Das Prinzip beim Unterdrücken der Variation des synaptischen Gewichts besteht darin, dass die Tendenz, dass die Variabilität des synaptischen Gewichts sukzessive abnimmt, umso höher ist, je mehr resistive Einheiten das synaptische Gewicht umfasst. Wenn alle synaptischen Zellen der Kreuzschienenanordnung resistive Einheiten mit gleichwertiger Qualität hinsichtlich der Einheitenvariabilität pro resistiver Einheit enthalten, kann die Variation des einzelnen synaptischen Gewichts (die mit mehreren resistiven Zellen exprimiert wird) erheblich geringer ausfallen als die Variation pro synaptischer Zelle. Um die Variationsanforderung pro Einheit zu verringern, ist ein einzelnes synaptisches Gewicht mit mehreren resistiven Zellen für die neuromorphe Hardware-Implementierung von Vorteil.
  • Wie oben erwähnt, kann ein Umkehrwert des Widerstandwerts (z.B. ein Leitwert), der für die in der synaptischen Zelle enthaltenen Widerstandselemente eingestellt ist, das Gewicht darstellen. Außerdem können die in der synaptischen Zelle verwendeten Widerstandselemente variable Widerstandswerte haben. So kann z.B. ein einzelnes Gewicht durch Verwenden mehrerer resistiver Einheiten exprimiert werden, um die Anforderung an die Auflösung des Leitwerts pro Einheit zu verringern. Es werden typische Beispiele für die Implementierung neuromorpher Hardware gegeben, um einen einzelnen Gewichtswert durch Zuweisen von einem, zwei oder mehreren resistiven Elementen zu exprimieren. Durch dynamisches Zuweisen zweier oder mehrerer resistiver Zellen zu einem einzelnen synaptischen Gewicht lassen sich die Auflösungen des Widerstands besser erreichen, die gemäß einer oder mehreren Anwendungen, die das neuromorphe System implementieren, erforderlich sind.
  • Die hierin beschriebenen Beispiele ermöglichen das Aktualisieren synaptischer Gewichte mit hoher Präzision, auch wenn es aufgrund von Eigenschaften der Einheiten (z.B. Variationen) schwierig sein kann, den Widerstand von Einheiten in kleinen Schritten zu ändern. Außerdem ist der durch die hierin beschriebenen Ausführungsformen implementierte neuromorphe Chip flächeneffizient und vorteilhaft für skalierbare Schaltungen für verschiedene Einheitenvariabilitäten.
  • 10 zeigt eine beispielhafte Hardware-Konfiguration eines Computers gemäß der vorliegenden Erfindung. Ein Programm, das im Computer 1000 installiert ist, kann den Computer 1000 veranlassen, als [ ] zu funktionieren oder Operationen, die dem neuromorphen Chip 100 der Ausführungsformen der vorliegenden Erfindung zugehörig sind, oder einen oder mehrere Abschnitte (darunter Module, Komponenten, Elemente usw.) durchzuführen, und/oder den Computer 1000 veranlassen, Prozesse der Ausführungsformen der vorliegenden Erfindung oder Schritte davon durchzuführen. Ein solches Programm kann von der CPU 1010 ausgeführt werden, um den Computer 1000 zu veranlassen, bestimmte Operationen durchzuführen, die einigen oder allen hierin beschriebenen Blöcken von Ablaufplänen und Blockschaubildern zugehörig sind.
  • Der Computer 1000 gemäß der vorliegenden Erfindung umfasst eine CPU 1010 und einen RAM 1030. Der Computer 1000 umfasst auch Eingabe/Ausgabe-Einheiten, z.B. eine E/A-Schnittstelle 1050 und ein Festplattenlaufwerk 1040, die über eine Eingabe/Ausgabe-Steuereinheit mit der Host-Steuereinheit verbunden sind. Der Computer umfasst auch ältere Eingabe/Ausgabe-Einheiten, z.B. einen ROM 1020, der mit der CPU verbunden sein kann.
  • Die CPU 1010 arbeitet nach Programmen, die im ROM 1020 und RAM 1030 gespeichert sind und steuert dadurch jede Einheit. Die E/A-Schnittstelle 1050 tauscht über ein Netzwerk 1080 Daten mit anderen elektronischen Einheiten aus. Das Festplattenlaufwerk 1040 speichert von der CPU 1010 verwendete Programme und Daten im Computer 1000. Das DVD-ROM-Laufwerk liest die Programme oder Daten vom DVD-ROM und stellt das Festplattenlaufwerk 1040 mit den Programmen oder Daten über den RAM 1030 bereit.
  • Der ROM 1020 speichert darauf ein Boot-Programm oder Ähnliches, das vom Computer 1000 zum Zeitpunkt der Aktivierung durchgeführt wird, und/oder ein Programm abhängig von der Hardware des Computers 1000.
  • Von durch einen Computer lesbaren Medien wie dem DVD-ROM wird ein Programm bereitgestellt. Das Programm wird von durch einen Computer lesbaren Medien gelesen, die auf dem Festplattenlaufwerk 1040, RAM 1030 oder ROM 1020 installiert sind, bei denen es sich ebenfalls um Beispiele für durch einen Computer lesbare Medien handelt, und wird von der CPU 1010 ausgeführt. Die in diesen Programmen beschriebene Informationsverarbeitung wird in den Computer 1000 gelesen und führt zu einer Zusammenarbeit zwischen einem Programm und den vorstehend genannten verschiedenen Arten von Hardware-Ressourcen. Der neuromorphe Chip und sein System 100 oder ein Verfahren können eingerichtet werden, indem der Betrieb oder die Verarbeitung von Informationen gemäß der Nutzung des Computers 1000 durchgeführt wird.
  • Wenn beispielsweise zwischen dem Computer 1000 und einem Netzwerk 1080 über die Datenübertragungsschnittstelle 1070 eine Datenübertragung durchgeführt wird, kann die CPU 1010 ein in den RAM 1030 geladenes Datenübertragungsprogramm ausführen, um die Datenübertragungsschnittstelle 1070 anzuweisen, auf Grundlage der im Datenübertragungsprogramm beschriebenen Verarbeitung eine Datenübertragung zu verarbeiten. Die Datenübertragungsschnittstelle 1070 liest unter Steuerung der CPU 1010 Übertragungsdaten, die in einem Übertragungszwischenspeicherbereich gespeichert sind, der in einem Aufzeichnungsmedium wie dem RAM 1030 oder dem Speicherlaufwerk 1040 (z.B. dem HDD-Laufwerk, DVD-ROM-Laufwerk oder Flash-Laufwerk) bereitgestellt wird, und überträgt die gelesenen Übertragungsdaten an das Netzwerk 1080 oder schreibt die vom Netzwerk 1080 empfangenen Empfangsdaten in einen Empfangszwischenspeicherbereich oder Ähnliches, der auf dem Aufzeichnungsmedium bereitgestellt wird.
  • Die CPU 1010 kann darüber hinaus veranlassen, dass die gesamte oder ein erforderlicher Teil einer Datei oder einer Datenbank in den RAM 1030 gelesen wird, wobei die Datei oder Datenbank in einem externen Aufzeichnungsmedium wie dem Festplattenlaufwerk 1040 usw. gespeichert ist, und kann verschiedene Arten von Verarbeitung in Verbindung mit den Daten im RAM 1030 durchführen. Die CPU 1010 kann die verarbeiteten Daten wieder in das externe Aufzeichnungsmedium schreiben.
  • Verschiedene Arten von Informationen wie beispielsweise verschiedene Arten von Programmen, Daten, Tabellen und Datenbanken können in dem Aufzeichnungsmedium gespeichert werden, um eine Informationsverarbeitung zu durchlaufen. Die CPU 1010 kann verschiedene Arten von Verarbeitung in Verbindung mit dem aus dem RAM 1030 gelesenen Daten durchführen, wozu verschiedene Arten von Operationen, Informationsverarbeitung, Zustandsbeurteilung, bedingte Verzweigung, unbedingte Verzweigung, Suchen/Ersetzen von Informationen usw. gehören, wie in dieser Offenbarung beschrieben und durch eine Anweisungssequenz von Programmen gekennzeichnet, und schreibt das Ergebnis zurück in den RAM 1030. Die CPU 1010 kann darüber hinaus nach Informationen in einer Datei, Datenbank usw. im Aufzeichnungsmedium suchen.
  • Die vorstehend erläuterten Programm- oder Software-Module können in den durch einen Computer lesbaren Medien im Computer 1000 oder in dessen Nachbarschaft gespeichert werden. Ein Aufzeichnungsmedium wie eine Festplatte oder ein RAM in einem Serversystem, das mit einem bestimmten Datenübertragungsnetzwerk oder dem Internet verbunden ist, kann darüber hinaus als die durch einen Computer lesbaren Medien verwendet werden und dem Computer 1000 dadurch das Programm über das Netzwerk 1080 bereitstellen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen. Insbesondere können die Ausgabefächerungs-Schalterfunktionen der vorliegenden Ausführungsformen durch Techniken der elektronischen Schaltung in die neuromorphen Chips integriert werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Ausführungsformen der vorliegenden Erfindung wurden zwar beschrieben, der technische Umfang der Erfindung ist jedoch nicht auf die vorstehend beschriebenen Beispiele beschränkt. Fachleuten ist ersichtlich, dass verschiedene Änderungen und Verbesserungen zu den vorstehend beschriebenen Beispielen hinzugefügt werden können.
  • Die Arbeitsschritte, Verfahren, Schritte und Phasen jedes Prozesses, die von einer Vorrichtung, einem System, einem Programm und einem Verfahren ausgeführt werden, die in den Ansprüchen, Ausführungsformen oder Schaubildern aufgeführt sind, können in beliebiger Reihenfolge ausgeführt werden, solange die Reihenfolge nicht durch „vor“ oder dergleichen angegeben ist und solange die Ausgabe aus einem vorherigen Prozess nicht in einem späteren Prozess verwendet wird. Auch wenn der Ablaufplan anhand von Begriffen wie „zuerst“ oder „als Nächstes“ in den Ansprüchen, Ausführungsformen oder Schaubildern beschrieben wird, bedeutet dies nicht unbedingt, dass der Prozess in dieser Reihenfolge durchgeführt werden muss.
  • Wie aus den obigen Ausführungen deutlich wird, können die Ausführungsformen der vorliegenden Erfindung Aktualisieren präziser synaptischer Gewichte eines jeweiligen neuromorphen Chips realisieren. Mit der Erfindung kann die Einheitenvariabilität verringert werden, ohne die Originalschaltungen der skalierbaren NVM-Anordnungen zu verändern, sodass es nicht notwendig ist, spezielle Schaltungen zu bauen, um die Auflösung des synaptischen Gewichts zu verbessern. Wenn die Auflösung nicht so gering sein muss, stehen die restlichen Einheiten in der NVM-Anordnung des Chips zur Verfügung, um verbleibende synaptischen Zellen für eine andere Netzwerkanordnung als die NVM-Anordnung zu implementieren.

Claims (19)

  1. Neuromorpher Chip, der aufweist: eine Mehrzahl synaptischer Zellen, die entsprechende resistive Einheiten enthalten; eine Mehrzahl von Axonleitungen und eine Mehrzahl von Dendritenleitungen, die mit den synaptischen Zellen verbunden sind, um eine Kreuzschienenanordnung zu bilden, wobei die Axonleitungen so konfiguriert sind, dass sie Eingangsdaten empfangen und die Eingangsdaten an die synaptischen Zellen liefern, und die Dendritenleitungen so konfiguriert sind, dass sie Ausgangsdaten empfangen und die Ausgangsdaten über eine oder mehrere entsprechende Ausgangsleitungen liefern; und eine Mehrzahl von Schaltern, von denen jeder einen Eingangsanschluss und einen oder mehrere Ausgangsanschlüsse enthält, wobei ein gegebener der Schalter so konfiguriert ist, dass er seinen Eingangsanschluss mit einer oder mehreren Eingangsleitungen verbindet und seinen einen oder seine mehreren Ausgangsanschlüsse mit einer gegebenen einen oder mehreren der Axonleitungen veränderlich verbindet.
  2. Chip nach Anspruch 1, wobei die resistiven Einheiten in der Lage sind, einen variablen Widerstandswert zu halten.
  3. Chip nach Anspruch 2, wobei die resistiven Einheiten in der Lage sind, analoge Werte aufzuzeichnen.
  4. Chip nach Anspruch 1, wobei die resistiven Einheiten nichtflüchtigen Speicher enthalten.
  5. Chip nach Anspruch 4, wobei der nichtflüchtige Speicher Phasenwechselspeicher oder Flash-Speicher enthält.
  6. Chip nach Anspruch 1, wobei der gegebene Schalter seinen einen oder seine mehreren Ausgangsanschlüsse mit der einen oder den mehreren gegebenen Axonleitungen veränderlich verbindet, um einer gegebenen einen oder mehreren der gegebenen einen oder den gegebenen mehreren Axonleitungen zugehörigen synaptischen Zellen ein synaptisches Gewicht zuzuweisen.
  7. Chip nach Anspruch 6, wobei der gegebene Schalter seinen Eingangsanschluss mit der gegebenen einen oder den gegebenen mehreren Axonleitungen veränderlich verbindet, um die Eingangsdaten an die gegebene eine oder die gegebenen mehreren synaptischen Zellen zu liefern.
  8. Chip nach Anspruch 7, wobei die gegebene eine oder die gegebenen mehreren Axonleitungen ein benachbartes Paar von Axonleitungen enthalten, und wobei der gegebene Schalter den Eingangsanschluss mit dem benachbarten Paar der Axonleitungen veränderlich verbindet, um die Eingangsdaten an die gegebene eine oder die gegebenen mehreren synaptischen Zellen zu liefern.
  9. Chip nach Anspruch 1, der weiterhin ein oder mehrere präsynaptische Neuronen aufweist, um die Eingangsdaten über die Schalter an die Axonleitungen zu liefern, wobei jedes der präsynaptischen Neuronen ein Eingangsende und ein Ausgangsende hat, wobei der Eingangsanschluss des gegebenen Schalters entsprechend mit dem Ausgangsende eines gegebenen der präsynaptischen Neuronen verbunden ist, um die Eingangsdaten an den Eingangsanschluss des gegebenen Schalters zu liefern.
  10. Chip nach Anspruch 9, der weiterhin ein oder mehrere postsynaptische Neuronen zum Empfangen der Ausgangsdaten von den Dendritenleitungen aufweist, wobei jedes der postsynaptischen Neuronen ein Eingangsende und ein Ausgangsende hat, wobei das Eingangsende eines gegebenen der postsynaptischen Neuronen mit einer gegebenen der Dendritenleitungen verbunden ist, um die Ausgangsdaten von der gegebenen Dendritenleitung zu empfangen.
  11. Neuromorpher Chip nach Anspruch 10, der weiterhin eine nachfolgende Neuronenschicht aufweist, die so konfiguriert ist, dass sie das postsynaptische Neuron als ein zweites präsynaptisches Neuron für einen Eingang betrachtet, wobei die nachfolgende Neuronenschicht einer zweiten Mehrzahl synaptischer Zellen zugehörig ist, die zwischen dem zweiten präsynaptischen Neuron und einem zweiten postsynaptischen Neuron entsprechende resistive Einheiten enthält, wobei die zweite Mehrzahl synaptischer Zellen durch die Axonleitungen und die Dendritenleitungen verbunden ist, um eine zweite Kreuzschienenanordnung zu bilden, wobei die nachfolgende Neuronenschicht die Ausgangsdaten als zweite Eingangsdaten empfängt.
  12. Chip nach Anspruch 1, wobei die Schalter durch ASIC- oder FPGA-Schaltungen in den neuromorphen Chip integriert sind, um die Herstellung des neuromorphen Chips zu optimieren.
  13. System, das aufweist: einen neuromorphen Chip nach einem der vorherigen Ansprüche; und eine Steuereinheit, die funktionsmäßig mit dem neuromorphen Chip verbunden und so konfiguriert ist, dass sie: dem gegebenen Schalter ermöglicht, seine Eingangsleitung mit der gegebenen einen oder den gegebenen mehreren Axonleitungen nach einer Anforderung einer auf dem neuromorphen System installierten Anwendung veränderlich zu verbinden; und eine Lernoperation mit den Eingangsdaten über die gegebene eine oder die gegebenen mehreren Axonleitungen durchführt, indem sie ein einzelnes Gewicht mit einer bevorzugten Anzahl resistiver Elemente der synaptischen Zellen exprimiert.
  14. Neuromorphes System nach Anspruch 13, das weiterhin eine mit der Steuereinheit verbundene Datenbank aufweist, um die Eingangsdaten während der Lernoperation an die gegebene eine oder die gegebenen mehreren Axonleitungen zu liefern.
  15. Neuromorphes System nach Anspruch 13, das weiterhin ein Vergleichselement aufweist, das so konfiguriert ist, dass es die Ausgangsdaten mit den erwarteten Ausgangsdaten vergleicht und eine Differenz zwischen den Ausgangsdaten und den erwarteten Ausgangsdaten als Fehler ausgibt.
  16. Neuromorphes System nach Anspruch 15, wobei die erwarteten Ausgangsdaten von der Steuereinheit erhalten werden.
  17. Verfahren zum Aktualisieren synaptischer Gewichte in einem neuromorphen Chip, das aufweist: Verbinden entsprechender Eingangsanschlüsse einer Mehrzahl von Schaltern des neuromorphen Chips mit Eingangsleitungen des neuromorphen Chips; und veränderliches Verbinden des gegebenen Schalters für einen gegebenen einen der Schalter mit einem gegebenen einen oder mehreren aus einer Mehrzahl von Axonleitungen des neuromorphen Chips, um einer gegebenen einen oder mehreren aus einer Mehrzahl synaptischer Zellen des neuromorphen Chips ein synaptisches Gewicht zuzuweisen, wobei die gegebene eine oder die mehreren Axonleitungen so konfiguriert sind, dass sie Eingangsdaten von einer gegebenen einen oder mehreren der Eingangsleitungen empfangen und die Eingangsdaten an die gegebene eine oder die mehreren synaptischen Zellen liefern; wobei die synaptischen Zellen mit den Axonleitungen und einer Mehrzahl von Dendritenleitungen des neuromorphen Chips zu einer Kreuzschienenanordnung verbunden sind.
  18. Verfahren nach Anspruch 17, wobei der gegebene Schalter veränderlich verbunden ist mit der gegebenen einen oder mehreren Axonleitungen nach einer Anforderung einer Anwendung, die auf dem neuromorphen System installiert ist, wobei das Verfahren weiterhin Durchführen einer Lernoperation mit den Eingangsdaten über die gegebene eine oder die mehreren Axonleitungen aufweist, indem es das Gewicht mit einer bevorzugten Anzahl von resistiven Elementen der gegebenen einen oder den mehreren synaptischen Zellen exprimiert.
  19. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen durch die Schalter so ausführbar sind, dass sie die Schalter veranlassen, das Verfahren nach Anspruch 18 durchzuführen.
DE112019000226.0T 2018-01-19 2019-01-07 Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte Pending DE112019000226T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/875,604 2018-01-19
US15/875,604 US11763139B2 (en) 2018-01-19 2018-01-19 Neuromorphic chip for updating precise synaptic weight values
PCT/IB2019/050096 WO2019142061A1 (en) 2018-01-19 2019-01-07 Neuromorphic chip for updating precise synaptic weight values

Publications (1)

Publication Number Publication Date
DE112019000226T5 true DE112019000226T5 (de) 2020-08-20

Family

ID=67299306

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000226.0T Pending DE112019000226T5 (de) 2018-01-19 2019-01-07 Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte

Country Status (6)

Country Link
US (2) US11763139B2 (de)
JP (1) JP7228320B2 (de)
CN (1) CN111587440B (de)
DE (1) DE112019000226T5 (de)
GB (1) GB2583302B (de)
WO (1) WO2019142061A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102368962B1 (ko) * 2019-03-22 2022-03-03 국민대학교산학협력단 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템
US11934946B2 (en) 2019-08-01 2024-03-19 International Business Machines Corporation Learning and recall in spiking neural networks
US10915248B1 (en) 2019-08-07 2021-02-09 Macronix International Co., Ltd. Memory device
CN110909869B (zh) * 2019-11-21 2022-08-23 浙江大学 一种基于脉冲神经网络的类脑计算芯片
JP6818116B1 (ja) * 2019-11-22 2021-01-20 ウィンボンド エレクトロニクス コーポレーション クロスバーアレイを用いた電子装置およびデータ処理方法
US11568217B2 (en) 2020-07-15 2023-01-31 International Business Machines Corporation Sparse modifiable bit length deterministic pulse generation for updating analog crossbar arrays
US11443171B2 (en) 2020-07-15 2022-09-13 International Business Machines Corporation Pulse generation for updating crossbar arrays
CN112784972B (zh) * 2021-01-15 2022-10-11 之江实验室 一种面向片上神经网络的突触实现架构
EP4290204A1 (de) * 2021-02-04 2023-12-13 Uzdaroji Akcine Bendrove "Neurotechnologijos" Verfahren und vorrichtung zur vibroakustischen analyse von industrieanlagen
RU2764962C1 (ru) * 2021-06-16 2022-01-24 Александр Владимирович Власов Способ и система планирования профилактического обслуживания и ремонта технологического оборудования на основе акустической диагностики с применением нейронных сетей
CN114239815B (zh) * 2021-11-15 2023-05-12 电子科技大学 一种可重构神经网络计算芯片
KR102514652B1 (ko) * 2021-11-19 2023-03-29 서울대학교산학협력단 뉴로모픽 소자를 위한 가중치 전사 장치 및 이를 이용한 가중치 전사 방법
CN115169547B (zh) * 2022-09-09 2022-11-29 深圳时识科技有限公司 神经形态芯片及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515885B2 (en) 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
US8868477B2 (en) * 2012-03-29 2014-10-21 International Business Machines Coproration Multi-compartment neurons with neural cores
CN102610274B (zh) 2012-04-06 2014-10-15 电子科技大学 一种阻变突触权值调整电路
US9552546B1 (en) * 2013-07-30 2017-01-24 Brain Corporation Apparatus and methods for efficacy balancing in a spiking neuron network
GB201419355D0 (en) 2014-10-30 2014-12-17 Ibm Neuromorphic synapses
US9830981B2 (en) 2015-01-14 2017-11-28 International Business Machines Corporation Neuromorphic memory circuit using a leaky integrate and fire (LIF) line to transmit axon LIF pulse and a conductive denrite LIF line
US9990580B2 (en) 2015-03-13 2018-06-05 International Business Machines Corporation Neuromorphic synapses
US9934463B2 (en) * 2015-05-15 2018-04-03 Arizona Board Of Regents On Behalf Of Arizona State University Neuromorphic computational system(s) using resistive synaptic devices
US10169701B2 (en) 2015-05-26 2019-01-01 International Business Machines Corporation Neuron peripheral circuits for neuromorphic synaptic memory array based on neuron models
US10832127B2 (en) 2015-11-30 2020-11-10 Samsung Electronics Co., Ltd. Three-dimensional integration of neurosynaptic chips
US20170193358A1 (en) * 2015-12-30 2017-07-06 SK Hynix Inc. Neuromorphic devices including post-synaptic neurons having at least one of integrators, amplifiers, or sampling elements
CN106201651A (zh) 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 神经形态芯片的模拟器

Also Published As

Publication number Publication date
CN111587440A (zh) 2020-08-25
US20230385619A1 (en) 2023-11-30
JP2021511566A (ja) 2021-05-06
GB2583302B (en) 2022-07-20
GB2583302A (en) 2020-10-21
US11763139B2 (en) 2023-09-19
US20190228287A1 (en) 2019-07-25
GB202010175D0 (en) 2020-08-19
WO2019142061A1 (en) 2019-07-25
CN111587440B (zh) 2024-04-09
JP7228320B2 (ja) 2023-02-24

Similar Documents

Publication Publication Date Title
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE112018004223T5 (de) Trainieren künstlicher neuronaler Netze
DE112018000272T5 (de) Resistive Verarbeitungseinheit mit hysteretischen Aktualisierungen zum Trainieren neuronaler Netze
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE112016003245T5 (de) Resistive Verarbeitungseinheit
DE112019002981T5 (de) Parallelberechnungsarchitektur mit rekonfigurierbarer kernebenen- und vektorebenen-parallelität
DE112011101370T5 (de) Neuronales Netz mit kanonischen gepulsten Neuronen für einen raumzeitlichen Assoziativspeicher
DE112018005205T5 (de) Komprimierung von vollständig verbundenen / wiederkehrenden Schichten von einem oder mehreren tiefen Netzen durch Durchsetzen von räumlicher Lokalität für Gewichtsmatrizen und erwirken von Frequenzkomprimierung
DE112013003349T5 (de) Schaltung mit neuronalem Kern
DE112019005119T5 (de) Abgleichtechniken zum angleichen des symmetriepunktes als null-gewichtungspunkt in analogen kreuzungspunktanordnungen
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE102021107050A1 (de) Gradientenkomprimierung für verteiltes training
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE112019000676T5 (de) Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor
DE102021107509A1 (de) Multi-modell-trainingspipeline in verteilten systemen
DE102020106867A1 (de) Vektor-matrix-multiplikation mit 3d-nand
DE60125536T2 (de) Anordnung zur generierung von elementensequenzen
DE102020101244A1 (de) Gestufte neuronale netzwerke zur lösung von np-schweren/vollständigen problemen
EP3502974A1 (de) Verfahren zur realisierung eines neuronalen netzes
DE112020003105T5 (de) Schicht für schicht-debugging von neuronalen netzwerken
DE102019126788A1 (de) Beschleunigter zugriff auf aus in speichervorrichtungen gespeicherten daten erzeugte rechenergebnisse
DE112019004391T5 (de) Grossmodellunterstützung für deep learning
DE112021003881T5 (de) Online-training von neuronalen netzen
DE112021001767T5 (de) Rationalisieren von datenverarbeitungsoptimierungen für arbeitslasten mit maschinellem lernen
DE102021107510A1 (de) Training eines neuronalen netzwerks unter speicherbeschränkung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence