-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung ist eine nicht-vorläufige Anmeldung der vorläufigen
US-Anmeldung 63/054247 , „ONLINE TRAINING OF RECURRENT NEURAL NETWORKS“, die am 21. Juli 2020 eingereicht wurde und hiermit durch Bezugnahme in ihrer Gesamtheit für alle Zwecke aufgenommen wird.
-
HINTERGRUND
-
Die Erfindung betrifft insbesondere ein von einem Computer umgesetztes Verfahren zum Trainieren von neuronalen Netzen, insbesondere rekurrenten neuronalen Netzen.
-
Die Erfindung betrifft ferner ein zugehöriges neuronales Netz und ein zugehöriges Computerprogrammprodukt.
-
In den letzten Jahren ist die Zahl der Anwendungen, die künstliche neuronale Netze (KNNs) verwenden, schnell gewachsen. Vor allem bei Aufgaben wie Spracherkennung, Sprachübersetzung oder dem Bau neuronaler Computer haben rekurrente KNNs, sogenannte RNNs, erstaunliche Leistungen gezeigt.
-
Rekurrente neuronale Netze (RNNs) haben in den letzten Jahren eine wichtige Rolle bei den Fortschritten der künstlichen Intelligenz gespielt. Ein bekannter Ansatz zum Trainieren von RNNs ist ein Gradienten-gestütztes Training unter Verwendung von Backpropagation of Errors Through Time („Rückführung von Fehlern über die Zeit“, BPTT).
-
BPTT hat jedoch Einschränkungen, da es alle vergangenen Aktivitäten verfolgen muss, indem es das Netz in der Zeit entfaltet, was mit zunehmender Länge der Eingabesequenz sehr tief werden kann. Beispielsweise ergibt eine zwei Sekunden lange gesprochene Eingabesequenz mit 1-ms-Zeitschritten ein 2000 Schichten tiefes entfaltetes Netz.
-
Dementsprechend kann die Rückführung von Fehlern über die Zeit zu Systemsperrproblemen führen, wodurch BPTT für Online-Lernszenarien ziemlich unbrauchbar wird. Varianten, die Online-Training ermöglichen, haben in letzter Zeit wieder die Aufmerksamkeit der Forschungsgemeinschaft auf sich gezogen. Ein bekannter Ansatz konzentriert sich darauf, BPTT durch Online-Algorithmen zu approximieren. Ein anderer Ansatz lässt sich von der Biologie inspirieren und untersucht gepulste neuronale Netze („spiked neural networks“, SNNs).
-
Somit besteht weiterhin Bedarf an vorteilhaften Verfahren zum Trainieren, insbesondere dem Online-Trainieren neuronaler Netze.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt ist die Erfindung als von einem Computer umgesetztes Verfahren zum Trainieren eines neuronalen Netzes ausgeführt. Das Netz weist eine oder mehrere Schichten neuronaler Einheiten auf. Jede neuronale Einheit hat einen internen Zustand, der auch als Einheitenzustand bezeichnet werden kann. Das Verfahren weist ein Bereitstellen von Trainingsdaten, die ein Eingangssignal und ein erwartetes Ausgangssignal aufweisen, an das neuronale Netz auf. Das Verfahren weist ferner ein Bestimmen einer räumlichen Gradientenkomponente für jede neuronale Einheit und ein Bestimmen einer zeitlichen Gradientenkomponente für jede neuronale Einheit auf. Das Verfahren weist ferner ein Aktualisieren der zeitlichen und der räumlichen Gradientenkomponente für jede neuronale Einheit zu jedem Zeitpunkt des Eingangssignals auf.
-
Dementsprechend stützen sich Verfahren gemäß Ausführungsformen der Erfindung auf eine Trennung von räumlichen und zeitlichen Gradientenkomponenten. Dies kann ein tieferes Verständnis von Rückkopplungsmechanismen ermöglichen. Darüber hinaus kann es eine wirtschaftliche Umsetzung auf Hardwarebeschleunigern wie memristiven Arrays erleichtern. Verfahren gemäß Ausführungsformen der Erfindung können insbesondere zum Online-Training verwendet werden. Verfahren gemäß Ausführungsformen der Erfindung können insbesondere verwendet werden, um Trainingsparameter des neuronalen Netzes zu trainieren.
-
Verfahren gemäß Ausführungsformen der Erfindung verarbeiten als Eingangssignale zeitliche Daten. Zeitliche Daten können als Daten definiert werden, die einen Zustand oder Wert in der Zeit darstellen, oder mit anderen Worten als Daten, die sich auf Zeitpunkte beziehen. Die Eingangssignale können insbesondere aus fortlaufenden Eingangsdatenströmen bestehen. Das Eingangssignal wird von dem neuronalen Netz zu Zeitpunkten oder mit anderen Worten in Zeitschritten verarbeitet.
-
Gemäß einer Ausführungsform wird das Bestimmen der räumlichen und der zeitlichen Gradientenkomponente unabhängig voneinander ausgeführt. Dies hat den Vorteil, dass diese Gradientenkomponenten parallel berechnet werden können, was die Rechenzeit verringert.
-
Gemäß Ausführungsformen bilden die räumlichen Gradientenkomponenten Lernsignale und die zeitlichen Gradientenkomponenten Ereignisspuren (engl. „eligibility trace“).
-
Verfahren gemäß Ausführungsformen der Erfindung können insbesondere für Einheiten mit geringer Komplexität wie Internet-of-Things(loT)-Einheiten sowie Edge-Artificial-Intelligence- (AI) -Einheiten verwendet werden.
-
Gemäß Ausführungsformen weist das Verfahren ein Aktualisieren von Trainingsparametern des neuronalen Netzes zu bestimmten bzw. vordefinierten Zeitpunkten auf, insbesondere zu jedem Zeitpunkt. Die Aktualisierung kann insbesondere in Abhängigkeit von der räumlichen und der zeitlichen Gradientenkomponenten erfolgen.
-
Die gemäß Ausführungsformen trainierbaren Trainingsparameter umfassen insbesondere Eingangsgewichte und/oder rekursive Gewichte der neuronalen Einheiten. Durch die Aktualisierung der Trainingsparameter zu jedem Zeitpunkt lernen die neuronalen Einheiten zu jedem Zeitpunkt oder mit anderen Worten in jedem Zeitschritt.
-
Gemäß Ausführungsformen stützen sich die räumlichen Gradientenkomponenten auf Konnektivitätsparameter des neuronalen Netzes, beispielsweise der Konnektivität der einzelnen neuronalen Einheiten. Gemäß Ausführungsformen beschreiben die Konnektivitätsparameter insbesondere Parameter der Architektur des neuronalen Netzes. Gemäß Ausführungsformen können die Konnektivitätsparameter als Anzahl oder Satz von Übertragungsleitungen definiert werden, die einen Informationsaustausch zwischen einzelnen neuronalen Einheiten ermöglichen. Gemäß Ausführungsformen sind die räumlichen Gradientenkomponenten Komponenten, die die räumlichen Aspekte des neuronalen Netzes berücksichtigen, insbesondere gegenseitige Abhängigkeiten zwischen den einzelnen neuronalen Einheiten zu jedem Zeitpunkt.
-
Gemäß Ausführungsformen stützen sich die zeitlichen Gradientenkomponenten auf die zeitliche Dynamik der neuronalen Einheiten. Gemäß Ausführungsformen sind die zeitlichen Gradientenkomponenten Komponenten, die die zeitliche Dynamik der neuronalen Einheiten berücksichtigen, insbesondere die zeitliche Entwicklung der internen Zustände/Einheitenzustände.
-
Gemäß Ausführungsformen weist das Verfahren ein Bestimmen einer räumlichen Gradientenkomponente zu jedem Zeitpunkt für jede der einen oder mehreren Schichten und ein Bestimmen einer zeitlichen Gradientenkomponente für jede der einen oder mehreren Schichten zu jedem Zeitpunkt auf. Somit berechnet das Verfahren zu jedem Zeitpunkt/Zeitschritt eine zeitliche Gradientenkomponente und eine räumliche Gradientenkomponente je Schicht. Die räumlichen Gradientenkomponenten/das Lernsignal kann für jede Schicht spezifisch sein und breitet sich von der letzten Schicht zur Eingabeschicht aus, ohne in der Zeit zurückzugehen, d.h. es stellt den räumlichen Gradienten dar, der durch die Netzarchitektur läuft.
-
Gemäß Ausführungsformen kann jede Schicht ihre eigene zeitliche Gradientenkomponente/Ereignisspur berechnen, die ausschließlich von Beiträgen der jeweiligen Schicht abhängig ist, d.h. sie stellt den zeitlichen Gradienten dar, der die Zeit für dieselbe Schicht durchläuft. Gemäß Ausführungsformen können die räumlichen Gradientenkomponenten für zwei oder mehr Schichten gemeinsam genutzt werden.
-
Gemäß Ausführungsformen kann das Verfahren sowohl für einschichtige als auch für mehrschichtige Netze verwendet werden.
-
Gemäß Ausführungsformen kann das Verfahren auf rekurrente neuronale Netze, gepulste neuronale Netze und hybride Netze angewendet werden, die Einheiten aufweisen oder daraus bestehen, die einen Einheitenzustand aufweisen, und Einheiten, die keinen Einheitenzustand aufweisen.
-
Gemäß Ausführungsformen können das Verfahren oder Teile des Verfahrens auf neuromorpher Hardware umgesetzt werden, insbesondere auf Arrays von memristiven Einheiten.
-
Für flache Netze können Verfahren gemäß Ausführungsformen der Erfindung zu der Backpropagation-through-time- (BPTT) -Technik äquivalente Gradienten beibehalten.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der Erfindung ist ein neuronales Netz, insbesondere ein rekurrentes neuronales Netz vorgesehen. Das neuronale Netz weist eine oder mehrere Schichten von neuronalen Einheiten auf. Jede neuronale Einheit weist einen internen Zustand auf, der auch als Einheitenzustand bezeichnet werden kann. Das neuronale Netz ist zum Ausführen eines Verfahrens konfiguriert, das ein Bereitstellen von Trainingsdaten aufweist, die ein Eingangssignal und ein erwartetes Ausgangssignal für das neuronale Netz aufweisen. Das Verfahren weist ferner ein Berechnen einer räumlichen Gradientenkomponente für jede neuronale Einheit und ein Berechnen einer zeitlichen Gradientenkomponente für jede neuronale Einheit auf. Das Verfahren weist ferner ein Aktualisieren der zeitlichen und der räumlichen Gradientenkomponente für jede neuronale Einheit zu jedem Zeitpunkt des Eingangssignals auf. Die Berechnung der räumlichen und der zeitlichen Gradientenkomponente kann unabhängig voneinander ausgeführt werden.
-
Gemäß Ausführungsformen kann das neuronale Netz aus einem rekurrenten neuronalen Netz, einem gepulsten neuronalen Netz oder einem hybriden neuronalen Netz bestehen.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der Erfindung ist ein Computerprogrammprodukt zum Trainieren eines neuronalen Netzes vorgesehen. Das Computerprogrammprodukt weist ein von einem Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen auf, wobei die Programmanweisungen durch das neuronale Netz ausführbar sind, um das neuronale Netz zu veranlassen, ein Verfahren auszuführen, das Schritte zum Empfangen von Trainingsdaten aufweist, die ein Eingangssignal und ein erwartetes Ausgangssignal aufweisen. Das Verfahren weist weitere Schritte eines Berechnens einer räumlichen Gradientenkomponente für jede neuronale Einheit und eines Berechnens einer zeitlichen Gradientenkomponente für jede neuronale Einheit auf. Weitere Schritte umfassen ein Aktualisieren der zeitlichen und der räumlichen Gradientenkomponente für jede neuronale Einheit zu jedem Zeitpunkt des Eingangssignals. Gemäß Ausführungsformen kann das Berechnen der räumlichen und der zeitlichen Gradientenkomponente unabhängig voneinander ausgeführt werden.
-
Ausführungsformen der Erfindung werden nachfolgend im Einzelnen anhand darstellender und nicht einschränkender Beispiele unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Figurenliste
-
- 1 zeigt den Gradientenfluss eines von einem Computer umgesetzten Verfahrens zum Trainieren eines neuronalen Netzes gemäß einer Ausführungsform der Erfindung;
- 2 zeigt den Gradientenfluss eines von einem Computer umgesetzten Verfahrens zum Trainieren eines neuronalen Netzes gemäß einer Ausführungsform der Erfindung;
- 3 zeigt eine gepulste neuronale Einheit eines gepulsten neuronalen Netzes;
- 4a zeigt Testergebnisse von Verfahren gemäß Ausführungsformen der Erfindung im Vergleich zu Backpropagation-through-time- (BPTT) -Techniken;
- 4b zeigt weitere Testergebnisse von Verfahren gemäß Ausführungsformen der Erfindung im Vergleich zu Backpropagation-through-time- (BPTT) -Techniken;
- 5 zeigt das Testergebnis einer weiteren Aufgabe bezüglich der Klassifikation handgeschriebener Ziffern;
- 6 zeigt, wie Verfahren gemäß Ausführungsformen der Erfindung auf neuromorpher Hardware umgesetzt werden können;
- 7 zeigt eine vereinfachte schematische Darstellung eines neuronalen Netzes gemäß einer Ausführungsform der Erfindung;
- 8 zeigt ein Flussdiagramm von Verfahrensschritten eines von einem Computer umgesetzten Verfahrens zum Trainieren von Parametern eines rekurrenten neuronalen Netzes;
- 9 zeigt eine beispielhafte Ausführungsform eines Datenverarbeitungssystems zum Ausführen eines Verfahrens gemäß Ausführungsformen der Erfindung;
- Die 10 und 11 zeigen eine beispielhafte detaillierte Ableitung von Verfahren gemäß Ausführungsformen der Erfindung für tiefe neuronale Netze.
-
DETAILLIERTE BESCHREIBUNG
-
Ausführungsformen der Erfindung sehen ein Verfahren zum Trainieren, insbesondere zum Online-Training, von neuronalen Netzen vor, insbesondere rekurrenten neuronalen Netzen (RNNs). Das Verfahren kann im Folgenden auch als OSTL bezeichnet werden. Verfahren gemäß Ausführungsformen der Erfindung stellen einen vorteilhaften Algorithmus bereit, der für Online-Lernanwendungen verwendet werden kann, indem räumliche und zeitliche Gradienten getrennt werden.
-
1 zeigt den Gradientenfluss eines von einem Computer umgesetzten Verfahrens zum Trainieren eines neuronalen Netzes 100 gemäß einer Ausführungsform der Erfindung. Für 1 wird angenommen, dass das neuronale Netz 100 ein rekurrentes neuronales Netz (RNN) mit einer einzigen Schicht 110 ist, die neuronale Einheiten 111 aufweist. Das neuronale Netz wird für drei Zeitschritte t entfaltet.
-
Jede neuronale Einheit 111 weist einen internen Zustand S 120 auf. Das Verfahren weist ein Bereitstellen von Trainingsdaten, die ein Eingangssignal xt 131 aufweisen, und ein erwartetes Ausgangssignal 132 an das neuronale Netz auf. Nun berechnet das Verfahren für jede neuronale Einheit 110 eine räumliche Gradientenkomponente Lt 141 und eine zeitliche Gradientenkomponente et 142. Ferner werden zu jedem Zeitpunkt t des Eingangssignals 131 die zeitlichen Gradientenkomponenten 130 und die räumlichen Gradientenkomponenten 131 für jede neuronale Einheit 110 aktualisiert.
-
Ziel des Lernens/Trainings ist es, Parameter θ des neuronalen Netzes so zu trainieren, dass es den Fehler Et bei dem gegenwärtigen Ausgangssignal yt und dem Eingangssignal xt zu einer Zeit t minimiert.
-
In RNNs hängt der Netzfehler Et zur Zeit t oft von der Ausgabe yt der neuronalen Einheiten in der Ausgangsschicht ab, d.h. Et = f(yt). Weiter können viele neuronale Einheiten in RNNs einen internen Zustand st enthalten, von dem die Ausgabe abhängt, d.h. yt = f(st). Dieser interne Zustand der neuronalen Einheiten kann eine rekursive Funktion seiner selbst sein, der zusätzlich über trainierbare Eingangsgewichte W und trainierbare Rekurrenzgewichte H von seinem Eingangssignal xt bzw. rekursiv von seinen Ausgangssignalen abhängt.
-
Gemäß Ausführungsformen kann eine Gleichung für den internen Zustand als st = f(xt, st-1, yt-1, W, H) formuliert werden, zum Beispiel st = Wxt + Hyt-1.
-
Der Einfachheit halber können alle trainierbaren Parameter des RNN 100 im Folgenden gemeinsam durch eine Variable θ beschrieben werden. Dies vereinfacht die obige Gleichung zu st = f(xt, st-1, yt-1, θ).
-
Außerdem kann die Darstellung der Ausgabe yt gemäß Ausführungsformen erweitert werden, so dass sie auch eine direkte Abhängigkeit von den trainierbaren Parametern berücksichtigt, d.h. yt = f(st, θ), zum Beispiel yt = σ(st + b).
-
Unter Verwendung dieser Darstellung kann die erforderliche Änderung der Parameter θ zur Minimierung von E auf Grundlage des Prinzips des Gradientenabstiegs berechnet werden als
-
Davon ausgehend verwenden Ausführungsformen der Erfindung die Backpropagation-through-time- (BPTT) -Technik als Ausgangspunkt für die Ableitung und drücken dE/dθ aus als
wobei die Summation über die Zeit vom ersten Zeitschritt t = 1 bis zum letzten Zeitschritt t = T reicht. Nun wird Gleichung 2 unten erweitert und eine Rekursion aufgelöst, die ausgenutzt werden kann, um eine Online-Umformulierung der BPTT zu erstellen. Der Kürze halber skizzieren wir nur die Hauptschritte für eine einzelne Einheit, aber die detaillierte Herleitung ist im ergänzenden Material weiter unten angegeben. Insbesondere kann gezeigt werden, dass
-
Gleichung 3 kann wie folgt in rekursiver Form umgeschrieben werden
-
Dies führt zu einem Ausdruck des Gradienten als
wobei
-
Somit können gemäß Ausführungsformen die Berechnung der räumlichen und der zeitlichen Gradientenkomponente unabhängig voneinander ausgeführt werden.
-
Im Beispiel von Standard-RNNs ist die explizite Form dieser Gleichungen
-
Gemäß Ausführungsformen lehnen sich die Bezeichnungen an die Standardnomenklatur biologischer Systeme an, bei denen die Änderung synaptischer Gewichte häufig in ein Lernsignal und eine Ereignisspur zerlegt wird. Im einfachsten Fall sind die Ereignisspuren tiefpassgefilterte Versionen der neuronalen Aktivitäten, während die Lernsignale räumlich vermittelte Belohnungssignale darstellen. Somit können gemäß Ausführungsformen die mit et,θ in Gleichung 6 bezeichneten zeitlichen Gradienten zu Ereignisspuren gehören, und die mit Lt in Gleichung 7 bezeichneten räumlichen Gradienten können zu Lernsignalen gehören.
-
Ähnlich wie bei biologischen Systemen wird die Parameteränderung dE/dθ gemäß Gleichung 5 als Summe der Produkte der Ereignisspur und des Lernsignals über die Zeit berechnet. Dadurch können die Parameteraktualisierungen online berechnet werden, wie in 1 gezeigt.
-
Weiterhin ist zu beachten, dass die Ableitung in Gleichung 6 exakt ist.
-
Wie in 1 gezeigt, können bei jedem Zeitschritt die zeitlichen Gradienten mit den räumlichen Gradienten dieses Zeitschritts zusammengeführt werden und müssen nicht bis zum Beginn der Eingangssequenz/des Eingangssignals zurückgehen, wie es gemäß der bekannten Backpropagation-through-time-Technik erforderlich ist.
-
2 zeigt den Gradientenfluss eines von einem Computer umgesetzten Verfahrens zum Trainieren eines neuronalen Netzes 200 gemäß einer Ausführungsform der Erfindung. Für 2 wird angenommen, dass das neuronale Netz 200 ein rekurrentes neuronales Netz (RNN) mit mehreren Schichten ist.
-
Insbesondere zeigt 2 den Gradientenfluss für ein zweischichtiges RNN, das eine erste Schicht 210 mit neuronalen Einheiten 211 und eine zweite Schicht 220 mit neuronalen Einheiten 221 aufweist. Die Schichten 210 und 220 sind für drei Zeitschritte entfaltet und die räumlichen und die zeitlichen Gradienten sind getrennt.
-
Jede neuronale Einheit 211 hat einen internen Zustand S1 230. Jede neuronale Einheit 221 hat einen internen Zustand S2 231. Das Verfahren weist ein Bereitstellen von Trainingsdaten auf, die ein Eingangssignal xt 141 und ein erwartetes Ausgangssignal 142 an das neuronale Netz 200 aufweisen. Nun berechnet das Verfahren für jede neuronale Einheit 211 eine räumliche Gradientenkomponente L1 t 151 und für jede neuronale Einheit 221 eine räumliche Gradientenkomponente L2 t 152. Weiterhin berechnet das Verfahren für jede neuronale Einheit 211 eine zeitliche Gradientenkomponente e1 t 161 und für jede neuronale Einheit 221 eine zeitliche Gradientenkomponente e2 t 162.
-
Außerdem werden zu jedem Zeitpunkt t des Eingangssignals 141 die zeitlichen Gradientenkomponenten 161, 162 und die räumlichen Gradientenkomponenten 151, 152 für jede neuronale Einheit 211 bzw. 221 aktualisiert.
-
Viele der neuesten Anwendungen beruhen auf komplizierteren mehrschichtigen Architekturen. Um Verfahren gemäß Ausführungsformen der Erfindung auf tiefe Architekturen zu erweitern, können die Definitionen der Zustände st und der Ausgabe yt wie folgt aktualisiert werden. Der Fehler Et in tiefen Architekturen ist nur von der letzten Ausgabeschicht k abhängig, d.h. Et = f(yk t), und jede Schicht I hat ihre eigenen trainierbaren Parameter θI. Die Eingabe in Schicht I ist die Ausgabe der vorherigen Schicht yI-1 t und für die erste Schicht wird die externe Eingabe y0 t = xt verwendet.
-
Somit können die Definitionen angepasst werden zu
-
Für ein einschichtiges neuronales Netz kommt die Trennung von räumlichen und zeitlichen Komponenten zustande, wenn man den durch die Gleichungen 3 bis 5 skizzierten Ableitungen folgt.
-
Für eine mehrschichtige Architektur kann jedoch der Ausdruck dst/dθ in Gleichung 3 unterschiedliche Schichten I und m einbeziehen, z.B. dsI t/dθm, und führt dadurch zu Abhängigkeiten zwischen den Schichten, siehe das ergänzende Material.
-
Um die oben beschriebenen Vorteile zu erhalten, wird gemäß Ausführungsformen der Erfindung die klare Trennung von räumlichen und zeitlichen Gradienten auch für mehrschichtige Architekturen eingeführt. Dementsprechend werden ähnliche Schritte wie oben für ein Einzelschicht-RNN beschrieben unter Verwendung der verallgemeinerten Zustands- und Ausgabegleichung 8 und 9 ausgeführt. Nach den detaillierten Herleitungen im ergänzenden Material ergeben sich für Schicht I folgende Ereignisspuren und Lernsignale:
wobei
-
Nun kann gezeigt werden, dass
-
Wie man durch Vergleich der Gleichungen 5 und 13 erkennen kann, bleibt der Ansatz gemäß Ausführungsformen der Erfindung bezüglich einer Multiplikation eines Lernsignals LI t mit einer Ereignisspur eI t,θ bei tiefen Netzen gleich.
-
Das Lernsignal LI t ist für jede Schicht spezifisch und breitet sich von der letzten Schicht bis zur Eingabeschicht aus, ohne in der Zeit zurückzugehen, d.h. es stellt den räumlichen Gradienten dar, der die Netzarchitektur durchläuft. Darüber hinaus berechnet jede Schicht ihre eigene Ereignisspur eI t,θ, die ausschließlich von Beiträgen der entsprechenden Schicht I abhängt, die also den zeitlichen Gradienten darstellt, der dieselbe Schicht durch die Zeit durchläuft.
-
In Gleichung 13 sind allerdings auch zusätzliche Terme beteiligt, die jeweils eine Mischung aus räumlichen und zeitlichen Gradienten enthalten und im Allgemeinen ein Zurückgehen in der Zeit erfordern. Diese Terme werden im Restterm R zusammengefasst.
-
Um die Trennung zwischen räumlichen und zeitlichen Gradienten beizubehalten, wird Gleichung 13 gemäß Ausführungsformen vereinfacht, indem der Term R weggelassen wird. Somit ergibt sich gemäß Ausführungsformen die folgende Formulierung für mehrschichtige Netze:
-
Somit wird gemäß Ausführungsformen der Erfindung bewusst auf den Restterm R verzichtet und die räumlich und zeitlich gemischten Gradientenanteile werden beim Lernen/Training nicht berücksichtigt. Untersuchungen der Erfinder der vorliegenden Erfindung haben jedoch zu der Einsicht geführt, dass dies ein vorteilhafter Ansatz ist. Insbesondere ist bei einem solchen Ansatz bekannt, was weggelassen wird. Darüber hinaus haben Simulationen der Erfinder empirische Beweise erbracht, dass auch ohne diese Terme eine konkurrenzfähige Leistung zu BPTT erreicht werden kann, wie weiter unten erläutert wird.
Darüber hinaus kann gemäß Ausführungsformen der Restterm R auch genähert werden, was eine noch bessere Näherung der Gradienten aus Gleichung 13 erlaubt.
-
3 zeigt eine gepulste neuronale Einheit SNU 310 eines gepulsten neuronalen Netzes 300. Unter Bezugnahme auf 3 wird gezeigt, dass Verfahren gemäß der Ausführungsform auf gepulste neuronale Netze (SNN) angewendet werden können. Gestrichelte Linien in 3 zeigen Verbindungen mit Zeitverzögerung an, während fette Linien parametrisierte Verbindungen anzeigen. Die SNU 310 weist einen Blockeingang 320, einen Blockausgang 321, ein Rücksetz-Gatter 322 und ein Membranpotential 323 auf.
-
Während SNNs in der Vergangenheit oft mit Varianten von Pulszeit-abhängiger Plastizität trainiert wurden, wurde kürzlich gradientengestütztes Training für SNNs vorgeschlagen, z.B. in dem Dokument: Wozniak, S., Pantazi, A., Bohnstingl, T. und Eleftheriou, E., Deep learning incorporating biologically-inspired neural dynamics, arXiv, Dezember 2018, URL: https://arxiv.org/abs/1812.07040.
-
Ein solches Verfahren zielt darauf ab, die ANN-Welt mit der SNN-Welt zu verbinden, indem die SNN-Dynamik mit ANN-gestützten Komponenten umgestaltet wird, wodurch die gepulste neuronale Einheit SNU 310 ausgebildet wird. Die SNUs 310 des gepulsten neuronalen Netzes 300 empfangen eine Mehrzahl von Eingangssignalen.
-
Mit diesem Ansatz ermöglichen SNUs ein gradientengestütztes Lernen. Dies ermöglicht es, die Leistung bekannter Optimierungstechniken für KNNs auszunutzen und gleichzeitig die Dynamik des in der Neurowissenschaft bekannten Leaky-Integrate-and-Fire-(LIF) -Neuronenmodells zu reproduzieren.
-
Wie oben gezeigt, können Verfahren gemäß Ausführungsformen der Erfindung für generische RNNs verwendet werden, können gemäß Ausführungsformen aber auch zum Trainieren tiefer SNNs angewendet werden, die als RNNs formuliert sind. Dies wird im Folgenden gezeigt. Man geht von den Zustands- und Ausgabegleichungen einer SNU-Schicht I wie in Wozniak et al., 2018, aus:
-
Unter Verwendung der Gleichungen 15 und 16 werden die Ereignisspuren gemäß Gleichung 10 abgeleitet als
wobei
und
-
Zu beachten ist, dass die abgekürzte Schreibweise
und
verwendet wurde.
-
Für eine Verlustfunktion des mittleren quadratische Fehlers, z.B.
wobei
die Zielausgabe ist, kann das Lernsignal wie folgt berechnet werden:
-
Für ein tiefes neuronales Netz mit k Schichten, die aus RNNs oder rekurrenten SNUs bestehen, haben Verfahren gemäß Ausführungsformen der Erfindung eine Zeitkomplexität von O(kn
4). Diese Zeitkomplexität wird durch die Netzstruktur selbst bestimmt und hauptsächlich von der Rekursionsmatrix H
I dominiert. Wenn vorwärtsgerichtete Architekturen gemäß Ausführungsformen verwendet werden, verschwinden die Ausdrücke mit H
I und die Gleichungen der SNU werden zu
-
Diese Gleichungen führen dann zu den folgenden Ereignisspuren
wobei
mit
-
Dadurch wird die Zeitkomplexität von O(kn4) auf O(kn2) gesenkt. Die Verwendung einer vorwärtsgerichteten SNU-Netzarchitektur verhindert nicht notwendigerweise das Lösen zeitlicher Aufgaben. Solche Netze werden seit langem in SNNs verwendet, und dies impliziert, dass sich das Netz auf die internen Zustände der Einheiten verlassen sollte, die unter Verwendung von Selbstrekursion anstatt von schichtweisen Rekursionsmatrizen HI umgesetzt sind.
-
Es ist anzumerken, dass gemäß Ausführungsformen das Lernsignal ohne die Matrizen W berechnet werden kann, z.B. auf Grundlage einer gewissen Randomisierung bzw. Näherung von W. Insbesondere kann das Lernsignal auf Grundlage verschiedener Matrizen berechnet werden, die im vorwärtsgerichteten Pfad nicht verwendet werden. Mit anderen Worten kann der vorwärtsgerichtete Pfad Matrizen W verwenden, während das Lernsignal mit anderen Matrizen B berechnet wird. Die Matrizen B können, müssen aber nicht trainierbar sein.
-
Gemäß Ausführungsformen können Verfahren wie oben gezeigt auch für hybride Netze verwendet werden. In dieser Hinsicht besteht ein sehr häufiges Szenario bei tiefen RNNs oder SNNs darin, dass sie häufig mit Schichten von zustandslosen Neuronen am Ausgang verbunden sind, beispielsweise Sigmoid- oder Softmax-Schichten. Verfahren gemäß Ausführungsformen der Erfindung können ohne Modifikationen ebenfalls angewendet werden, um diese hybriden Netze zu trainieren, die eine oder mehrere Schichten von zustandslosen Neuronen enthalten. Insbesondere vereinfachen sich die Zustands- und Ausgabegleichungen dieser Schichten zu
und
wodurch der Ausdruck
in Gleichung 12 verschwindet, und die Ereignisspuren und Lernsignale können berechnet werden als
wobei
-
Zu beachten ist, dass eine zustandslose Schicht keine Restterme R einführt. Dies hat zur Folge, dass beim Hinzufügen einer solchen Schicht zum Netz, selbst zwischen RNN-Schichten, die Gradienten für die nachfolgenden Schichten unverändert bleiben.
-
4a zeigt Testergebnisse von Verfahren gemäß Ausführungsformen der Erfindung im Vergleich zu Backpropagation-through-time- (BPTT) -Techniken. Insbesondere betrifft 4a die Musikvorhersage auf Grundlage des JSB-Datensatzes, wie im folgenden Dokument eingeführt: Boulanger-Lewandowski, N., Bengio, Y. und Vincent, P., „Modeling temporal dependencies in high-dimensional sequences: Application to polyphonic music generation and transcription“, Proceedings of the 29th International Conference on MachineLearning ICML 12 S. 1881-1888, Madison, Wl, USA, 2012. Omnipress, ISBN 9781450312851. Dazu wurde die standardmäßige Trainings-/Testdatenaufteilung verwendet. Für den Test wurde eine Hybridarchitektur verwendet, die eine vorwärtsgerichtete SNU-Schicht mit 150 Einheiten und eine zustandslose Sigmoid-Schicht mit 88 Einheiten darüber aufweist. Um eine Vergleichsbasis zu erhalten, wurde dasselbe Netz einschließlich all seiner Hyperparameter mit Verfahren gemäß Ausführungsformen der Erfindung sowie BPTT für 1000 Epochen trainiert. Die Y-Achse bezeichnet die negative logarithmische Wahrscheinlichkeit, gemittelt über 10 zufällige Anfangsbedingungen. Balken 411 zeigt das Ergebnis für das Training nach dem BPTT-Verfahren, während Balken 412 das Ergebnis für das Training nach Verfahren gemäß Ausführungsformen der Erfindung zeigt. Weiterhin zeigt Balken 413 das Ergebnis für den Testlauf des BPTT-Verfahrens, während Balken 414 das Ergebnis für den Testlauf von Verfahren gemäß Ausführungsformen der Erfindung zeigt.
-
Wie in 4a gezeigt, sind die mit Verfahren gemäß den Ausführungsformen der Erfindung erhaltenen Ergebnisse praktisch gleichauf mit denen, die mit BPTT erhalten wurden. Man beachte, dass die Aufgabe die Gradientenäquivalenz von BPTT und von Verfahren gemäß Ausführungsformen der Erfindung für eine Hybridarchitektur mit einer einzelnen RNN-Schicht und einer zustandslosen Schicht darüber beweist.
-
Wie in 4b gezeigt, kann diese Aufgabe verwendet werden, um die verringerte Rechenkomplexität von Verfahren gemäß Ausführungsformen der Erfindung für vorwärtsgerichtete SNNs zu demonstrieren. Zu diesem Zweck wurde die Anzahl der erforderlichen Gleitkommaoperationen MFLOP (y-Achse) mit dem integrierten TensorFlow-Profiler für einen Parameter gemessen, der über verschiedene Eingabesequenzlängen (x-Achse) der JSB-Eingabesequenz aktualisiert wurde, siehe 4b. Wie aus Linie 421 ersichtlich, muss BPTT ein zeitliches Entfalten ausführen, daher die lineare Abhängigkeit von der Länge der Sequenz T, wohingegen Verfahren gemäß Ausführungsformen der Erfindung dies nicht tun und daher stabil bleiben, wie durch Linie 422 gezeigt ist. In praktischen Umsetzungen kann es jedoch erforderlich sein, die Aktualisierungen von Verfahren gemäß Ausführungsformen der Erfindung im Laufe der Zeit zu akkumulieren, was zu derselben Komplexität wie BPTT führt. Man beachte, dass die anfänglich höheren Kosten von Verfahren gemäß Ausführungsformen der Erfindung auf Umsetzungsaufwand zurückzuführen sind, da Verfahren gemäß Ausführungsformen der Erfindung nicht in der Standard-Toolbox von TensorFlow enthalten sind. Nichtsdestotrotz stimmt das erhaltene Diagramm mit der theoretischen Komplexitätsanalyse überein.
-
5 zeigt das Testergebnis einer weiteren Aufgabe zur handschriftlichen Ziffernklassifizierung auf Grundlage des MNIST-Datensatzes, wie eingeführt im Dokument: Lecun, Y., Bottou, L., Bengio, Y., und Haffner, P., „Gradient based learning applied to document recognition“, Proc. IEEE, 86(11):2278-2324, Nov. 1998, ISSN 1558-2256, doi: 10.1109/5.726791.
-
Wiederum wurde die standardmäßige Trainings-/Testdatenaufteilung verwendet. Gemäß dem Test wurde eine vorwärtsgerichtete Architektur aus fünf Schichten von SNUs mit 256 Einheiten verwendet und für 50 Epochen gemittelt über 10 zufällige Anfangsbedingungen trainiert. Ähnlich wie bei der mit Bezug auf die 4a und 4b gezeigten Aufgabe erreicht die Genauigkeit von Verfahren gemäß Ausführungsformen der Erfindung die von BPTT. Die y-Achse bezeichnet die Genauigkeit (in Prozent), die x-Achse die Anzahl der Epochen, die Linie 510 die Ergebnisse für BPTT und die Linie 520 die Ergebnisse für Verfahren gemäß Ausführungsformen der Erfindung.
-
6 zeigt, wie Verfahren gemäß Ausführungsformen der Erfindung auf neuromorpher Hardware umgesetzt werden können. Die neuromorphe Hardware kann insbesondere ein Kreuzschienenarray aufweisen, das eine Mehrzahl von Zeilenleitungen 610, eine Mehrzahl von Spaltenleitungen 620 und eine Mehrzahl von Verbindungen 630 aufweist, die zwischen der Mehrzahl von Zeilenleitungen 610 und der Mehrzahl von Spaltenleitungen 620 angeordnet sind. Jeder Übergang 630 weist ein resistives Speicherelement 640 auf, insbesondere eine Reihenschaltung eines resistiven Speicherelements und eines Zugriffselements, das einen Zugriffsanschluss zum Zugreifen auf das resistive Speicherelement aufweist. Die resistiven Elemente können z.B. aus Phasenwechselspeicherelementen, Direktzugriffsspeicherelementen mit leitfähiger Überbrückung (CBRAM), resistiven Metall-Oxid-Direktzugriffsspeicherelementen (RRAM), magnetoresistiven Direktzugriffsspeicherelementen (MRAM), ferroelektrischen Direktzugriffsspeicherelementen (FeRAM) oder optischen Speicherelementen bestehen.
-
Gemäß Ausführungsformen können die Eingangsgewichte und die rekursiven Gewichte in der neuromorphen Einheit angeordnet werden, insbesondere als Widerstandszustände der Widerstandselemente.
-
Gemäß einer solchen Ausführungsform werden die trainierbaren Eingangsgewichte WI und die trainierbaren rekurrenten Gewichte HI auf die resistiven Speicherelemente 640 abgebildet.
-
7 zeigt eine vereinfachte schematische Darstellung eines neuronalen Netzes 700 gemäß einer Ausführungsform der Erfindung. Das neuronale Netz 700 weist eine Eingangsschicht 710 mit einer Mehrzahl von neuronalen Einheiten 10, eine oder mehrere verborgene Schichten 720 mit einer Mehrzahl von neuronalen Einheiten 10 und eine Ausgangsschicht 730 mit einer Mehrzahl von neuronalen Einheiten 10 auf. Das neuronale Netz 700 weist eine Mehrzahl von elektrischen Verbindungen 20 zwischen den neuronalen Einheiten 10 auf. Die elektrischen Verbindungen 20 verbinden die Ausgänge von Neuronen von einer Schicht, z.B. der Eingangsschicht 710, mit den Eingängen von neuronalen Einheiten der nächsten Schicht, z.B. einer der verborgenen Schichten 720. Das neuronale Netz 700 kann insbesondere als rekurrentes neuronales Netz ausgeführt sein.
-
Dementsprechend weist das Netz 700 rekurrente Verbindungen von einer Schicht zu den neuronalen Einheiten derselben oder einer vorherigen Schicht auf, wie schematisch durch die Pfeile 30 gezeigt.
-
8 zeigt ein Flussdiagramm von Verfahrensschritten eines von einem Computer umgesetzten Verfahrens zum Trainieren von Parametern eines rekurrenten neuronalen Netzes.
-
Das Verfahren beginnt bei Schritt 810.
-
Bei einem Schritt 820 werden Trainingsdaten von dem neuronalen Netz empfangen oder, mit anderen Worten, diesem bereitgestellt. Die Trainingsdaten weisen ein Eingangssignal und ein erwartetes Ausgangssignal auf.
-
Bei einem Schritt 830 berechnet das neuronale Netz für jede neuronale Einheit eine räumliche Gradientenkomponente.
-
Bei einem Schritt 840 berechnet das neuronale Netz für jede neuronale Einheit eine zeitliche Gradientenkomponente.
-
Bei einem Schritt 850 aktualisiert das neuronale Netz die zeitliche und die räumliche Gradientenkomponente für jede neuronale Einheit zu jedem Zeitpunkt des Eingangssignals.
-
Gemäß einer Ausführungsform können die Aktualisierungen der Parameter des neuronalen Netzes akkumuliert und bis zu einem späteren Zeitschritt T verschoben werden. Die Berechnung der räumlichen und der zeitlichen Gradientenkomponente wird unabhängig voneinander ausgeführt.
-
Die Schritte 820 bis 850 werden in Schleifen 860 wiederholt. Insbesondere können die Schritte 820 bis 850 zu bestimmten bzw. vordefinierten Zeitpunkten und insbesondere zu jedem Zeitpunkt wiederholt werden.
-
Nimmt man nun auf 9 Bezug, ist eine beispielhafte Ausführungsform eines Datenverarbeitungssystems 900 zum Ausführen eines Verfahrens gemäß Ausführungsformen der Erfindung gezeigt. Das Datenverarbeitungssystem 900 kann gemäß Ausführungsformen ein neuronales Netz bilden. Das Datenverarbeitungssystem 900 kann mit zahlreichen weiteren Allzweck- oder Spezial-Datenverarbeitungssystemumgebungen oder -konfigurationen verwendbar sein. Beispiele für bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Datenverarbeitungssystem 900 geeignet sein können, umfassen ohne Einschränkung Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptopeinheiten, Multiprozessorsysteme, mikroprozessorgestützte Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerkcomputer, Minicomputersysteme, Mainframe-Computer-Systeme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten umfassen, und dergleichen.
-
Das Datenverarbeitungssystem 900 kann im allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, beispielsweise Programmmodulen, die von einem Computersystem ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Das Datenverarbeitungssystem 900 kann in Form einer Allzweck-Datenverarbeitungseinheit gezeigt sein. Die Komponenten des Server-Datenverarbeitungssystems 900 können, ohne darauf beschränkt zu sein, einen oder mehrere Prozessoren bzw. Verarbeitungseinheiten 916, Systemspeicher 928 und einen Bus 918 umfassen, der verschiedene Systemkomponenten wie beispielsweise den Systemspeicher 928 mit dem Prozessor 916 verbindet.
-
Der Bus 918 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, beispielsweise eines Speicherbusses bzw. eines Speichercontrollers, eines Peripheriebusses, eines Accelerated Graphics Port und eines Prozessor- bzw. lokalen Busses, unter Verwendung einer Vielfalt von Busarchitekturen. Beispielhaft und nicht einschränkend umfassen solche Architekturen einen ISA-Bus („Industry Standard Architecture“), einen MCA-Bus („Micro Channel Architecture“), einen EISA-Bus („Enhanced ISA“), einen lokalen VESA-Bus („Video Electronics Standards Association“) und einen PCI-Bus („Peripheral Component Interconnect“).
-
Das Datenverarbeitungssystem 900 umfasst üblicherweise eine Vielfalt von von einem Computersystem lesbaren Medien. Solche Medien können alle verfügbaren Medien sein, auf die das Datenverarbeitungssystem 900 zugreifen kann, und sie umfassen sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
-
Der Systemspeicher 928 kann von einem Computersystem lesbare Medien in Form von flüchtigem Speicher umfassen, beispielsweise Direktzugriffsspeicher (RAM) 930 und/oder Cache-Speicher 932. Das Datenverarbeitungssystem 900 kann ferner weitere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Speichermedien des Computersystems umfassen. Nur beispielhaft kann das Speichersystem 934 zum Lesen von und Schreiben auf einem nicht austauschbaren, nichtflüchtigen magnetischen Medium (nicht gezeigt und üblicherweise als „Festplatte“ bezeichnet) eingerichtet sein. Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. einer „Diskette“) und ein Laufwerk für optische Platten zum Lesen von oder Schreiben auf einer austauschbaren, nichtflüchtigen optischen Platte wie einer CD-ROM, DVD-ROM oder einem anderen optischen Medium vorgesehen sein. In solchen Fällen können diese jeweils über eine oder mehrere Medien-Datenschnittstellen mit dem Bus 918 verbunden sein. Wie nachstehend weiter gezeigt und beschrieben, kann der Speicher 928 mindestens ein Programmprodukt mit einem Satz von Programmmodulen (z.B. mindestens einem) enthalten, die zum Ausführen der Funktionen von Ausführungsformen der Erfindung konfiguriert sind.
-
Als Beispiel und nicht einschränkend können ein Programm/Dienst 940 mit einem Satz (mindestens einem) von Programmmodulen 942 ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten im Systemspeicher 928 gespeichert sein. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, die anderen Programmmodule und Programmdaten oder eine Kombination davon können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 942 führen im Allgemeinen die Funktionen und/oder Verfahren von Ausführungsformen der Erfindung wie hierin beschrieben aus. Die Programmmodule 942 können insbesondere einen oder mehrere Schritte eines von einem Computer umgesetzten Trainings rekurrenter neuronaler Netze ausführen, z.B. einen oder mehrere Schritte des Verfahrens, wie es unter Bezugnahme auf die 1, 2 und 8 beschrieben wurde.
-
Das Datenverarbeitungssystem 900 kann auch mit einem oder mehreren externen Einheiten 915 Daten austauschen, beispielsweise einer Tastatur, einem Zeigegerät, einer Anzeige 924 usw.; einem oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Datenverarbeitungssystem 900 zu interagieren; und/oder irgendwelchen Einheiten (z.B. Netzwerkkarten, Modems usw.), die es dem Datenverarbeitungssystem 900 ermöglichen, mit einem oder mehreren weiteren Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über Eingabe/Ausgabe- (E/A) -Schnittstellen 922 erfolgen. Noch weiter kann das Datenverarbeitungssystem 900 über einen Netzwerkadapter 920 mit einem oder mehreren Netzwerken wie einem lokalen Netzwerk (LAN), einem Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) Daten austauschen. Wie gezeigt, tauscht der Netzwerkadapter 920 mit den anderen Komponenten des Datenverarbeitungssystems 900 über den Bus 918 Daten aus. Es versteht sich, dass andere Hardware- und/oder Softwarekomponenten, obwohl nicht gezeigt, in Verbindung mit dem Datenverarbeitungssystem 900 verwendet werden könnten. Beispiele hierfür sind unter anderem: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Festplattenarrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Integrationsstufe handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, 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 ein System zur Ausführung von Anweisungen aufbewahren 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 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. Lichtwellenleiterkabel 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-/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, Konfigurationsdaten für integrierte Schaltungen 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 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 fern 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, 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.
-
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 Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern 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, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen 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 auf einem Computer ausgeführten 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 Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaubilder 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 den Blöcken 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 Blockschaubilder 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.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zu Zwecken der Veranschaulichung angegeben, sind aber nicht als erschöpfend oder auf die offenbarten Ausführungsformen beschränkt anzusehen. Viele Modifikationen und Varianten sind für Fachleute offensichtlich, ohne vom Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde ausgewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber Technologien, die am Markt vorhanden sind, am besten zu beschreiben oder anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
-
Im Allgemeinen können Modifikationen, die für eine Ausführungsform beschrieben wurden, nach Bedarf auf eine andere Ausführungsform angewendet werden.
-
Im Folgenden wird ergänzend eine detaillierte Herleitung von Verfahren gemäß Ausführungsformen der Erfindung für tiefe neuronale Netze, insbesondere für rekurrente Netze mit Mehrschichtarchitekturen, angegeben.
-
Viele der neuesten Anwendungen setzen auf Mehrschichtnetze, bei denen der Fehler E
t nur von der letzten Ausgabeschicht k abhängt, d.h.
Gemäß Ausführungsformen der Erfindung werden die Zustands- und Ausgabegleichungen wie folgt angepasst
-
Unter Verwendung dieser Umformulierung kann Gleichung 2 wie folgt verallgemeinert werden
-
Für die letzte Schicht eines mehrschichtigen Netzes, bei der k = l ist, entspricht Gleichung 33 Gleichung 2 für eine einzelne Schicht. Für die verborgenen Schichten, d.h. k ≠ l, wird der Ausdruck
jedoch wie folgt erweitert
-
Man definiert einen rekursiven Term m als
mit den folgenden Eigenschaften
-
Der Ausdruck
für k ≠ l enthält eine zeitliche Rekursion, enthält aber zusätzlich eine räumliche Rekursion, d.h. er hängt von anderen Schichten ab, z.B. der (k - 1)-ten Schicht.
-
Wenn wir den Ausdruck
in Gleichung 33 einfügen, erhalten wir
-
Die rechte Seite von Gleichung 38 wird erweitert zu dem komplexeren Ausdruck
bei dem die beiden Rekurrenzen
im Raum und
in der Zeit - sichtbar werden. Wenn
weit genug im Raum erweitert wird, erreicht er schließlich
Somit können wir Gleichung 39 umschreiben als
wobei alle verbleibenden Terme in einen Restterm R zusammengefasst werden. Zusätzlich definieren wir ein verallgemeinertes Lernsignal
und eine verallgemeinerte Ereignisspur
als
siehe Gleichungen 10 bis 11. Dies ermöglicht es, die Parameteraktualisierung auszudrücken als
siehe Gleichung 13. Durch Weglassen des Restterms R gemäß Ausführungsformen gelangt man zu Gleichung 14.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-