DE102013220432A1 - Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT - Google Patents

Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT Download PDF

Info

Publication number
DE102013220432A1
DE102013220432A1 DE201310220432 DE102013220432A DE102013220432A1 DE 102013220432 A1 DE102013220432 A1 DE 102013220432A1 DE 201310220432 DE201310220432 DE 201310220432 DE 102013220432 A DE102013220432 A DE 102013220432A DE 102013220432 A1 DE102013220432 A1 DE 102013220432A1
Authority
DE
Germany
Prior art keywords
model
calculation unit
model calculation
lolimot
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201310220432
Other languages
English (en)
Inventor
Anne von Vietinghoff
Heiner Markert
Andre GUNTORO
Michael Hanselmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE201310220432 priority Critical patent/DE102013220432A1/de
Priority to CN201410526170.3A priority patent/CN104573822B/zh
Publication of DE102013220432A1 publication Critical patent/DE102013220432A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/266Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D2041/1413Controller structures or design
    • F02D2041/1423Identification of model or controller parameters
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D2041/1413Controller structures or design
    • F02D2041/1425Controller structures or design using a bond graph model or models with nodes
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D2041/1433Introducing closed-loop corrections characterised by the control or regulation method using a model or simulation of the system

Abstract

Die Erfindung betrifft eine Modellberechnungseinheit (3) für einen integrierten Steuerbaustein (1), der durch rein hardwarebasierte Implementierung mit einer Exponentialfunktion, Summierfunktionen und Multiplikationsfunktionen in mindestens einer inneren und einer äußeren Schleife versehen ist, um ein datenbasiertes Funktionsmodell, insbesondere ein Gauß-Prozess-Modell, zu berechnen, wobei die Modellberechnungseinheit (3) ferner dazu ausgebildet ist, ein LOLIMOT-Modell, das mehrere lokale Teilmodelle beinhaltet, zu berechnen.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft integrierte Steuerbausteine mit einer Modellberechnungseinheit, in der datenbasierte Funktionsmodelle hardwaremäßig berechnet werden können.
  • Stand der Technik
  • Aus dem Stand der Technik sind Steuergeräte mit integrierten Steuerbausteinen mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Funktionsmodellen bekannt.
  • So zeigt beispielsweise die Druckschrift DE 10 2010 028 266 A1 einen integrierten Steuerbaustein mit einer Hauptrecheneinheit, einer Speichereinheit und einer zusätzlichen Logikschaltung als Modellberechnungseinheit, die zur rein hardwarebasierten Berechnung einer Abfolge von Exponentialfunktionen sowie Additions- und Multiplikationsoperationen ausgebildet ist. Dies ermöglicht es, die Berechnung von Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozess-Modellen benötigt werden, durch eine Hardware-Einheit in dem integrierten Steuerbaustein zu unterstützen.
  • Die Modellberechnungseinheit ist insgesamt zur Durchführung mathematischer Prozesse zur Berechnung des datenbasierten Funktionsmodells basierend auf bereitgestellten Hyperparametern und Stützstellen bzw. Trainingsdaten ausgelegt. Insbesondere sind die Funktionen der Modellberechnungseinheit zur effizienten Berechnung von Exponentialfunktionen und Summenfunktionen ausschließlich in Hardware realisiert, so dass es ermöglicht wird, Gauß-Prozess-Modelle mit einer deutlich höheren Rechengeschwindigkeit zu rechnen, als dies in der softwaregesteuerten Hauptrecheneinheit erfolgen könnte.
  • In integrierten Steuerbausteinen zum Einsatz in Steuergeräten für Kraftfahrzeuge ist neben datenbasierten Funktionsmodellen auch die Berechnung weiterer rechenintensiver Funktionen relevant. So kann für einige Aufgabenstellungen auch die Evaluierung von LOLIMOT(LOcal Linear MOdel Tree)-Modellen von Interesse sein. LOLIMOT-Modelle verwenden Gaußsche Gewichtungsfunktionen, die ähnlich den zur Auswertung von datenbasierten Funktionsmodellen, insbesondere Gauß-Prozess-Modellen, verwendeten Funktionen sind. LOLIMOT-Modelle werden beispielsweise in der Druckschrift O. Nelles, S. Sinsel, R. Isermann, UKACC International Conference an Control, 1996, beschrieben. Da herkömmliche, in Hardware implementierte Funktionen zur Berechnung von datenbasierten Funktionsmodellen nicht vollständig zur Berechnung von LOLIMOT-Modellen geeignet sind, ist eine Anpassung der integrierten Steuerbausteine, insbesondere der dort vorgesehenen Modellberechnungseinheiten, wünschenswert.
  • Offenbarung der Erfindung
  • Erfindungsgemäß sind eine Modellberechnungseinheit für einen integrierten Steuerbaustein gemäß Anspruch 1 sowie ein integrierter Steuerbaustein gemäß dem nebengeordneten Anspruch vorgesehen.
  • Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
  • Gemäß einem ersten Aspekt ist eine Modellberechnungseinheit für einen integrierten Steuerbaustein vorgesehen, der durch rein hardwaremäßige Implementierung mit einer Exponentialfunktion, Summierfunktionen und Multiplikationsfunktionen in mindestens einer inneren und einer äußeren Schleife versehen ist, um ein datenbasiertes Funktionsmodell, insbesondere ein Gauß-Prozess-Modell, zu berechnen, wobei die Modellberechnungseinheit ferner dazu ausgebildet ist, ein LOLIMOT-Modell, das mehrere lokale Teilmodelle beinhaltet, zu berechnen.
  • Durch die Möglichkeit der hardwarebasierten Berechnung von LOLIMOT-Modellen in einer Modellberechnungseinheit in einem integrierten Speicherbaustein, die auch für die Berechnung von datenbasierten Funktionsmodellen, insbesondere Gauß-Prozess-Modellen, ausgelegt ist, wird ermöglicht, die Berechnung von sowohl datenbasierten Funktionsmodellen als auch von LOLIMOT-Modellen hardwarebasiert in einer gemeinsamen Modellberechnungseinheit durchzuführen. Dadurch können mit nur einer Hardware-Einheit sowohl datenbasierte Funktionsmodelle als auch LOLIMOT-Modelle berechnet werden, was im Vergleich zu einer Auswertung mithilfe eines Software-Algorithmus deutlich schneller durchzuführen ist.
  • Weiterhin kann die Modellberechnungseinheit ausgebildet sein, um jeweils zur Berechnung eines datenbasierten Funktionsmodells eine global gültige vorgegebene Längenskala (Lengthscale) und zur Berechnung eines LOLIMOT-Modells für jede Dimension eine eigene Längenskala zu verwenden.
  • Gemäß einer Ausführungsform kann jeweils das datenbasierte Funktionsmodell mit vorgegebenen Stützstellenpunkten und das LOLIMOT-Modell mit Zentren für lokale Funktionen berechenbar sein, wobei die Modellberechnungseinheit ausgebildet ist, um die Stützstellenpunkte und die Zentren für eine Berechnung in einer der inneren Schleifen in gleicher Weise zu verwenden.
  • Es kann vorgesehen sein, dass die Modellberechnungseinheit ausgebildet ist, um im Falle einer Berechnung eines LOLIMOT-Modells das Ergebnis der in der inneren Schleife berechneten Exponentialfunktion zu normieren.
  • Weiterhin kann die Modellberechnungseinheit ausgebildet sein, um im Falle einer Berechnung eines LOLIMOT-Modells das Ergebnis der Exponentialfunktion mit einem für jeden Abfragepunkt jedes lokalen Teilmodells ermittelbaren Gewicht zu multiplizieren.
  • Ferner kann die Modellberechnungseinheit ausgebildet sein, um im Falle einer Berechnung eines datenbasierten Funktionsmodells das Ergebnis der Exponentialfunktion mit einem vorgegebenen Gewicht pro Stützstellenpunkt zu multiplizieren.
  • Insbesondere kann die Modellberechnungseinheit ausgebildet sein, um im Falle einer Berechnung eines LOLIMOT-Modells Eingangsdimensionen nur linear, nur nichtlinear oder linear und nichtlinear zu berücksichtigen Gemäß einem weiteren Aspekt ist ein integrierter Steuerbaustein mit einer softwaregesteuerten Hauptrecheneinheit und der obigen Modellberechnungseinheit vorgesehen.
  • Die Modellberechnungseinheit kann ausgebildet sein, um im Falle einer Berechnung eines LOLIMOT-Modells Zwischenergebnisse der Anwendung der Exponentialfunktion zu addieren und einen Rückgabewert durch die Summe der Zwischenergebnisse zu dividieren.
  • Gemäß einem weiteren Aspekt ist ein integrierter Steuerbaustein mit einer softwaregesteuerten Hauptrecheneinheit und der obigen Modellberechnungseinheit vorgesehen, wobei die Hauptrecheneinheit die Modellberechnungseinheit so betreibt, dass die Division durch die Summe der Zwischenergebnisse entweder durch eine Näherungsfunktion in der Modellberechnungseinheit oder in der Hauptrecheneinheit durchgeführt wird.
  • Kurzbeschreibung der Zeichnungen
  • Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung eines integrierten Speicherbausteins mit einer Modellberechnungseinheit,
  • 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 softwaregesteuerte Hauptrecheneinheit 2 und eine Modellberechnungseinheit 3 zur rein hardwarebasierten Berechnung eines datenbasierten Funktionsmodells und eines LOLIMOT-Modells 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 dementsprechend 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 oder des LOLIMOT-Modells einen eingeschränkten, hochspezialisierten 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. Der Rechenkern 31 steht mit einer Abbrucheinheit 32 in Verbindung, die einen Abbruch der Berechnung des Algorithmus signalisiert, wenn eine Abbruchbedingung vorliegt. 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 einen 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 Berechnung des Gauß-Prozess-Modells werden die Eingangswerte u ~d für einen Testpunkt u (Eingangsgrößenvektor) zunächst normiert, und zwar gemäß der folgenden Formel:
    Figure DE102013220432A1_0002
  • Dabei entsprechen mx der Mittelwertfunktion bezüglich eines Mittelwerts der Eingangswerte der Stützstellendaten, sy der Varianz der Eingangswerte der Stützstellendaten und d dem Index für die Dimension D des Testpunkts u.
  • Als Ergebnis der Erstellung des nicht parametrischen, datenbasierten Funktionsmodells erhält man:
    Figure DE102013220432A1_0003
  • Der so ermittelte Modellwert v wird mithilfe einer Ausgangsnormierung normiert, und zwar gemäß der Formel: v ~ = usy + my.
  • Dabei entsprechen v einem normierten Modellwert (Ausgangswert) an einem normierten Testpunkt u (Eingangsgrößenvektor der Dimension D), v ~ einem (nicht normierten) Modellwert (Ausgangswert) an einem (nicht normierten) Testpunkt u ~ (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 Id und σf den Hyperparametern aus dem Modelltraining. 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.
  • LOLIMOT-Modelle (LOLIMOT: LOcal LInear MOdel Tree) gehören zur Familie der Neuro-Fuzzy-Modelle. Ein LOLIMOT-Modell entspricht einem neuronalen Netz mit einer verdeckten Schicht, das mehrere lineare Modelle mithilfe von normierten Gaußfunktionen überlagert. Die einzelnen lokalen linearen Teilmodelle werden dann mit Gaußschen Glockenfunktionen gewichtet und normiert überlagert. So entstehen weiche Übergänge zwischen den einzelnen linearen Teilmodellen.
  • Ein Standardfall bei der LOLIMOT-Modellierung betrifft eine normierte Gaußsche Gewichtungsfunktion und die Verwendung linearer lokaler Modelle. Seien ILin, Inl ⊆ {1, ..., D} Indexmengen der Eingangsdimensionen, die linear bzw. nichtlinear in die Vorhersage eingehen. Die Vorhersageformel für einen Vorhersagewert y an einem Testpunkt u lautet dann
    Figure DE102013220432A1_0004
    Figure DE102013220432A1_0005
  • Hierbei sind Cjd die Zentren der j = 1, ..., N lokalen Funktionen der Dimension |Inl|, σjd die Varianz der Gaußschen Gewichtungsfunktion von Modell j = 1, ..., N bzgl. der Dimensionen Inl und wnd die Parameter des n-ten linearen Regressionsmodells mit n = 1, ..., N und d ∊ ILin. N bezeichnet somit die Anzahl der lokalen linearen Modelle. Die D Eingangsgrößen werden unterschieden nach |Inl| ≤ D Eingangsgrößen, die nichtlinear eingehen, und |ILin| ≤ D Eingangsgrößen, die linear eingehen. Die maximale Anzahl an benötigten Parametern ergibt sich somit, wenn alle Eingangsgrößen sowohl linear als auch nichtlinear eingehen, d. h. |Inl| = |ILin| = D.
  • Diese Berechnungsformel weist eine starke Ähnlichkeit mit der obigen Formel für die Berechnung der Gaußprozesse auf. Es gibt jedoch vier wesentliche Unterschiede:
    • 1. Manche Eingangsdimensionen werden an manchen Stellen der Berechnung ignoriert. Im Speziellen ist es möglich, dass einige Eingangsdimensionen nur linear, nur nichtlinear oder linear und nichtlinear eingehen.
    • 2. Jede lokale Funktion hat pro Dimension eine eigene Längenskala (Lengthscale) statt einer global gültigen Längenskala pro Dimension.
    • 3. Der Ausgang der Exponentialfunktion wird normiert.
    • 4. Anstatt den Ausgang der Exponentialfunktion mit einem festen Gewicht pro Stützstellenpunkt zu multiplizieren, wird das Gewicht für einen Abfragepunkt aus dem linearen Regressionsmodell jedes lokalen Modells berechnet.
  • Um die Modellberechnungseinheit 3 so auszubilden, dass abhängig von der Bedatung sowohl Gauß-Prozess-Modelle als auch LOLIMOT-Modelle berechnet werden können, bestehen grundsätzlich zwei Möglichkeiten. In beiden Fällen werden die Zentren cjd der LOLIMOT-Teilmodelle wie die Stützstellenpunkte eines Gauß-Prozess-Modells behandelt. Die Berechnung wird in allen Fällen durch Übergabe der Parameter an die Modellberechnungseinheit 3 gestartet.
  • Variante 1: Explizites Speichern der Indexmenge
  • Die beiden Indexmengen ILin, Inl werden direkt als Parameter gespeichert. Dies hat den Vorteil, dass Rechenzeit und Speicherbedarf minimal gehalten werden, wenn viele Zentren nicht gleichzeitig linear und nichtlinear in die Modellvorhersage eingehen.
  • Pro lokaler Funktion/Stützstellenpunkt und Dimension d ∊ Inl werden jeweils eine eigene Längenskala und pro lokaler Funktion/Stützstellenpunkt j je |ILin| + 1 Gewichte wjd gespeichert. Zusätzlich werden die Indexmengen gespeichert.
  • Verglichen mit einer Hardwareimplementierung für die Modellberechnungseinheit 3 zur Berechnung von datenbasierten Funktionsmodellen ergeben sich die in fett markierten folgenden Änderungen im Pseudo-C-Code:
    Figure DE102013220432A1_0006
    Figure DE102013220432A1_0007
    Figure DE102013220432A1_0008
  • Der Pseudo-C-Code beinhaltet teilweise auch die Steuerung und den Zustandsautomaten, die nicht in der Formel auftreten. Folgende Zuordnungen zu den Variablen des obigen Gauß-Prozess-Modells und des LOLIMOT-Modells wurden für die Darstellung des Algorithmus im Pseudo-C-Code verwendet. Die nur für das LOLIMOT-Modell verwendeten Parameter sind durch Fettdruck markiert.
  • Figure DE102013220432A1_0009
  • Figure DE102013220432A1_0010
  • Die Bedatung eines Gauß-Prozess-Modells und eines LOLIMOT-Modells erfolgt direkt durch Einsetzen der jeweiligen Parameter. Insbesondere gelten für die Parameter zur Berechnung eines LOLIMOT-Modells:
    • • loliflag = 1
    • • Die Zeilen von v enthalten die Zentren der lokalen Funktionen cj.
  • Für die Berechnung eines Gauß-Prozess-Modells müssen folgende Parameterwerte gesetzt werden:
    • • loliflag = 0
    • • p12 = 0
    • • p7 = D
    • • p11 = 1, ..., D
    • • L mit der Größe 1 × D
  • Variante 2: Implizites Speichern der Indexmenge in den Gewichtungsvektoren
  • Die Nichtbeachtung einzelner Eingangsdimensionen wird durch geeignetes Nullsetzen der Modellparameter erreicht. Diese Variante erfordert nur geringe Hardwareänderungen, benötigt jedoch etwas mehr Speicher als bei der ersten Variante sowie gegebenenfalls geringfügig mehr Rechenzeit.
  • Figure DE102013220432A1_0011
  • Figure DE102013220432A1_0012
  • Figure DE102013220432A1_0013
  • Der Pseudo-C-Code beinhaltet teilweise auch die Steuerung und den Zustandsautomaten, die nicht in der Formel auftreten. Folgende Mappings wurden für die Darstellung des Algorithmus im Pseudo-C-Code verwendet:
    Figure DE102013220432A1_0014
    Figure DE102013220432A1_0015
  • Verglichen mit der Gauß-Prozess-Modell-Parametrierung verdreifacht sich hierdurch der Speicherplatzbedarf in etwa, falls man davon ausgeht, dass für das Gauß-Prozess-Modell jeweils die gleiche Anzahl an lokalen LOLIMOT Funktionen und Stützstellenpunkten verwendet wird. Insbesondere benötigt ein Gauß-Prozess-Modell insgesamt N*D + N + D Parameter, während ein LOLIMOT-Modell entsprechend der oben beschriebenen zweiten Variante 3*N*D + N + 2*D Parameter benötigt. In der Praxis ist jedoch zu erwarten, dass die Anzahl der lokalen Funktionen des LOLIMOT-Modells wesentlich kleiner als die Anzahl der Stützstellenpunkte des Gauß-Prozess-Modells ist.
  • Unter der Annahme, dass pro Teilmodell mindestens D + 1 Punkte verfügbar sein müssen, um das lineare Modell zu fitten, ergibt sich, dass typischerweise bei N Stützstellenpunkten nicht mehr als N/(D + 1) < N/D Teilmodelle verwendet werden. Daraus ergibt sich bei einer Dimension von D ≥ 3, dass das LOLIMOT-Modell weniger Speicherplatz benötigt als ein entsprechendes Gauß-Prozess-Modell.
  • Die Bedatung eines LOLIMOT-Modells in der zweiten Variante erfolgt durch Setzen der folgenden Parameter:
    • • loliflag = 1
    • • p10[:,{1, ..., D}\ILin] = 0, d. h. Nullsetzen aller Spalten, die zu Dimensionen gehören, die nicht linear eingehen
    • • Setzen der übrigen Spalten von p10 entsprechend den linearen Gewichten
    • • L[:,{1, ..., D}\Inl] = 0, d. h. Nullsetzen aller Spalten, die zu Dimensionen gehören, die nicht nichtlinear eingehen
    • • Setzen der übrigen Spalten von L auf die entsprechenden halbierten inversen Varianzen 1/(2σ)
    • • Die Zeilen von V enthalten die Zentren der lokalen Funktionen cj.
    • • V[:,{1, ..., D}\Inl] = 0, d. h. Nullsetzen der nicht benötigten Spalten von V
  • Für die Berechnung eines Gauß-Prozess-Modells müssen folgende Werte gesetzt werden:
    • • loliflag = 0
    • • Die Zeilen von V enthalten die Stützstellenpunkte des Gauß-Prozess-Modells
    • • L mit der Dimension 1 × D
  • Beiden Varianten gemein ist, dass mit ihnen auch RBF-Netze auf der AMU berechenbar sind, die für jedes Neuron eine eigene Parametrierung der RBF-Kernel-Funktion aufweisen, d. h. für jedes Neuron sind eigene Längenskalen pro Dimension möglich.
  • Berechnung der Division:
  • Die in der letzten Zeile des Pseudo-C-Codes angegebene Division kann beispielsweise auf die folgende Weise berechnet werden:
    • – Division in Software. Hierzu muss neben dem nicht normierten Ergebnis der Normierungsfaktor an die Hauptrecheneinheit 2 zurückgegeben werden.
    • – Division in Hardware durch Nutzung einer in der Modellberechnungseinheit 3 dedizierten Einheit.
    • – Approximation der Division
  • Im Folgenden wird eine Möglichkeit zur Approximation diskutiert:
    Das nicht normierte Ergebnis muss durch eine Summe von Exponentialfunktionen dividiert werden, d. h. es muss der Faktor
    Figure DE102013220432A1_0016
    berechnet werden. Aufgrund des eingeschränkten Wertebereichs für jede einzelne exp-Funktion gilt 0 ≤ zj ≤ 1 und damit, dass der Summand s im Nenner zwischen 0 und N liegt. Er kann, wie jede Floatingpoint-Zahl, dargestellt werden als s = 2qp mit 0.5 ≤ p < 1. Die Division durch ein Vielfaches von 2 ist sehr einfach und effizient durch Bitshifts realisierbar. Probleme bereitet die Division durch eine beliebige Zahl p. Wir schlagen vor, den Term 1/p durch eine geeignet skalierte exp-Funktion g(p) mit g(p) = c exp (–(ap + b)) + d zu approximieren. Um einen minimalen (durchschnittlichen oder absoluten) Approximationsfehler zu erhalten, müssen die Parameter a bis d optimiert werden. Eine mögliche (aber u. U. nicht optimale) Lösung ist die folgende: a = 2ln2, b = –2ln2, c = 1, d = 0.
  • Sie sorgt dafür, dass bei Eingabe der Grenzen, also p = 0,5 bzw. p = 1, die korrekten Ausgaben g(0,5) = 2 = 1/0,5 bzw. g(1) = 1 = 1/1 erreicht werden. Für p = 0,75 erhält man g(0,75) = sqrt(2) und damit eine Abweichung von etwa 0,08 von der korrekten Lösung.
  • 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
    • O. Nelles, S. Sinsel, R. Isermann, UKACC International Conference an Control, 1996 [0005]
    • C. E. Rasmussen et al., „Gaussian Processes for Machine Learning”, MIT Press 2006 [0024]

Claims (10)

  1. Modellberechnungseinheit (3) für einen integrierten Steuerbaustein (1), der durch rein hardwarebasierte Implementierung mit einer Exponentialfunktion, Summierfunktionen und Multiplikationsfunktionen in mindestens einer inneren und einer äußeren Schleife versehen ist, um ein datenbasiertes Funktionsmodell, insbesondere ein Gauß-Prozess-Modell, zu berechnen, wobei die Modellberechnungseinheit (3) ferner dazu ausgebildet ist, ein LOLIMOT-Modell, das mehrere lokale Teilmodelle beinhaltet, zu berechnen.
  2. Modellberechnungseinheit (3) nach Anspruch 1, wobei die Modellberechnungseinheit (3) ausgebildet ist, um jeweils zur Berechnung eines datenbasierten Funktionsmodells eine global gültige vorgegebene Längenskala und zur Berechnung eines LOLIMOT-Modells für jede Dimension eine eigene Längenskala zu verwenden.
  3. Modellberechnungseinheit (3) nach Anspruch 1 oder 2, wobei jeweils das datenbasierte Funktionsmodell mit vorgegebenen Stützstellenpunkten und das LOLIMOT-Modell mit Zentren für lokale Funktionen berechenbar ist, wobei die Modellberechnungseinheit (3) ausgebildet ist, um die Stützstellenpunkte und die Zentren für eine Berechnung in einer der inneren Schleifen in gleicher Weise zu verwenden.
  4. Modellberechnungseinheit (3) nach Anspruch 3, wobei die Modellberechnungseinheit (3) ausgebildet ist, um im Falle einer Berechnung eines LOLIMOT-Modells das Ergebnis der in der inneren Schleife berechneten Exponentialfunktion zu normieren.
  5. Modellberechnungseinheit (3) nach Anspruch 4, wobei die Modellberechnungseinheit (3) ausgebildet ist, um im Falle einer Berechnung eines LOLIMOT-Modells das Ergebnis der Exponentialfunktion mit einem für jeden Abfragepunkt jedes lokalen Teilmodells ermittelbaren Gewicht zu multiplizieren.
  6. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 5, wobei die Modellberechnungseinheit (3) ausgebildet ist, um im Falle einer Berechnung eines datenbasierten Funktionsmodells das Ergebnis der Exponentialfunktion mit einem vorgegebenen Gewicht pro Stützstellenpunkt zu multiplizieren.
  7. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 6, wobei die Modellberechnungseinheit (3) ausgebildet ist, um im Falle einer Berechnung eines LOLIMOT-Modells Zwischenergebnisse der Anwendung der Exponentialfunktion zu addieren und einen Rückgabewert durch die Summe der Zwischenergebnisse zu dividieren.
  8. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 7, wobei die Modellberechnungseinheit (3) ausgebildet ist, um im Falle einer Berechnung eines LOLIMOT-Modells Eingangsdimensionen nur linear, nur nichtlinear oder linear und nichtlinear zu berücksichtigen.
  9. Integrierter Steuerbaustein (1) mit einer softwaregesteuerten Hauptrecheneinheit (2) und der Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 8.
  10. Integrierter Steuerbaustein (1) mit einer softwaregesteuerten Hauptrecheneinheit (2) und der Modellberechnungseinheit (3) nach Anspruch 7, wobei die Hauptrecheneinheit (2) die Modellberechnungseinheit (3) so betreibt, dass die Division durch die Summe der Zwischenergebnisse entweder durch eine Näherungsfunktion in der Modellberechnungseinheit (3) oder in der Hauptrecheneinheit (2) durchgeführt wird.
DE201310220432 2013-10-10 2013-10-10 Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT Withdrawn DE102013220432A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201310220432 DE102013220432A1 (de) 2013-10-10 2013-10-10 Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT
CN201410526170.3A CN104573822B (zh) 2013-10-10 2014-10-09 用于集成控制组件的用于计算lolimot的模型计算单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310220432 DE102013220432A1 (de) 2013-10-10 2013-10-10 Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT

Publications (1)

Publication Number Publication Date
DE102013220432A1 true DE102013220432A1 (de) 2015-04-16

Family

ID=52737866

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310220432 Withdrawn DE102013220432A1 (de) 2013-10-10 2013-10-10 Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT

Country Status (2)

Country Link
CN (1) CN104573822B (de)
DE (1) DE102013220432A1 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018046425A1 (de) * 2016-09-07 2018-03-15 Robert Bosch Gmbh Modellberechnungseinheit und steuergerät zur berechnung einer neuronenschicht eines mehrschichtigen perzeptronenmodells
DE102018001727A1 (de) 2018-03-05 2019-09-05 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
DE102018209901A1 (de) 2018-06-19 2019-12-19 Robert Bosch Gmbh Recheneinheit, Verfahren und Computerprogramm zum Multiplizieren zumindest zweier Multiplikanden
WO2020030481A1 (de) 2018-08-10 2020-02-13 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
WO2020064566A1 (de) 2018-09-27 2020-04-02 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine mit einem scr-katalysator
DE102020000327A1 (de) 2020-01-21 2021-07-22 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
WO2021170761A1 (de) 2020-02-28 2021-09-02 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
DE102021208158A1 (de) 2021-07-28 2023-02-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erzeugen eines lokal linearen Modellbaumes

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016216948A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung einer Neuronenschicht eines mehrschichtigen Perzeptronenmodells mit wahlweiser Eingangs- und Ausgangstransformation
CN110647666B (zh) * 2019-09-03 2023-12-19 平安科技(深圳)有限公司 模板与公式的智能匹配方法、装置及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028266A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445963B1 (en) * 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
CN102981408B (zh) * 2012-12-10 2015-05-27 华东交通大学 一种动车组运行过程建模与自适应控制方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028266A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C. E. Rasmussen et al., "Gaussian Processes for Machine Learning", MIT Press 2006
O. Nelles, S. Sinsel, R. Isermann, UKACC International Conference an Control, 1996

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645499B2 (en) 2016-09-07 2023-05-09 Robert Bosch Gmbh Model calculating unit and control unit for calculating a neural layer of a multilayer perceptron model
WO2018046425A1 (de) * 2016-09-07 2018-03-15 Robert Bosch Gmbh Modellberechnungseinheit und steuergerät zur berechnung einer neuronenschicht eines mehrschichtigen perzeptronenmodells
US11156183B2 (en) 2018-03-05 2021-10-26 Mtu Friedrichshafen Gmbh Method for the model-based control and regulation of an internal combustion engine
DE102018001727A1 (de) 2018-03-05 2019-09-05 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
WO2019170492A1 (de) 2018-03-05 2019-09-12 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
DE102018001727B4 (de) * 2018-03-05 2021-02-11 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
DE102018209901A1 (de) 2018-06-19 2019-12-19 Robert Bosch Gmbh Recheneinheit, Verfahren und Computerprogramm zum Multiplizieren zumindest zweier Multiplikanden
WO2019242968A1 (de) 2018-06-19 2019-12-26 Robert Bosch Gmbh Recheneinheit, verfahren und computerprogramm zum multiplizieren zumindest zweier multiplikanden
US11537361B2 (en) 2018-06-19 2022-12-27 Robert Bosch Gmbh Processing unit, method and computer program for multiplying at least two multiplicands
WO2020030481A1 (de) 2018-08-10 2020-02-13 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
DE102018006312A1 (de) * 2018-08-10 2020-02-13 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
DE102018006312B4 (de) 2018-08-10 2021-11-25 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
US11319888B2 (en) 2018-09-27 2022-05-03 Rolls-Royce Solutions GmbH Method for the model-based open loop and closed loop control of an internal combustion engine
WO2020064566A1 (de) 2018-09-27 2020-04-02 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine mit einem scr-katalysator
WO2021148410A1 (de) 2020-01-21 2021-07-29 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
DE102020000327A1 (de) 2020-01-21 2021-07-22 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
US11846245B2 (en) 2020-01-21 2023-12-19 Rolls-Royce Solutions GmbH Method for the model-based open-loop and closed-loop of an internal combustion engine
DE102020001323A1 (de) 2020-02-28 2021-09-02 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten Steuerung und Regelung einer Brennkraftmaschine
WO2021170761A1 (de) 2020-02-28 2021-09-02 Mtu Friedrichshafen Gmbh Verfahren zur modellbasierten steuerung und regelung einer brennkraftmaschine
US11846243B2 (en) 2020-02-28 2023-12-19 Rolls-Royce Solutions GmbH Method for the model-based open-loop and closed-loop control of an internal combustion engine
DE102021208158A1 (de) 2021-07-28 2023-02-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erzeugen eines lokal linearen Modellbaumes

Also Published As

Publication number Publication date
CN104573822B (zh) 2019-06-04
CN104573822A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
DE102013220432A1 (de) Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT
EP2564049B1 (de) STEUERGERÄT UND VERFAHREN ZUR BERECHNUNG EINER AUSGANGSGRÖßE FÜR EINE STEUERUNG
DE102017113232A1 (de) Tensorverarbeitung unter verwendung eines formats mit geringer genauigkeit
DE102018109835A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
DE102016216945A1 (de) Verfahren und Vorrichtung zum Ausführen einer Funktion basierend auf einem Modellwert eines datenbasierten Funktionsmodells basierend auf einer Modellgültigkeitsangabe
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
DE102013206264A1 (de) Verfahren und Vorrichtung zur Durchführung einer Berechnung eines datenbasierten Funktionsmodells
DE102014225039A1 (de) Verfahren und Vorrichtung zum Bereitstellen von spärlichen Gauß-Prozess-Modellen zur Berechnung in einem Motorsteuergerät
DE102013227183A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines spärlichen Gauß-Prozess-Modells zur Berechnung in einem Motorsteuergerät
DE102013224698A1 (de) Verfahren und Vorrichtung zum Ermitteln eines datenbasierten Funktionsmodells
EP1021793A2 (de) Anordnung miteinander verbundener rechenelemente, verfahren zur rechnergestützten ermittlung einer dynamik, die einem dynamischen prozess zugrunde liegt und verfahren zum rechnergestützten trainieren einer anordnung miteinander verbundener rechenelemente
DE102017219492A1 (de) Verfahren und Vorrichtung zum Betreiben eines Systems durch Trainieren und Berechnen eines tiefen rekurrenten Gaußprozesses
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE102013206292A1 (de) Verfahren und Vorrichtung zum Erstellen eines datenbasierten Funktionsmodells
DE102013206304A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
EP3542317B1 (de) Modellberechnungseinheit und steuergerät zur wahlweisen berechnung eines rbf-modells, eines gauss-prozess-modells und eines mlp-modells
DE102019105850A1 (de) Verfahren zur Erzeugung eines reduzierten neuronalen Netzes für ein Steuergerät eines Fahrzeuges mithilfe von Eigenvektoren
DE102021120727A1 (de) Paralleles Berechnungsverfahren und -system zur numerischen Simulation von Gussströmungsfeldern
DE102015221819A1 (de) Verfahren und Vorrichtung zum Adaptieren eines datenbasierten Funktionsmodells zur Berechnung in einer Modellberechnungseinheit
DE102013206291A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
DE102015208513A1 (de) Verfahren und Vorrichtung zum Berechnen eines datenbasierten Multi-Output-Funktionsmodells
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE102013224694A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells
DE102013214967A1 (de) Verfahren und Vorrichtung zum Adaptieren eines datenbasierten Funktionsmodells
DE102013209657A1 (de) FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination