DE112018000723T5 - Aktualisierungsverwaltung für eine RPU-Anordnung - Google Patents

Aktualisierungsverwaltung für eine RPU-Anordnung Download PDF

Info

Publication number
DE112018000723T5
DE112018000723T5 DE112018000723.5T DE112018000723T DE112018000723T5 DE 112018000723 T5 DE112018000723 T5 DE 112018000723T5 DE 112018000723 T DE112018000723 T DE 112018000723T DE 112018000723 T5 DE112018000723 T5 DE 112018000723T5
Authority
DE
Germany
Prior art keywords
computer
isotropic
update
stochastic
multiplicand
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
DE112018000723.5T
Other languages
English (en)
Inventor
Tayfun Gokmen
Oguzhan Murat Onen
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 DE112018000723T5 publication Critical patent/DE112018000723T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • 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
    • 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
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4814Non-logic devices, e.g. operational amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4828Negative resistance devices, e.g. tunnel diodes, gunn effect devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)

Abstract

Bereitgestellt werden ein durch einen Computer realisiertes Verfahren und ein Computerverarbeitungssystem für eine Aktualisierungsverwaltung für ein neuronales Netzwerk. Das Verfahren beinhaltet ein Durchführen eines isotropen Aktualisierungsprozesses für das neuronale Netzwerk unter Verwendung einer resistiven Verarbeitungseinheit. Der isotrope Aktualisierungsprozess verwendet einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation. Der Durchführungsschritt beinhaltet ein Skalieren des Multiplikanden und des Multiplikators, so dass sie eine gleiche Größenordnung aufweisen.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf resistive Verarbeitungseinheiten (Resistive Processing Units, RPUs) und im Besonderen auf eine Aktualisierungsverwaltung für eine RPU-Anordnung.
  • Beschreibung der verwandten Technik
  • Eine resistive Verarbeitungseinheit (RPU) ist eine Anordnung von resistiven Einheiten, die für das Trainieren eines tiefen neuronalen Netzwerks verwendet werden kann. Eine RPU besteht aus vollständig verbundenen Schichten, Faltungsschichten, rekurrenten Schichten und so weiter. Allerdings kann das Aktualisieren einer RPU zeit- und ressourcenaufwändig sein. Aus diesem Grund besteht eine Notwendigkeit für Verbesserungen beim Aktualisieren einer RPU.
  • ZUSAMMENFASSUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein durch einen Computer realisiertes Verfahren für eine Aktualisierungsverwaltung für ein neuronales Netzwerk bereitgestellt. Das Verfahren beinhaltet ein Durchführen eines isotropen Aktualisierungsprozesses für das neuronale Netzwerk unter Verwendung einer resistiven Verarbeitungseinheit. Der isotrope Aktualisierungsprozess verwendet einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation. Der Durchführungsschritt beinhaltet ein Skalieren des Multiplikanden und des Multiplikators, so dass sie eine gleiche Größenordnung aufweisen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt für eine Aktualisierungsverwaltung für ein neuronales Netzwerk bereitgestellt. Das Computerprogrammprodukt beinhaltet ein nicht flüchtiges durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmbefehlen. Die Programmbefehle sind durch einen Computer ausführbar, um den Computer zum Durchführen eines Verfahrens zu veranlassen. Das Verfahren beinhaltet ein Durchführen eines isotropen Aktualisierungsprozesses für das neuronale Netzwerk unter Verwendung einer resistiven Verarbeitungseinheit. Der isotrope Aktualisierungsprozess verwendet einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation. Der Durchführungsschritt beinhaltet ein Skalieren des Multiplikanden und des Multiplikators, so dass sie eine gleiche Größenordnung aufweisen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerverarbeitungssystem für eine Aktualisierungsverwaltung für ein neuronales Netzwerk bereitgestellt. Das Computerverarbeitungssystem beinhaltet eine resistive Verarbeitungseinheit (RPU), die konfiguriert ist, um einen isotropen Aktualisierungsprozess für das neuronale Netzwerk durchzuführen. Der isotrope Aktualisierungsprozess verwendet einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation. Die RPU ist konfiguriert, um den isotropen Aktualisierungsprozess durchzuführen, indem sie den Multiplikanden und den Multiplikator so skaliert, dass sie eine gleiche Größenordnung aufweisen.
  • Diese und andere Merkmale und Vorzüge werden aus der folgenden ausführlichen Beschreibung veranschaulichender Ausführungsformen hiervon offensichtlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die folgende Beschreibung stellt Einzelheiten bevorzugter Ausführungsformen mit Bezug auf die folgenden Figuren bereit, wobei:
    • 1 ein beispielhaftes Verarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, auf das die Erfindungsgrundsätze angewendet werden können;
    • 2 eine beispielhafte analoge Vektor-Matrix-Multiplikation für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 3 eine weitere beispielhafte analoge Vektor-Matrix-Multiplikation für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 4 eine beispielhafte Aktualisierungsoperation gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, auf welche die vorliegende Erfindung angewendet werden kann;
    • 5 einen stochastischen Aktualisierungsregel-Schaltkreis für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, auf den die vorliegende Erfindung angewendet werden kann;
    • 6 einen Aktualisierungszyklus gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, der dem stochastischen Aktualisierungsregel-Schaltkreis aus 5 entspricht; und
    • 7 ein beispielhaftes Verfahren für eine Aktualisierungsverwaltung für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung ist auf eine Aktualisierungsverwaltung für eine RPU-Anordnung gerichtet.
  • Bei einer Ausführungsform wird ein isotropes Aktualisierungsschema für eine RPU vorgeschlagen, um den Aktualisierungszyklus der RPU vollständig zu nutzen, indem die Gesamtleistung erhöht wird, während zugleich eine geringstmögliche Anzahl von Zyklen verwendet wird, die für das Training benötigt werden.
  • Die vorliegende Erfindung kann auf stochastische ebenso wie auf deterministische Bitströme Anwendung finden.
  • Bei einer Ausführungsform beinhaltet ein für eine RPU vorgeschlagenes Aktualisierungsschema ein Füllen von stochastischen Bitströmen und ein Verwenden von koinzidierenden stochastischen Bitströmen, um die Aktualisierung durchzuführen.
  • Bei einer Ausführungsform konditioniert die vorliegende Erfindung die Eingaben, bevor sie einen stochastischen Aktualisierungszyklus durchführt, um eine falsche räumliche Korrelation zu entfernen, die daraus herrührt, dass zwei Zahlen multipliziert werden müssen, die sich um mehrere Größenordnungen voneinander unterscheiden. Daher weisen bei einer Ausführungsform Multiplikanden in einem stochastischen Aktualisierungsschema die gleiche Größenordnung auf. Anhand dieses Verfahrens verbessert sich die RPU-Testgenauigkeit für ein Trainieren von neuronalen Faltungsnetzwerken (Convolutional Neural Networks, CNNs) und tiefen neuronalen Netzwerken (Deep Neural Networks, DNNs) erheblich, indem eine einzige Iteration verwendet wird, um die Aktualisierung der RPU-Anordnung abzuschließen, wodurch sich der Aktualisierungszyklus beschleunigt.
  • Die Verwendung des kürzesten Bitstroms macht den Aktualisierungszyklus so schnell wie möglich. Dieser Fall entspricht einer Bitlänge (BL) von 1, wobei der Aktualisierungszyklus einen einzigen Impuls verwendet (wodurch er maximal und minimal mögliche Aktualisierungen identisch macht und dennoch mit Blick auf die Werte von xiδj probabilistisch bleibt).
  • Um dieses Einzel-Impuls-Fenster so wirksam wie möglich zu nutzen, schlagen wir ein Verfahren vor, mit dem die Aktualisierung auf eine stärker isotrope Weise durchgeführt wird.
  • Bei einer Ausführungsform kann die vorliegende Erfindung ein Problem lösen, dass durch einen Hardware-Mangel verursacht wird. Bei einer Ausführungsform verringert die vorliegende Erfindung die Auswirkung von resistiven Elementen (in einer RPU) mit einem asymmetrischen Verhalten, indem sie die Korrelation zwischen den Knoten verringert. Die vorliegende Erfindung kann ein Skalieren von Werten beinhalten, um die Stochastizität zu erhöhen und die Auswirkungen des Mangels einer Einheit auf die Testergebnisse zu verringern.
  • Obwohl sich eine oder mehrere hier beschriebene Ausführungsformen auf die Verwendung von stochastischen Aktualisierungsimpulsen beziehen, lässt sich die vorliegende Erfindung in Anbetracht der hier bereitgestellten Lehren der vorliegenden Erfindung ohne Weiteres auf deterministische Aktualisierungsimpulse anwenden, wie für den Fachmann offensichtlich sein dürfte, ohne dadurch vom gedanklichen Wesensgehalt der vorliegenden Erfindung abzuweichen.
  • 1 zeigt ein beispielhaftes Verarbeitungssystem 100 gemäß einer Ausführungsform der vorliegenden Erfindung, auf das die Erfindungsgrundsätze angewendet werden können.
  • Das Verarbeitungssystem 100 beinhaltet einen Bus 102 zum Zusammenschalten eines oder mehrerer nicht linearer Filter (Non-Linear Filters, NLFs) (kollektiv und individuell durch das Bezugszeichen 110 der Figur bezeichnet), einer oder mehrerer resistiver Verarbeitungseinheiten (RPUs) (kollektiv und individuell durch das Bezugszeichen 120 der Figur bezeichnet), eines oder mehrerer Arbeitsspeicher (kollektiv und individuell durch das Bezugszeichen 130 der Figur bezeichnet) und eines oder mehrerer Eingabe/Ausgabe-Schaltkreise (E/A-Schaltkreise) (kollektiv und individuell durch das Bezugszeichen 140 der Figur bezeichnet).
  • Im Falle einer Realisierung des Verarbeitungssystems 100 mit einer integrierten Schaltung (Integrated Circuit, IC) kann die Datenübertragung innerhalb des Chips durch den Bus 102 bereitgestellt werden, während die Datenübertragung außerhalb des Chips durch die E/A-Schaltkreise 140 bereitgestellt werden kann.
  • Wie dem Fachmann klar sein dürfte, kann das Verarbeitungssystem 100 selbstverständlich auch andere (nicht gezeigte) Elemente beinhalten und bestimmte Elemente weglassen. So können in das Verarbeitungssystem 100 beispielsweise je nach dessen Realisierung verschiedene andere Eingabeeinheiten und/oder Ausgabeeinheiten aufgenommen werden, wie der Fachmann ohne Weiteres erkennen dürfte. Beispielsweise können verschiedene Arten von drahtlosen und/oder drahtgebundenen Eingabe- und/oder Ausgabeeinheiten verwendet werden. Darüber hinaus können auch zusätzliche RPUs, Prozessoren, Controller, Arbeitsspeicher usw. in verschiedenen Konfigurationen verwendet werden, wie für den Fachmann offensichtlich sein dürfte. Diese und andere Abwandlungen des Verarbeitungssystems 100 sind für den Fachmann im Lichte der hier bereitgestellten Lehren der vorliegenden Erfindung ohne Weiteres ersichtlich.
  • 2 zeigt eine beispielhafte analoge Vektor-Matrix-Multiplikation 200 für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Die analoge Vektor-Matrix-Multiplikation 200 beinhaltet einen Satz von digitalen Eingabewerten (δ) 210, wobei jeder der digitalen Eingabewerte (δ) 210 durch eine entsprechende analoge Signalimpulsbreite 220 dargestellt wird. Die analogen Signalimpulsbreiten 220 werden einem Operationsverstärker-Integrator 230 bereitgestellt, der einen Operationsverstärker (Operational Amplifier, OpAmp) 231 mit einem Kondensator (Cint ) 232 aufweist, welcher mit dem (bzw. über den) invertierenden Eingang des OpAmps 231 und dem (bzw. den) Ausgang des OpAmps 231 verbunden ist. Der nicht invertierende Eingang des OpAmps 231 ist mit Masse verbunden. Der Ausgang des OpAmps 231 ist außerdem mit einem Eingang eines Analog-Digital-Wandlers (ADC) 240 verbunden. Der ADC 240 gibt ein Signal y1 aus, das für ein (digitalisiertes) Ergebnis der analogen Vektor-Matrix-Multiplikation 200 für die RPU-Anordnung steht.
  • 3 zeigt eine weitere beispielhafte analoge Vektor-Matrix-Multiplikation 300 für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung. Die Multiplikation ist im Wesentlichen die in 2 gezeigte, wobei ein anderes Format (Darstellung) verwendet wird.
  • Die analoge Vektor-Matrix-Multiplikation 300 beinhaltet einen Satz von Eingabewerten 320, die an einen invertierenden Eingang eines OpAmp-Integrators 330 angelegt werden. Der OpAmp-Integrator 330 beinhaltet einen OpAmp 331 mit einem Kondensator (Cint ) 332. Die Eingabewerte 320 entsprechen einer Eingangsspannung Vin und entsprechenden Transkonduktanzen g 1 +  bis  g n +  und  g 1  bis  g n .
    Figure DE112018000723T5_0001
    Der nicht invertierende Eingang des OpAmps 331 ist mit Masse verbunden. Der Kondensator 332 ist mit dem (bzw. über den) invertierenden Eingang des OpAmps 331 und dem (bzw. den) Ausgang des OpAmps 331 verbunden. Der Ausgang des OpAmps ist außerdem mit einem Eingang eines Analog-Digital-Wandlers (Analog-to-Digital Converter, ADC) 340 verbunden. Der OpAmp 331 gibt ein Signal Vout aus, das für ein Ergebnis der analogen Vektor-Matrix-Multiplikation 300 für die RPU-Anordnung steht. Der ADC 340 wandelt die analoge Ausgabe Vout des OpAmps 331 in ein digitales Signal um.
  • 4 zeigt eine beispielhafte Aktualisierungsoperation 400 gemäß einer Ausführungsform der vorliegenden Erfindung, auf welche die vorliegende Erfindung angewendet werden kann.
  • Die Aktualisierungsoperation 400 beinhaltet, einer resistiven Verarbeitungseinheit (RPU) 420 eine ursprüngliche Vektoreingabe δ 411 und eine ursprüngliche Vektoreingabe x 412 bereitzustellen. Eine Ausgabe der RPU 420 wird wie folgt bereitgestellt: w i j = w i j + η ( x i × δ j )
    Figure DE112018000723T5_0002
    wobei wij für eine Gewichtung einer Verbindung zwischen einer i-ten Zeile und einer j-ten Spalte steht, η für eine Lernrate (einen skalaren Wert) steht, xi für die Aktivität des Eingabeneurons steht und δj für den Fehler steht, der durch das Ausgabeneuron berechnet wird.
  • Bei einer Ausführungsform wird eine RPU unter Verwendung eines Fehlerrückführungsverfahrens trainiert, das drei Zyklen umfasst: einen Vorwärtszyklus, einen Rückwärtszyklus und einen Gewichtungsaktualisierungszyklus (hier kurz „Gewichtungsaktualisierung“). Die Vorwärts- und Rückwärtszyklen beinhalten im Wesentlichen eine Berechnung einer Vektor-Matrix-Multiplikation in der Vorwärts- und Rückwärtsrichtung. Die vorliegende Erfindung ist im Wesentlichen auf den Gewichtungsaktualisierungszyklus gerichtet.
  • 5 zeigt einen stochastischen Aktualisierungsregel-Schaltkreis 500 für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung, auf den die vorliegende Erfindung angewendet werden kann. 6 zeigt einen Aktualisierungszyklus 600 gemäß einer Ausführungsform der vorliegenden Erfindung, der dem Aktualisierungsregel-Schaltkreis 500 aus 5 entspricht.
  • Der stochastische Aktualisierungsregel-Schaltkreis 500 beinhaltet einen Übersetzer (Translator, TR) 510, einen TR 520, ein UND(&)-Gatter 530 und einen Addierer 540. Die TRs können stochastische Übersetzer (Stochastic Translators, STRs) oder deterministische Übersetzer (Deterministic Translators, DTRs) sein. Zum Zwecke der Veranschaulichung werden die Übersetzer (TRs) 510 und 520 im Folgenden als stochastische Übersetzer (Stochastic Translators, STRs) bezeichnet und unter Einbeziehung stochastischer Ströme beschrieben. Allerdings können die STRs ohne Weiteres durch DTRs ersetzt und unter Einbeziehung deterministischer Ströme verwendet werden, wie für den Fachmann in Anbetracht der hier bereitgestellten Lehren der vorliegenden Erfindung offensichtlich sein dürfte, ohne dadurch vom gedanklichen Wesensgehalt der vorliegenden Erfindung abzuweichen.
  • Der STR 510 empfängt eine Eingabe xi und eine Ausgabe A i n .
    Figure DE112018000723T5_0003
    Die Eingabe xi steht für die Aktivität an dem Eingabeneuron. A i n
    Figure DE112018000723T5_0004
    bezeichnet eine Zufallsvariable, die durch einen Bernoulli-Prozess gekennzeichnet ist, und der Exponent n bezeichnet eine Bitposition in der Versuchssequenz.
  • Der STR 520 empfängt eine Eingabe δj und eine Ausgabe B j n .
    Figure DE112018000723T5_0005
    Die Eingabe δj steht für den Fehler, der durch das Ausgabeneuron berechnet wird. B j n
    Figure DE112018000723T5_0006
    bezeichnet eine Zufallsvariable, die durch einen Bernoulli-Prozess gekennzeichnet ist, und der Exponent n bezeichnet eine Bitposition in der Versuchssequenz.
  • Jeder der STRs 510 und 520 beinhaltet einen Parameter C, bei dem es sich um einen STR-Verstärkungsfaktor handelt. Im Besonderen beinhaltet der STR 510 einen Verstärkungsfaktor Cx für den x-Vektor, und der STR 520 beinhaltet einen Verstärkungsfaktor Cδ für den δ-Vektor. Somit sind die Wahrscheinlichkeiten von A i n  und  B j n
    Figure DE112018000723T5_0007
    durch Cxxi bzw. Cδδj gegeben. Bei einer Ausführungsform werden die Verstärkungsfaktoren Cx und Cδ durch einen nicht linearen Filter (z.B. den NLF 110 aus 1 usw.) gesteuert.
  • Der Addierer 540 empfängt Eingaben Δwmin und wij und gibt (einen aktualisierten) Wert wij aus. Der Parameter Δwmin entspricht einer inkrementellen Leitfähigkeitsänderung für eine RPU-Einheit aufgrund eines einzelnen Koinzidenzereignisses, das in eine inkrementelle Gewichtungsänderung übersetzt wird. Der in einer RPU-Einheit gespeicherte Leitfähigkeitswert wird entsprechend in einen Gewichtungswert übersetzt.
  • Eine durch den stochastischen Aktualisierungsregel-Schaltkreis 500 umgesetzte stochastische Aktualisierungsregel lautet wie folgt: w i j w i j + Δ w m i n n = 1 B L A i n B j n
    Figure DE112018000723T5_0008
    wobei wij eine Gewichtung einer Verbindung zwischen einer i-ten Zeile und einer j-ten Spalte bezeichnet, Δwmin eine inkrementelle Leitfähigkeitsänderung (d.h. eine Änderung des Gewichtungswerts) aufgrund eines einzelnen Koinzidenzereignisses bezeichnet (und als ein spannungsgesteuerter Einheitenparameter betrachtet wird), BL die Länge des stochastischen Bitstroms (an dem während des Aktualisierungszyklus verwendeten Ausgang der STRs) bezeichnet, A i n  und  B j n
    Figure DE112018000723T5_0009
    Zufallsvariablen bezeichnen, die durch einen Bernoulli-Prozess gekennzeichnet sind, und der Exponent n die Bitposition in der Versuchssequenz bezeichnet.
  • In dem stochastischen Aktualisierungsregel-Schaltkreis 500 werden Zahlen, die von den Neuronen (xi und δj ) codiert werden, durch die STRs 510 und 520 in stochastische Bitströme übersetzt.
  • Die Erhöhung der stochastischen Bitstromlänge BL würde zwar den Fehler verringern, zugleich jedoch die Aktualisierungszeit verlängern. Bei einer Ausführungsform wird ein zulässiger Bereich von BL-Werten, mit dem sich Klassifizierungsfehler vergleichbar einem Baseline-Modell erhalten lassen, wie folgt bestimmt: Das Training findet anhand verschiedener BL-Werte statt, während Δ w m i n = η B L
    Figure DE112018000723T5_0010
    und C = 1 so definiert werden, dass sie auf die Lernraten abgestimmt sind, die für das Baseline-Modell verwendet werden. Wie sich gezeigt hat, ist für BL ein Wert von zehn ausreichend, um das stochastische Modell von dem Baseline-Modell unterscheidbar zu machen.
  • Zusätzlich hierzu wird für die stochastische Aktualisierungsregel die Änderung des Gewichtungswerts für einen einzigen Aktualisierungszyklus durch BL Δwmin begrenzt, und dieser Zustand kann eintreten, wenn die Wahrscheinlichkeiten eines Erzeugens von Impulsen von den STRs 510 und 520 (Cxi ) und (j ) bei einem Wert von Eins liegen oder größer sind. Die Auswirkung dieser Begrenzung der Gewichtungsaktualisierung wird ebenfalls berücksichtigt und führt auch dann nicht zu einer Minderung der Leistung, wenn BL einen so kleinen Wert wie zum Beispiel zehn aufweist.
  • Darüber hinaus ist die (globale) Lernrate η ein wichtiger Hyperparameter, der gesteuert werden muss.
  • Die Steuerung der Lernrate wird wie folgt realisiert: η B L Δ w m i n C 2
    Figure DE112018000723T5_0011
  • In der allgemeinsten Form lässt sich die durchschnittliche Änderung des Gewichtungswerts für das stochastische Modell folgendermaßen darstellen: E ( Δ w ij ) = B L Δ w min C 2 x i δ j
    Figure DE112018000723T5_0012
  • Somit wird die Lernrate für das stochastische Modell durch drei Parameter gesteuert: BL, Δwmin und C. Diese drei Parameter können auf die Lernraten abgestimmt werden, die in dem Baseline-Modell verwendet werden.
  • Während des Trainings werden die δ-Werte kleiner, da das Netz besser wird (und deshalb weniger Aktualisierungen benötigt). Andererseits werden die x-Werte (Δw = ηxδ) aufgrund der verwendeten tanh-Aktivierungsfunktionen 1 oder -1 (bei einer Sigmoidfunktion wären sie 0 oder 1).
  • Die stochastische Aktualisierungsregel (Koinzidenzerkennung) funktioniert schlechter, wenn die Multiplikatoren verschiedene Größenordnungen aufweisen (z.B. 1 und 10-6 ), was bedeutet, dass eine Wahrscheinlichkeit für das Auftreten eines „hohen“ Impulses in einzelnen Populationen sehr verschieden ausfällt (d.h. eine Wahrscheinlichkeit ist einmal mehr oder weniger sicher und das andere Mal quasi unmöglich).
  • Wenn eine δ-Spalte aktiv ist, werden alle Knoten in der Spalte aktualisiert, da x Zeilen mit Sicherheit aktiv sind (d.h. Werte von 1 oder -1 haben). Dies verursacht eine nicht der Wirklichkeit entsprechende räumliche Korrelation und schadet dem Prozess.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung können Werte skaliert werden, während ihr Produkt gleich bleibt, so dass sie vergleichbar (gleich) sind. Ein Beispiel lautet η BL Δ w min C 2
    Figure DE112018000723T5_0013
    η B L Δ w m i n ( C γ ) ( C γ ) , γ = max ( x i ) max ( δ j )
    Figure DE112018000723T5_0014
    wobei in der obigen Gleichung für η ( C γ )
    Figure DE112018000723T5_0015
    für Cx steht und „(Cγ)“ für Cδ steht.
  • Bei einer Ausführungsform wird die Bitlänge BL auf Eins verringert, damit der Aktualisierungszyklus so kurz wie möglich sein kann.
  • Das isotrope Aktualisierungsschema gemäß der vorliegenden Erfindung erhöht die Testgenauigkeit sowohl in einem neuronalen Faltungsnetzwerk (CNN) als auch in einem tiefen neuronalen Netzwerk (DNN), indem es eine falsche räumliche Korrelation entfernt, die durch einen sehr großen Unterschied zwischen den Größenordnungen der x- und δ-Werte verursacht wird.
  • Indem Ströme verwendet werden, die mit einer ähnlichen Wahrscheinlichkeit „hohe“ Impulse enthalten, wird die Entropie des Aktualisierungsmechanismus erhöht und ein besseres Ergebnis erzielt.
  • Bei einer Ausführungsform finden alle Operationen in Zusammenhang mit der vorliegenden Erfindung in der digitalen Domäne statt, ohne dass dadurch die Schaltkreiskomplexität erhöht würde.
  • Mit Blick auf 6 gelten die folgenden Gleichungen: P i = C x x i
    Figure DE112018000723T5_0016
    P j = C δ δ j .
    Figure DE112018000723T5_0017
  • In 6 werden Aktualisierungsimpulse (z.B. stochastische Aktualisierungsimpulse) 611 auf eine RPU-Anordnung 612 angewendet. Die Wahrscheinlichkeit einer Erzeugung eines Impulses in einer bestimmten Zeile j ist durch den Wert Pj gegeben, der durch einen STR für diese Zeile gesteuert wird. Entsprechend ist die Wahrscheinlichkeit einer Erzeugung eines Impulses in einer bestimmten Spalte i durch den Wert Pi gegeben, der durch einen STR für diese Spalte gesteuert wird. Einige dieser erzeugten Impulse aus der i-ten Spalte und der j-ten Zeile können sich für eine RPU-Einheit überlappen (zusammenfallen) und dabei eine inkrementelle Leitfähigkeitsänderung hervorrufen. Diese inkrementelle Leitfähigkeitsänderung entspricht einer inkrementellen Gewichtungsänderung (Δwmin ).
  • Bei deterministischen Aktualisierungsimpulsen können die stochastischen Übersetzer (STRs) durch deterministische Übersetzer (DTRs) ersetzt werden, wie für den Fachmann in Anbetracht der hier bereitgestellten Lehren der vorliegenden Erfindung offensichtlich sein dürfte, ohne dadurch vom gedanklichen Wesensgehalt der vorliegenden Erfindung abzuweichen.
  • 7 zeigt ein beispielhaftes Verfahren 700 für eine Aktualisierungsverwaltung für eine RPU-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • In Schritt 710 werden Zahlen von Neuronen empfangen (z.B. xi und δj ).
  • In Schritt 720 wird ermittelt, ob eine Aktualisierungsverwaltung verwendet werden muss. Wenn ja, fährt das Verfahren mit Schritt 730 fort. Andernfalls fährt das Verfahren mit Schritt 790 fort.
  • In Schritt 730 wird ein Skalierungsfaktor γ bestimmt, so dass: γ = max ( x i ) max ( δ j ) .
    Figure DE112018000723T5_0018
  • In Schritt 740 werden die Zahlen (xi und δj ) anhand des Skalierungsfaktors γ so skaliert, dass die Größenordnungen der skalierten Zahlen Cxxi und Cδδj gleich sind.
  • In Schritt 750 werden die skalierten Zahlen durch einen Satz von TRs in Bitströme (z.B. stochastische oder deterministische Bitströme) übersetzt, die jeweils eine entsprechende Bitlänge (BL) aufweisen.
  • In Schritt 760 wird eine Aktualisierung eines neuronalen Netzwerks angewendet.
  • In Schritt 770 wird ein neuronales Netzwerk, das durch den Aktualisierungszyklus für ein neuronales Netzwerk aktualisiert wurde, auf ein Eingabesignal angewendet, das einem bestimmten Objekt entspricht.
  • In Schritt 780 wird auf Grundlage einer Ausgabe des neuronalen Netzwerks eine Aktion durchgeführt, die sich auf das bestimmte Objekt bezieht, oder ein Zustand des bestimmten Objekts (in einen weiteren Zustand) geändert.
  • In Schritt 790 werden die Zahlen (xi und δj ) unter Verwendung von Cx und Cδ skaliert, so dass: C x = C δ = C = η / ( B L Δ w m i n )
    Figure DE112018000723T5_0019
  • Es sollte klar sein, dass die vorliegende Erfindung auf eine Fülle von Anwendungen unter Einbeziehung neuronaler Netzwerke anwendbar ist, wie beispielsweise Spracherkennung, Sprechererkennung, Gestenerkennung, Tonerkennung, Verarbeitung natürlicher Sprache, Computer Vision, Bioinformatik und dergleichen, ohne jedoch darauf beschränkt zu sein. Entsprechend können die Schritte 770 und 780 jede der voranstehenden Anwendungen beinhalten. Zum Beispiel kann in Zusammenhang mit Spracherkennung eine Lautäußerung in eine Textdarstellung der Äußerung umgewandelt werden. Ebenfalls in Zusammenhang mit Spracherkennung kann darüber hinaus eine Hardware- oder sonstige Verriegelung entriegelt werden, indem nach Belieben ein geäußertes Kennwort, ein bereitgestellter biometrischer Identifikator (z.B. ein Fingerabdruck), ein Sprecher, ein Objekt und dergleichen erkannt wird.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen 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 Befehle zur Verwendung durch eine Befehlsausführungseinheit 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 Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene 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. durch ein Lichtwellenleiterkabel geleitete 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-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit 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-/Verarbeitungseinheit 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 Java, 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 fernen Computer oder vollständig auf dem fernen 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 Weitverkehrsnetz (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, im Feld 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.
  • 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 durch 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, so dass 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, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt 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 durch einen Computer umgesetzten Prozess zu erzeugen, so dass 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.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die 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.
  • Wenn in dieser Beschreibung „eine bestimmte Ausführungsform“ oder „eine Ausführungsform“ der vorliegenden Erfindung sowie andere Abwandlungen hiervon erwähnt werden, bedeutet dies, dass ein bestimmtes Merkmal, eine Struktur, ein Kennzeichen und dergleichen, das/die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Daher bezieht sich nicht jedes Auftreten der Formulierungen „bei einer bestimmten Ausführungsform“, „bei einer Ausführungsform“ sowie aller anderen Abwandlungen hiervon, die an verschiedenen Stellen der Beschreibung auftreten, notwendigerweise auf ein und dieselbe Ausführungsform.
  • Es ist klarzustellen, dass die Verwendung einer beliebigen der folgenden Formulierungen „/“, „und/oder“ und „mindestens ... oder ...“, wie zum Beispiel im Falle von „A/B“, „A und B“ und „mindestens A oder B“, die alleinige Auswahl der als erstes genannten Option (A) oder die alleinige Auswahl der als zweites genannten Option (B) oder die Auswahl der beiden Optionen (A und B) umfassen soll. Im Falle von „A, B und/oder C“ und „mindestens A, B oder C“ soll eine derartige Formulierung als weiteres Beispiel die alleinige Auswahl der als erstes genannten Option (A), die alleinige Auswahl der als zweites genannten Option (B), die alleinige Auswahl der als drittes genannten Option (C) oder die alleinige Auswahl der als erstes und als zweites genannten Optionen (A und B) oder die alleinige Auswahl der als erstes und als drittes genannten Optionen (A und C) oder die alleinige Auswahl der als zweites und als drittes genannten Optionen (B und C) oder die Auswahl aller drei Optionen (A und B und C) umfassen. Wie dem Fachmann für dieses und verwandte technische Gebiete offensichtlich sein sollte, lässt sich dies auf so viele Elemente ausdehnen, wie genannt werden.
  • Nachdem bevorzugte Ausführungsformen eines (zur Veranschaulichung gedachten und nicht als Beschränkung zu verstehenden) Systems und Verfahrens beschrieben wurden, wird darauf verwiesen, dass Fachleute in Zusammenhang mit der obigen Lehre Änderungen und Abwandlungen vornehmen können. Daher sollte klar sein, dass an den einzelnen offenbarten Ausführungsformen Änderungen vorgenommen werden können, die vom inhaltlichen Umfang der Erfindung abgedeckt sind, wie er durch die beigefügten Ansprüche dargelegt ist. Nachdem somit Aspekte der Erfindung mit den patentrechtlich vorgeschriebenen Einzelheiten und Besonderheiten beschrieben wurden, wird der Anspruchs- und Schutzgegenstand des Patents in den beigefügten Ansprüchen dargelegt.

Claims (25)

  1. Durch einen Computer realisiertes Verfahren für eine Aktualisierungsverwaltung für ein neuronales Netzwerk, wobei das Verfahren aufweist: Durchführen eines isotropen Aktualisierungsprozesses für das neuronale Netzwerk unter Verwendung einer resistiven Verarbeitungseinheit (Resistive Processing Unit, RPU), wobei der isotrope Aktualisierungsprozess einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation verwendet, wobei der Durchführungsschritt ein Skalieren des Multiplikanden und des Multiplikators aufweist, so dass sie eine gleiche Größenordnung aufweisen.
  2. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei der Multiplikand und der Multiplikator so skaliert werden, dass vor und nach dem Skalieren ein gleiches Produkt gegeben ist.
  3. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei der Skalierungsschritt in einem Eingabekonditionierungsprozess durchgeführt wird, der auf Eingaben des isotropen Aktualisierungsprozesses angewendet wird.
  4. Durch einen Computer realisiertes Verfahren nach Anspruch 3, wobei der Eingabekonditionierungsprozess falsche räumliche Korrelationen entfernt, die durch einen Unterschied zwischen den Größenordnungen des Multiplikanden und des Multiplikators verursacht werden.
  5. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei der isotrope Aktualisierungsprozess unter Verwendung lediglich eines einzigen Aktualisierungszyklus durchgeführt wird.
  6. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei die RPU-Anordnung konfiguriert ist, um eine analoge Vektor-Matrix-Multiplikation durchzuführen.
  7. Durch einen Computer realisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend ein Übersetzen eines Satzes von Zahlen, die Neuronen des neuronalen Netzwerks entsprechen, in stochastische Bitströme durch einen oder mehrere stochastische Übersetzer.
  8. Durch einen Computer realisiertes Verfahren nach Anspruch 7, wobei der isotrope Aktualisierungsprozess für diejenigen stochastischen Bitströme durchgeführt wird, die eine Bitlänge aufweisen, die ein oder mehrere vorbestimmte Kriterien erfüllt.
  9. Durch einen Computer realisiertes Verfahren nach Anspruch 8, wobei das eine oder die mehreren vorbestimmten Kriterien ein Vorhandensein einer kleinsten Bitstromlänge aufweisen.
  10. Durch einen Computer realisiertes Verfahren nach Anspruch 7, wobei der Skalierungsfaktor auf einen Verstärkungsfaktor des einen oder der mehreren stochastischen Übersetzer angewendet wird.
  11. Durch einen Computer realisiertes Verfahren nach Anspruch 7, wobei der eine oder die mehreren stochastischen Übersetzer einen ersten stochastischen Übersetzer und einen zweiten stochastischen Übersetzer aufweisen und wobei der Skalierungsschritt ein Multiplizieren eines Verstärkungsfaktors des ersten stochastischen Übersetzers mit dem Skalierungsfaktor und ein Dividieren eines Verstärkungsfaktors des zweiten stochastischen Übersetzers durch den Skalierungsfaktor aufweist.
  12. Durch einen Computer realisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend ein Übersetzen eines Satzes von Zahlen, die Neuronen des neuronalen Netzwerks entsprechen, in deterministische Bitströme durch einen oder mehrere deterministische Übersetzer.
  13. Durch einen Computer realisiertes Verfahren nach Anspruch 12, wobei der isotrope Aktualisierungsprozess für diejenigen deterministischen Bitströme durchgeführt wird, die eine Bitlänge aufweisen, die ein oder mehrere vorbestimmte Kriterien erfüllt.
  14. Durch einen Computer realisiertes Verfahren nach Anspruch 13, wobei das eine oder die mehreren vorbestimmten Kriterien ein Vorhandensein einer kleinsten Bitstromlänge aufweisen.
  15. Durch einen Computer realisiertes Verfahren nach Anspruch 12, wobei der Skalierungsfaktor auf einen Verstärkungsfaktor des einen oder der mehreren deterministischen Übersetzer angewendet wird.
  16. Durch einen Computer realisiertes Verfahren nach Anspruch 12, wobei der eine oder die mehreren deterministischen Übersetzer einen ersten deterministischen Übersetzer und einen zweiten deterministischen Übersetzer aufweisen und wobei der Skalierungsschritt ein Multiplizieren eines Verstärkungsfaktors des ersten deterministischen Übersetzers mit dem Skalierungsfaktor und ein Dividieren eines Verstärkungsfaktors des zweiten deterministischen Übersetzers durch den Skalierungsfaktor aufweist.
  17. Computerprogrammprodukt für eine Aktualisierungsverwaltung für ein neuronales Netzwerk, wobei das Computerprogrammprodukt ein nicht flüchtiges durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmbefehlen aufweist, wobei die Programmbefehle durch ein Computersystem ausführbar sind, um das Computersystem zum Durchführen eines Verfahrens zu veranlassen, aufweisend: ein Durchführen eines isotropen Aktualisierungsprozesses für das neuronale Netzwerk unter Verwendung einer resistiven Verarbeitungseinheit, wobei der isotrope Aktualisierungsprozess einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation verwendet, wobei der Durchführungsschritt ein Skalieren des Multiplikanden und des Multiplikators aufweist, so dass sie eine gleiche Größenordnung aufweisen.
  18. Computerprogrammprodukt nach Anspruch 17, wobei der Multiplikand und der Multiplikator so skaliert werden, dass vor und nach dem Skalieren ein gleiches Produkt gegeben ist.
  19. Computerprogrammprodukt nach Anspruch 17, wobei der Skalierungsschritt in einem Eingabekonditionierungsprozess durchgeführt wird, der auf Eingaben des isotropen Aktualisierungsprozesses angewendet wird.
  20. Computerprogrammprodukt nach Anspruch 19, wobei der Eingabekonditionierungsprozess falsche räumliche Korrelationen entfernt, die durch einen Unterschied zwischen den Größenordnungen des Multiplikanden und des Multiplikators verursacht werden.
  21. Computerprogrammprodukt nach Anspruch 17, wobei der isotrope Aktualisierungsprozess unter Verwendung lediglich eines einzigen Aktualisierungszyklus durchgeführt wird.
  22. Computerprogrammprodukt nach Anspruch 17, wobei die RPU-Anordnung konfiguriert ist, um eine analoge Vektor-Matrix-Multiplikation durchzuführen.
  23. Computerverarbeitungssystem für eine Aktualisierungsverwaltung für ein neuronales Netzwerk, wobei das Computerverarbeitungssystem aufweist: eine resistive Verarbeitungseinheit (RPU), die konfiguriert ist, um einen isotropen Aktualisierungsprozess für das neuronale Netzwerk durchzuführen, wobei der isotrope Aktualisierungsprozess einen Multiplikanden und einen Multiplikator aus einer Multiplikationsoperation verwendet, wobei die RPU konfiguriert ist, um den isotropen Aktualisierungsprozess durchzuführen, indem sie den Multiplikanden und den Multiplikator so skaliert, dass sie eine gleiche Größenordnung aufweisen.
  24. Schaltkreis nach Anspruch 23, wobei das Computerverarbeitungssystem des Weiteren einen nicht linearen Filter aufweist.
  25. Schaltkreis nach Anspruch 23, wobei die RPU in einer anwendungsspezifischen integrierten Schaltung enthalten ist.
DE112018000723.5T 2017-04-14 2018-03-13 Aktualisierungsverwaltung für eine RPU-Anordnung Pending DE112018000723T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/487,701 US10783432B2 (en) 2017-04-14 2017-04-14 Update management for RPU array
US15/487,701 2017-04-14
PCT/IB2018/051644 WO2018189600A1 (en) 2017-04-14 2018-03-13 Update management for rpu array

Publications (1)

Publication Number Publication Date
DE112018000723T5 true DE112018000723T5 (de) 2019-10-24

Family

ID=63790739

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000723.5T Pending DE112018000723T5 (de) 2017-04-14 2018-03-13 Aktualisierungsverwaltung für eine RPU-Anordnung

Country Status (6)

Country Link
US (2) US10783432B2 (de)
JP (1) JP6986569B2 (de)
CN (1) CN110506282B (de)
DE (1) DE112018000723T5 (de)
GB (1) GB2576275A (de)
WO (1) WO2018189600A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303998B2 (en) * 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US11651231B2 (en) 2019-03-01 2023-05-16 Government Of The United States Of America, As Represented By The Secretary Of Commerce Quasi-systolic processor and quasi-systolic array
US11562249B2 (en) * 2019-05-01 2023-01-24 International Business Machines Corporation DNN training with asymmetric RPU devices
CN110750231B (zh) * 2019-09-27 2021-09-28 东南大学 一种面向卷积神经网络的双相系数可调模拟乘法计算电路
US11501148B2 (en) * 2020-03-04 2022-11-15 International Business Machines Corporation Area and power efficient implementations of modified backpropagation algorithm for asymmetric RPU devices
US11501023B2 (en) * 2020-04-30 2022-11-15 International Business Machines Corporation Secure chip identification using resistive processing unit as a physically unclonable function
US11366876B2 (en) 2020-06-24 2022-06-21 International Business Machines Corporation Eigenvalue decomposition with stochastic optimization
US11443171B2 (en) * 2020-07-15 2022-09-13 International Business Machines Corporation Pulse generation for updating crossbar arrays
US11568217B2 (en) * 2020-07-15 2023-01-31 International Business Machines Corporation Sparse modifiable bit length deterministic pulse generation for updating analog crossbar arrays

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258934A (en) 1990-05-14 1993-11-02 California Institute Of Technology Charge domain bit serial vector-matrix multiplier and method thereof
JPH04153827A (ja) * 1990-10-18 1992-05-27 Fujitsu Ltd ディジタル乗算器
US20040083193A1 (en) 2002-10-29 2004-04-29 Bingxue Shi Expandable on-chip back propagation learning neural network with 4-neuron 16-synapse
EP1508872A1 (de) * 2003-08-22 2005-02-23 Semeion Algorithmus zum Erkennen von Verhältnissen zwischen Daten einer Datenbank und auf diesem Algorithmus basierende Bildmustererkennungsmethode
US9715655B2 (en) 2013-12-18 2017-07-25 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for performing close-loop programming of resistive memory devices in crossbar array based hardware circuits and systems
US9466362B2 (en) 2014-08-12 2016-10-11 Arizona Board Of Regents On Behalf Of Arizona State University Resistive cross-point architecture for robust data representation with arbitrary precision
US20170061279A1 (en) * 2015-01-14 2017-03-02 Intel Corporation Updating an artificial neural network using flexible fixed point representation
US10748064B2 (en) 2015-08-27 2020-08-18 International Business Machines Corporation Deep neural network training with native devices
US10325006B2 (en) 2015-09-29 2019-06-18 International Business Machines Corporation Scalable architecture for analog matrix operations with resistive devices
US10387778B2 (en) 2015-09-29 2019-08-20 International Business Machines Corporation Scalable architecture for implementing maximization algorithms with resistive devices
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Also Published As

Publication number Publication date
JP2020517002A (ja) 2020-06-11
US20180300627A1 (en) 2018-10-18
US20180300622A1 (en) 2018-10-18
GB201916146D0 (en) 2019-12-18
GB2576275A (en) 2020-02-12
US10783432B2 (en) 2020-09-22
JP6986569B2 (ja) 2021-12-22
CN110506282B (zh) 2023-04-28
US11062208B2 (en) 2021-07-13
WO2018189600A1 (en) 2018-10-18
CN110506282A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
DE112018000723T5 (de) Aktualisierungsverwaltung für eine RPU-Anordnung
DE212020000731U1 (de) Kontrastives Vortraining für Sprachaufgaben
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE202016008253U1 (de) Komprimierte rekurrente neuronale Netzwerkmodelle
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE112018006189T5 (de) Robuste gradienten-gewichtskomprimierungsschemata für deep-learning-anwendungen
DE112019003529T5 (de) Datendarstellung für dynamische Genauigkeit in Kernen neuronaler Netze
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE102013213397A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Stützstellendaten für ein datenbasiertes Funktionsmodell
DE112011101370T5 (de) Neuronales Netz mit kanonischen gepulsten Neuronen für einen raumzeitlichen Assoziativspeicher
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE112019005119T5 (de) Abgleichtechniken zum angleichen des symmetriepunktes als null-gewichtungspunkt in analogen kreuzungspunktanordnungen
DE112020004031T5 (de) Systembezogene selektive quantisierung für in der leistungsfähigkeit optimiertes verteiltes deep learning
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
DE102020120141A1 (de) Verfahren zum Optimieren von Tests von Regelsystemen für automatisierte Fahrdynamiksysteme mittels probabilistisch prädizierter Systemantworten
EP4000010A1 (de) Vorrichtung und computerimplementiertes verfahren für die verarbeitung digitaler sensordaten und trainingsverfahren dafür
DE112021003881T5 (de) Online-training von neuronalen netzen
DE102018204514A1 (de) Handhaben einer signalsättigung in gepulsten neuronalen netzen
DE112021005637T5 (de) Worst-case-rausch- und grenzmanagement bei rpu-kreuzschienenanordnungen
DE112020002547T5 (de) Rausch- und signalverwaltung für rpu-array
DE112021001968T5 (de) Driftregularisierung zum entgegenwirken einer variation in driftkoeffizienten für analoge beschleuniger
DE102021123580A1 (de) Verfahren zum entwickeln einer initialisierungsfunktion zum programmieren eines speicherelements

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication