-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen bestärkendes Lernen (Reinforcement Learning).
-
ALLGEMEINER STAND DER TECHNIK
-
Sensoren werden zum Sammeln von Umgebungsdaten verwendet. Zum Beispiel können Sensoren Bilder, Schall, Vibration und andere physikalische Eigenschaften erfassen. Nach der Sammlung können die Sensoren die Umgebungsdaten für weitere Maßnahmen an andere elektronische Vorrichtungen senden. In Agenten, die bestärkendes Lernen verwenden, können die Sensordaten einen beobachteten Zustand darstellen.
-
KURZDARSTELLUNG
-
Bestärkendes Lernen (Reinforcement Learning - RL) ist eine Form von zielgerichtetem maschinellen Lernen. Ein Agent kann zum Beispiel aus der direkten Interaktion mit seiner Umgebung lernen, ohne auf eine explizite Überwachung und/oder vollständige Modelle der Umwelt zurückgreifen zu müssen. Bestärkendes Lernen ist ein Rahmen, der die Interaktion zwischen einem lernenden Agenten und seiner Umgebung in Bezug auf Zustände, Aktionen und Belohnungen modelliert. In jedem Zeitschritt empfängt ein Agent einen Zustand, wählt eine Aktion auf Grundlage einer Strategie (Policy) aus, erhält eine skalare Belohnung und wechselt zum nächsten Zustand. Der Zustand kann auf einem oder mehreren Sensoreingaben beruhen, die die Umgebungsdaten angeben. Das Ziel des Agenten ist es, eine erwartete kumulative Belohnung zu maximieren. Der Agent kann eine positive skalare Belohnung für eine positive Aktion und eine negative skalare Belohnung für eine negative Aktion erhalten. Somit „lernt“ der Agent, indem er versucht, die erwartete kumulative Belohnung zu maximieren. Während der Agent hierin im Zusammenhang mit einem Fahrzeug beschrieben wird, versteht es sich, dass der Agent jeden geeigneten Agenten, der bestärkendes Lernen anwendet, umfassen kann. Zum Beispiel kann der Agent einen Roboter, eine Drohne, eine Computeranwendung oder dergleichen umfassen.
-
Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet. Der Speicher beinhaltet Anweisungen, sodass der Prozessor dazu programmiert ist, einen oder mehrere Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters zu berechnen; und eine Aktion auszuwählen, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, den einen oder die mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks zu berechnen.
-
Bei anderen Merkmalen umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
Bei anderen Merkmalen umfasst der vorbestimmte Störungsparameter einen Vektor.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, einen Agenten auf Grundlage der ausgewählten Aktion zu betätigen.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, einen Agenten auf Grundlage der ausgewählten Aktion zu betätigen.
-
Bei anderen Merkmalen umfasst der Agent ein autonomes Fahrzeug.
-
Bei anderen Merkmalen umfasst die fehlerhafte Beobachtung fehlerhafte Sensordaten.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, die fehlerhaften Sensordaten von einem Fahrzeugsensor eines Fahrzeugs zu empfangen.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Sensordaten an das tiefe neuronale Netzwerk bereitzustellen.
-
Ein System umfasst ein Fahrzeug, das ein Fahrzeugsystem beinhaltet, wobei das Fahrzeugsystem einen Computer umfasst, der einen Prozessor und einen Speicher beinhaltet. Der Speicher beinhaltet Anweisungen, sodass der Prozessor dazu programmiert ist, einen oder mehrere Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters zu berechnen; und eine Aktion auszuwählen, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, den einen oder die mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks zu berechnen.
-
Bei anderen Merkmalen umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
Bei anderen Merkmalen umfasst der vorbestimmte Störungsparameter einen Vektor.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, das Fahrzeugsystem auf Grundlage der ausgewählten Aktion zu betätigen.
-
Bei anderen Merkmalen umfasst das Fahrzeug ein autonomes Fahrzeug.
-
Bei anderen Merkmalen umfasst die fehlerhafte Beobachtung fehlerhafte Sensordaten.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, die fehlerhaften Sensordaten von einem Fahrzeugsensor des Fahrzeugs zu empfangen.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Sensordaten an das tiefe neuronale Netzwerk bereitzustellen.
-
Ein Verfahren umfasst das Berechnen eines oder mehrerer Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters; und das Auswählen einer Aktion, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
Bei anderen Merkmalen beinhaltet das Verfahren ferner das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks.
-
Bei anderen Merkmalen umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
Bei anderen Merkmalen umfasst das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke ferner das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung und des vorbestimmten Störungsparameters gemäß:
wobei O die elementweise Multiplikation darstellt, A eine Matrix darstellt, die Netzwerkgewichtungen und nichtlineare Aktivierungsfunktionen (ReLU-Funktionen) für eine entsprechende tiefe neuronale Netzwerkschicht eines tiefen neuronalen Netzwerks mit m Schichten beinhaltet, k die aktuelle Schicht des tiefen neuronalen Netzwerks mit m Schichten darstellt, b die Verzerrung für eine entsprechende Aktion darstellt, H den unteren/oberen Beschränkungsfaktor darstellt, ε stellt den vorbestimmten Störungsparameter darstellt, s
adv die fehlerhafte Beobachtung darstellt, j einen entsprechenden Aktionsindex darstellt und q eine ausgewählte Norm darstellt.
-
Figurenliste
-
- 1 ist eine grafische Darstellung eines beispielhaften Systems zum Berechnen von Zustands-Aktions-Werten einer unteren Schranke auf Grundlage eines beobachteten Zustands und eines vorbestimmten Störungsparameters.
- 2 ist eine grafische Darstellung eines beispielhaften tiefen neuronalen Netzwerks.
- 3 ist eine grafische Darstellung einer beispielhaften Umgebung, die von einem Agenten durchquert wird.
- 4 ist ein Blockdiagramm eines Systems zum Berechnen von Zustands-Aktions-Werten einer unteren Schranke auf Grundlage eines beobachteten Zustands und eines vorbestimmten Störungsparameters.
- 5 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Berechnen von Zustands-Aktions-Werten einer unteren Schranke auf Grundlage eines beobachteten Zustands und eines vorbestimmten Störungsparameters veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Blockdiagramm eines beispielhaften Fahrzeugsteuersystems 100. Das System 100 beinhaltet ein Fahrzeug 105, bei dem es sich um ein Landfahrzeug handelt, wie etwa ein Auto, einen Lastwagen usw. Das Fahrzeug 105 beinhaltet einen Computer 110, Fahrzeugsensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Über ein Netzwerk 135 ermöglicht es das Kommunikationsmodul 130 dem Computer 110, mit einem Server 145 zu kommunizieren.
-
Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und auf diesem sind Anweisungen gespeichert, die durch den Computer 110 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausgeführt werden können.
-
Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem teilautonomen oder einem nichtautonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nichtautonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
-
Der Computer 110 kann eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor, einer Wasserstoffbrennstoffzelle usw.), Lenkung, Steuerung der Klimaanlage, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 105 zu betreiben, sowie um zu bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll. Zusätzlich kann der Computer 110 dazu programmiert sein, zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
-
Der Computer 110 kann mehr als einen Prozessor, die z. B. in Elektroniksteuerungseinheiten (electronic controller units - ECUs) oder dergleichen eingeschlossen sind, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125, z. B. einer Antriebsstrangsteuerung, einer Bremssteuerung, einer Lenkungssteuerung usw., eingeschlossen sind, beinhalten oder kommunikativ an diese gekoppelt sein, z. B. über das Kommunikationsmodus 130 des Fahrzeugs 105, wie nachfolgend ausführlicher beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, welches das globale Positionsbestimmungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 Standortdaten des Fahrzeugs 105 anfordern und empfangen. Die Standortdaten können in einer bekannten Form vorliegen, z. B. Geokoordinaten (Breiten- und Längskoordinaten).
-
Der Computer 110 ist im Allgemeinen zur Kommunikation in dem Kommunikationsmodul 130 des Fahrzeugs 105 und außerdem mit einem internen drahtgebundenen und/oder drahtlosen Netzwerk des Fahrzeugs 105 angeordnet, z. B. in einem Bus in dem Fahrzeug 105 oder dergleichen, wie etwa in einem Controller Area Network (CAN) oder dergleichen, und/oder in anderen drahtgebundenen und/oder drahtlosen Mechanismen.
-
Über das Kommunikationsnetzwerk des Fahrzeugs 105 kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z.B. Fahrzeugsensoren 115, Aktoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (human machine interface - HMI) usw. Alternativ oder zusätzlich kann das Kommunikationsnetzwerk des Fahrzeugs 105 in Fällen, in denen der Computer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen und/oder Fahrzeugsensoren 115 Daten an dem Computer 110 bereitstellen.
-
Die Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen einschließen, die bekanntermaßen Daten an dem Computer 110 bereitstellen. Zum Beispiel können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. beinhalten, die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind und relative Standorte, Größen und Formen von Objekten und/oder Bedingungen bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um den Abstand und die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. in Bezug zu der Position des Fahrzeugs 105 bereitzustellen. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 beinhalten, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind und der/die Bilder von einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellt/bereitstellen.
-
Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Elektromotoren oder andere elektronische und/oder mechanische Komponenten umgesetzt, die unterschiedliche Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Aktoren 120 können verwendet werden, um Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung, eines Fahrzeugs 105 zu steuern.
-
In Zusammenhang mit der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Abbremsen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für Komponenten 125 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor, eine Wasserstoffbrennzelle usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Zahnstange usw. beinhalten kann), eine Bremskomponente (wie nachstehend beschrieben), eine Einparkhilfekomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zum adaptiven Lenken, einen beweglichen Sitz usw.
-
Zusätzlich kann der Computer 110 dazu konfiguriert sein, über ein(e) Fahrzeug-zu-FahrzeugKommunikationsmodul oder Schnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105 zu kommunizieren, z. B. über drahtlose Kommunikation von Fahrzeug-zu-Fahrzeug (vehicle-tovehicle - V2V) oder von Fahrzeug-zu-Infrastruktur (vehicle-to-infrastructure - V2X) mit einem anderen Fahrzeug, (typischerweise über das Netzwerk 135) mit einem entfernten Server 145. Das Modul 130 könne einen Mechanismus oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen (z.B. Mobilfunk -, Drahtlos -, Satelliten -, Mikrowellen - und Hochfrequenz - )Kommunikationsmechanismen und einer beliebigen gewünschten Netztopologie (oder Netztopologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Modul 130 bereitgestellte Kommunikationen beinhalten Mobilfunk, BluetoothⓇ, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetze (wide area networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Das Netzwerk 135 beinhaltet einen oder mehrere Mechanismen, über die ein Computer 110 mit einem Server 145 kommunizieren kann. Dementsprechend kann das Netzwerk 135 einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-)Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Netzwerktopologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Zu beispielhaften Kommunikationsnetzwerken gehören drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa Nahbereichskommunikation (dedicated short range communication - DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (wide area network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Bei dem Server 145 kann es sich um eine Rechenvorrichtung handeln, d. h. eine, die einen oder mehrere Prozessoren und einen oder mehrere Speicher beinhaltet, die programmiert sind, um Vorgänge bereitzustellen, wie in dieser Schrift offenbart. Ferner kann auf den Server 145 über das Netzwerk 135, z. B. das Internet oder ein anderes Weitverkehrsnetz, zugegriffen werden.
-
Ein Computer 110 kann im Wesentlichen kontinuierlich, regelmäßig und/oder wenn durch einen Server 145 angewiesen usw. Daten von den Sensoren 115 empfangen und analysieren. Ferner können herkömmliche Klassifizierungs- oder Identifizierungstechniken verwendet werden, z. B. in einem Computer 110 basierend auf Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. ein Fahrzeug, eine Person, einen Stein, ein Schlagloch, ein Fahrrad, ein Motorrad usw., sowie physische Merkmale von Objekten zu identifizieren.
-
Im vorliegenden Zusammenhang kann das Fahrzeug 105 als Agent bezeichnet werden. Der Computer 110 ist dazu konfiguriert, eine Vorgehensweise zum bestärkenden Lernen auf Grundlage eines neuronalen Netzwerks wie hierin beschrieben umzusetzen. Der Computer 110 erzeugt einen Satz von Zustands-Aktions-Werten (Q-Werten) als Ausgaben für einen beobachteten Eingabezustand. Der Computer 110 kann eine Aktion auswählen, die einem maximalen Zustands-Aktions-Wert entspricht, z. B. dem höchsten Zustands-Aktions-Wert. Der Computer 110 erhält Sensordaten von den Sensoren 115, die einem beobachteten Eingabezustand entsprechen.
-
2 ist eine grafische Darstellung eines beispielhaften tiefen neuronalen Netzwerks (Deep Neural Network - DNN) 200. Bei dem DNN 200 kann es sich beispielsweise um ein Softwareprogramm handeln, das in den Speicher geladen und durch einen Prozessor, der in dem Computer 110 beinhaltet ist, ausgeführt werden kann. In einer beispielhaften Umsetzung kann das DNN 200 jedes geeignete neuronale Netzwerk beinhalten, das Techniken des bestärkenden Lernens einsetzen kann. Zum Beispiel kann das DNN 200 ein neuronales Faltungsnetz umfassen. Das DNN 200 beinhaltet mehrere Neuronen 205, und die Neuronen 205 sind derart angeordnet, dass das DNN 200 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 200 kann eine Vielzahl von Neuronen 205 beinhalten. Während 2 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 200 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und die Ausgabeschicht können auch mehr als ein (1) Neuron 205 beinhalten.
-
Die Neuronen 205 werden manchmal als künstliche Neuronen 205 bezeichnet, weil sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen zu emulieren. Ein Satz von Eingaben (dargestellt durch die Pfeile) für jedes Neuron 205 wird jeweils mit den jeweiligen Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um, möglicherweise durch eine Verzerrung angepasst, eine Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 205 eine Ausgabe liefert. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt von geeigneten Funktionen handeln, die üblicherweise auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 2 veranschaulicht, können die Ausgaben des Neurons 205 dann zur Aufnahme in einen Satz von Eingaben für ein oder mehrere Neuronen 205 in einer nächsten Schicht bereitgestellt werden.
-
Das DNN 200 kann dahingehend trainiert werden, Daten des Sensors 115, z. B. von dem CAN-Bus des Fahrzeugs 101 oder einem anderen Netzwerk, als Eingabe zu akzeptieren und einen Zustands-Aktions-Wert, z. B. Belohnungswert, basierend auf der Eingabe zu erzeugen. Das DNN 200 kann mit Trainingsdaten, z. B. einem bekannten Satz von Sensoreingaben, trainiert werden, um den Agenten dazu zu trainieren, eine optimale Strategie zu bestimmen. In einer oder mehreren Umsetzungen wird das DNN 200 über den Server 145 trainiert und das trainierte DNN 200 kann über das Netzwerk 135 an das Fahrzeug 105 übertragen werden. Gewichtungen können zum Beispiel unter Verwendung einer Gaußschen Verteilung initialisiert werden, und eine Verzerrung für jedes Neuron 205 kann auf null gesetzt werden. Das Trainieren des DNN 200 kann das Aktualisieren von Gewichtungen und Verzerrungen über geeignete Techniken, wie etwa die Backpropagation mit Optimierungen, beinhalten.
-
Während des Betriebs erhält der Computer 110 des Fahrzeugs 105 Sensordaten von den Sensoren 115 und stellt die Daten als Eingabe in das DNN 200 bereit. Nach dem Trainieren kann das DNN 200 die Sensoreingabe akzeptieren und als Ausgabe einen oder mehrere Zustands-Aktions-Werte (Q-Werte) auf Grundlage der erfassten Eingabe bereitstellen. Während der Ausführung des DNN 200 können die Zustands-Aktions-Werte für jede Aktion erzeugt werden, die dem Agenten in der Umgebung zur Verfügung steht.
-
3 veranschaulicht eine beispielhafte Umgebung 300, die ein autonomer Agent 305, wie etwa das Fahrzeug 105, durchquert. Zum Beispiel versucht der autonome Agent 305, durch die Umgebung 300 zu fahren, um das Ziel zu erreichen, ohne auf Hindernisse zu stoßen, z. B. mit diesen zu kollidieren. Die Umgebung 300 beinhaltet ein Hindernis sadv, das sich an einer ersten Position 310 befindet. Die durch den Computer 110 empfangenen Sensordaten geben jedoch aufgrund fehlerhafter Sensordaten an, dass sich das Hindernis, das als sobezeichnet ist, an einer zweiten Position 315 befindet. Wie hierin ausführlicher beschrieben, ist der Computer 110 dazu konfiguriert, den Weg a*adv anstelle des Wegs a*std auszuwählen, indem er Störungen in den Sensordaten berücksichtigt. Zum Beispiel ist der Computer 110 dazu konfiguriert, das Hindernis sadv zu berücksichtigen, indem er davon ausgeht, dass sich das Hindernis sadv an einer beliebigen Stelle innerhalb eines Raums 320 befinden kann, wie durch einen vorbestimmten Störungsparameter ε definiert. Der Raum 320 kann einer Einheitskugel entsprechen, die um sadv definiert ist. Wie nachstehend beschrieben, kann der Computer 110 einen oder mehrere Zustands-Aktions-Werte einer unteren Schranke unter Verwendung des vorbestimmten Störungsparameters ε berechnen, was die Robustheit des Manövrierens des Agenten innerhalb einer Umgebung erhöhen kann.
-
Der Agent ist dazu konfiguriert, eine diskrete Aktion auf Grundlage eines Zustands auszuwählen, der den Sensordaten entspricht. Zum Beispiel wählt der Agent unter Verwendung der während des Trainings generierten optimalen Strategie eine Aktion aus, um seine Belohnung zu maximieren, die den Zustands-Aktions-Werten entspricht. Im vorliegenden Zusammenhang umfasst das DNN
200 ein neuronales Netzwerk mit m Schichten und m-1 verborgenen Schichten, wobei m eine ganze Zahl größer oder gleich 2 ist. Jede diskrete Aktion a
j weist einen Zustands-Aktions-Wert auf, der durch Gleichung 1 definiert ist:
wobei Q
j den Zustands-Aktions-Wert darstellt, der der diskreten Aktion a
j entspricht, E eine Erwartung darstellt, γ
t einen Diskontierungsfaktor zum Zeitpunkt t darstellt und r
t eine Belohnung zum Zeitpunkt t darstellt. Der Index j kann sich auf die j-te Ausgabe des DNN
200 beziehen.
-
Wie hierin beschrieben, ist der Computer
110 dazu konfiguriert, eine zertifizierte untere Schranke bei einer gegebenen beschränkten Störung zu berechnen, die den Sensordaten in Bezug auf einen wahren Zustand zugeordnet ist. Die zertifizierte untere Schranke für eine diskrete Aktion a
j kann durch Gleichung 2 definiert werden:
für alle möglichen Zustände s innerhalb eines Störungszustands auf Grundlage der Sensordaten s
adv, wobei
die zertifizierte untere Schranke des Zustands-Aktion-Werts darstellt, der der diskreten Aktiona
j bei einem gegebenem Zustand s entspricht, Q
j(s, a
j) den Zustands-Aktions-Wert darstellt, der der diskreten Aktion a
j bei einem gegebenem Zustand s entspricht, und der beschränkte Störungsraum B
p(s
adv, ε) durch Gleichung 3 definiert ist:
wobei p eine ausgewählte Norm darstellt.
-
4 veranschaulicht eine beispielhafte Umsetzung eines Systems 400 zum Bestimmen einer Aktion, die einen Zustands-Aktions-Wert unter einer Worst-Case-Störung der Sensordaten maximiert. Wie gezeigt, beinhaltet das System 400 ein Zertifizierungsmodul 402 und ein Aktionsauswahlmodul 404. Das Zertifizierungsmodul beinhaltet ein trainiertes DNN 200. Das Zertifizierungsmodul 402 kann ein Softwareprogramm sein, das in den Speicher geladen und von einem Prozessor ausgeführt werden kann, der zum Beispiel in dem Computer 110 beinhaltet ist. Das Zertifizierungsmodul 402 empfängt als Eingabe fehlerhafte Sensordaten, die einen beobachteten Zustand darstellen. Wie hierin beschrieben, kann das Zertifizierungsmodul 402 einen vorbestimmten Störungsparameter ε verwenden, um einen oder mehrere Zustands-Aktions-Werte zu berechnen, um die fehlerhaften Sensordaten zu berücksichtigen. Der vorbestimmte Störungsparameter ε kann durch empirische Tests auf Grundlage verschiedener physischer Umgebungen, denen der Agent begegnen kann, bestimmt werden und/oder während des Testens festgelegt werden.
-
Wie in den nachstehenden Gleichungen dargelegt, verwendet das Zertifizierungsmodul 402 die Gewichtungen des trainierten DNN 200, um die beschränkten Zustands-Aktions-Werte zu berechnen. Zum Beispiel berechnet das Zertifizierungsmodul 402 einen Zustands-Aktions-Wert einer unteren Schranke für jede diskrete Aktion. Der Zustands-Aktions-Wert einer unteren Schranke kann als QL(S ± ε, a) bezeichnet werden, der in das Aktionsauswahlmodul 404 eingegeben wird.
-
Das Aktionsauswahlmodul 404 kann ein Softwareprogramm sein, das in den Speicher geladen und von einem Prozessor ausgeführt werden kann, der zum Beispiel in dem Computer 110 beinhaltet ist. Das Aktionsauswahlmodul 404 wählt eine Aktion für den Agenten auf Grundlage des empfangenen Zustands-Aktions-Werts aus. Zum Beispiel kann das Aktionsauswahlmodul 404 eine Aktion auswählen, die dem höchsten Zustands-Aktions-Wert entspricht. Im vorliegenden Zusammenhang wählt das Aktionsauswahlmodul 404 eine optimale Aktion aus, die als a* bezeichnet wird und dem höchsten Zustands-Aktions-Wert einer unteren Schranke entspricht, der durch das Zertifizierungsmodul 402 berechnet wurde. Der Computer 110 kann den Aktoren 120 ein oder mehrere Betätigungssignale bereitstellen, um den Agenten zu veranlassen, die ausgewählte optimale Aktion durchzuführen.
-
Die optimale Aktion a*kann die Aktion mit dem höchsten Zustands-Aktions-Wert unter der Worst-Case-Störung sein, die in Gleichung 4 definiert ist:
wobei
die berechneten unteren Schranken für alle Zustände innerhalb des beschränkten Störungsraums B
p(s
adv, ε) darstellt. Die unteren Schranken für alle Zustände innerhalb des beschränkten Störungsraums können durch das Zertifizierungsmodul
402 gemäß den Gleichungen 5 bis 9 berechnet werden:
wobei O die elementweise Multiplikation darstellt, A eine Matrix darstellt, die Netzwerkgewichtungen und nichtlineare Aktivierungsfunktionen (ReLU-Funktionen) für eine entsprechende Schicht eines DNN
200 beinhaltet, k die aktuelle Schicht des neuronalen Netzwerks mit m Schichten darstellt, b die Verzerrung für eine entsprechende Aktion darstellt, H den unteren/oberen Beschränkungsfaktor darstellt, y ein Element von B
p(0,1) ist, die Variable j den entsprechenden Aktionsindex darstellt, die Variable m die m-te Schicht des DNN
200 darstellt und die Variable q eine ausgewählte Norm darstellt. Zum Beispiel wird von Gleichung 6 bis Gleichung 7 s:= y O ε + s
adv ersetzt, um die beobachteten Zustandsdaten zu verschieben und neu zu skalieren, damit sie innerhalb einer Einheitskugel um null, y ∈ B
p(0,1), liegen. Die Maximierung in Gleichung 8 reduziert sich zu einer q-Norm in Gleichung 9 durch die Definition der Dualnorm ||z||* = {sup
yz
Ty | ||y|| ≤ 1} und die Tatsache, dass die 1
q-Norm dual zur 1
p-Norm für p, q ∈ [1, ∞) mit 1/p + 1/q = 1 ist. In einer oder mehreren Umsetzungen umfasst der vorbestimmte Störungsparameter ε einen Vektor.
-
Sobald das Zertifizierungsmodul 402 die unteren Schranke für jeden Zustands-Aktions-Wert berechnet hat, werden die berechneten Zustands-Aktions-Werte dem Aktionsauswahlmodul 404 bereitgestellt. Das Aktionsauswahlmodul 404 wählt die Aktion a* aus, die dem höchsten berechneten Zustands-Aktions-Wert entspricht. Auf Grundlage der ausgewählten Aktion a* erzeugt der Computer 110 ein oder mehrere Steuersignale für den Agenten, z.B. das Fahrzeug 105, um den Agenten dazu zu veranlassen, gemäß der Aktion a* zu funktionieren.
-
5 ist ein Ablaufdiagramm eines beispielhaften Prozesses 500 zum Bestimmen einer Aktion auf Grundlage eines erfassten, z. B. beobachteten, Zustands. Der Zustand kann Daten entsprechen, die von den Sensoren 115 erfasst werden. Blöcke des Prozesses 500 können durch den Computer 110 ausgeführt werden. Der Prozess 500 beginnt in einem Block 505, in dem der Computer 110 fehlerhafte Sensordaten von den Sensoren 115 empfängt.
-
Bei Block 510 erzeugt das Zertifizierungsmodul 402 Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der beschädigten Sensordaten und des Störungsparameters ε. Zum Beispiel können, wie in den vorstehenden Gleichungen dargelegt, die fehlerhaften Sensordaten durch den Störungsparameter ε, das heißt s ± ε, beschränkt sein. Die Zustands-Aktions-Werte einer unteren Schranke berücksichtigen mögliche Störungen innerhalb der empfangenen Sensordaten. Die Zustands-Aktions-Werte einer unteren Schranke QL können dem Aktionsauswahlmodul 404 bereitgestellt werden. Bei Block 515 wählt das Aktionsauswahlmodul 404 eine Aktion a* aus, die dem Zustands-Aktions-Wert einer unteren Schranke mit dem höchsten Wert entspricht.
-
Bei Block 520 veranlasst der Computer 110 den Agenten, die Aktion a* durchzuführen. Zum Beispiel kann der Computer 110 ein oder mehrere Fahrzeugsysteme des Fahrzeugs 105 veranlassen, zu betätigen, um das Fahrzeug 105 dazu zu veranlassen, die Aktion a* durchzuführen. Bei Block 525 bestimmt der Computer 110, ob neue Sensordaten empfangen wurden. Wenn neue Sensordaten empfangen wurden, kehrt der Prozess 500 zu Block 510 zurück. Andernfalls endet der Prozess 500.
-
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder der QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen schließen unter anderem einen bordeigenen Fahrzeugcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, einen Notebook-, einen Laptop- oder einen Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung ein.
-
Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML, TensorFlow, PyTorch, Keras usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Solche Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) einschließen, das ein beliebiges nichttransitorisches (z. B. materielles) Medium einschließt, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien beinhalten zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) einschließen, der in der Regel einen Hauptspeicher darstellt. Solche Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich den Drähten, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien schließen zum Beispiel Folgendes ein: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
-
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder solche Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von einer Vielfalt von Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Vorgänge ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) implementiert sein, die auf zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann solche auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte solcher Prozesse usw. zwar als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, solche Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift dem Zweck der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
-
Dementsprechend versteht es sich, dass die vorangehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, wären dem Fachmann nach der Lektüre der vorangehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es wird erwartet und ist beabsichtigt, dass es hinsichtlich der hier erörterten Fachgebiete künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche eingeschränkt ist.
-
Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern hierin nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer mit einem Prozessor und einem Speicher aufweist, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor dazu programmiert ist, einen oder mehrere Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters zu berechnen; und eine Aktion auszuwählen, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, den einen oder die mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks zu berechnen.
-
Gemäß einer Ausführungsform umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
Gemäß einer Ausführungsform umfasst der vorbestimmte Störungsparameter einen Vektor.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, einen Agenten auf Grundlage der ausgewählten Aktion zu betätigen.
-
Gemäß einer Ausführungsform umfasst der Agent ein autonomes Fahrzeug.
-
Gemäß einer Ausführungsform umfasst die fehlerhafte Beobachtung fehlerhafte Sensordaten.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die fehlerhaften Sensordaten von einem Fahrzeugsensor eines Fahrzeugs zu empfangen.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das ein Fahrzeug mit einem Fahrzeugsystem aufweist, wobei das Fahrzeugsystem einen Computer mit einem Prozessor und einem Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor dazu programmiert ist, einen oder mehrere Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters zu berechnen; und eine Aktion auszuwählen, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, den einen oder die mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks zu berechnen.
-
Gemäß einer Ausführungsform umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
Gemäß einer Ausführungsform umfasst der vorbestimmte Störungsparameter einen Vektor.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, das Fahrzeugsystem auf Grundlage der ausgewählten Aktion zu betätigen.
-
Gemäß einer Ausführungsform umfasst das Fahrzeug ein autonomes Fahrzeug.
-
Gemäß einer Ausführungsform umfasst die fehlerhafte Beobachtung fehlerhafte Sensordaten.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die fehlerhaften Sensordaten von einem Fahrzeugsensor des Fahrzeugs zu empfangen.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren das Berechnen eines oder mehrerer Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters; und das Auswählen einer Aktion, die einem Zustands-Aktions-Wert einer unteren Schranke entspricht, der den höchsten Wert aufweist.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ferner das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung, des vorbestimmten Parameters und der Gewichtungen eines trainierten tiefen neuronalen Netzwerks.
-
In einem Aspekt der Erfindung umfasst das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
-
In einem Aspekt der Erfindung umfasst das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke ferner das Berechnen des einen oder der mehreren Zustands-Aktions-Werte einer unteren Schranke auf Grundlage der fehlerhaften Beobachtung und des vorbestimmten Störungsparameters gemäß:
wobei O die elementweise Multiplikation darstellt, A eine Matrix darstellt, die Netzwerkgewichtungen und nichtlineare Aktivierungsfunktionen (ReLU-Funktionen) für eine entsprechende tiefe neuronale Netzwerkschicht eines tiefen neuronalen Netzwerks mit m Schichten beinhaltet, k die aktuelle Schicht des tiefen neuronalen Netzwerks mit m Schichten darstellt, b die Verzerrung für eine entsprechende Aktion darstellt, H den unteren/oberen Beschränkungsfaktor darstellt, ε stellt den vorbestimmten Störungsparameter darstellt, s
adv die fehlerhafte Beobachtung darstellt, j einen entsprechenden Aktionsindex darstellt und q eine ausgewählte Norm darstellt.