-
Technisches Gebiet
-
Die Erfindung betrifft Steuergeräte, insbesondere für Kraftfahrzeuge, in denen Modelle als datenbasierte Funktionsmodelle mit Hilfe einer Modellberechnungseinheit berechnet werden. Insbesondere betrifft die vorliegende Erfindung Maßnahmen zum adaptiven Korrigieren eines solchen datenbasierten Funktionsmodells während eines laufenden Betriebs.
-
Technischer Hintergrund
-
Zur Implementierung von Funktionsmodellen in Steuergeräten, insbesondere in Motorsteuergeräten für Verbrennungsmotoren, können datenbasierte Funktionsmodelle verwendet werden. Datenbasierte Funktionsmodelle sind nicht-parametrische Modelle, die ohne spezifische Anfangsvorgaben aus Trainingsdaten erstellt werden. Ein Beispiel für ein datenbasiertes Funktionsmodell stellt das so genannte Gauß-Prozess-Modell dar, das auf einer Gauß-Prozess-Regression basiert. Bei der Gauß-Prozess-Regression handelt es sich um eine vielseitige Methode zur datenbasierten Modellierung komplexer physikalischer Systeme anhand einer großen Menge von Trainingsdaten.
-
Aus dem Stand der Technik ist ein Steuergerät mit einem integrierten Steuerbaustein mit einer Hauptrecheneinheit und mit einer separaten Modellberechnungseinheit zur Berechnung des Funktionswertes des datenbasierten Funktionsmodells bekannt. So zeigt beispielsweise die Druckschrift
DE 10 2010 028 266 A1 einen Steuerbaustein mit einer zusätzlichen Logikschaltung als Modellberechnungseinheit, die zur rein hardwarebasierten Berechnung von Exponentialfunktionen sowie Additions- und Multiplikationsoperationen in vorbestimmter Weise ausgebildet ist. Dies ermöglicht es, die Berechnung von Bayes-Regressionsverfahren, die insbesondere zur Berechnung von Gauß-Prozessmodellen benötigt werden, zur Berechnung in eine Hardwareeinheit auszulagern.
-
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 deutlich höheren Rechengeschwindigkeit zu rechnen, als dies in der softwaregesteuerten Hauptrecheneinheit erfolgen könnte.
-
Bislang sind keine zufriedenstellenden Verfahren bekannt, in der Modellberechnungseinheit implementierte, datenbasierte Funktionsmodelle zu adaptieren, d.h. zur Laufzeit zu modifizieren. Grundsätzlich ist die Möglichkeit bekannt, ein datenbasiertes Basismodell mit Hilfe eines additiven Fehlermodells zu adaptieren, indem dem Basismodell eine additive Komponente hinzugefügt wird.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind ein Verfahren und eine Vorrichtung zur Adaption eines datenbasierten Basismodells mit Hilfe eines additiven Modells 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 Adaptieren eines Basisfunktionsmodells mit einem Korrekturmodell vorgesehen, um ein adaptiertes Basisfunktionsmodell für eine Ausgangsgröße zu erhalten, mit folgenden Schritten:
- – Bereitstellen des Korrekturmodells als ein Neuronales-Netz-Modell, wobei ein oder mehrere Parametervektoren vorgesehen sind;
- – Bereitstellen eines Sollwerts für die Ausgangsgröße des adaptierten Basisfunktionsmodells an einem Abfragepunkt;
- – Adaptieren des Korrekturmodells mithilfe eines Gradientenabstiegverfahrens durch Anpassen mindestens eines der Parametervektoren abhängig von dem Sollwert der Ausgangsgröße des adaptierten Basisfunktionsmodells.
-
Zur Adaption eines datenbasierten Basismodells kann grundsätzlich ein Korrekturmodell vorgesehen werden, mit dem das Basismodell beaufschlagt wird. Um eine möglichst effiziente Berechnung in der Modellberechnungseinheit für die Berechnung eines Gauß-Prozessmodells zu ermöglichen, ist vorgesehen, das Korrekturmodell in Form eines neuronalen Netzes insbesondere in Form eines RBF-Netzes (RBF: Radiale Basisfunktion) auszubilden. Dadurch kann die Adaption durch das Korrekturmodell mit einem kontinuierlichen Back-Propagation-Lernen online während des Betriebs des Steuergeräts mithilfe der Modellberechnungseinheit realisiert werden. Mit dem Korrekturmodell, das als neuronales Netz ausgeprägt ist, kann in einfacher Weise eine hochdimensionale Adaption von Black-Box-Modellen während des Betriebs des Steuergeräts vorgenommen werden.
-
Weiterhin kann das adaptierte Basisfunktionsmodell einer Summe des Basisfunktionsmodells und des Korrekturmodells oder einem Produkt zwischen dem Basisfunktionsmodell und dem Korrekturmodell entsprechen.
-
Es können die weiteren Schritte vorgesehen sein:
- – für den mindestens einen der Parametervektoren, Ermitteln eines Gradienten des Korrekturmodells bezüglich des mindestens einen Parametervektors an dem Abfragepunkt;
- – Adaptieren des Korrekturmodells durch Anpassen des mindestens einen der Parametervektoren abhängig von dem Gradienten des adaptierten Korrekturmodells bezüglich des mindestens einen der Parametervektoren und eines Unterschieds zwischen der Ausgangsgröße des adaptierten Basisfunktionsmodells und dem Sollwert.
-
Gemäß einer Ausführungsform kann das Basisfunktionsmodell weiterhin abhängig von einer Lernrate, insbesondere durch multiplikatives Beaufschlagen mit der Lernrate, adaptiert werden.
-
Insbesondere kann das Basisfunktionsmodell einem nicht-parametrischen datenbasierten Gaußprozess-Modell entsprechen, das durch Parametervektoren und Stützstellenpunkte definiert ist, wobei das Neuronales-Netz-Modell einem RBF-Netz-Modell entspricht, das RBF-Kerne aufweist, die mathematisch den Gaußfunktionen des Gaußprozess-Modell entsprechen, so dass das RBF-Netz-Modell durch Parametervektoren und Stützstellenpunkte, die den Ort der RBF-Kerne angeben, definiert ist.
-
Es kann vorgesehen sein, dass die Stützstellenpunkte des Gaußprozess-Modells den Stützstellenpunkten des RBF-Netz-Modells entsprechen.
-
Gemäß einer Ausführungsform kann das Gaußprozess-Modell und das RBF-Netz-Modell in einer hardwarebasierten Modellberechnungseinheit berechnet werden.
-
Gemäß einer Ausführungsform ist ein integrierter Steuerbaustein zum Adaptieren eines Basisfunktionsmodells mit einem datenbasierten Korrekturmodell vorgesehen, um ein adaptiertes Basisfunktionsmodell für eine Ausgangsgröße zu erhalten, umfassend:
- – eine Hauptrecheneinheit, die ausgebildet ist, um ein oder mehrere Parametervektoren eines Korrekturmodells, das als ein Neuronales-Netz-Modell ausgebildet ist, bereitzustellen und um einen Sollwert für die Ausgangsgröße des adaptierten Basisfunktionsmodells an einem Abfragepunkt bereitzustellen;
- – eine Modellberechnungseinheit, die ausgebildet ist, um einen Korrekturwert des Korrekturmodells basierend auf den bereitgestellten ein oder mehreren Parametervektoren an dem Abfragepunkt zu berechnen;
wobei die Hauptrecheneinheit weiter ausgebildet ist, um das Korrekturmodell mithilfe eines Gradientenabstiegverfahrens durch Anpassen mindestens eines der ein oder mehreren Parametervektoren abhängig von dem Sollwert der Ausgangsgröße des adaptierten Basisfunktionsmodells und dem berechneten Korrekturwert zu adaptieren.
-
Kurzbeschreibung der Zeichnungen
-
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
-
1 eine schematische Darstellung eines integrierten Steuerbausteins mit einer hardwarebasierten Modellberechnungseinheit; und
-
2 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Adaptieren eines Basisfunktionsmodells mit Hilfe eines neuronalen Netzmodells.
-
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 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. In der Modellberechnungseinheit 3 ist kein Prozessor vorgesehen. Dies ermöglicht eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 3 bzw. einen flächenoptimierten Aufbau in integrierter Bauweise.
-
Die Modellberechnungseinheit 3 weist einen Rechenkern 31 auf, der eine Berechnung eines vorgegebenen Algorithmus rein in Hardware implementiert.
-
Die Modellberechnungseinheit 3 kann des Weiteren einen lokalen SRAM 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 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 und 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.
-
Für die Erstellung des nicht-parametrischen, datenbasierten Funktionsmodells erhält man in Formelschreibweise die folgende Funktion:
aus der sich der Funktionswert z ergibt. Dabei entsprechen D der Dimension des Eingangsdaten-/Trainingsdaten-/Stützstellendatenraums, v einem Modellwert (Ausgangswert) an einem Testpunkt u (Eingangsgrößenvektor der Dimension D), x
i bzw. (x
i)
d einer Stützstelle der Stützstellendaten mit i als Index der Stützstellenpunkte und d als Index für die Dimension, N der Anzahl der Stützstellen der Stützstellendaten, sowie l
d, σ
f und der Parameter-Vektor Q
z den Hyperparametern aus dem Modelltraining.
-
Es kann darüberhinaus eine Eingangs- und Ausgangsnormierung durchgeführt werden, da die Berechnung des Gauß-Prozess-Modells typischerweise in einem normierten Raum stattfindet.
-
Zum Start einer Berechnung kann insbesondere die Recheneinheit 2 die 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ß-Prozess-Modells 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 Pseudo-Code realisierten Hardwarearchitektur der Modellberechnungseinheit
3, die der obigen Berechnungsvorschrift entspricht. Aus dem Pseudo-Code 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 Parametervektoren und Stützstellendaten, die in einem dem betreffenden datenbasierten Funktionsmodell zugeordneten Speicherbereich in der Speichereinheit gespeichert werden. Entsprechend obigem Pseudocode umfassen die Parametervektoren von datenbasierten Funktionsmodellen den Parameter-Vektor Qz und den Lengthscale-Vektor l, d.h. ld für jeden Dimensionsindex d der Eingangsgrößen des Eingangsgrößenvektors. Weiterhin wird die Anzahl N der Stützstellendatenpunkte, einen Startwert Nstart einer äußeren Schleife und ein Schleifenindex vInit bei einer Wiederaufnahme der Berechnung der inneren Schleife (normalerweise = 0) vorgegeben.
-
2 zeigt ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Adaptieren eines Basisfunktionsmodells mit Hilfe eines neuronalen Netzmodells. Das Basisfunktionsmodell kann eine Gaußprozessfunktion entsprechend der obigen Beschreibung oder eine andere herkömmliche Modellfunktion sein und wird mehrdimensionale Funktion z = f(u) definiert.
-
Dazu wird das neuronale Netzmodell in Gestalt der folgenden Modellfunktion als RBF-Netz (RBF:Radiale Basisfunktion) beschrieben:
-
Diese Modellfunktion entspricht im Wesentlichen der oben beschriebenen Berechnung eines datenbasierten Funktionsmodells in der Modellberechnungseinheit 3, so dass zur Berechnung des neuronalen Netzmodells die Modellberechnungseinheit 3 verwendet werden kann.
-
Zur Korrektur des Basisfunktionsmodells z = f(u) kann das Korrekturmodell k = g(u) hinzuaddiert werden, um addierte Funktionswerte für Abfragepunkte zu erhalten. Das Korrekturmodell enthält in der obigen Form die Parametervektoren Qk, ld, wobei der Index d der jeweiligen Eingangsdimension entspricht und N der Anzahl der RBF-Kerne entspricht, deren Anzahl vorgegeben wird und im Wesentlichen den Speicherplatzbedarf für das Korrekturmodell k = g(u) bestimmt. (Xi)d entsprechen den Stützstellenpunkten, die ebenfalls als Parameter vorgegeben werden können.
-
Ist das Basisfunktionsmodell z = f(u) ebenfalls als datenbasiertes Funktionsmodell ausgebildet, so ist bevorzugt, dass die Stützstellenpunkte sowohl für das Basisfunktionsmodell als auch für das Korrekturmodell identisch sind, um den Speicherplatzbedarf für die Berechnung des Korrekturmodells bzw. die Adaption des Basisfunktionsmodells in der Modellberechnungseinheit 3 zu reduzieren. Es besteht jedoch auch die Möglichkeit, dass das Basisfunktionsmodell und das Korrekturmodell auf unterschiedlichen Mengen von Stützstellenpunkten basieren.
-
In Schritt S1 werden somit das Basisfunktionsmodell z = f(u) und das Korrekturmodell k = g(u) vorgegeben. Insbesondere das Korrekturmodell wird in Form der Parameter Qk, ld, N sowie der Stützstellenpunkte (Xi)d vorgegeben.
-
Der Vorhersagewert des Gesamtmodells, d.h. des adaptierten Basisfunktionsmodells entspricht somit y = z + k = h(u) = f(u) + g(u), wobei z dem Funktionswert des Basisfunktionsmodells an einem Abfragepunkt u und k dem Korrekturfunktionswert der Korrekturfunktion g(u) an dem Abfragepunkt u entsprechen.
-
Zur Adaption wird nun in Schritt S2 ein Sollwert Y einer Systemgröße an einem Abfragepunkt u vorgegeben, d.h. gemessen oder in sonstiger Weise bestimmt. Beispielsweise kann der Sollwert Y einem Messwert einer Systemgröße oder aus anderen Messwerten ermittelte Systemgröße entsprechen. Der Sollwert Y der Systemgröße soll zur Adaption nun z + k entsprechen. Dazu werden die Parametervektoren Qk und ld angepasst.
-
Das Anpassen der Parametervektoren erfolgt in Schritt S3 so, dass für den Fall das z + k > Y, d.h. wenn die Modellvorhersage zu groß ist, der Wert von k an dem entsprechenden Abfragepunkt u verringert wird, und für den Fall, dass z + k < Y, d.h. wenn die Modellvorhersage zu klein ist, der Wert von k an dem entsprechenden Abfragepunkt u vergrößert wird. Die Änderung des Korrekturwerts k an dem entsprechenden Abfragepunkt u erfolgt durch die Anpassung der Korrekturfunktion, indem mindestens einer der Parametervektoren Qk, ld in einem aus einem Gradienten an dem Abfragepunkt u ersichtlichen Richtung geändert wird.
-
Dies kann beispielsweise durch Beaufschlagen jeder Vektorkomponente des betreffenden Parametervektors mit einem Wert, der sich aus dem entsprechenden Gradienten und ggfs einer Gewichtung ergibt.
-
Dazu werden mit Hilfe des Back-Propagation-Lernverfahrens bzw. einem schrittweisen Gradientenabstiegsverfahren die Gradienten von y nach den Parametervektoren gebildet, also die Terme
-
Somit erfolgt die Adaption jedes der Parametervektoren Q
k, l
d um einen Wert
bzw.
wobei η einer Lernrate entspricht und fest oder variabel vorgegeben werden kann.
-
Durch einen einzelnen Lernschritt wird bei kleinem Wert der Lernrate η keine vollständige Korrektur des auftretenden Modellfehlers erreicht. Jedoch kann durch kontinuierliches Durchführen des beschriebenen Adaptionsverfahrens während des laufenden Betriebs eine Konvergenz des Korrekturmodells g(u) herbeigeführt werden, um ein adaptiertes Basisfunktionsmodell zu erstellen, das dem Systemverhalten bestmöglich entspricht.
-
Durch Vorgabe der Lernrate η kann die Konvergenzgeschwindigkeit eingestellt werden, wobei bei größeren Werten der Lernrate η die Korrektur schneller erfolgt, jedoch auch singuläre Effekte stärker berücksichtigt werden. Bei kleineren Werten der Lernrate η erfolgt das Lernen bzw. die Anpassung des Basisfunktionsmodells f(u) langsamer, ist jedoch auch stabiler gegenüber temporären Störungen. Ferner ist es möglich, den Wert der Lernrate η zur Laufzeit zu verändern, um die Verhaltensweise des Lernverfahrens an sich ändernde Anforderungen anzupassen.
-
Bei einer geringeren Lernrate η erfolgt das vollständige Korrigieren einer Abweichung nur dann, wenn das Verfahren kontinuierlich ausgeführt wird. Insbesondere erfolgt dann die Korrektur an den Eingangsgrößen des Eingangsgrößenvektors, die besonders häufig antreten, so dass eine Anpassung der Parametervektoren Qk, ld für das Korrekturmodell g(u) insbesondere in Betriebsbereichen erfolgt, die einer typischen Nutzung entsprechen.
-
Es ist weiterhin möglich, auch die Stützstellenpunkte Xid zum Adaptieren der Basismodellfunktion zu verwenden. Insbesondere können die Stützstellenpunkte Xid als Parameter betrachtet werden und entsprechend obiger Vorgehensweise adaptiert werden. Dadurch werden auch die Positionen der RBF-Netze im Raum verändert. Dies kann je nach Anwendung wünschenswert sein.
-
Ebenso kann es sinnvoll sein, den Wertebereich eines oder mehrerer der Parametervektoren Qk, ld zu beschränken oder nicht zu variieren. Beispielsweise kann eine Adaption des Parametervektors ld unterbunden werden.
-
Weiterhin kann bei der Anpassung der Parametervektoren Qk, ld eine untere Grenze der Werte des Parametervektors ld angegeben werden, die nicht unterschritten werden darf, da die Adaptionsfunktion ansonsten zu einem Overfitting tendiert.
-
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 102010028266 A1 [0003]
-
Zitierte Nicht-Patentliteratur
-
- C. E. Rasmussen et al., „Gaussian Processes for Machine Learning“, MIT Press 2006 [0025]