-
Technisches Gebiet
-
Die Erfindung betrifft Verfahren zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells, insbesondere unter Nutzung eines Steuerbausteins mit einer Hardwareeinheit, die zum Berechnen des datenbasierten Funktionsmodells hartverdrahtet ausgebildet ist.
-
Stand der Technik
-
Zur Implementierung von Funktionsmodellen in Steuergeräten, insbesondere in Motorsteuergeräten für Verbrennungsmotoren, können datenbasierte Funktionsmodelle vorgesehen werden. Datenbasierte Funktionsmodelle werden auch als parameterfreie Modelle bezeichnet und können ohne spezifische Vorgaben aus Trainingsdaten, d. h. einer Menge von Trainingsdatenpunkten, erstellt werden.
-
Aus dem Stand der Technik sind Steuerbausteine mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Funktionsmodellen in einem Steuergerät bekannt. So offenbart beispielsweise die Druckschrift
DE 10 2010 028 259 A1 ein Steuergerät mit einer zusätzlichen Logikschaltung als Modellberechnungseinheit, die zur Berechnung von Exponentialfunktionen ausgebildet ist, um die Durchführung von Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozessmodellen benötigt werden, zu unterstützen.
-
Die Modellberechnungseinheit ist insgesamt zur Durchführung mathematischer Prozesse zur Berechnung des datenbasierten Funktionsmodells basierend auf Parametern und Stützstellen bzw. Trainingsdaten ausgelegt. Insbesondere sind die Funktionen der Modellberechnungseinheit zur effizienten Berechnung von Exponential- und Summenfunktionen rein in Hardware realisiert, so dass es ermöglicht wird, Gauß-Prozessmodelle mit einer höheren Rechengeschwindigkeit zu rechnen als dies in der softwaregesteuerten Hauptrecheneinheit erfolgen kann.
-
Für viele Anwendungsfälle ist die Berechnung von Funktionswerten von datenbasierten Funktionsmodellen in Steuergeräten, insbesondere für Verbrennungsmotoren, ausreichend. Jedoch sind Anwendungsfälle bekannt, in denen ein Gradient eines datenbasierten Funktionsmodells erforderlich ist, insbesondere um damit ein inverses datenbasiertes Funktionsmodell zu berechnen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind ein Verfahren zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozessmodells, gemäß Anspruch 1 sowie eine Vorrichtung gemäß dem nebengeordneten Anspruch vorgesehen.
-
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
-
Gemäß einem ersten Aspekt ist ein Verfahren zum Berechnen eines Gradienten eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozessmodells, vorgesehen. Eine Modellberechnungseinheit ist ausgebildet, um hardwarebasiert einen Funktionswert des datenbasierten Funktionsmodells mit einer Exponentialfunktion, Summenfunktionen und Multiplikationsfunktionen in zwei verschachtelten Schleifenoperationen zu berechnen, wobei zur Berechnung des Gradienten des datenbasierten Funktionsmodells für einen gewünschten Wert einer vorgegebenen Eingangsgröße die Modellberechnungseinheit genutzt wird.
-
Eine Idee des obigen Verfahrens besteht darin, die Berechnung eines Gradienten eines datenbasierten Funktionsmodells durchzuführen, wobei im Wesentlichen die bestehenden, in Hardware implementierten Algorithmen zum Berechnen des Funktionswerts des datenbasierten Funktionsmodells verwendet werden sollen. Dies ermöglicht es, die Berechnung des Gradienten für das datenbasierte Funktionsmodell auf einer hardwarebasierten Modellberechnungseinheit durchzuführen, in der der Algorithmus zur Berechnung des datenbasierten Funktionsmodells im Wesentlichen fest, d. h. hardwaremäßig, verdrahtet implementiert ist. Durch die vereinfachte Berechnung des Gradienten des datenbasierten Funktionsmodells ist es möglich, insbesondere mithilfe eines Newton-Iterationsverfahrens ein Rückwärtsmodell zu berechnen, bei dem für einen gegebenen Zielwert bezüglich einer festgelegten Eingangsdimension lokal eine numerische Invertierung vorgenommen werden kann.
-
Weiterhin kann vorgesehen sein, dass das datenbasierte Funktionsmodell durch Stützstellendaten, Hyperparameter und einen Parametervektor definiert ist, wobei der Parametervektor eine Anzahl von Elementen enthält, die der Anzahl der Stützstellendatenpunkten entspricht, wobei zur Berechnung des Gradienten des datenbasierten Funktionsmodells für den gewünschten Wert der vorgegebenen Eingangsgröße das datenbasierte Funktionsmodell modifiziert wird, indem der Parametervektor mit einem stützstellendatenpunktabhängigen Gewichtungsvektor beaufschlagt wird.
-
Gemäß einer weiteren Ausführungsform kann der Gradient des datenbasierten Funktionsmodells als ein Funktionswert des modifizierten datenbasierten Funktionsmodells für den gewünschten Wert der vorgegebenen Eingangsgröße in der Modellberechnungseinheit berechnet und ein Offsetwert addiert werden.
-
Weiterhin kann, wenn die Stützstellendatenpunkte normiert sind, das Ergebnis der Summe des Funktionswerts des modifizierten datenbasierten Funktionsmodells und des Offsetwerts mit einem auf der Standardabweichung der Stützstellendaten hinsichtlich der Ausgangsdaten basierenden Faktor multipliziert werden, um den Gradienten des datenbasierten Funktionsmodells zu erhalten.
-
Der Parametervektor kann während einer Berechnung des modifizierten datenbasierten Funktionsmodells wiederholt mit einem stützstellendatenpunktabhängigen Gewichtungsvektor beaufschlagt werden.
-
Gemäß einer Ausführungsform kann das datenbasierte Funktionsmodell durch Stützstellendaten, Hyperparameter und einen Parametervektor definiert sein, wobei der Parametervektor eine Anzahl von Elementen enthält, die der Anzahl der Stützstellendatenpunkte entspricht, wobei zur Berechnung des Gradienten des datenbasierten Funktionsmodells bezüglich einer vorgegebenen Eingangsgröße das datenbasierte Funktionsmodell modifiziert wird, indem für einen gewünschten Wert der vorgegebenen Eingangsgröße der Funktionswert des datenbasierten Funktionsmodells in der Modellberechnungseinheit berechnet, das Ergebnis mit dem gewünschten Wert der vorgegebenen Eingangsgröße multipliziert und anschließend eine erneute Berechnung des datenbasierten Funktionsmodells mit einem geänderten Parametervektor in der Modellberechnungseinheit durchgeführt wird.
-
Gemäß einem weiteren Aspekt ist ein Verfahren zum Durchführen eines Newton-Iterationsverfahrens für ein datenbasiertes Funktionsmodells in einem Steuerbaustein mit einer Hauptrecheneinheit und einer Modellberechnungseinheit vorgesehen, wobei die Modellberechnungseinheit ausgebildet ist, um hardwarebasiert Funktionswerte des datenbasierten Funktionsmodells mit einer Exponentialfunktion, Summenfunktionen und Multiplikationsfunktionen in zwei Schleifenoperationen zu berechnen, wobei ein Gradient des datenbasierten Funktionsmodells nach dem obigen Verfahren ermittelt wird und das datenbasierte Funktionsmodell mithilfe der Modellberechnungseinheit berechnet wird.
-
Weiterhin kann der Gradient des datenbasierten Funktionsmodells in einem ersten Rechenkern der Modellberechnungseinheit und der Funktionswert des datenbasierten Funktionsmodells in einem zweiten Rechenkern der Modellberechnungseinheit berechnet werden.
-
Gemäß einem weiteren Aspekt ist eine Vorrichtung, insbesondere ein Steuerbaustein mit einer Hauptrecheneinheit und einer Modellberechnungseinheit vorgesehen, wobei die Modellberechnungseinheit ausgebildet ist, um hardwarebasiert Funktionswerte des datenbasierten Funktionsmodells mit einer Exponentialfunktion, Summenfunktionen und Multiplikationsfunktionen in zwei Schleifenoperationen zu berechnen, wobei die Vorrichtung ausgebildet ist, um das obige Verfahren durchzuführen.
-
Kurzbeschreibung der Zeichnungen
-
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen ausführlicher erläutert. Es zeigen:
-
1 eine schematische Darstellung eines integrierten Steuerbausteins mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit;
-
2 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Ermitteln eines Gradienten des datenbasierten Funktionsmodells;
-
3 ein Flussdiagramm zur Veranschaulichung eines alternativen Verfahrens zum Ermitteln eines Gradienten des datenbasierten Funktionsmodells; und
-
4 ein Flussdiagramm zur Veranschaulichung eines alternativen Verfahrens zum Ermitteln eines Gradienten des datenbasierten Funktionsmodells.
-
Beschreibung von Ausführungsformen
-
1 zeigt eine schematische Darstellung einer Hardwarearchitektur für einen integrierten Steuerbaustein 1, z. B. in Form eines Mikrocontrollers, in dem in integrierter Weise eine Hauptrecheneinheit 2 und eine separate Modellberechnungseinheit 3 zur rein hardwarebasierten Berechnung eines datenbasierten Funktionsmodells vorgesehen sind. Die Hauptrecheneinheit 2 und die Modellberechnungseinheit 3 stehen über eine interne Kommunikationsverbindung 4, wie z. B. einen Systembus, miteinander in Kommunikationsverbindung.
-
Grundsätzlich ist die Modellberechnungseinheit 3 im Wesentlichen hartverdrahtet und dem entsprechend nicht wie die Hauptrecheneinheit 2 dazu ausgebildet, einen Softwarecode auszuführen. Alternativ ist eine Lösung möglich, in der die Modellberechnungseinheit 3 zur Berechnung des datenbasierten Funktionsmodells einen eingeschränkten, hoch spezialisierten Befehlssatz zur Verfügung stellt. Die Modellberechnungseinheit 3 ist als eine spezialisierte Recheneinheit nur zur Berechnung vorbestimmter Rechenprozesse ausgelegt. Dies ermöglicht eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 3 bzw. einen flächenoptimierten Aufbau in integrierter Bauweise.
-
Die Modellberechnungseinheit 3 weist eine Anzahl von Rechenkernen auf, so z. B. in dem in 1 dargestellten Ausführungsbeispiel einen ersten Rechenkern 31 und einen zweiten Rechenkern 32, die jeweils eine Berechnung eines vorgegebenen Algorithmus rein in Hardware implementieren. Die Modellberechnungseinheit 3 kann des Weiteren einen lokalen SRAM-Speicher 33 für die Speicherung der Konfigurationsdaten umfassen. Die Modellberechnungseinheit 3 kann ebenfalls eine lokale DMA-Einheit 34 (DMA = Direct Memory Access) umfassen. Mittels der lokalen DMA-Einheit 34 ist es möglich, auf die integrierten Ressourcen des Steuerbausteins 1, insbesondere auf den internen Speicher 5, zuzugreifen.
-
Der Steuerbaustein 1 kann einen internen Speicher 5 und eine weitere DMA-Einheit 6 (DMA = Direct Memory Access) umfassen. Der interne Speicher 5 und die weitere DMA-Einheit 6 stehen in geeigneter Weise, z. B. über die interne Kommunikationsverbindung 4, miteinander in Verbindung. Der interne Speicher 5 kann einen (für die Hauptrecheneinheit 2, die Modellberechnungseinheit 3 und ggf. weitere Einheiten) gemeinsamen SRAM-Speicher sowie einen Flash-Speicher für die Konfigurationsdaten (Parameter und Stützstellendaten) umfassen.
-
Die Verwendung von nicht parametrischen, datenbasierten Funktionsmodellen basiert auf einem Bayes-Regressionsverfahren. Die Grundlagen der Bayes-Regression sind beispielsweise in C. E. Rasmussen et al., „Gaussian Processes for Machine Learning", MIT Press 2006, beschrieben. Bei der Bayes-Regression handelt es sich um ein datenbasiertes Verfahren, das auf einem Modell basiert. Zur Erstellung des Modells sind Messpunkte von Trainingsdaten sowie zugehörige Ausgangsdaten einer zu modellierenden Ausgangsgröße erforderlich. Die Erstellung des Modells erfolgt anhand der Verwendung von Stützstellendaten, die den Trainingsdaten ganz oder teilweise entsprechen oder aus diesen generiert werden. Weiterhin werden abstrakte Hyperparameter bestimmt, die den Raum der Modellfunktionen parametrisieren und effektiv den Einfluss der einzelnen Messpunkte der Trainingsdaten auf die spätere Modellvorhersage gewichten.
-
Die abstrakten Hyperparameter werden durch ein Optimierungsverfahren bestimmt. Eine Möglichkeit für ein solches Optimierungsverfahren besteht in einer Optimierung einer Marginal Likelihood p(Y|H,X). Die Marginal Likelihood p(Y|H,X) beschreibt die Plausibilität der gemessenen y-Werte der Trainingsdaten, dargestellt als Vektor Y, gegeben die Modellparameter H und die x-Werte der Trainingsdaten. Im Modelltraining wird p(Y|H,X) maximiert, indem geeignete Hyperparameter gesucht werden, die zu einem Verlauf der durch die Hyperparameter und die Trainingsdaten bestimmten Modellfunktion führen und die Trainingsdaten möglichst genau abbilden. Zur Vereinfachung der Berechnung wird der Logarithmus von p(Y|H,X) maximiert, da der Logarithmus die Stetigkeit der Plausibilitätsfunktion nicht verändert.
-
Die Berechnung des Gauß-Prozessmodells erfolgt entsprechend den Schritten, die in
2 schematisch dargestellt sind. Die Eingangswerte
für einen Testpunkt x (Eingangsgrößenvektor) können zunächst normiert werden, und zwar entsprechend der folgenden Formel:
-
Dabei entsprechen mx der Mittelwertfunktion bezüglich eines Mittelwerts der Eingangswerte der Stützstellendaten, sx der Varianz der Eingangswerte der Stützstellendaten und d dem Index für die Dimension D des Testpunkts x.
-
Als Ergebnis der Erstellung des nicht parametrischen, datenbasierten Funktionsmodells erhält man:
-
Der so ermittelte Modellwert v wird mithilfe einer Ausgangsnormierung normiert, und zwar gemäß der Formel: v ~ = vsy + my
-
Dabei entsprechen v einem normierten Modellwert (Ausgangswert) an einem normierten Testpunkt x (Eingangsgrößenvektor der Dimension D), v ~ einem (nicht normierten) Modellwert (Ausgangswert) an einem (nicht normierten) Testpunkt x ~ (Eingangsgrößenvektor der Dimension D), xi einer Stützstelle der Stützstellendaten, N der Anzahl der Stützstellen der Stützstellendaten, D der Dimension des Eingangsdaten-/Trainingsdaten-/Stützstellendatenraums, sowie ld und σf den Hyperparametern aus dem Modelltraining, nämlich den Lengthscales bzw. dem Amplitudenfaktor. Der Vektor Qy ist eine aus den Hyperparametern und den Trainingsdaten berechnete Größe. Weiterhin entsprechen my der Mittelwertfunktion bezüglich eines Mittelwerts der Ausgangswerte der Stützstellendaten und sy der Varianz der Ausgangswerte der Stützstellendaten.
-
Die Eingangs- und Ausgangsnormierung wird durchgeführt, da die Berechnung des Gauß-Prozessmodells typischerweise in einem normierten Raum stattfindet.
-
Zum Start einer Berechnung kann insbesondere die Recheneinheit 2 die lokale DMA-Einheit 34 oder die weitere DMA-Einheit 6 anweisen, die das zu berechnende Funktionsmodell betreffenden Konfigurationsdaten in die Modellberechnungseinheit 3 zu übertragen und die Berechnung zu starten, die mithilfe der Konfigurationsdaten durchgeführt wird. Die Konfigurationsdaten umfassen die Hyperparameter eines Gauß-Prozessmodells sowie Stützstellendaten, die vorzugsweise mithilfe eines Adresszeigers auf den der Modellberechnungseinheit 3 zugewiesenen Adressbereich des internen Speichers 5 angegeben werden. Insbesondere kann hierfür auch der SRAM-Speicher 33 für die Modellberechnungseinheit 3, der insbesondere in oder an der Modellberechnungseinheit 3 angeordnet sein kann, verwendet werden. Auch können der interne Speicher 5 und der SRAM-Speicher 33 kombiniert verwendet werden.
-
Die Berechnung in der Modellberechnungseinheit 3 erfolgt in einer durch den nachfolgenden Pseudocode realisierten Hardwarearchitektur der Modellberechnungseinheit 3, die der obigen Berechnungsvorschrift entspricht. Aus dem Pseudocode ist zu erkennen, dass Berechnungen in einer inneren Schleife und einer äußeren Schleife erfolgen und deren Teilergebnisse akkumuliert werden. Zu Beginn einer Modellberechnung ist ein typischer Wert für eine Zählerstartgröße Nstart 0.
-
-
-
Die zur Berechnung eines datenbasierten Funktionsmodells benötigten Modelldaten umfassen also Hyperparameter und Stützstellendaten, die in einem dem betreffenden datenbasierten Funktionsmodell zugeordneten Speicherbereich in der Speichereinheit gespeichert werden. Entsprechend obigem Pseudocode umfassen die Größen zur Berechnung von datenbasierten Funktionsmodellen die für jede Dimension definierten Normierungsparameter s_x (entspricht sx), m_x (entspricht mx), s_y (entspricht sy) m_y (entspricht my), den Parametervektor Q_y (entspricht Qy), den normalisierten Trainingsdaten X, die Anzahl N der Stützstellenpunkte, die Anzahl D der Dimensionen der Eingangsgrößen, einen Startwert nStart einer äußeren Schleife, einen Schleifenindex vInit bei einer Wiederaufnahme der Berechnung der inneren Schleife (normalerweise = 0) sowie die Lengthscales l für jede der Dimensionen der Eingangsgrößen.
-
In integrierten Steuerbausteinen werden in der Regel Funktionswerte des durch Hyperparameter und Stützstellendaten definierten Gauß-Prozessmodells berechnet. Weiterhin kann es je nach implementierter Funktion im integrierten Steuerbaustein 1 erforderlich sein, eine invertierte Funktion zu berechnen, wobei für einen gegebenen Ausgangswert ya und festgelegten Eingangsdaten x1, x2, ..., xp-1, xp+1, ..., xD der Wert von xp so berechnet werden sollte, dass sich y(x) = y(x1, x2, ..., xD) = ya ergibt.
-
Da die Funktion von y(x) in der Regel nicht invertierbar ist, kann ein Verfahren zur Nullstellenbestimmung, insbesondere ein Newton-Verfahren zum Lösen des inversen Problems verwendet werden. Das Newton-Verfahren sieht vor, die Nullstellen der Funktion f(x) = y(x) – ya zu suchen.
-
Um die Nullstellen der realwertigen Funktion zu finden, sieht das Newton-Verfahren einen Iterationsprozess vor, wobei n der n-ten Iteration entspricht: x n+1 / p = x n / p – f(x) / f'(x)
-
Dadurch wird in der n-ten Iteration eine Aktualisierung von x n+1 / p erhalten. Dadurch wird die Funktion f(x) und ihre Ableitung f'(x) an dem Eingangspunkt x = x1, x2, ..., x n / p, ..., xD bewertet. Bei der Berechnung des Funktionswerts des datenbasierten Funktionsmodells und der ersten Ableitung des datenbasierten Funktionsmodells an dem Eingangsvektor x können drei Fälle unterschieden werden.
-
Der erste Fall betrifft die Situation, in der die Mengen der Stützstellendatenpunkte x
(k) und Y
(k) für jeweils das k-te datenbasierte Teilfunktionsmodell nicht normalisiert sind. Ausgehend von einem konkreten Beispiel mit einer linearen Mittelwertfunktion und zwei datenbasierten Teilfunktionsmodellen (Gauß-Prozessmodellen) wird der Gradient des datenbasierten Funktionsmodells berechnet. Die Vorgehensweise lässt sich beliebig auf mehr als zwei Teilfunktionsmodelle erweitern. Das datenbasierte Funktionsmodell wird wie folgt beschrieben:
wobei g
i(x) und h
j(x) datenbasierten Teilfunktionsmodellen,
σ (k) / f, (Q (k) / y)i, l (k) / d Hyperparametern bzw. daraus abgeleiteten Parametern des k-ten Gauß-Prozessmodells, y
a. dem Zielwert, m
1(x) = a
1x
1 + a
2x
2 + a
3x
3 + c der Mittelwertfunktion und x
(k) den Stützstellendaten entsprechen. Die erste Teilableitung f'(x) bei x
p ist:
-
In einem zweiten Fall sind die Trainingsdatenmengen normalisiert. Eine Schwierigkeit bei der Verwendung von normalisierten Daten zum Trainieren des Summenmodells aus einzelnen Gauß-Prozessmodellen besteht darin, dass für jedes Teilmodell die Parameter für die Normalisierung, d. h. die Standardabweichung
und der Mittelwert der Daten
für verschiedene Modelle k unterschiedlich sind, was zu einer jeweils unterschiedlichen Normalisierung führt. Daher ist es nicht möglich, die gesamte Berechnung in dem normalisierten Werteraum durchzuführen und das Ergebnis dann zurückzutransformieren, da keine einheitlichen σ
X, σ
Y oder
X ,
Y für alle gemessenen Stützstellendaten (X
(k), Y
(k))∀k existieren. Da die Gauß-Prozessmodelle mit normalisierten Daten trainiert werden, ist es daher erforderlich, die Berechnungen in dem normalisierten Werteraum durchzuführen, da deren Hyperparameter für die normalisierten Daten trainiert worden sind. Bei verschiedenen Normalisierungsparametern für jedes Gauß-Prozessmodell gibt x
(k) an, dass der Input-Vektor x mit
und
normalisiert ist.
-
Durch die Verwendung von nicht normalisierten Daten zum Trainieren des Gauß-Prozessmodells erhält man den Wert von f(x) = ax + c + y
2(x) + y
3(x) – y
a Durch die Verwendung von normalisierten Daten zum Trainieren des Gauß-Prozessmodells wird der Funktionswert der Funktion f(x) durch Zurücknormalisierung jedes Funktionswerts des Gauß-Prozessmodells mit seinen entsprechenden Normalisierungsparametern berechnet. Die lineare Mittelwertfunktion verwendet keine normalisierten Daten, daher ist für diese keine Rücknormalisierung erforderlich. Somit erhält man für den Funktionswert f(x):
-
Hier besteht der Unterschied zwischen y
2(x) und y
2(x
(2)) darin, dass der erste Ausdruck bedeutet, dass das erste Gauß-Prozessmodell einen nicht normalisierten Eingangsvektor x aufweist und das Modell auf nicht normalisierte Daten trainiert worden ist, wohingegen der zweite Ausdruck bedeutet, dass der Eingangsvektor x
(2) mit Normalisierungsparametern
und
normalisiert worden ist. Das entsprechende Gauß-Prozessmodell ist mit normalisierten Daten trainiert worden und das Ergebnis
ist der normalisierte Schätzwert.
-
Die erste Ableitung f'(x) lautet dann:
-
Die Eingänge der beiden Gauß-Prozessmodelle x
(2) und x
(3) unterscheiden sich, da jedes Gauß-Prozessmodell seine eigene Normalisierung aufweist. Da der Vektor X D-dimensional ist, wird die Standardabweichung der Dimension p des zweiten Teilfunktionsmodells durch
angegeben.
-
In einem dritten Fall ist die Trainingsdatenmenge bezüglich der Ausgänge mit der Funktion b(y) Box-Cox-transformiert und X ist normalisiert. Auch im dritten Fall kann die Berechnung mit einer beliebigen Anzahl von datenbasierten Teilfunktionsmodellen durchgeführt werden.
-
Die Funktion f(x) ist in diesem Fall angegeben durch: f(x) = b–1(b(m1(x)) + y2(x) + y3(x)) – ya.
-
Die additiven Gauß-Prozessmodelle wurden mit normalisierten und Box-Cox-transformierten Trainingsdaten trainiert. Die lineare Mittelwertfunktion m
1(x) verwendet als Eingang den nicht normalisierten Eingangsvektor x. Dies führt zu
-
Dabei entsprechen
und
der Standardabweichung und dem Mittelwert der Box-Cox-transformierten Daten
Die erste Ableitung hängt von der Box-Cox-Transformation b(·) und deren Inversen b
–1(·) ab und kann daher nicht in einer allgemeinen Form dargestellt werden. Aus diesem Grund wird f'(x) für verschiedene Box-Cox-Transformationen abgeleitet. Im Folgenden wird nur x nicht normalisiert, während die anderen Daten x
(2), x
(3) entsprechend ihren jeweiligen Normalisierungsparametern normalisiert werden. Die Funktionen y
2(·), y
3(·), ... werden mithilfe normalisierter X und Box-Cox transformierten und normalisiertem Y trainiert.
-
-
Dies entspricht einer Box-Cox-Transformation mit log(y). Für andere Box-Cox-Transformationen ist die Herleitung von f'(x) analog.
-
Für den Newton-Algorithmus sind zwei wesentliche Ausdrücke zu berechnen, nämlich f(x) und f'(x). Für den ersten Fall, dass die Stützstellendaten X und Y nicht normalisiert sind, ist die Berechnung von f(x) durch die Berechnung der Modellberechnungseinheit 3 des integrierten Steuerbausteins 1 möglich. Es muss lediglich ya subtrahiert werden, d. h. der Vorgabewert ya für das inverse Problem. Alternativ kann ya in den Mittelwertmodellparametern a und c integriert sein, indem c um ya reduziert wird.
-
Die Formel
entspricht der Formel zum Berechnen der Ableitung eines Funktionswerts, die eine lineare Mittelwertsfunktion und zwei additive Gauß-Prozessmodelle beinhaltet. Für jedes datenbasierte Teilfunktionsmodell (Fehlermodell) kann die Ableitung als eine gewichtete Berechnung in der Modellberechnungseinheit
3 des Fehlermodells an dem Testpunkt x berechnet werden, wobei die Gewichte von x abhängig sind. Der Parametervektor Q
y, gibt das Produkt der Inversen einer auf der Diagonalen mit Rauschen beaufschlagten Kovarianzmatrix der Trainingsdaten mit dem Vektor der zugehörigen Ausgangswerte an, und kann u. U. schnell während der Berechnung in der Modellberechnungseinheit
3 ausgetauscht werden. Daher kann die folgende Formel zur Berechnung der Ableitung (bei zwei additiven datenbasierten Teilfunktionsmodellen) verwendet werden:
-
Die Terme (*) und (**) können jeweils durch die Modellberechnungseinheit
3 berechnet werden. Zwischen den beiden Berechnungen muss lediglich der Parametervektor
Q (k) / y des k-ten datenbasierten Teilfunktionsmodells angepasst werden, wobei
Q (k) / y in g
i(x) bzw. in h
j(x) vorliegt. Dazu wird der i-te Eintrag des Parametervektors
Q (k) / y adaptiert, indem dieser mit dem Gewichtungsfaktor w
i(x) multipliziert wird, wobei
-
Da wi(x) von x abhängt und sich die p-te Komponente von x über den Lauf der Iterationen ändert, muss wi(x) und somit der Parametervektor Q (k) / y in jedem Berechnungsschritt i verändert werden. Dadurch ist es notwendig, dass der Parametervektor Q (k) / y während der Berechnung schnell geändert werden kann. Für die Berechnung in der Modellberechnungseinheit 3 ergibt sich somit Σ N / i=1gi(x)·wi(x) wobei die Berechnung anhand sich ändernder Parametervektoren Q (k) / y durchgeführt wird.
-
Ist das (On-the-fly) Aktualisieren des Parametervektors
Q (k) / y nicht möglich, so kann die Berechnung durch Umschreibung der Formel
zu folgendem Ausdruck
durchgeführt werden. Dabei werden wie in
2 dargestellt, zwei Berechnungen in der Modellberechnungseinheit
3 wie folgt durchgeführt. Im Folgenden ist die Berechnung für das erste Fehlermodell dargestellt. Die Berechnungen für weitere Fehlermodelle verlaufen analog:
-
Eine erste Berechnung (Schritt S1) Σ N / i=1gi(x) = y(x) in einem der Rechenkerne 31, 32 wird gefolgt von einer nachfolgenden Software-Multiplikation mit –xp in der Hauptrecheneinheit 2 (Schritt S2) Σ N / i=1gi(x)·(–xp) und einer anschließenden Berechnung (Schritt S3) in der Modellberechnungseinheit 3 mit einem geänderten Parametervektor Q (k) / y, der durch die elementweise Multiplikation des bestehenden Parametervektors Q (k) / y mit X (k) / i,p Σ N / i=1gi(x)·X (2) / i,p ermittelt wird. Die Berechnungen in der Modellberechnungseinheit 3 sind zum Berechnen eines Berechnungsschrittes notwendig. Dadurch ist es nicht erforderlich, die Modellparameter während der laufenden Berechnung zu ändern.
-
Bei der Berechnung des Newton-Verfahrens wird die Berechnung von f(x) für jede Iteration durchgeführt. Daher erfordert der Term Σ N / i=1gi(x)·(–xp) lediglich eine Multiplikation und keine zusätzliche Berechnung der Modellberechnungseinheit 3. Da zwei Modellberechnungen möglich sind, können die Berechnungen von f(x) und f'(x) für jede Iteration parallel in den Rechenkernen 31, 32 ausgeführt werden.
-
Für den zweiten Fall, dass die Trainingsdaten X
(k), Y
(k) normalisiert sind, kann die Formel
wie zuvor erläutert mit
Σ N / i=1gi(x)·wi(x) berechnet werden. Dabei wird der Faktor w
i(x) auf den normalisierten x-Wert berechnet, d. h. auf X
(2) in der angegebenen Schreibweise, insbesondere durch die Berechnung mit
sy = σ 2 / Y/(σ 2 / Y)p. Dadurch wird der Denormalisierungsparameter verwendet, um das erhaltene Ergebnis mit dem geeigneten Faktor zu multiplizieren.
-
Ist eine Online-Aktualisierung von Parametern der Modellberechnung nicht möglich, so kann durch Umschreibung der obigen Formel zu folgendem Ausdruck:
die Berechnung ähnlich wie zuvor erläutert durchgeführt werden, mit dem einzigen Unterschied der Multiplikation mit
oder dem geeigneten Term für andere Gauß-Prozessmodelle. Die Berechnung wird für jedes datenbasierte Teilfunktionsmodell mithilfe von zwei Modellberechnungen gemäß den folgenden Rechenschritten, die in
3 schematisch dargestellt sind, ausgeführt. Die folgende Notation der Rechenschritte bezieht sich auf das erste Fehlermodell, die Berechnung der weiteren Fehlermodelle erfolgt analog:
Σ N / i=1gi(x) = y(x) Berechnung in dem ersten Rechenkern
31 (Schritt S11)
Σ N / i=1gi(x)·(–xp) Multiplikation in der Hauptrecheneinheit
2 (Schritt S12)
Σ N / i=1gi(x)·X (2) / i,p Berechnung in dem zweiten Rechenkern
32 mit geändertem Q
y (Schritt S13)
Multiplikation des Ergebnisses mit diesem Faktor in Software (Schritt S14)
-
Für den dritten Fall, dass für jedes datenbasierte Teilfunktionsmodell die Ausgänge y der Trainingsdaten Box-Cox-transformiert sind mit b(y) und die Eingänge der Trainingsdaten X normalisiert sind, gilt für f(x) und f'(x):
wobei die Box-Cox-Transformation b(y) = log(y) entspricht. f(x) wird wie folgt berechnet:
A | Berechnung in dem ersten Rechenkern 31 |
exp(A) | Berechnung in der Hauptrecheneinheit 2 in Software |
(ax + c) | Berechnung der Mittelwertfunktion in der Hauptrecheneinheit 2 in Software |
-
Der Gradient f'(x) des Funktionsmodells wird, wie in
4 schematisch dargestellt, wie folgt berechnet:
A Berechnung in dem ersten Rechenkern
31 (Schritt S21)
exp(A) Berechnung in der Hauptrecheneinheit
2 in Software (Schritt S22)
(ax + c) Berechnung der Mittelwertfunktion in der Hauptrecheneinheit
2 in Software (Schritt S23)
Multiplikation des Ergebnisses mit diesem Faktor in Software (Schritt S24)
-
Da insbesondere der Term A sowohl für die Berechnung von f(x) und f'(x) verwendet wird, ist eine nur einmalige Berechnung in der Modellberechnungseinheit 3 ausreichend.
-
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
-
- DE 102010028259 A1 [0003]
-
Zitierte Nicht-Patentliteratur
-
- C. E. Rasmussen et al., „Gaussian Processes for Machine Learning”, MIT Press 2006 [0027]