DE102020126154A1 - Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen - Google Patents

Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen Download PDF

Info

Publication number
DE102020126154A1
DE102020126154A1 DE102020126154.3A DE102020126154A DE102020126154A1 DE 102020126154 A1 DE102020126154 A1 DE 102020126154A1 DE 102020126154 A DE102020126154 A DE 102020126154A DE 102020126154 A1 DE102020126154 A1 DE 102020126154A1
Authority
DE
Germany
Prior art keywords
action
vehicle
state
processor
computer
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.)
Pending
Application number
DE102020126154.3A
Other languages
English (en)
Inventor
Bjoern Malte Luetjens
Michael F. Everett
Jonathan P. How
Arpan Kusari
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.)
Mit Tech Licensing Office
MIT TECHNOLOGY LICENSING OFFICE
Ford Global Technologies LLC
Original Assignee
Mit Tech Licensing Office
MIT TECHNOLOGY LICENSING OFFICE
Ford Global Technologies LLC
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 Mit Tech Licensing Office, MIT TECHNOLOGY LICENSING OFFICE, Ford Global Technologies LLC filed Critical Mit Tech Licensing Office
Publication of DE102020126154A1 publication Critical patent/DE102020126154A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/46Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0295Inhibiting action of specific actuators or systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)

Abstract

Die vorliegende Offenbarung beschreibt Systeme und Verfahren, die 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, beinhalten.

Description

  • 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äß: = ε A j , : ( 0 ) q + A j , : ( 0 ) s a d v + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) ) ,
    Figure DE102020126154A1_0001
    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, sadv 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 aj weist einen Zustands-Aktions-Wert auf, der durch Gleichung 1 definiert ist: Q j = E | t = 0 T γ t r t | ,
    Figure DE102020126154A1_0002
    wobei Qj den Zustands-Aktions-Wert darstellt, der der diskreten Aktion aj entspricht, E eine Erwartung darstellt, γt einen Diskontierungsfaktor zum Zeitpunkt t darstellt und rt 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 aj kann durch Gleichung 2 definiert werden: Q L j : = min s B p ( s a d v , ε ) Q j ( s , a j ) ,
    Figure DE102020126154A1_0003
    für alle möglichen Zustände s innerhalb eines Störungszustands auf Grundlage der Sensordaten sadv, wobei Q L j
    Figure DE102020126154A1_0004
    die zertifizierte untere Schranke des Zustands-Aktion-Werts darstellt, der der diskreten Aktionaj bei einem gegebenem Zustand s entspricht, Qj(s, aj) den Zustands-Aktions-Wert darstellt, der der diskreten Aktion aj bei einem gegebenem Zustand s entspricht, und der beschränkte Störungsraum Bp(sadv, ε) durch Gleichung 3 definiert ist: B p ( s a d v , ε ) : = { s : s s a d v p ε }
    Figure DE102020126154A1_0005
    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: a * = argmax a min s B p ( s a d v , ε ) Q ( s , a ) = argmax a j   Q L j ( s a d v , a j ) ,
    Figure DE102020126154A1_0006
    wobei Q L j
    Figure DE102020126154A1_0007
    die berechneten unteren Schranken für alle Zustände innerhalb des beschränkten Störungsraums Bp(sadv, ε) 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: Q L j ( s a d v , a j ) = min s B p ( s a d v , ε ) ( A j , : ( 0 ) s + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) ) )
    Figure DE102020126154A1_0008
    = ( min s B p ( s a d v , ε ) A j , : ( 0 ) s ) + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) )
    Figure DE102020126154A1_0009
    = ( min y B p ( 0,1 ) A j , : ( 0 ) ( y ε ) ) + A j , : ( 0 ) s a d v + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) )
    Figure DE102020126154A1_0010
    = ( min y B p ( 0,1 ) ( ε A j , : ( 0 ) ) y ) + A j , : ( 0 ) s a d v + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) )
    Figure DE102020126154A1_0011
    = ε A j , : ( 0 ) q + A j , : ( 0 ) s a d v + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) ) ,
    Figure DE102020126154A1_0012
    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 Bp(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 ε + sadv ersetzt, um die beobachteten Zustandsdaten zu verschieben und neu zu skalieren, damit sie innerhalb einer Einheitskugel um null, y ∈ Bp(0,1), liegen. Die Maximierung in Gleichung 8 reduziert sich zu einer q-Norm in Gleichung 9 durch die Definition der Dualnorm ||z||* = {supyzTy | ||y|| ≤ 1} und die Tatsache, dass die 1q-Norm dual zur 1p-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äß: = ε A j , : ( 0 ) q + A j , : ( 0 ) s a d v + b j ( m ) + k = 1 m 1 A j , : ( k ) ( b ( k ) H : , j ( k ) ) ,
    Figure DE102020126154A1_0013
    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, sadv die fehlerhafte Beobachtung darstellt, j einen entsprechenden Aktionsindex darstellt und q eine ausgewählte Norm darstellt.

Claims (12)

  1. System, umfassend einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Berechnen eines oder mehrerer Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters; und Auswählen einer Aktion, die dem Zustands-Aktions-Wert einer unteren Schranke mit dem höchsten Wert entspricht.
  2. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: 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.
  3. System nach Anspruch 2, wobei das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk umfasst.
  4. System nach Anspruch 1, wobei der vorbestimmte Störungsparameter einen Vektor umfasst.
  5. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: Betätigen eines Agenten auf Grundlage der ausgewählten Aktion.
  6. System nach Anspruch 4, wobei der Agent ein autonomes Fahrzeug umfasst.
  7. System nach Anspruch 1, wobei die fehlerhafte Beobachtung fehlerhafte Sensordaten umfasst.
  8. System nach Anspruch 7, wobei der Prozessor ferner zu Folgendem programmiert ist: Empfangen der fehlerhaften Sensordaten von einem Fahrzeugsensor eines Fahrzeugs.
  9. System, umfassend: ein Fahrzeug, das ein Fahrzeugsystem beinhaltet, wobei das Fahrzeugsystem einen Computer umfasst, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Berechnen eines oder mehrerer Zustands-Aktions-Werte einer unteren Schranke auf Grundlage einer fehlerhaften Beobachtung und eines vorbestimmten Störungsparameters; und Auswählen einer Aktion, die dem Zustands-Aktions-Wert einer unteren Schranke mit dem höchsten Wert entspricht.
  10. System nach Anspruch 9, wobei der Prozessor ferner zu Folgendem programmiert ist: 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.
  11. System nach Anspruch 10, wobei das trainierte tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk umfasst.
  12. System nach Anspruch 9, wobei der vorbestimmte Störungsparameter einen Vektor umfasst.
DE102020126154.3A 2019-10-07 2020-10-06 Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen Pending DE102020126154A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/595,175 2019-10-07
US16/595,175 US20210103800A1 (en) 2019-10-07 2019-10-07 Certified adversarial robustness for deep reinforcement learning

Publications (1)

Publication Number Publication Date
DE102020126154A1 true DE102020126154A1 (de) 2021-04-08

Family

ID=74876034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020126154.3A Pending DE102020126154A1 (de) 2019-10-07 2020-10-06 Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen

Country Status (3)

Country Link
US (1) US20210103800A1 (de)
CN (1) CN112700001A (de)
DE (1) DE102020126154A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210295130A1 (en) * 2020-03-19 2021-09-23 Mohammad Rasoolinejad Artificial intelligent agent rewarding method determined by social interaction with intelligent observers

Also Published As

Publication number Publication date
US20210103800A1 (en) 2021-04-08
CN112700001A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020108127A1 (de) Interpretieren von daten einer reinforcement-learning-agent-steuerung
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
DE102021121715A1 (de) Anomalieerkennung in mehrdimensionalen sensordaten
EP3748453B1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
DE102021104184A1 (de) Fahrzeugsteuersystem
DE102020126152A1 (de) Geschwindigkeitsvorhersage für ein nicht autonomes fahrzeug mit referenz auf ein autonomes fahrzeug
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern
DE102020127253A1 (de) Quantifizieren von fotorealismus in simulierten daten mit gan
DE102022132111A1 (de) Systeme und verfahren zum erfassen einer inferenzqualität eines tiefen neuronalen netzes unter verwendung von bild-/datenmanipulation ohne ground-truth-informationen
AT524932B1 (de) Verfahren und System zum Testen eines Fahrerassistenzsystems für ein Fahrzeug
DE102021107247A1 (de) Domänenübersetzungsnetzwerk zur durchführung einer bildübersetzung
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
DE102022109385A1 (de) Belohnungsfunktion für Fahrzeuge

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE