-
Verschiedene Ausführungsbeispiele betreffen allgemein eine Vorrichtung und ein Verfahren zum Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronalen stochastischen Differentialgleichung.
-
Als neuronale stochastische Differentialgleichung wird ein neuronales Netzwerk bezeichnet, das Teilnetzwerke aufweist, die den Driftterm und den Diffusionsterm entsprechend einer stochastische Differentialgleichung modellieren. Ein solches neuronales Netzwerk ermöglicht die Vorhersage von Werten (z.B. Temperatur, Materialeigenschaften, Geschwindigkeit etc.) über mehrere Zeitschritte hinweg, die für eine jeweilige Steuerung (z.B. eines Produktionsprozesses oder eines Fahrzeugs) verwendet werden kann.
-
Um genaue Vorhersagen zu treffen, ist ein robustes Training des neuronalen Netzwerks, d.h. der beiden Teilnetzwerke (Driftnetzwerks und Diffusionsnetzwerk) erforderlich. Hierfür sind effiziente und stabile Herangehensweisen wünschenswert.
-
Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronalen stochastischen Differentialgleichung bereitgestellt. Das Verfahren weist das Ziehen einer Trainings-Trajektorie aus Trainings-Sensordaten, wobei die Trainings-Trajektorie für jeden einer Folge von Vorhersagezeitpunkten einen Trainings-Datenpunkt aufweist und das Ermitteln, ausgehend von dem Trainings-Datenpunkt, den die Trainings-Trajektorie für einen Anfangszeitpunkt enthält, von, für jeden Vorhersagezeitpunkt der Folge von Vorhersagezeitpunkten, des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz an dem Vorhersagezeitpunkt auf. Dies erfolgt durch Ermitteln, aus dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz eines Vorhersagezeitpunkts des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts durch Ermitteln der Erwartungswerte der Ableitungen jeder Schicht des neuronalen Driftnetzwerks nach ihren Eingangsdaten, Ermitteln des Erwartungswerts der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten aus den ermittelten Erwartungswerten der Ableitungen der Schichten des neuronalen Driftnetzwerks und Ermitteln des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus dem ermittelten Erwartungswert der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten. Das Verfahren weist ferner das Ermitteln einer Abhängigkeit der Wahrscheinlichkeit, dass die Datenpunkt-Verteilungen der Vorhersagezeitpunkte, die durch die ermittelten Datenpunkt-Mittelwerte und die ermittelten Datenpunkt-Kovarianzen gegeben sind, die Trainings-Datenpunkte an den Vorhersagezeitpunkten liefern, von den Gewichten des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks und das Anpassen des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks zum Erhöhen der Wahrscheinlichkeit auf.
-
Das oben beschriebene Trainingsverfahren ermöglicht ein deterministisches Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronale stochastischen Differentialgleichung (d.h. eine deterministische Inferenz der Gewichte dieser neuronalen Netzwerks). Die Stärke neuronaler stochastischen Differentialgleichungen, ihre Nichtlinearität, bleibt dabei erhalten, aber es wird ein stabiles Training erreicht und damit insbesondere ein effiziente und robuste Bereitstellung von genauen Vorhersagen auch für lange Folgen von Vorhersagezeitpunkten (z.B. für lange Vorhersageintervalle).
-
Im Folgenden werden verschiedene Ausführungsbeispiele gegeben.
-
Ausführungsbeispiel 1 ist ein Trainingsverfahren wie oben beschrieben.
-
Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, wobei das Ermitteln, aus dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz eines Vorhersagezeitpunkts, des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aufweist:
- Ermitteln, für den Vorhersagezeitpunkt, des Mittelwerts und der Kovarianz der Ausgabe jeder Schicht des neuronalen Driftnetzwerks ausgehend von dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz des Vorhersagezeitpunkts; und
- Ermitteln des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus den für den Vorhersagezeitpunkt ermittelten Datenpunkt-Mittelwerten und Datenpunkt-Kovarianzen der Schichten des neuronalen Driftnetzwerks.
-
Anschaulich wird gemäß verschiedenen Ausführungsformen ein Schicht-weises Moment-Anpassen (engl. layer-wise moment matching) durchgeführt. Damit können die Momente deterministisch durch die neuronalen Netzwerke propagiert werden und es ist kein Sampling erforderlich, um die Verteilungen der Ausgaben der neuronalen Netzwerke zu bestimmen.
-
Ausführungsbeispiel 3 ist das Verfahren nach Ausführungsbeispiel 1 oder 2, wobei das Ermitteln, aus dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz eines Vorhersagezeitpunkts, des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aufweist:
- Ermitteln, für den Vorhersagezeitpunkt, des Mittelwerts und der Kovarianz der Ausgabe jeder Schicht des neuronalen Diffusionsnetzwerks ausgehend von dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz des Vorhersagezeitpunkts; und
- Ermitteln des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus den für den Vorhersagezeitpunkt ermittelten Datenpunkt-Mittelwerten und Datenpunkt-Kovarianzen der Schichten des neuronalen Diffusionsnetzwerks.
-
Auf diese Weise kann auch der Beitrag des Diffusionsnetzwerks zu der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts deterministisch und effizient ermittelt werden.
-
Ausführungsbeispiel 4 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei der Erwartungswert der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten ermittelt wird durch Multiplizieren der Ableitungen der ermittelten Erwartungswerte der Ableitungen der Schichten des neuronalen Driftnetzwerks.
-
Dies ermöglicht eine exakte und einfache Berechnung der Gradienten der vollständigen Netzwerke aus denen der einzelnen Schichten.
-
Ausführungsbeispiel 5 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei Ermitteln der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz eines Vorhersagezeitpunkts aufweist:
- Ermitteln der Kovarianz zwischen Eingabe und Ausgabe des neuronalen Driftnetzwerks für den Vorhersagezeitpunkt durch Multiplikation der Datenpunkt-Kovarianz der des Vorhersagezeitpunkts mit dem Erwartungswert der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten; und
- Ermitteln der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus der Kovarianz zwischen Eingabe und Ausgabe des neuronalen Driftnetzwerks für den Vorhersagezeitpunkt.
-
Dieses Vorgehen ermöglicht eine effiziente Bestimmung der Kovarianz zwischen Eingabe und Ausgabe des neuronalen Driftnetzwerks. Dies ist von hoher Bedeutung für das Training, da diese Kovarianz nicht notwendigerweise semi-definit ist und eine ungenaue Bestimmung zu numerischer Instabilität führen kann.
-
Ausführungsbeispiel 6 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 5, aufweisend Bilden des neuronalen Driftnetzwerks und das neuronale Diffusionsnetzwerks (nur) aus ReLU-Aktivierungen, Dropout-Schichten und Schichten für affine Transformationen.
-
Ein Aufbau der neuronalen Netzwerke aus Schichten dieser Art ermöglicht eine präzises Bestimmung der Ermittlung der Gradienten der Ableitungen der Ausgabe der Schichten nach ihren Eingaben ohne Sampling.
-
Ausführungsbeispiel 7 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 6, aufweisend Bilden des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks, sodass sich die ReLU-Aktivierungen, Dropout-Schichten und Schichten für affine Transformationen in dem neuronalen Driftnetzwerk abwechseln.
-
Dies stellt sicher, dass die Annahme einer Normalverteilung für die Datenpunkte gerechtfertigt ist und die Verteilung eines Datenpunkts zu einem Vorhersagezeitpunkt somit mit hoher Genauigkeit durch Angabe von Datenpunkt-Mittelwert und Datenpunkt-Kovarianz zu dem Vorhersagezeitpunkt angegeben werden kann.
-
Ausführungsbeispiel 8 ist das Verfahren zum Steuern einer Robotervorrichtung aufweisend:
- Trainieren einer neuronalen stochastischen Differentialgleichung gemäß dem Verfahren nach einem der Ausführungsbeispiele 1 bis 7;
- Messen von Sensordaten, die einen Zustand der Robotervorrichtung und/oder ein oder mehrerer Objekte in der Umgebung der Robotervorrichtung charakterisieren;
- Zuführen der Sensordaten zu der stochastischen Differentialgleichung zum Erzeugen eines Regressionsergebnisses; und
- Steuern der Robotervorrichtung unter Verwendung des Regressionsergebnisses.
-
Ausführungsbeispiel 9 ist eine Trainingsvorrichtung, die eingerichtet ist, das Verfahren nach einem der Ausführungsbeispiele 1 bis 7 auszuführen.
-
Ausführungsbeispiel 10 ist eine Steuervorrichtung für eine Robotervorrichtung, die eingerichtet ist, das Verfahren nach Ausführungsbeispiel 8 auszuführen.
-
Ausführungsbeispiel 11 ist ein Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
-
Ausführungsbeispiel 12 ist ein computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
-
Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert. In den Zeichnungen beziehen sich gleiche Bezugszeichen überall in den mehreren Ansichten allgemein auf dieselben Teile. Die Zeichnungen sind nicht notwendig maßstabsgerecht, wobei der Schwerpunkt stattdessen allgemein auf die Darstellung der Prinzipien der Erfindung liegt.
- 1 zeigt ein Beispiel für eine Regression beim autonomen Fahren.
- 2 veranschaulich ein Verfahren zur Ermittlung der Momente der Verteilung von Datenpunkten für einen Zeitpunkt aus den Momenten der Verteilung der Datenpunkte für den vorherigen Zeitpunkt.
- 3 zeigt ein Flussdiagramm, das ein Verfahren zum Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronalen stochastischen Differentialgleichung veranschaulicht.
-
Die verschiedenen Ausführungsformen, insbesondere die im Folgenden beschriebenen Ausführungsbeispiele, können mittels ein oder mehrerer Schaltungen implementiert werden. In einer Ausführungsform kann eine „Schaltung“ als jede Art von Logikimplementierender Entität verstanden werden, welche Hardware, Software, Firmware oder eine Kombination davon sein kann. Daher kann in einer Ausführungsform eine „Schaltung“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung, wie beispielsweise ein programmierbarer Prozessor, zum Beispiel ein Mikroprozessor sein. Eine „Schaltung“ kann auch Software sein, die von einem Prozessor implementiert bzw. ausgeführt wird, zum Beispiel jede Art von Computerprogramm. Jede andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann in Übereinstimmung mit einer alternativen Ausführungsform als eine „Schaltung“ verstanden werden.
-
1 zeigt ein Beispiel für eine Regression beim autonomen Fahren.
-
Im Beispiel von 1 weist ein Fahrzeug 101, zum Beispiel ein Auto, ein Lieferwagen oder ein Motorrad, eine Fahrzeug-Steuereinrichtung 102 auf.
-
Die Fahrzeug-Steuereinrichtung 102 enthält Datenverarbeitungskomponenten, z.B. einen Prozessor (z.B. eine CPU (Zentraleinheit)) 103 und einen Speicher 104 zur Speicherung der Steuersoftware, gemäß der die Fahrzeug-Steuereinrichtung 102 arbeitet, und der Daten, auf denen der Prozessor 103 operiert.
-
In diesem Beispiel weist die gespeicherte Steuersoftware Befehle auf, die, wenn sie vom Prozessor 103 ausgeführt werden, den Prozessor veranlassen, einen Regressionsalgorithmus 105 zu implementieren.
-
Die im Speicher 104 gespeicherten Daten können Eingangssensordaten von einem oder mehreren Sensoren 107 enthalten. Der eine oder die mehreren Sensoren 107 können z.B. einen Sensor enthalten, der die Geschwindigkeit des Fahrzeugs 101 misst, sowie Sensordaten, die die Krümmung der Straße (die z.B. aus Bildsensordaten abgeleitet werden können, die durch Objekterkennung zur Bestimmung der Fahrtrichtung verarbeitet werden), den Zustand der Straße usw. darstellen. So können die Sensordaten z.B. mehrdimensional sein (Krümmung, Straßenzustand, ...). Das Regressionsergebnis kann z.B. eindimensional sein.
-
Die Fahrzeugsteuerung 102 verarbeitet die Sensordaten und ermittelt ein Regressionsergebnis, z.B. eine Höchstgeschwindigkeit, und kann das Fahrzeug anhand des Regressionsergebnisses steuern. Es kann z.B. eine Bremse 108 aktivieren, wenn das Regressionsergebnis eine Höchstgeschwindigkeit anzeigt, die höher ist als eine gemessene aktuelle Geschwindigkeit des Fahrzeugs 101.
-
Der Regressionsalgorithmus 105 kann ein maschinelles Lernmodell 106 aufweisen. Das maschinelle Lernmodell 106 kann unter Verwendung von Trainingsdaten trainiert werden, um Vorhersagen zu treffen (z.B. eine Höchstgeschwindigkeit).
-
Ein weit verbreitetes Modell des maschinellen Lernens ist ein tiefes neuronales Netz (engl. deep neural network). Ein tiefes neuronales Netz wird darauf trainiert, eine Funktion zu implementieren, die Eingabedaten (mit anderen Worten: ein Eingabemuster) nichtlinear in Ausgabedaten (ein Ausgabemuster) umwandelt.
-
Gemäß verschiedenen Ausführungsformen weist das maschinelle Lernmodell eine neuronale stochastische Differentialgleichung auf.
-
Eine nichtlineare zeitinvariante stochastische Differentialgleichung (SDE) hat die Form
Dabei ist f
θ (x) ∈ ℝ
D die Driftfunktion, die die deterministische Komponente des jeweiligen Vektorfelds modelliert, und L
ϕ(x) ∈ ℝ
D×S die Diffusionsfunktion, die die stochastische Komponente modelliert, dt ist das zeitliche Inkrement und w ∈ ℝ
S bezeichnet einen Wiener-Prozess.
-
SDEs sind typischerweise nicht analytisch lösbar. Numerische Lösungsansätze verwenden typischerweise eine Diskretisierung des Zeitbereichs und eine Approximation des Übergangs in einem Zeitschritt. Eine Möglichkeit dazu ist die Euler-Maruyama (EM)-Diskretisierung
wobei
Das Lösungsverfahren beginnt bei einem Anfangszustand x
0 und der Endzustand w
K nach dem letzten Zeitschritt ist beispielsweise das Regressionsergebnis.
-
Die Bezeichnung „neuronale stochastische Differentialgleichung“ bezieht sich auf den Fall, dass fθ(x) und (möglicherweise) LΦ (x) durch neuronale Netze (NNs) mit Gewichten θ bzw. Φ gegeben sind. Selbst für moderate NN-Architekturen kann eine neuronale stochastische Differentialgleichung viele tausend freie Parameter (d.h. Gewichte) haben, was das Finden der Gewichte aus Trainingsdaten, d.h. die Inferenz, zu einer anspruchsvollen Aufgabe macht.
-
Im Folgenden wird angenommen, dass die Parameter einer neuronalen stochastischen Differentialgleichung mittels Maximum Likelihood Estimation (MLE) gefunden werden, d.h. durch
-
Dies ermöglicht das gemeinsame Lernen von θ und Φ aus Daten. Alternativ ist es auch möglich, Variationsinferenz durchzuführen, beispielsweise gemäß
wobei
der A-priori-Drift ist.
-
Das Schätzen der erwarteten Likelihood ist typischerweise analytisch nicht möglich. Außerdem führen Sampling-basierte Approximationen typischerweise zu einem instabilem Training und resultieren in neuronalen Netzen mit ungenauen Vorhersagen.
-
Gemäß verschiedenen Ausführungsformen werden diese unerwünschten Effekte des Samplings vermieden und eine deterministische Vorgehensweise für die Inferenz der Gewichte der neuronalen Netze, die die Driftfunktion und den Diffusionsfunktion modellieren, angegeben.
-
Diese Vorgehensweise weist gemäß verschiedenen Ausführungsformen auf, dass eine numerisch handhabbare (engl. tractable) Prozessdichte zur Modellierung verwendet wird, der Wiener-Prozess w marginalisiert wird und die Unsicherheit der Zustände xk marginalisiert wird. Die Unsicherheit in den Zuständen kommt von (i) der ursprünglichen Verteilung p(x0,t0) sowie dem Diffusionsterm Lϕ(xk).
-
Es sollte beachtet werden, dass zur Einfachheit A-priori-Verteilungen für die Gewichte der neuronalen Netze weggelassen werden. Die beschriebenen Ansätze können aber auch für Bayessche neuronale Netze angewendet werden. Eine solche A-priori-Verteilung muss nicht notwendigerweise über die Gewichte gegeben sein, sondern kann auch in Form einer Differentialgleichung vorliegen. Gemäß verschiedenen Ausführungsformen wird p(x,t) ≈ N(x|m(t),P(t)) als die Prozessverteilung verwendet, was zu einer Gaussschen Prozess-Approximation mit Mittelwert und Kovarianz führt, die sich über die Zeit ändern.
-
Wird beispielsweise eine zeitliche Diskretisierung mit K Schritten eines Intervalls [0, T] verwendet, d.h. {tk ∈ [0, T] |k = 1, ..., K}, so haben die Prozessvariablen x1,... , xK (auch als Zustände bezeichnet) die Verteilungen p(x1,t1), p(x2,t2), ..., p(xK,tK). Die Elemente dieser Folge von Verteilungen kann durch rekursives Moment-Anpassen (engl. moment matching) in Vorwärtsrichtung (d.h. in Richtung wachsender Indizes) approximiert werden.
-
Es wird angenommen, dass die Variable x
k+1 zum Zeitpunkt t
k+1 eine Gauß-Verteilung mit Dichte
hat, wobei die Momente m
k+1.P
k+1 aus den schon angepassten Momenten der Verteilung (bzw. der Dichte) zum vorhergehenden Zeitpunkt p
θ,ϕ(x
k,t
k) ermittelt werden.
-
Es wird angenommen, dass die ersten beiden Momente der Dichte zum nächsten Zeitpunkt gleich der ersten zwei Momente einen EM (Euler-Maruyama)-Schritt vorwärts nach integrieren über den Zustand zum aktuellen Zeitpunkt sind:
-
Hierbei wird die Abhängigkeit von vorhergehenden Zeitpunkt durch N(xk|mk,Pk) hergestellt.
-
Es gilt nun, dass wenn
der EM-Diskretisierung folgt, die oben gegebenen Aktualisierungsregeln für die ersten beiden Momente die folgende analytische Form mit marginalisiertem Wiener-Prozess w
k erfüllen:
wobei
und Δt ein Zeitschritt ist, der nicht von Δw
k abhängt.
-
Um ein deterministisches Inferenzverfahren zu erhalten muss in diesen beiden Gleichungen über xk integriert werden. Da die Integrale im Normalfall nicht analytisch lösbar sind, wird numerische Approximation verwendet.
-
Dazu wird gemäß verschiedenen Ausführungsformen die Moment-Anpassung erweitert dahingehend, dass die beiden Momente mk,Pk (die anschaulich die Unsicherheit im aktuellen Zustand widerspiegeln) durch die beiden neuronalen Netzwerke (die die Driftfunktion und die Diffusionsfunktion modellieren) propagiert werden. Dies wird im Folgenden auch als Schichtweise Momentanpassung (Layerwise Moment Matching LMM) bezeichnet.
-
2 veranschaulich ein Verfahren zur Ermittlung der Momente mk+1, Pk+1 für einen Zeitpunkt aus den Momenten mk,Pk für den vorherigen Zeitpunkt.
-
Die neuronale SDE 200 weist ein erstes neuronales Netzwerk 201, dass den Driftterm modelliert, und ein zweites neuronales Netzwerk 202, das den Diffusionsterm modelliert, auf.
-
Unter Verwendung der Bilinearität der Kovarianzoperation Cov(·,·) können die obigen Gleichungen umgeschrieben werden zu
wobei Cov(x
k,x
k) als P
k bezeichnet wird. Das zentrale Moment des Diffusionsterms
kann mittels LMM geschätzt werden, wenn es diagonal ist. Allerdings kann die Kreuz-Kovarianz Cov(f
θ(x
k),x
k) (außer in trivialen Fällen) nicht mittels üblicher LLM-Techniken geschätzt werden. Es nicht garantiert, dass sie positiv-semidefinit ist und deshalb kann eine ungenaue Schätzung dazu führen, dass P
k+1 singulär wird, was die numerische Stabilität beeinträchtigt.
-
Im Folgenden wird die Ausgabe der 1-ten Schicht eines neuronalen Netzwerks 201, 202 mit
bezeichnet. Diese Ausgabe wird (gemäß der LLM-Vorgehensweise) als multivariate Gauß-Verteilung mit Mittelwert m
l und Kovarianz P
l modelliert. Der Index 1=0 wird für die Eingabe zu der ersten Schicht des (jeweiligen) neuronalen Netzwerks 201, 202 verwendet.
-
Um LMM anwendbar zu machen, wird der kritische Term Cov(f
θ(x
k),x
k) umformuliert. Dies erfolgt durch die Anwendung des Lemmas von Stein, mittels welchem dieser Term geschrieben werden kann als
Damit reduziert sich das Problem auf die Ermittlung eines Erwartungswerts über den Gradienten des neuronalen Netzwerks 201
wobei g=f
θ. (Es wird hier von „Gradient“ gesprochen, auch wenn f
θ typischerweise Vektor-wertig ist und damit ∇
xf
θ die Form einer Matrix hat, d.h. eine Jacobimatrix ist; allgemein wird deshalb auch einfach die Bezeichnung „Ableitung“ verwendet).
-
Bei einem neuronalen Netzwerk ist die Funktion g(x) eine Verkettung von L Funktionen (einer pro Schicht des neuronalen Netzwerks), d.h.
-
Für geeignete Schichten gilt
-
Um diese Verschachtelung von Erwartungswerten zu ermitteln, wird die Verteilung von x
l, bezeichnet als p(x
l), als Gauß-Verteilung angenommen. Die Zwischenergebnisse p(x
l) werden für die Ermittlung von m
L und P
L verwendet. Anschließend wird der erwartete Gradient jeder Schicht in Bezug auf eine Normalverteilung durch VorwärtsModus-Differentiation ermittelt. Als geeignete Funktionen g
l, für die m
l und P
l bei normalverteilter Eingabe geschätzt werden können und der erwartete Gradient
ermittelt werden kann, werden gemäß einer Ausführungsform affine Transformation, ReLU-Aktivierung und Dropout verwendet. Es können auch weitere Typen von Funktionen bzw. NN-Schichten eingesetzt werden.
-
Eine affine Transformation bildet eine Eingabe x
l auf eine Augabe
gemäß Ax
l + b mit Gewichtsmatrix
und Bias
ab. Bei Gauß-verteilter Eingabe ist die Ausgabe auch Gauß-verteilt mit den Momenten
und erwartetem Gradienten
-
Die Ausgabe einer ReLU-Aktivierung einer Eingabe x
l ist x
l+1 = max(0, x
l). Aufgrund der Nichtlinearität der ReLU-Aktivierung ist die Ausgabe bei Gauß-verteilter Eingabe im Allgemeinen nicht Gauß-verteilt, aber ihre Momente können geschätzt werden als .
wobei
wobei Φ und Φ die Dichte und kumulative Verteilungsfunktion eine Standardnormalverteilten Zufallsvariable bezeichnen, sowie .
bei der A und Q wiederum geschätzt werden können.
-
Die Einträge der Nebendiagonalen des erwarteten Gradienten sind Null und die Diagonaleinträge sind die Erwartung der Heaviside-Funktion:
-
Beim Dropout wird eine multivariate Variable
aus einer Bernouli-Verteilung z
i ~ Bernoulli(p) unabhängig für jeden Aktivierungskanal gezogen (d.h. gesamplet) und die Nichtlinearität x
l+1 = (z ⊙ x
l)/p angewendet, wobei ,⊙‘ die Hadamard-Multiplikation bezeichnet und wobei mit p reskaliert wird, um den Erwartungswert zu erhalten. Der Mittelwert und die Kovarianz der Ausgabe können geschätzt werden durch
-
Der erwartete Gradient ist gleich der Identität
-
Dropout ermöglicht es, dass die Komponenten einer Eingabe x ~ p(x) für eine beliebige Verteilung p(x) näherungsweise entkorreliert werden, da diag(Pl+1) > diag(Pl) aufgrund von diag(Pl + (ml)(ml)T) > 0 (jeweils komponentenweise gesehen). Allerdings können die Einträge außerhalb der Diagonale ungleich Null sein, sodass nur näherungsweise entkorreliert wird. Wird eine näherungsweise entkorrelierte Ausgabe einer Dropout-Schicht xl+1 durch eine affine Transformation verarbeitet, wird angenommen, dass die folgende Ausgabe xl+2 einer Summe von unabhängig verteilten Zufallsvariablen entspricht und deshalb (nach dem zentralen Grenzwertsatz) als Gauß-verteilt angenommen.
-
Für jedes k und das neuronale Driftnetzwerk 201 werden also die Momente m
k,P
k als Momente
der Eingabe 203 des neuronalen Driftnetzwerks 201 verwendet und daraus nach den obigen Regeln die Momente
der Ausgaben 204, 205, 206 der Schichten ermittelt. Diese werden zum Ermitteln des Erwartungswerts und der Kovarianz 207 als auch zur Ermittlung des erwarteten Gradienten 208 verwendet.
-
Für das Diffusionsnetzwerk 202 werden außerdem noch
und Cov(L
ϕ,L
Φ) und aus allen diese Ergebnissen 209 die Momente m
k+1, P
k+1 für den nächsten Zeitpunkt k+1 ermittelt.
-
Im Folgenden wird ein Algorithmus zum Trainieren einer NSDE in Pseudo-Code angegeben unter Verwendung eines Trainingsdatensatzes D angegeben.
-
Das Ergebnis der MLE für eine Trainings-Trajektorie wird zum Anpassen der bisherigen Schätzung von θ, ϕ verwendet, bis ein Konvergenzkriterium erfüllt ist, z.B. θ, Φ sich nur noch wenig ändern (oder alternativ eine maximale Zahl von Iterationen erreicht ist).
-
Die Funktion DNSDE_Stein lautet wie folgt in Pseudocode
-
-
Die vierte Zeile in der „for“-Schleife ist die Anwendung des Lemmas von Stein. Die darauffolgende Zeile ermittelt
-
Die Funktion DriftMomente&Jac lautet wie folgt in Pseudocode
-
Die Funktion DiffusionMomente lautet wie folgt in Pseudocode
m,P = Schicht.nächste_Momente(m,P)
P = P ⊙ I (Diagonalelemente auf null setzen)
Gib m,P zurück
-
In dem obigen Pseudocode werden die Momente (vom Anfangszeitpunkt k=1 bis zum Endzeitpunkt k=K) und die Kovarianzen (vom Anfangszeitpunkt k=1 bis zum Endzeitpunkt k=K) mit m
1:K bzw. P
1:K bezeichnet. The Momente des Anfangszeitpunkts sind m
1 und P
1. In dem obigen Algorithmus wird P
1 ≈ I∈ und
verwendet, um auf den beobachteten Anfangszustand
(für den n-ten Trainingsdatensatz) zu konditionieren. Hierbei ist ∈ eine kleine Zahl, z.B. ∈ = 10
-4. Die Ausgabematrix der Diffusionsfunktion L
ϕ (x) ist in dem obigen Beispiel diagonal und ihr zweites Moment ist ebenfalls diagonal. Die Funktionen DriftMomente&Jac und DiffusionMomente schätzen mittels LMM die ersten beiden Momente der Ausgabe des Driftnetzwerks 201 und des Diffusionsnetzwerks 202 für eine Eingabe mit den Momenten, wie sie beiden Funktionen über ihre Argumente erhalten. Außerdem wird in diesem Beispiel angenommen, dass die neuronalen Netzwerke 201, 202 so aufgebaut sind, dass sich ReLU-Aktivierungen, Dropout-Schichten und affine Transformationen abwechseln, so dass die Ausgabe der affinen Transformation näherungsweise normalverteilt sind. Der erwartete Gradient
wird im Vorwärtsmodus bei der Auswertung von DriftMomente&Jac geschätzt. Für Dropout-Schichten und affine Transformationen ist der erwartete Gradient unabhängig von der Verteilung der Eingabe. Nur bei einer ReLU-Aktivierung hängt der erwartete Gradient von der Eingabeverteilung ab (die näherungsweise eine Normalverteilung ist).
-
Im obigen Pseudocode wird eine Klasse Schicht verwendet, von der angenommen wird, dass sie Funktionen erwarteter_Gradient und nächste_Momente aufweist, die die oben für die verschiedenen Schichten angegebenen Gleichungen für die Momente der Ausgabe der Schicht und des erwarteten Gradienten implementieren.
-
Zusammenfassend wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie es in 3 dargestellt ist.
-
3 zeigt ein Flussdiagramm 300, das ein Verfahren zum Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronalen stochastischen Differentialgleichung veranschaulicht.
-
In 301 wird eine Trainings-Trajektorie aus Trainings-Sensordaten gezogen (engl. gesampelt, z.B. zufällig ausgewählt), wobei die Trainings-Trajektorie für jeden einer Folge von Vorhersagezeitpunkten einen Trainings-Datenpunkt aufweist.
-
In 302 wird ausgehend von dem Trainings-Datenpunkt, den die Trainings-Trajektorie für einen Anfangszeitpunkt enthält, für jeden Vorhersagezeitpunkt der Folge von Vorhersagezeitpunkten, des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz an dem Vorhersagezeitpunkt ermittelt.
-
Dies erfolgt durch Ermitteln, aus dem Datenpunkt-Mittelwert und der Datenpunkt-Kovarianz eines Vorhersagezeitpunkts des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts durch
- • Ermitteln der Erwartungswerte der Ableitungen jeder Schicht des neuronalen Driftnetzwerks nach ihren Eingangsdaten;
- • Ermitteln des Erwartungswerts der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten aus den ermittelten Erwartungswerten der Ableitungen der Schichten des neuronalen Driftnetzwerks; und
- • Ermitteln des Datenpunkt-Mittelwerts und der Datenpunkt-Kovarianz des nächsten Vorhersagezeitpunkts aus dem ermittelten Erwartungswert der Ableitung des neuronalen Driftnetzwerks nach seinen Eingangsdaten.
-
In 303 wird eine Abhängigkeit der Wahrscheinlichkeit, dass die Datenpunkt-Verteilungen der Vorhersagezeitpunkte, die durch die ermittelten Datenpunkt-Mittelwerte und die ermittelten Datenpunkt-Kovarianzen gegeben sind, die Trainings-Datenpunkte an den Vorhersagezeitpunkten liefern, von den Gewichten des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks ermittelt.
-
In 304 werden das neuronalen Driftnetzwerk und das neuronale Diffusionsnetzwerks zum Erhöhen der Wahrscheinlichkeit angepasst.
-
Gemäß verschiedenen Ausführungsformen werden in anderen Worten die Momente der Verteilung der Datenpunkten an den verschiedenen Zeitschritten ermittelt, indem die Erwartungswerte der Ableitungen der neuronalen Netzwerke (Driftnetzwerk und Diffusionsnetzwerk) verwendet werden. Diese Erwartungswerte der Ableitungen wird zunächst schichtweise ermittelt und dann zu den Erwartungswerten der Ableitungen der neuronalen Netzwerke zusammengesetzt.
-
Gemäß verschiedenen Ausführungsformen erfolgt dann das Ermitteln der Momente der Verteilungen der Datenpunkten an den verschiedenen Zeitschritten durch Schicht-weises (z.B. rekursives) Moment-Anpassen. Anschaulich gesprochen werden gemäß verschiedenen Ausführungsformen die Momente der Verteilungen der Datenpunkte (und damit die Unsicherheit der Datenpunkte) durch die Schichten propagiert und über Zeitschritte hinweg propagiert.
-
Dies wird für Trainingsdaten durchgeführt und die Parameter der neuronalen Netzwerke (Gewichte) z.B. mittels Maximum-Likelihood-Schätzen optimiert.
-
Die trainierte neuronale stochastische Differentialgleichung kann zum Steuern einer Robotervorrichtung verwendet werden.
-
Unter „Robotervorrichtung“ kann jegliches physisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird), wie eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, ein persönlicher Assistent oder ein Zugangskontrollsystem verstanden werden.
-
Die Steuerung kann auf der Grundlage von Sensordaten erfolgen. Diese Sensordaten (und entsprechend in den Trainingsdaten enthaltene Sensordaten) können von verschiedenen Sensoren wie Video, Radar, LiDAR, Ultraschall, Bewegung, Akustik, Wärmebild usw. sein, z.B. Sensordaten über Systemzustände sowie Konfigurationen. Die Sensordaten können in Form von (z.B. skalaren) Zeitreihen vorliegen.
-
Ausführungsformen können insbesondere dazu verwendet werden, ein maschinelles Lernsystem zu trainieren und einen Roboter autonom zu steuern, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarien zu erreichen. Insbesondere sind Ausführungsformen für die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben, z.B. in Fließbändern, anwendbar. Sie können z.B. nahtlos in eine traditionelle GUI für einen Steuerungsprozess integriert werden.
-
Die trainierte neuronale stochastische Differentialgleichung kann beispielsweise zur Vorhersage von Sensordaten bei einem physikalischen oder chemischen Prozess vorhergesagt werden, z.B. einer Temperatur oder einer Materialeigenschaft etc.
-
In solch einem Kontext können Ausführungsformen auch für die Anomaliedetektion verwendet werden. Beispielsweise kann eine OOD (Out of Distribution)-Detektion für Zeitreihen durchgeführt werden. Dazu wird beispielsweise mittels der trainierten neuronalen stochastischen Differentialgleichung ein Mittelwert und eine Kovarianz einer Verteilung von Datenpunkten (z.B. Sensordaten) vorhergesagt und die festgestellt, ob gemessene Sensordaten dieser Verteilung folgen. Bei zu starker Abweichung kann dies als Indiz dafür gesehen werden, dass eine Anomalie vorliegt und z.B. eine Robotervorrichtung entsprechend gesteuert werden (z.B. ein Fließband angehalten werden).
-
Der Trainingsdatensatz kann je nach Anwendungsfall ausgestaltet werden. Er enthält typischerweise eine Vielzahl von Trainings-Trajektorien, die beispielsweise die zeitlichen Verläufe jeweiliger Sensordaten (Temperatur, Geschwindigkeit, Position, Materialeigenschaft, ...) beinhalten. Die Trainingsdatensätze können durch Experimente oder auch durch Simulationen erstellt werden.
-
Das Verfahren ist gemäß einer Ausführungsform Computer-implementiert.
-
Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.