DE102020108127A1 - Interpretieren von daten einer reinforcement-learning-agent-steuerung - Google Patents

Interpretieren von daten einer reinforcement-learning-agent-steuerung Download PDF

Info

Publication number
DE102020108127A1
DE102020108127A1 DE102020108127.8A DE102020108127A DE102020108127A1 DE 102020108127 A1 DE102020108127 A1 DE 102020108127A1 DE 102020108127 A DE102020108127 A DE 102020108127A DE 102020108127 A1 DE102020108127 A1 DE 102020108127A1
Authority
DE
Germany
Prior art keywords
vehicle
state
processor
data
action values
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
DE102020108127.8A
Other languages
English (en)
Inventor
Subramanya Nageshrao
Bruno Sielly Jales Costa
Dimitar Petrov Filev
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.)
Ford Global Technologies LLC
Original Assignee
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020108127A1 publication Critical patent/DE102020108127A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • 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/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Electromagnetism (AREA)
  • Feedback Control In General (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

Diese Offenbarung stellt Interpretieren von Daten einer Reinforcement-Learning-Agent-Steuerung bereit. Die vorliegende Offenbarung beschreibt Systeme und Verfahren, die Folgendes beinhalten: Berechnen, über eine RLA-Steuerung (reinforcement learning agent), von einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen, wobei die RLA-Steuerung ein tiefes neuronales Netzwerk (deep neural network - DNN) verwendet und über eine Fuzzy-Steuerung eine Vielzahl von linearen Modellen erzeugt, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnet.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsteuerungen.
  • ALLGEMEINER STAND DER TECHNIK
  • Ein Reinforcement-Leaming-Agent ist eine neuronale Netzwerktechnik. Eine der Herausforderungen bei der Verwendung eines derartigen Agenten besteht darin, seine Ausgabedaten zu interpretieren.
  • KURZDARSTELLUNG
  • Es wird ein System für maschinelles Lernen beschrieben, das eine (Deep-)Reinforcement-Learning-Agent (RLA)-Steuerung und eine Fuzzy-Logic-Steuerung (z. B. nachstehend einfach als Fuzzy-Steuerung bezeichnet) beinhaltet. Gemäß einem Beispiel umfasst ein Verfahren das Berechnen, über eine RLA-Steuerung (Reinforcement Learning Agent), einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen, wobei die RLA-Steuerung ein tiefes neuronales Netzwerk (deep neural network - DNN) verwendet und über eine Fuzzy-Steuerung eine Vielzahl von linearen Modellen erzeugt, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnet.
  • In anderen Merkmalen entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • In anderen Merkmalen beinhaltet das Verfahren das Betätigen eines Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • In anderen Merkmalen umfasst der Agent ein autonomes Fahrzeug.
  • In anderen Merkmalen umfasst das Betätigen des Agenten ferner ein Einstellen einer Geschwindigkeit des autonomen Fahrzeugs auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • In anderen Merkmalen umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • In anderen Funktionen verwendet die Fuzzy-Steuerung ein Evolving-Takagi-Sugeno-(ETS-)Modell zum Erzeugen der Vielzahl von linearen Modellen.
  • In anderen Merkmalen beinhaltet das Verfahren das Bestimmen eines oder mehrerer Datencluster, die den Sensordaten entsprechen, über die Fuzzy-Steuerung, wobei jeder des einen oder der mehreren Datencluster einen Mittelpunkt und einen Radius umfasst.
  • Gemäß einem anderen Beispiel beinhaltet ein System mindestens einen Prozessor und mindestens einen Speicher. Der mindestens eine Speicher speichert Anweisungen, die von dem mindestens einen Prozessor ausgeführt werden können, sodass der mindestens eine Prozessor zu Folgendem programmiert ist: Berechnen, über ein tiefes neuronales Netzwerk, einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen und Erzeugen einer Vielzahl von linearen Modellen, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • In anderen Merkmalen entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, einen Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen zu betätigen.
  • In anderen Merkmalen umfasst der Agent ein autonomes Fahrzeug.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Geschwindigkeit des autonomen Fahrzeugs auf Grundlage von mindestens der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen einzustellen.
  • In anderen Merkmalen umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Vielzahl von linearen Modellen unter Verwendung eines Evolving-Takagi-Sugeno-(ETS-)Modells zu erzeugen.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, einen oder mehrere Datencluster zu bestimmen, die den Sensordaten entsprechen, wobei jeder des einen oder der mehreren Datencluster einen Mittelpunkt und einen Radius umfasst.
  • Gemäß einem anderen Beispiel beinhaltet ein autonomer Agent mindestens einen Prozessor und mindestens einen Speicher. Der mindestens eine Speicher speichert Anweisungen, die von dem mindestens einen Prozessor ausgeführt werden können, sodass der mindestens eine Prozessor zu Folgendem programmiert ist: Berechnen, über ein tiefes neuronales Netzwerk, einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen, Erzeugen einer Vielzahl von linearen Modellen, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen, und Betätigen des autonomen Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • In anderen Merkmalen entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • In anderen Merkmalen umfasst der autonome Agent ein autonomes Fahrzeug.
  • In anderen Merkmalen umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • Figurenliste
    • 1 ist eine schematische grafische Darstellung, die ein System für maschinelles Lernen veranschaulicht, das eine RLA-Steuerung (Reinforcement Learning Agent) und eine Fuzzy-Steuerung umfasst.
    • 2 ist eine grafische Darstellung eines beispielhaften tiefen neuronalen Netzwerks.
    • 3 ist eine schematisches grafische Darstellung eines Ego-Fahrzeugs unter Verwendung des Systems für maschinelles Lernen aus 1.
    • 4 ist ein Ablaufdiagramm, das einen Prozess veranschaulicht, der von dem System für maschinelles Lernen aus 1 ausführbar ist.
    • 5 ist eine schematische Ansicht eines Ego-Fahrzeugs und eines Führungsfahrzeugs, wobei sich das Ego-Fahrzeug in einem Modus der adaptiven Geschwindigkeitsregelung (adaptive cruise control - ACC) befindet.
    • 6 ist eine grafische Abbildung einer Geschwindigkeitsbelohnungskurve, die von der RLA-Steuerung in einem Trainingsmodus verwendet werden kann.
    • 7 ist eine grafische Abbildung einer durchschnittlichen Anzahl von Schritten in Bezug auf Episoden in einem Trainingsmodus der RLA-Steuerung.
    • 8 ist eine grafische Abbildung von geclusterten Daten, die von der Fuzzy-Steuerung bestimmt sind.
    • 9 ist eine grafische Abbildung einer Entfernung über ein Zeitintervall zwischen einem Ego-Fahrzeug und einem Führungsfahrzeug.
    • 10 ist eine grafische Abbildung von Änderungen der Beschleunigung des Ego-Fahrzeugs über das Zeitintervall aus 9.
  • DETAILLIERTE BESCHREIBUNG
  • Reinforcement Learning (RL) ist eine Form von zielgerichtetem maschinellen Lernen. Ein Agent kann zum Beispiel aus der direkten Interaktion mit seiner Umgebung lernen, ohne sich auf eine explizite Überwachung und/oder vollständige Modelle der Umwelt verlassen zu müssen. Reinforcement Learning ist ein Rahmen, der die Interaktion zwischen einem Lernagenten 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 Policy aus, empfängt eine skalare Belohnung und wechselt zum nächsten Zustand. Der Zustand kann auf einem oder mehreren Sensoreingängen 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 empfangen. 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 Reinforcement-Learning-Agenten umfassen kann.
  • Die Fuzzy Logic kann zum Schätzen von Eingangs-Ausgangs-Funktionen verwendet werden. Zum Beispiel kann ein System unter Verwendung von Fuzzy Logic eine Funktion ohne ein mathematisches Modell davon, wie Ausgaben von den Eingaben abhängen, schätzen. Stattdessen kann ein Satz von Sprachregeln und/oder Speicherzusammenhängen zum Zuordnen von Ausgaben zu Eingaben verwendet werden.
  • Wie hierin beschrieben, kann ein System eine Reinforcement-Learning-Agent-Steuerung und eine Fuzzy-Steuerung beinhalten. Die Reinforcement-Leaming-Agent-Steuerung empfängt Eingangsdaten. Zum Beispiel können die Eingangsdaten Sensordaten umfassen, die von einem oder mehreren Sensoren empfangen werden, die um einen Agenten angeordnet sind, die eine Umgebung nahe dem Agenten angeben. Die Reinforcement-Leaming-Agent-Steuerung erzeugt eine Ausgabe auf Grundlage der empfangenen Eingangsdaten. Zum Beispiel kann die Ausgabe ein Steuersignal sein, um den Agenten zu steuern. Die Fuzzy-Steuerung empfängt die Eingangsdaten, z. B. Sensordaten, und die Ausgangsdaten, die von der Reinforcement-Learning-Agent-Steuerung erzeugt sind. Unter Verwendung der Eingangsdaten und der Ausgangsdaten erzeugt die Fuzzy-Steuerung ein regelbasiertes Modell, um das Zuordnen der Ausgabe zu der Eingabe annähern wiederzugeben. Das regelbasierte Modell kann ein nichtlineares Modell umfassen, das aus linearen Abschnitten besteht.
  • Nun unter Bezugnahme auf die Figuren, in denen gleiche Bezugszeichen ähnliche oder gleiche Merkmale oder Funktionen angeben, ist ein System 10 für maschinelles Lernen beschrieben. In der nachfolgenden Beschreibung ist das System 10 im Zusammenhang mit einem autonomen Fahren erläutert; es versteht sich jedoch, dass das System 10 diesbezüglich nicht eingeschränkt ist (z. B. existieren ebenso zahlreiche andere Problemlösezusammenhänge).
  • Gemäß dem hierin erläuterten Beispiel verwendet das System 10 eine Reinforcement-Learning-Agent-Steuerung (RLA-Steuerung) 12 und eine Fuzzy-Steuerung 14 seriell, um ein Problem des maschinellen Lernens zu lösen. Zum Beispiel kann die RLA-Steuerung 12 unter Verwendung erfasster Daten als Eingang eine Optimierung davon unter Verwendung eines Belohnungs- und/oder Bestrafungsschemas bestimmen und einen Ausgang erzeugen, der einen oder mehrere Zustand-Aktion-Werte (Q-Werte), z. B. ein RLA-Datensatz, darstellt. Somit dient in dem offenbarten System 10 die Fuzzy-Steuerung 14 als Interpretationsmodell. Zum Beispiel kann die Fuzzy-Steuerung 14 den RLA-Datensatz und die erfassten Daten, die für einen beobachteten Zustand repräsentativ sind, als Eingabe empfangen. Wie hierin beschrieben, verwendet das System 10 zuerst die RLA-Steuerung 12, um die Optimierung eines dynamischen Modells zu bestimmen, und dann die Fuzzy-Steuerung 14, um den Ausgang der RLA-Steuerung 12 zu verarbeiten, um Informationen bereitzustellen, die für Ingenieure, Designer und dergleichen nützlich sind, die sie bei der Erstellung und Abstimmung derartiger dynamischer Modelle unterstützt.
  • Gemäß einem nichteinschränkenden Beispiel kann das System 10 einen Computer oder eine beliebige andere Rechenvorrichtung sein, die Hardware und Software, Firmware usw. umfasst, wobei die Hardware einen oder mehrere Prozessoren und einen Speicher umfasst. Zum Beispiel kann das System 10 ein Computermodul sein (z. B. eine Line-Replaceable-Unit oder LRU). Oder das System 10 kann eine Schaltungskarte oder ein Abschnitt davon sein, der Teil eines Computermoduls ist - z. B. verbunden mit anderen Schaltungskarten in dem Modul. Es gibt noch weitere Beispiele. In 1 ist das System 10 so veranschaulicht, dass es elektronische Steuereinheiten (electronic control units - ECUs) beinhaltet, die als RLA-Steuerung 12 und Fuzzy-Steuerung 14 bezeichnet sind. Wie nachstehend erläutert, ist dies nur ein Beispiel. Zum Beispiel können in anderen Beispielen die RLA- und Fuzzy-Steuerungen 12, 14 unter Verwendung eines gemeinsamen Prozessors und Speichers ausgeführt sein.
  • Die RLA-Steuerung 12 beinhaltet einen Satz von Anweisungen (z. B. Softwareanweisungen), die das Empfangen von Daten, das Bestimmen einer Optimierung der empfangenen Daten und das Erzeugen einer oder mehrerer Zustand-Aktion-Werten als Ausgabe beinhalten. Gemäß mindestens einem nicht einschränkenden Beispiel umfasst die RLA-Steuerung 12 ferner Hardware: und zwar mindestens einen Prozessor 20 und mindestens einen Speicher 22. Der Prozessor 20 kann eine beliebige Art von Vorrichtung sein, die dazu in der Lage ist, elektronische Anweisungen zu verarbeiten, wobei nicht einschränkende Beispiele einen Mikroprozessor, eine Mikrosteuerung oder Steuerung, eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC) usw. beinhalten - um nur einige zu nennen. Im Allgemeinen kann der Prozessor 20 zum Ausführen von digital gespeicherten Anweisungen programmiert sein, die in dem Speicher 22 gespeichert sein können, die es dem System 10 ermöglichen, ein Problem von maschinellem Lernen zu lösen. Nicheinschränkende Beispiele für Anweisungen werden in einem oder mehreren nachstehend beschriebenen Prozessen beschrieben.
  • Der Speicher 22 kann ein beliebiges nichttransitorisches computernutzbares oder -lesbares Medium beinhalten, das eine/n oder mehrere Speichervorrichtungen oder -artikel beinhalten kann. Zu beispielhaften nichttransitorischen computernutzbaren Speichervorrichtungen gehören Festkörperspeicher, Direktzugriffsspeicher (RAM - random access memory), Festwertspeicher (read only memory - ROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM) von herkömmlichen Festplatten sowie beliebige andere flüchtige oder nichtflüchtige Medien. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und anderen dauerhaften Speicher, und flüchtige Medien können zum Beispiel auch dynamischen Direktzugriffsspeicher (dynamic random-access memory - DRAM) beinhalten. Diese Speichervorrichtungen sind nichteinschränkende Beispiele; z. B. bestehen andere Formen von computerlesbaren Medien und beinhalten magnetische Medien, CD-ROM (compact disc ROM), DVDs (digital video disc), andere optische Medien, geeignete Speicherchips oder Kassetten oder andere Medien, die ein Computer auslesen kann. Wie vorstehend erläutert, können ein oder mehrere Computerprogrammprodukte, die als Software, Firmware oder andere Programmierungsanweisungen umgesetzt sein können, die durch den Prozessor 20 ausführbar sind, auf dem Speicher 22 gespeichert sein.
  • Die Fuzzy-Steuerung 14 beinhaltet einen Satz von Anweisungen (z. B. Softwareanweisungen), die das Empfangen eines Datensatzes von der RLA-Steuerung 12 und das Erzeugen eines Satzes von Fuzzy-Regeln auf Grundlage des empfangenen Datensatzes beinhalten. Gemäß mindestens einem nicht einschränkenden Beispiel umfasst die Fuzzy-Steuerung 14 ferner Hardware: und zwar mindestens einen Prozessor 30 und mindestens einen Speicher 32. In mindestens einem Beispiel können die physischen Attribute des Prozessors 30 mit denen des Prozessors 20 identisch sein, und in mindestens einem Beispiel können die physischen Attribute des Speichers 32 mit denen des Speichers 22 identisch sein; daher werden diese physischen Eigenschaften hier nicht erneut beschrieben. Es versteht sich jedoch, dass sich die Anweisungen der Fuzzy-Steuerung 14 teilweise oder vollständig von denen der RLA-Steuerung 12 unterscheiden können. Somit kann sich jeder vorprogrammierte Prozessor zumindest in seinen Anweisungen unterscheiden; Prozessoren, die als ASICs oder dergleichen umgesetzt sind, können sich in Bezug auf Software und Hardware unterscheiden.
  • 2 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks (deep neural network - DNN) 200. Das DNN 200 kann zum Beispiel ein Softwareprogramm sein, das in den Speicher 22 geladen und von dem Prozessor 20 ausgeführt werden kann. In einer beispielhaften Umsetzung kann das DNN 200 jedes geeignete neuronale Netzwerk beinhalten, das Reinforcement-Learning-Techniken einsetzen kann. Das DNN 200 beinhaltet mehrere Neuronen 205, und die Neuronen 205 sind so angeordnet, dass das DNN 200 eine Eingangsschicht, eine oder mehrere verborgene Schichten und eine Ausgangsschicht 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 Eingangs- und Ausgangsschichten 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 Eingängen (dargestellt durch die Pfeile) für jedes Neuron 205 wird jeweils mit den jeweiligen Gewichten multipliziert. Die gewichteten Eingänge können dann in einer Eingangsfunktion summiert werden, um, möglicherweise durch ein Bias eingestellt, einen Nettoeingang bereitzustellen. Der Nettoeingang kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 205 eine Ausgabe liefert. Die Aktivierungsfunktion kann eine Vielfalt geeigneter Funktionen sein, die typischerweise auf Grundlage von empirischen Analysen ausgewählt werden. Wie durch die Pfeile in 2 veranschaulicht, können die Ausgaben des Neurons 305 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 dazu trainiert werden, Sensordaten als Eingabe zu akzeptieren und einen Zustand-Aktion-Wert, z. B. Belohnungswert, auf Grundlage der Eingabe zu erzeugen. Das DNN 200 kann mit Trainingsdaten, z. B. einem bekannten Satz von Sensoreingängen, trainiert werden, um den Agenten dazu zu trainieren, eine optimale Policy zu bestimmen. Gewichte können zum Beispiel unter Verwendung einer Gaußschen Verteilung eingeleitet werden und ein Bias für jedes Neuron 205 kann auf Null eingestellt werden. Das Trainieren des DNN 200 kann das Aktualisieren von Gewichten und Bias über geeignete Techniken wie die Rückübertragung mit Optimierungen beinhalten.
  • Unter Bezugnahme auf 3 ist das System 10 als Beispiel in einem Fahrzeug 40 gezeigt, das ein autonomes Antriebssystem 42 umfasst. Das Fahrzeug 40 ist als Personenkraftwagen veranschaulicht; das Fahrzeug 40 könnte jedoch jeder andere geeignete Fahrzeugtyp sein, einschließlich eines Lastwagens, eines Sport Utility Vehicle (SUV), eines Wohnmobils, eines Busses, eines Luftfahrzeugs, eines Wasserfahrzeugs oder dergleichen, das das autonome Fahrsystem 42 umfasst. In zumindest einem Beispiel ist das Fahrzeug 18 dazu konfiguriert, in mindestens einem von einer Vielzahl von autonomen Modi zu arbeiten, wie durch die Society of Automotive Engineers (SAE) (die den Betrieb mit den Stufen 0-5 definiert hat) definiert. Zum Beispiel kann das Fahrzeug 40 zwei- und/oder dreidimensionale Daten seiner Umgebung empfangen und verarbeiten und kann ferner dazu programmiert und/oder konfiguriert sein, Logikanweisungen zu speichern und auszuführen, die in Hardware, Software, Firmware, einer Kombination davon oder dergleichen umgesetzt sind, und dem Fahrzeug 40 zu ermöglichen, mit einer gewissen Benutzerunterstützung (teilweise Autonomie) oder ohne Benutzerunterstützung (vollständige Autonomie) zu arbeiten. Zum Beispiel überwacht oder steuert ein menschlicher Fahrer gemäß den Stufen 0-2 den Großteil der Fahraufgaben, oftmals ohne Unterstützung des Fahrzeugs 40. Auf Stufe 0 („keine Automatisierung“) ist ein menschlicher Fahrer zum Beispiel für den gesamten Betrieb des Fahrzeugs verantwortlich. Auf Stufe 1 („Fahrerassistenz“) leistet das Fahrzeug 40 bisweilen beim Lenken, Beschleunigen oder Bremsen Unterstützung, doch ist der Fahrer nach wie vor für den weitaus größten Teil der Steuerung des Fahrzeugs verantwortlich. Auf Stufe 2 („Teilautomatisierung“) kann das Fahrzeug 40 das Lenken, Beschleunigen oder Bremsen unter bestimmten Umständen ohne menschliche Interaktion steuern. Auf den Stufen 3-5 übernimmt das Fahrzeug 40 mehr fahrbezogene Aufgaben. Auf Stufe 3 („bedingte Automatisierung“) kann das Fahrzeug 40 das Lenken, Beschleunigen oder Bremsen unter bestimmten Umständen sowie die Überwachung der Fahrumgebung übernehmen. Bei Stufe 3 kann es jedoch erforderlich sein, dass der Fahrer gelegentlich eingreift. Bei Stufe 4 („hohe Automatisierung“) kann das Fahrzeug 40 dieselben Aufgaben wie bei Stufe 3 bewältigen, ist jedoch nicht darauf angewiesen, dass der Fahrer in bestimmten Fahrmodi eingreift. Bei Stufe 5 („vollständige Automatisierung“) kann das Fahrzeug 40 alle Aufgaben ohne Eingreifen des Fahrers bewältigen. In mindestens einem Beispiel ist das Fahrzeug 40 dazu konfiguriert, gemäß einer der Stufen 2-5 zu arbeiten.
  • Das autonome Antriebssystem 42 kann einen oder mehrere Sensoren 50, 52, 54, das System 10 (zuvor beschrieben) und einen oder mehrere Computer 60, 62, 64 umfassen. Die Sensoren 50-54 können jeweils Fahrzeuginstrumentensensor(en) 50, einen oder mehrere Fahrzeugradsensoren 52 (z. B. die die Fahrzeuggeschwindigkeit messen) und einen RADAR-Sensor (radio detection and ranging) 54 umfassen. Es versteht sich, dass das System 40 keine drei Sensoren benötigt; z. B. kann es mehr oder weniger Sensoren haben. Der/die Kombiinstrumentsensor(en) 50, die Radsensoren 52 und der RADAR-Sensor 54 sind lediglich Beispiele. Eine nicht erschöpfende und nicht einschränkende Liste der Fahrzeugsensoren 50-54 könnte einen oder mehrere von einem Fahrzeugneigungssensor, einem Fahrzeugrollsensor, einem Fahrzeuggiersensor, einem Bewegungssensor, einem Näherungssensor, einem LIDAR-Sensor (laser identification detection and ranging), einem Bildgebungssensor (z. B. einem komplementären Metall-Oxid-Halbleiter (complementary metal oxide semiconductor - CMOS), einem ladungsgekoppelten Sensor (charge-coupled sensor - CCD), ein Bildverstärkungssensor usw.), einem Infrarotsensor, einem Wärmesensor, einem Signalsensor für drahtlose Kurz-, Mittel- oder Langstreckensignale, einem Fahrzeugpositionssensor (z. B. einem GPS- (global positioning system) und ein GLONASS-Sensor (global navigation satellite system)), einem Türkontaktsensor, einem Fahrzeugbeschleunigungssensor, einem Fahrzeugbremssensor und einem Fahrzeuglenkungssensor beinhalten, um nur einige Beispiele zu nennen.
  • Wie in 3 gezeigt, können diese Sensordaten vom System 10 empfangen werden. Gemäß einem Beispiel eines autonomen Fahrsystems 42 kann das System 10 Daten an die Computer 62-64 bereitstellen.
  • Gemäß einem nicht einschränkenden Beispiel können die Computer 60-64 jeweils einen Fahrzeugmotorsteuercomputer (60), einen Fahrzeugbremssystemcomputer (62) und einen Fahrzeuglenksteuercomputer (64) umfassen, wobei jeder der Computer 60-64 Anweisungen ausführt, um mindestens einen autonomen oder teilweise autonomen Fahrzeugbetrieb (z. B. adaptive Geschwindigkeitsregelung (adaptive cruise control - ACC), Spurhalteassistent, Spurverlassenswarnung, Frontkollisionswarnung, automatische Notbremsung, Fußgängerdetektion und Totwinkel-Warnung, um nur einige Beispiele zu nennen) auszuführen. Es versteht sich, dass das System 42 keine drei Computer benötigt, die an den Ausgang des Systems 10 gekoppelt sind; z. B. kann es mehr oder weniger Computer aufweisen. Der Fahrzeugmotorsteuercomputer 60, der Fahrzeugbremssystemcomputer 62 und der Fahrzeuglenksteuercomputer 64 sind lediglich Beispiele. Eine nicht einschränkende und nicht erschöpfende Liste der Fahrzeugcomputer 60-64 könnte ein Karosseriesteuermodul (body control module - BCM), ein Antriebsstrangsteuermodul (powertrain control module - PCM), eine Kraftübertragungseinheit (power transfer unit - PTU) und ein Aufhängungssteuermodul beinhalten, um nur einige Beispiele zu nennen. Wie nachstehend ausführlicher beschrieben, kann das System 10, indem das System 10 einen Ausgang an einen oder mehrere Computer 60-64 bereitstellt, eine Fahrzeugfunktion einleiten (z.B. Steuern der Fahrzeugbeschleunigung, Steuern der Fahrzeugbremsung und/oder Steuern der Fahrzeuglenkung).
  • Nun unter Bezugnahme auf 4 ist eine Übersicht eines Prozesses 400 zum Bedienen des Maschinenlernsystems 10 gezeigt. Der Prozess 400 ist beispielsweise und nicht einschränkend - z. B. zum Veranschaulichen einer Umsetzung - in Bezug auf ein autonomes System 42 beschrieben, das ein adaptives Geschwindigkeitsregelungssystem (ACC-System) ausführt. In anderen Beispielen des Prozesses 400 kann sich die Umgebung des Systems 10 unterscheiden oder das System 10 kann sich in einem Fahrzeug befinden, wird jedoch dazu verwendet, um stattdessen andere Fahrzeugfunktionen auszuführen (z. B. andere als ACC); somit ist das Fahrzeug 40, das in einem ACC-Modus in Prozess 400 arbeitet, nur ein Beispiel.
  • Im Zusammenhang mit dem vorliegenden Beispiel kann das Fahrzeug 40 (z. B. auch das „Ego-(e) Fahrzeug“ genannt) einem Führungs-(l)Fahrzeug 70 folgen, wie in 5 gezeigt. Im ACC-Modus versucht das Fahrzeug 40, eine geeignete Entfernung (ld) zwischen ihm und dem Fahrzeug 70 zu halten - z. B. durch Steuern seiner Geschwindigkeit (ev(t)) und auf Grundlage einer Geschwindigkeit (lv) des Führungsfahrzeugs 70, aktuellen Fahrbedingungen (z. B. Geschwindigkeit des Fahrzeugs 40, Fahrbahnbedingungen (trocken, nass, eisig usw.), aktuellen Wetterbedingungen (windig, schneebedeckt usw.) usw.). Wenn zum Beispiel das Führungsfahrzeug 70 langsamer wird, kann das Fahrzeug 40 langsamer werden - es versucht, eine angemessenen Entfernung zwischen ihnen einzuhalten. Und wenn das Fahrzeug 70 beschleunigt, kann das Fahrzeug 40 beschleunigen - z. B. vorausgesetzt, seine Geschwindigkeit überschreitet nicht die vorgewählte maximale Fahrgeschwindigkeit eines Benutzers.
  • Unter erneuter Bezugnahme auf 4 kann der Prozess 400 mit Block 405 beginnen. In Block 405 können verschiedene Sensordateneingänge vom System 10 empfangen werden. Diese Sensordaten können sich sowohl auf das Fahrzeug 40 als auch auf das Führungsfahrzeug 70 beziehen und können sich auf den Betrieb des autonomen Systems 42 (das möglicherweise ACC ausführt) beziehen. Zum Beispiel können Sensordaten ein oder mehrere ACC-Signale von dem Kombiinstrument 50 (z. B. Anzeigen, dass der Benutzer einen ACC-Modus eingeleitet hat, Anzeigen einer gewünschten ACC-Geschwindigkeit usw.), eine aktuelle Geschwindigkeit des Fahrzeugs 40 von Radsensoren 52 und Tiefendaten vom RADAR-Sensor 54 umfassen (z. B. die verwendet werden können, um eine Entfernung zwischen den Fahrzeugen 40, 70, eine Geschwindigkeit des Fahrzeugs 70 usw. zu bestimmen). Wie ferner nachstehend beschrieben wird, können diese Sensordaten als Eingabe in ein dynamisches Fahrzeugmodell verwendet werden, mit dem die RLA-Steuerung 12 arbeitet.
  • In Block 410 kann das System 10 einen RLA-Trainingsmodus gemäß einem Fahrzeugdynamikmodell ausführen. Zum Beispiel kann Block 410 das Trainieren der RLA-Steuerung 12 zum Lernen einer Policy (π) unter Verwendung einer vorbestimmten Anzahl von Episoden (E) lernen, wobei jede Episode eine vorbestimmte Menge von Abtastungen (S) umfasst. Zum Beispiel kann die RLA-Steuerung 12 typischerweise E = 500-2000 Episoden (in einem Trainingsmodus) ausführen (z. B. in zumindest einem Beispiel E = 1500 Episoden). Jede Trainingsepisode umfasst typischerweise Beispiele (S) - z. B., 200 < S. < 800 Abtastungen, es sei denn, es liegt eine Kollision vor (z. B. ld ≤ 0 meters (m)) oder die relative Entfernung zwischen den Fahrzeugen 40, 70 ist größer als ein vorbestimmter Schwellenwert lTHR(z. B., ld > lTHR; z. B., lTHR= 150 m). Somit kann eine Kollision oder eine relative Entfernung, die größer als der Schwellenwert (lTHR) ist, die jeweilige Episode beenden.
  • Ein Beispiel für ein veranschaulichendes Fahrzeugdynamikmodell ist in den Gleichungen (1)-(3) gezeigt. Z. B. veranschaulichen die Gleichungen (1) und (2) einen Einheitsmassen-Doppelintegrator . x 1 ( t + 1 ) = x 1 ( t ) + x 2 ( t ) Δ t
    Figure DE102020108127A1_0001
    x 2 ( t + 1 ) = x 2 ( t ) + u ( t ) Δ t
    Figure DE102020108127A1_0002
  • Wobei x1 eine Position des Fahrzeugs 40 ist, wobei x2 eine Fahrzeuggeschwindigkeit (im folgenden Beispiel begrenzt auf [0 meters/second (m/s), 32 m/s]) ist, wobei u eine Eingangsbeschleunigung (im folgenden Beispiel beschränkt auf [-2 m/s2, 2 m/s2]) ist. In diesem veranschaulichenden Beispiel wurde eine Abtastrate von 4 Hz benutzt.
  • Während des RLA-Trainingsmodus kann Gleichung (3) verwendet werden, um die Beschleunigung in Bezug auf die Zeit zu definieren. u ( t ) = μ ( s | θ μ ) + N
    Figure DE102020108127A1_0003
  • Wobei N ein Explorationsgeräusch ist, wobei µ(s|θµ) ein deterministisches Policy-Netzwerk ist, das eine Funktion eines Systemstatus (s) und eines unbekannten Parametervektors (θµ) ist. Zum Beispiel kann Zustand s in einem ACC-Modus als [dr, Δv, u(t - 1)] definiert werden, wobei dr die relative Entfernung darstellt, Δv die Relativgeschwindigkeit darstellt und u(t - 1) eine zu einem Zeitpunkt (t - 1) angewendete Beschleunigung ist. Im Trainingsmodus kann das Führungsfahrzeug 70 zufällige Entfernungen relativ zum Fahrzeug 40 annehmen und zufällige Geschwindigkeiten annehmen. Als Teil des Trainingsmodus kann jede Episode zufällig ein anderes Beschleunigungsprofil auf das Führungsfahrzeug 70 anwenden, sodass die RLA-Steuerung 12 lernt, auf unterschiedliche Umstände zu reagieren.
  • In dem folgenden Beispiel kann ein Adam-Verfahren zur stochastischen Optimierung verwendet werden (z. B. wobei eine Lernrate des Betätigungselementnetzwerks 10-4 sein kann, eine Lernrate eines kritischen Netzwerks 10-3 sein kann und ein diskontierter Faktor (γ) 0,95 sein kann, wobei jedes der Betätigungselement- und kritischen Netzwerke zwei verborgene Schichten aufweisen kann, wobei jede verborgene Schicht 64 gleichgerichtete nicht lineare Einheiten aufweisen), um die RLA-Steuerung 40 zu trainieren (z. B. den Parameter und/oder Gewichte zu optimieren).
  • In diesem Beispiel kann sich die RLA-Steuerung 12 auf die Optimierung einer Geschwindigkeit des Fahrzeugs 40 in Bezug auf das Führungsfahrzeug 70 beziehen. Nach einem nicht einschränkenden Beispiel für jede Abtastung (S) kann die RLA-Steuerung 12 mehrere gleich gewichtete Belohnungen (rv, rd, ra) berechnen, wobei die Belohnungen jeweils der Geschwindigkeit (ev) des Fahrzeugs 40 und der Geschwindigkeit (lv) des Fahrzeugs 70, der Entfernung (ld) zwischen Fahrzeugen 40, 70 und einer Änderung der Beschleunigung (Δae) des Fahrzeugs 40 entsprechen. Gemäß dem Beispiel kann die RLA-Steuerung 12 die Gleichungen (4), (5) und (6) verwenden. r v = e [ ( e v l v ) 2 e v m a x ] 1
    Figure DE102020108127A1_0004
  • Wobei evmax eine maximale Geschwindigkeit des Fahrzeugs 40 (z. B. typischerweise eine durch den Benutzer gewählte Geschwindigkeitsregelungsgeschwindigkeit im ACC-Modus) ist. r d = e [ ( l d T h d t h r ) 2 2 T h d t h r ] 1
    Figure DE102020108127A1_0005
  • Wobei Th ein Abstandsparameter (d. h. eine Zeitmessung zwischen den Fahrzeugen 40, 70 ist; z. B. die Zeit, die das Fahrzeug 40 benötigt, um die Entfernung ld (4) zu bewältigen, auf Grundlage einer aktuellen Geschwindigkeit des Fahrzeugs 40 (typischerweise in Sekunden (s)), wobei dthr eine bestimmte oder vorbestimmte Entfernung ist, die eine Entfernung zwischen den Fahrzeugen 40, 70 darstellt, damit das Fahrzeug 40 eine Heckkollision mit dem Fahrzeug 70 vermeidet. Ein nicht einschränkendes Beispiel für die Abstandszeit Th ist ein Wert innerhalb [1 s, 2 s]; z. B. wurde in den nachstehend beschriebenen veranschaulichenden Berechnungen (als Beispiel) ein Wert von Th = 1,5 verwendet. Und nicht einschränkende Beispiele für Entfernung dthr sind zwei Autlängen, drei Autolänge usw. r a = e [ ( Δ a e ) 2 2 a m a x ] 1
    Figure DE102020108127A1_0006
  • Wobei Δae auf Δae = ae(t) - ae(t - 1) korreliert werden kann, wobei amax eine vorbestimmte maximal zulässige Beschleunigung für das Fahrzeug 40 ist.
  • Um eine beispielhafte Berechnung zu veranschaulichen, zeigt 5 Geschwindigkeitsbelohnungen (rv) wenn lv = 20 m/s (Meter/Sekunde). Die maximale Belohnung für eine bestimmte Abtastung liegt bei einem lokalen Maximum rv-max.
  • 7 zeigt, dass ungefähr 500 Episoden erforderlich sein können, damit die Policy (π) von der RLA-Steuerung 12 gelernt wird. Ferner kann danach eine Konvergenz auftreten. Zum Beispiel ist in 6 nach 1500 Episoden eine zusätzliche Konvergenz aufgetreten, um die RLA-Steuerung 12 ausreichend auf eine gewünschte Leistung zu trainieren. Wie nachstehend gezeigt wird, übertrifft die Leistung dieser Steuerung für Maschinenlernen bestehende Techniken.
  • Unter erneuter Bezugnahme auf 4 gibt die RLA-Steuerung 12 in Block 420 Daten aus (z. B. einen Zustand-Aktion-Wert, RLA-Datensatz). Somit umfasst ein RLA-Datensatz, wie hierin verwendet, eine Vielzahl von Zustand-Aktion-Werten, die von einer RLA-Steuerung 12 ausgegeben werden; in einigen Fällen tritt dies während eines Trainingsmodus auf. In anderen Fällen kann es während eines Bewertungsmodus auftreten (z. B. der einem Trainingsmodus folgt). Weiterhin gemäß dem folgenden Beispiel kann der RLA-Datensatz Daten umfassen, die die Belohnungen (rv rd, ra), die entsprechenden Geschwindigkeitswerte der Fahrzeuge 40, 70 (lv, ev), die entsprechenden Entfernungen zwischen den Fahrzeugen 40, 70 (ld) die entsprechenden Änderungen der Beschleunigung des Fahrzeugs 40 (Δae) usw. umfassen. Gemäß einem Beispiel tritt Block 420 auf, sobald das Training abgeschlossen ist (z. B. nach 1500 Episoden im vorhergehenden Beispiel). In einem anderen Beispiel tritt Block 420 nach einer Schwellenwertanzahl von Episoden auf (z. B. nach 500 Episoden im vorhergehenden Beispiel). Und gemäß mindestens einem Beispiel erfolgt Block 420 zumindest teilweise gleichzeitig mit Block 310 (veranschaulicht unter Verwendung einer gestrichelten Linie in 4, die den Prozess 300 zurück zu Block 310 führt) - z. B. kann ein Datensatz wiederholt erzeugt werden (und in Block 330 verwendet werden, der folgt), während die RLA-Steuerung 12 trainiert wird.
  • In Block 430 empfängt die Fuzzy-Steuerung 14 den RLA-Datensatz (von Block 420) und den Sensoreingang, um daraus ein Modell, z. B. Fuzzy-Regeln, zu erzeugen. Insbesondere kann die Fuzzy-Steuerung 14 ein nicht lineares Modell bestimmen, mit dem der RLA-Datensatz dem Sensoreingang zugeordnet werden kann. In einem oder mehreren Beispielen verwendet die Fuzzy-Steuerung 14 Evolving-Takagi-Sugeno- (ETS-)Modellierung. Dies dient nur der Veranschaulichung und in anderen Umsetzungen können stattdessen andere Arten von Fuzzy-Steuerungssystemen verwendet werden. Somit weiter gemäß dem ETS-Modellbeispiels kann die Fuzzy-Steuerung 14 einen Satz von Fuzzy-Regeln (ℜ) bestimmen, wobei die Regel ith die Form von Gleichung (7) für einen n-dimensionalen Eingangsvektor x aufweist. i : I F   x 1 = A 1   a n d   I F   x 2 = A 2   a n d a n d   I F   x n = A n , THEN y i = α i 0 + α i 1 x 1 + α i 2 x 2 + + α i n x n
    Figure DE102020108127A1_0007
  • Wobei y für alle i durch die folgende Gleichung (8) definiert ist. y = i = 1 R τ i y i i = 1 R τ i
    Figure DE102020108127A1_0008
  • Wobei τi eine Feuerungsebene der ithRegel ist und durch die Gleichungen (9) und (10) definiert werden kann. τ i = μ i 1 ( x 1 ) μ i 2 ( x 2 ) μ i n ( x n )
    Figure DE102020108127A1_0009
    μ i j = e α x j x i j 2
    Figure DE102020108127A1_0010
  • Wobei µij eine Gauß-ähnliche Maßnahme für die Ähnlichkeit zwischen einem bestimmten Eingangswert xj und einem Mittelpunkt x i j
    Figure DE102020108127A1_0011
    darstellt, der einer Typizität desselben Eingangs charakterisiert.
  • Wie in 4 gezeigt, kann das Erzeugen von Fuzzy-Regeln (Block 330) Block 440 (Lernen von Regelvorgängern) und Block 450 (Schätzen von Regelnachfolgern) umfassen. Das Lernen von Regelvorgängern (Block 440) kann das Bestimmen von Datenmittelpunkten (f) (z. B., sogenannte „Zentren“ von Fuzzy-Datenclustern) und Einflusszonen (z. B. sogenannte „Radien“ (r) der jeweiligen Cluster) beinhalten, die jeden relevanten Zustand in einem Datenraum zusammenfassen. Der Regelvorgänger kann einen Eingangsraum, z. B. Sensordaten, in Bereiche zerlegen, die unterschiedlichen Betriebsbedingungen entsprechen, z. B. Zustand-Aktion-Werte, wobei die linearen Untermodelle eine lokale Annäherung bereitstellen können; es sollte jedoch beachtet werden: die Aggregation dieser linearen Untermodelle könnte nicht linear sein. In Block 450 können mehrere Koeffizienten dieser linearen Untermodelle (z. B. lineare Gleichungen) unter Verwendung von einer Pseudoumkehrungstechnik oder durch Anwendung einer RLS-Optimierungstechnik (Recursive Least Squares) bestimmt werden.
  • Nach Block 430 können die extrahierten Regelvorgänger (aus Block 440) und Regelnachfolger (aus Block 450) kombiniert werden, um (in Block 460) einen Satz interpretierbarer Fuzzy-Regeln (z. B. eine vollständige Fuzzy-Regelbasis (ℝ)) zu ergeben.
  • Nur als Beispiel (und unter Verwendung eines Datensatzes, der von einer beispielhaften RLA-Steuerung berechnet wurde), werden die Blöcke 430-460 veranschaulicht. In dem Beispiel kann die Fuzzy-Steuerung 14 eine ETS-Modellierung verwenden - unter Verwendung der folgenden Parameter: r = 0.3, p = 0.3, und ∈ = 0.05 wobei αi0 = 0. 8 zeigt, dass unter Verwendung eines Beispieldatensatzes (wobei die Achsen eine relative Entfernung, eine relative Geschwindigkeit und eine vorherige Beschleunigung darstellen) die Fuzzy-Steuerung 14 (durch Clustering des Eingamgsraums) acht Cluster (C) erlangt hat, die durch normalisierte Mittelpunkte (f) und normalisierte Radien (r) definiert sind. Die Gleichungen (11)-(18), die folgen, veranschaulichen eine beispielhafte vollständige Fuzzy-Regelbasis (ℝ), die unter Verwendung des beispielhaften ETS-Modells gelernt ist, wobei jeder Regelvorgänger einen Mittelpunkt (f) und einen entsprechenden Radius (r) umfasst, wobei jede nachfolgende Regel mehrere Koeffizienten (αi1, αi2,..., αin) für einen linearen Ausgang des ETS-Modells umfasst. 1 : I F   x 1 μ ( f = 0.40 ) ( r = 0.14 ) a n d   x 2 μ ( f = 0.46 ) ( r = 0.16 ) a n d   x 3 μ ( f = 0.60 ) ( r = 0.30 ) T H E N   y 1 = 7.36 x 1 9.73 x 2 + 1.68 x 3
    Figure DE102020108127A1_0012
    Z. B. wobei αi1 = 7.36, αi2 = -9.73, und αi3 = 1.68. 2 : I F   x 1 μ ( f = 0.44 ) ( r = 0.19 ) a n d   x 2 μ ( f = 0.29 ) ( r = 0.19 ) a n d   x 3 μ ( f = 0.99 ) ( r = 0.06 ) T H E N   y 2 = 0.11 x 1 1.13 x 2 + 2.14 x 3
    Figure DE102020108127A1_0013
    Z. B. wobei αi1 = 0.11, αi2 = -1.13, und αi3 = 2.14. 3 : I F   x 1 μ ( f = 0.36 ) ( r = 0.09 ) a n d   x 2 μ ( f = 0.30 ) ( r = 0.08 ) a n d   x 3 μ ( f = 0.85 ) ( r = 0.07 ) T H E N   y 3 = 7.79 x 1 12.11 x 2 + 2.57 x 3
    Figure DE102020108127A1_0014
    Z. B. wobei αi1 = 7.79, αi2 = -12.11, und αi3 = 2.57. 4 : I F   x 1 μ ( f = 0.23 ) ( r = 0.06 ) a n d   x 2 μ ( f = 0.38 ) ( r = 0.06 ) a n d   x 3 μ ( f = 0.00 ) ( r = 0.15 ) T H E N   y 4 = 0.08 x 1 5.17 x 2 + 1.86 x 3
    Figure DE102020108127A1_0015
    Z. B. wobei αi1 = 0.08, αi2 = -5.17, und αi3 = 0.86. 5 : I F   x 1 μ ( f = 0.29 ) ( r = 0.06 ) a n d   x 2 μ ( f = 0.28 ) ( r = 0.05 ) a n d   x 3 μ ( f = 0.79 ) ( r = 0.12 ) T H E N   y 5 = 2.46 x 1 0.83 x 2 + 1.98 x 3
    Figure DE102020108127A1_0016
    Z. B. wobei αi1 = -2.46, αi2 = 0.83, und αi3 = 1.98. 6 : I F   x 1 μ ( f = 0.23 ) ( r = 0.06 ) a n d   x 2 μ ( f = 0.38 ) ( r = 0.06 ) a n d   x 3 μ ( f = 0.00 ) ( r = 0.15 ) T H E N   y 4 = 0.08 x 1 5.17 x 2 + 1.86 x 3
    Figure DE102020108127A1_0017
    Z. B. wobei αi1 = 1.95, αi2 = -6.92, und αi3 = 3.26. 7 : I F   x 1 μ ( f = 0.29 ) ( r = 0.04 ) a n d   x 2 μ ( f = 0.29 ) ( r = 0.04 ) a n d   x 3 μ ( f = 0.51 ) ( r = 0.08 ) T H E N   y 7 = 0.53 x 1 3.81 x 2 + 2.27 x 3
    Figure DE102020108127A1_0018
    Z. B. wobei αi1 = -0.53, αi2 = -3.81, und αi3 = 2.27. 8 : I F   x 1 μ ( f = 0.89 ) ( r = 0.27 ) a n d   x 2 μ ( f = 1.00 ) ( r = 0.21 ) a n d   x 3 μ ( f = 0.02 ) ( r = 0.11 ) T H E N   y 8 = 2.20 x 1 0.70 x 2 + 4.20 x 3
    Figure DE102020108127A1_0019
    Z. B. wobei αi1 = -2.20, αi2 = -0.70, und αi3 = 4.20.
  • Somit kann der Datensatz von Block 420 durch interpretierbare, z.B. vom Menschen interpretierbare Gleichungen modelliert werden - z. B. WENN-DANN-Anweisungen, die von der Fuzzy-Steuerung 14 erstellt wurden.
  • In Block 495 kann das autonome Antriebssystem 42 eine Fahrzeugfunktion ausführen. Unter weiterer Bezugnahme auf das vorliegende Beispiel kann das System 42 den Ausgang von Block 420 oder Block 460 verwenden, um das Fahrzeug 40 in einer geeigneten Entfernung (ld) hinter dem Führungsfahrzeug 70 im ACC-Modus zu halten. Zum Beispiel können diese ausgegebenen Daten an die Computer 60 oder 62 gesendet werden, um die Fahrzeugbeschleunigung bzw. das Bremsen zu steuern. Danach kann der Prozess 400 zu Block 405 zurückkehren oder enden.
  • Der vorstehend beschriebene Prozess 400 kann eine ähnliche oder sogar bessere Leistung als bekannte Systeme erzielen. Zum Beispiel kann die vorstehend beschriebene RLA-Steuerung 12 eine bessere Leistung als die sogenannte Gipps-Steuerung [P. G. Gipps, „A behavioural car-following model for computer simulation" Transportation Research Part B: Methodological, Bd. 15, Nr. 2, S. 105-111, 1981] oder das Intelligent Driver Model oder die IDM-Steuerung [M. Treiber, A. Hennecke und D. Helbing, „Congested traffic states in empirical observations and microscopic simulations" Physical review E., Bd. 62, Nr. 2, S. 1805, 2000] aufweisen. Beispielsweise verwendet die Gipps-Steuerung die nachstehenden Gleichungen (19) und (20). e v d e s ( t + Δ t ) = m i n [ e v ( t ) + a n o m Δ t , e v 0 , e v s a f e ( d r , l v ) ]
    Figure DE102020108127A1_0020
  • Wobei ev des (t + Δt) eine gewünschte Geschwindigkeit des Fahrzeugs 40 (z. B. „Ego-“ (e) Fahrzeug) zu einem Zeitpunkt t + Δt ist, wobei ev(t) eine aktuelle Geschwindigkeit des Fahrzeugs 40 ist, wobei anom eine nominelle Beschleunigung ist, wobei ev0 eine maximale Geschwindigkeit ist, die von einem Benutzer des Fahrzeugs 40 gesendet wird (z. B. über eine Geschwindigkeitssteuerungsbenutzerschnittstelle (nicht gezeigt) des Fahrzeugs 40), wobei ev safe eine berechnete Geschwindigkeit ist, die auf einer relativen Entfernung (dr) zwischen den Fahrzeugen 40, 70 und einer Relativgeschwindigkeit (lv) des Führungsfahrzeugs 70 beruht. Hinweis: dr = (ld), wobei die relative Entfernung der Position des Führungsfahrzeugs 70 entspricht. a e d e s ( t + Δ t ) = a n o m [ 1 ( e v ( t ) δ e v 0 ) ( d * ( e v , Δ v ) r d ) 2 ]
    Figure DE102020108127A1_0021
  • Wobei ae des (t + Δt) eine gewünschte Beschleunigung des Fahrzeugs 40 zu einem Zeitpunkt t + Δt ist, wobei δ ein Beschleunigungsexponent ist, wobei d* eine gewünschte Entfernung zwischen den Fahrzeugen 40, 70 ist, wobei ev(t) eine Funktion der Geschwindigkeit des Fahrzeugs 40 ist, wobei Δv durch Δv = ev - lv definiert ist, wobei rd die relative Entfernung ist.
  • Wie in 9 gezeigt, kann die Gipps-Steuerung einen nahezu konstanten Abstand zum Führungsfahrzeug aufrechterhalten; wie jedoch in 10 gezeigt, kann die Gipps-Steuerung ein unerwünschtes Beschleunigungsprofil verursachen. In 9 zeigt die IDM-Steuerung eine unerwünscht große Variation in der Entfernung zum Führungsfahrzeug - hauptsächlich aufgrund einer langsameren Systemreaktion. In Bezug auf die relative Leistung der RLA-Steuerung 12 hält das Fahrzeug 40 eine konstante Entfernung zwischen ihm und dem Führungsfahrzeug 70 ein (9) und zeigt gleichzeitig ein gleichmäßigeres Beschleunigungsprofil (10). Dies kann zum Beispiel auf die Verwendung einer relativ großen Strafe für große Beschleunigungsschwankungen zurückzuführen sein. Somit übertrifft die RLA-Steuerung 12 die Gipps- und IDM-Steuerungen.
  • Gleichermaßen kann zum Beispiel die vorstehend beschriebene Fuzzy-Steuerung 14 ein ähnliches Beschleunigungsprofil ergeben wie eine Steuerung, die ein ETS-Fuzzy-Rule-Base-(FRB-)System verwendet. Ferner kann die Rechenzeit ähnlich sein. Zum Beispiel war eine Zeit pro Entscheidungsschritt für die Fuzzy-Steuerung 14 0,3 Millisekunden (ms) während die Zeit pro Entscheidungsschritt für die ETS-FRB 0,13 ms war.
  • Wie vorstehend erwähnt, war die adaptive Geschwindigkeitsregelung nur ein Beispiel. Andere Automobil- und Nicht-Automobilumsetzungen existieren.
  • Somit wurde ein Maschinenlernsystem beschrieben, das eine Fuzzy-Steuerung beinhaltet, die einen Datensatz empfängt, wie etwa eine Vielzahl von Zustand-Aktion-Werten von einer RLA-Steuerung (Reinforcement Learning Agent). Die Steuerungen können in Software, in Hardware oder in einer Kombination davon umgesetzt sein. Durch Verwendung der zwei seriell geschalteten Steuerungen, bei denen die Ausgabe der RLA-Steuerung (Daten) als Eingabe in die Fuzzy-Steuerung empfangen wird, kann ein System für maschinelles Lernen erzeugt werden, bei dem die Ausgangsdaten unter Verwendung der Fuzzy-Steuerung interpretierbar sind. Auf diese Weise können Ingenieure, Systemdesigner usw. ihre Umsetzungen besser verstehen und/oder Fehler darin beheben.
  • 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 SYNC®-Anwendung von Ford, AppLink/Smart Device Link Middleware, der Betriebssysteme Microsoft® Automotive, Microsoft Windows®, Unix (z. B. das Betriebssystem Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, Linux, Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch Blackberry Ltd. in Waterloo, Kanada, und Android, entwickelt von Google Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen bordeigenen Fahrzeugcomputer, einen Arbeitsplatzcomputer, einen Server, einen Schreibtisch-, einen Notebook-, einen Laptop- oder Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend aufgeführten, ausgeführt werden können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl 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, darunter einen oder mehrere der hierin beschriebenen Prozesse. Derartige Anweisungen und anderen Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden.
  • Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) schließt ein beliebiges nichttransitorisches (z. B. materielles) Medium ein, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die von einem Computer (z. B. von einem Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Zu nichtflüchtigen Medien können zum Beispiel optische Platten oder Magnetplatten und andere dauerhafte Speicher gehören. Zu flüchtigen Medien kann zum Beispiel ein dynamischer Direktzugriffsspeicher (dynamic random access memory - DRAM) gehören, der üblicherweise einen Hauptspeicher darstellt. Solche Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfasern, einschließlich der Drähte, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien schließen beispielsweise 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 von einem Computer ausgelesen werden kann.
  • Datenbanken, Datenbestände oder sonstige Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen 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 dieser Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem verwendet, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netz 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 Computersprache Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte Sprache PL/SQL.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf zugehörigen computerlesbaren Speichermedien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, die zum Ausführen der in dieser Schrift beschriebenen Funktionen auf computerlesbaren Medien gespeichert sind.
  • Der Prozessor ist über Schaltungen, Chips oder eine andere elektronische Komponente umgesetzt und kann einen oder mehrere Mikrocontroller, einen oder mehrere feldprogrammierbare Gate-Arrays (field programmable gate array - FPGA), eine oder mehrere anwendungsspezifische Schaltungen (application specific circuit - ASIC), einen oder mehrere Digitalsignalprozessoren (DSP), eine oder mehrere kundenspezifisch integrierte Schaltungen usw. beinhalten. Der Prozessor kann zur Verarbeitung von Sensordaten programmiert sein. Das Verarbeiten der Daten kann das Verarbeiten der Videoeingabe oder eines anderen Datenstroms beinhalten, der durch die Sensoren erfasst wird, um die Fahrbahnspur des Host-Fahrzeugs und das Vorhandensein von Zielfahrzeugen zu bestimmen. Wie nachstehend beschrieben, weist der Prozessor die Fahrzeugkomponenten an, gemäß den Sensordaten betätigt zu werden. Der Prozessor kann in eine Steuerung, z. B. eine Steuerung für einen autonomen Modus, integriert sein.
  • Der Speicher (oder die Datenspeichervorrichtung) wird über Schaltkreise, Chips oder andere elektronische Komponenten umgesetzt und kann eine(n) oder mehrere von einem Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, elektrisch programmierbaren Festspeicher (EPROM), elektrisch programmierbaren und löschbaren Festspeicher (EEPROM), einer eingebetteten Multimediakarte (embedded MultiMediaCard - eMMC), einer Festplatte, oder beliebigen flüchtigen oder nichtflüchtigen Medien usw. beinhalten. Der Speicher kann von den Sensoren gesammelte Daten speichern.
  • Die Offenbarung wurde auf veranschaulichende Weise beschrieben und es versteht sich, dass die verwendete Terminologie vielmehr der Beschreibung als der Einschränkung dienen soll. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen der vorliegenden Offenbarung möglich und die Offenbarung kann anders als konkret beschrieben umgesetzt werden.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren das Berechnen, über eine RLA-Steuerung (reinforcement learning agent), von einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen, wobei die RLA-Steuerung ein tiefes neuronales Netzwerk (deep neural network - DNN) verwendet und über eine Fuzzy-Steuerung eine Vielzahl von linearen Modellen erzeugt, die die Vielzahl von Zustandshandlungwerte den Sensordaten zuordnet.
  • Gemäß einer Ausführungsform entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Betätigen eines Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • Gemäß einer Ausführungsform umfasst der Agent ein autonomes Fahrzeug.
  • Gemäß einer Ausführungsform umfasst das Betätigen des Agenten ferner ein Einstellen einer Geschwindigkeit des autonomen Fahrzeugs auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • Gemäß einer Ausführungsform verwendet die Fuzzy-Steuerung ein Evolving-Takagi-Sugeno-(ETS-)Modell zum Erzeugen der Vielzahl von linearen Modellen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Bestimmen eines oder mehrerer Datencluster, die den Sensordaten entsprechen, über die Fuzzy-Steuerung, wobei jeder des einen oder der mehreren Datencluster einen Mittelpunkt und einen Radius umfasst.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: mindestens einen Prozessor; und mindestens einen Speicher, wobei der mindestens eine Speicher Anweisungen speichert, die von dem mindestens einen Prozessor ausgeführt werden können, sodass der mindestens eine Prozessor zu Folgendem programmiert ist: Berechnen, über ein tiefes neuronales Netzwerk, einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen und Erzeugen einer Vielzahl von linearen Modellen, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • Gemäß einer Ausführungsform entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, einen Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen zu betätigen.
  • Gemäß einer Ausführungsform umfasst der Agent ein autonomes Fahrzeug.
  • Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Geschwindigkeit des autonomen Fahrzeugs auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen einzustellen.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die Vielzahl von linearen Modellen unter Verwendung eines Evolving-Takagi-Sugeno-(ETS-)Modells zu erzeugen.
  • Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, einen oder mehrere Datencluster zu bestimmen, die den Sensordaten entsprechen, wobei jeder des einen oder der mehreren Datencluster einen Mittelpunkt und einen Radius umfasst.
  • Gemäß der vorliegenden Erfindung ist ein autonomer Agent bereitgestellt, der Folgendes aufweist: mindestens einen Prozessor; und mindestens einen Speicher, wobei der mindestens eine Speicher Anweisungen speichert, die von dem mindestens einen Prozessor ausgeführt werden können, sodass der mindestens eine Prozessor zu Folgendem programmiert ist: Berechnen, über ein tiefes neuronales Netzwerk, einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen, Erzeugen einer Vielzahl von linearen Modellen, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen, und Betätigen des autonomen Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen.
  • Gemäß einer Ausführungsform entsprechen die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy, die während des Reinforcement-Leaming-Trainings erstellt wurden.
  • Gemäß einer Ausführungsform umfasst der autonome Agent ein autonomes Fahrzeug.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • P. G. Gipps, „A behavioural car-following model for computer simulation“ Transportation Research Part B: Methodological, Bd. 15, Nr. 2, S. 105-111, 1981 [0064]
    • M. Treiber, A. Hennecke und D. Helbing, „Congested traffic states in empirical observations and microscopic simulations“ Physical review E., Bd. 62, Nr. 2, S. 1805, 2000] aufweisen. Beispielsweise verwendet die Gipps-Steuerung die nachstehenden Gleichungen (19) und (20) [0064]

Claims (8)

  1. System, das Folgendes umfasst: mindestens einen Prozessor; und mindestens einen Speicher, wobei der mindestens eine Speicher Anweisungen speichert, die von dem mindestens einen Prozessor derart ausgeführt werden können, dass der mindestens eine Prozessor zu Folgendem programmiert ist: Berechnen, über ein tiefes neuronales Netzwerk, einer Vielzahl von Zustand-Aktion-Werten auf Grundlage von Sensordaten, die einen beobachteten Zustand darstellen; und Erzeugen einer Vielzahl von linearen Modellen, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  2. System nach Anspruch 1, wobei die Vielzahl von Zustand-Aktion-Werten einer optimalen Policy entspricht, die während eines Reinforcement-Leaming-Trainings erzeugt wurden.
  3. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, einen Agenten auf Grundlage von mindestens einem der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen zu betätigen.
  4. System nach Anspruch 3, wobei der Agent ein autonomes Fahrzeug umfasst.
  5. System nach Anspruch 4, wobei der Prozessor ferner dazu programmiert ist, eine Geschwindigkeit des autonomen Fahrzeugs auf Grundlage von mindestens der Vielzahl von Zustand-Aktion-Werten oder der Vielzahl von linearen Modellen einzustellen.
  6. System nach Anspruch 1, wobei die Vielzahl von linearen Modellen einen Satz von WENN-DANN-Regeln umfasst, die die Vielzahl von Zustand-Aktion-Werten den Sensordaten zuordnen.
  7. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, die Vielzahl von linearen Modellen unter Verwendung eines Evolving-Takagi-Sugeno-(ETS-)Modells zu erzeugen.
  8. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist, einen oder mehrere Datencluster zu bestimmen, die den Sensordaten entsprechen, wobei jeder des einen oder der mehreren Datencluster einen Mittelpunkt und einen Radius umfasst.
DE102020108127.8A 2019-03-26 2020-03-24 Interpretieren von daten einer reinforcement-learning-agent-steuerung Pending DE102020108127A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962824015P 2019-03-26 2019-03-26
US62/824,015 2019-03-26
US16/778,444 US11560146B2 (en) 2019-03-26 2020-01-31 Interpreting data of reinforcement learning agent controller
US16/778,444 2020-01-31

Publications (1)

Publication Number Publication Date
DE102020108127A1 true DE102020108127A1 (de) 2020-10-01

Family

ID=72607780

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020108127.8A Pending DE102020108127A1 (de) 2019-03-26 2020-03-24 Interpretieren von daten einer reinforcement-learning-agent-steuerung

Country Status (3)

Country Link
US (1) US11560146B2 (de)
CN (1) CN111830962A (de)
DE (1) DE102020108127A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112249032B (zh) * 2020-10-29 2022-02-18 浪潮(北京)电子信息产业有限公司 一种自动驾驶决策方法、***、设备及计算机存储介质
US20230025154A1 (en) * 2021-07-22 2023-01-26 The Boeing Company Dual agent reinforcement learning based system for autonomous operation of aircraft
CN116653888A (zh) * 2023-06-06 2023-08-29 湖北文理学院 一种车辆制动的控制方法、装置、电子设备及存储介质
CN117172123B (zh) * 2023-09-13 2024-03-08 江苏大块头智驾科技有限公司 用于矿山自动驾驶的传感器数据处理方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201305067D0 (en) * 2013-03-19 2013-05-01 Massive Analytic Ltd Apparatus for controlling a land vehicle which is self-driving or partially self-driving
CN108431549B (zh) * 2016-01-05 2020-09-04 御眼视觉技术有限公司 具有施加的约束的经训练的***
KR102406507B1 (ko) 2017-03-27 2022-06-10 현대자동차주식회사 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법
US10816973B2 (en) 2017-06-02 2020-10-27 Baidu Usa Llc Utilizing rule-based and model-based decision systems for autonomous driving control
CN107862346B (zh) 2017-12-01 2020-06-30 驭势科技(北京)有限公司 一种进行驾驶策略模型训练的方法与设备
US10733510B2 (en) * 2018-08-24 2020-08-04 Ford Global Technologies, Llc Vehicle adaptive learning
US20200193318A1 (en) * 2018-11-05 2020-06-18 Incucomm, Inc. System and method for state estimation in a noisy machine-learning environment
US11480972B2 (en) * 2018-11-13 2022-10-25 Qualcomm Incorporated Hybrid reinforcement learning for autonomous driving

Also Published As

Publication number Publication date
CN111830962A (zh) 2020-10-27
US20200307577A1 (en) 2020-10-01
US11560146B2 (en) 2023-01-24

Similar Documents

Publication Publication Date Title
DE102020108127A1 (de) Interpretieren von daten einer reinforcement-learning-agent-steuerung
DE102016113903A1 (de) Fahrzeugfahrstreckenbestimmung
DE112009002530T5 (de) Fahrzeug und Verfahren zum Beraten eines Fahrers von selbigen
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102019126195A1 (de) Verfahren zur effizienten, simulativen Applikation automatisierter Fahrfunktionen
DE102019111368A1 (de) Bestimmen des fahrzeugfahrverhaltens
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102022100549A1 (de) Mit einem rang versehene fehlerzustände
DE102019106122A1 (de) Automatisiertes Fahrsystem
DE102022200536B3 (de) Fahrassistenzeinrichtung und Verfahren zum Durchführen einer wenigstens teilautomatischen Fahrzeugfunktion in Abhängigkeit von einer zu bewertenden Fahrstrecke
DE102018209804A1 (de) Verfahren und Vorrichtung zur Vorhersage einer wahrscheinlichen Fahrroute für ein Fahrzeug
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102021200889A1 (de) Verfahren zum Schätzen eines Fahrzeugparameters für den Betrieb eines Fahrzeugs
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102022127647A1 (de) Kalibrieren von parametern innerhalb einer virtuellen umgebung unter verwendung verstärkenden lernens
DE102018008599A1 (de) Steuerungssystem und Steuerungsverfahren zum Bestimmen einer Trajektorie für ein Kraftfahrzeug
DE102021133977A1 (de) Verfahren und System zur Klassifikation von Szenarien eines virtuellen Tests sowie Trainingsverfahren
DE102018113518A1 (de) Fahrzeugfahrer-Arbeitsbelastungsmanagement
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
DE102020214203A1 (de) Verfahren zum Bestimmen einer Spurwechselintention eines sich in einer unmittelbaren Umgebung eines Kraftfahrzeugs befindlichen weiteren Kraftfahrzeugs, sowie Assistenzsystem
DE102020127051A1 (de) Verfahren zur Bestimmung von sicherheitskritischen Ausgabewerten mittels einer Datenanalyseeinrichtung für eine technische Entität
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn

Legal Events

Date Code Title Description
R082 Change of representative

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