-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich auf Fahrzeuge und insbesondere auf eine Belohnungsfunktion für Fahrzeuge.
-
Moderne Fahrzeuge (z. B. ein Auto, ein Motorrad, ein Boot oder irgendein anderer Typ von Kraftfahrzeug) können mit einem Fahrzeugkommunikationssystem ausgestattet sein, das verschiedene Typen von Kommunikation zwischen dem Fahrzeug und anderen Entitäten erleichtert. Ein Fahrzeugkommunikationssystem kann beispielsweise eine Fahrzeug-zu-Infrastruktur-Kommunikation (V2I-Kommunikation), Fahrzeug-zu-Fahrzeug-Kommunikation (V2V-Kommunikation), Fahrzeug-zu-Fußgänger-Kommunikation (V2P-Kommunikation) und/oder Fahrzeug-zu-Grid-Kommunikation (V2G-Kommunikation) schaffen. Gemeinsam können diese als Fahrzeug-zu-Alles-Kommunikation (V2X-Kommunikation) bezeichnet werden, die eine Kommunikation von Informationen vom Fahrzeug zu irgendeiner anderen geeigneten Entität ermöglicht. Verschiedene Anwendungen (z. B. V2X-Anwendungen) können V2X-Kommunikationen verwenden, um Sicherheitsnachrichten, Wartungsnachrichten, Fahrzeugstatusnachrichten und dergleichen zu senden und/oder zu empfangen.
-
Moderne Fahrzeuge können auch eine oder mehrere Kameras umfassen, die eine Rückfahrassistenz bereitstellen, Bilder des Fahrzeugfahrers aufnehmen, um Fahrerschläfrigkeit oder Fahreraufmerksamkeit zu bestimmen, Bilder der Straße, wenn das Fahrzeug fährt, für Kollisionsvermeidungszwecke bereitstellen, Strukturerkennung wie z. B. Fahrbahnzeichen bereitstellen, usw. Ein Fahrzeug kann beispielsweise mit mehreren Kameras ausgestattet sein und Bilder von mehreren Kameras (als „Surround View-Kameras“ oder „Rundumsichtkameras“ bezeichnet) können verwendet werden, um eine „Rundum“-Sicht oder „Vogelperspektiven“-Ansicht des Fahrzeugs zu erzeugen. Einige der Kameras (als „Kameras mit großer Reichweite“ bezeichnet) können verwendet werden, um Bilder in großer Reichweite zu erfassen (z. B. für die Objektdetektion für die Kollisionsvermeidung, Strukturerkennung usw.).
-
Solche Fahrzeuge können auch mit Sensoren wie z. B. einer oder mehreren Radarvorrichtungen, LiDAR-Vorrichtungen und/oder dergleichen zum Durchführen einer Zielverfolgung ausgestattet sein. Die Zielverfolgung umfasst das Identifizieren eines Zielobjekts und das Verfolgen des Zielobjekts über die Zeit, wenn sich das Zielobjekt mit Bezug auf das Fahrzeug, das das Zielobjekt beobachtet, bewegt. Bilder von der einen oder den mehreren Kameras des Fahrzeugs können auch zum Durchführen der Zielverfolgung verwendet werden.
-
Diese Kommunikationsprotokolle, Kameras und/oder Sensoren können für den Betrieb eines autonomen Fahrzeugs nützlich sein.
-
ZUSAMMENFASSUNG
-
In einer beispielhaften Ausführungsform wird ein computerimplementiertes Verfahren geschaffen. Das Verfahren umfasst das Empfangen eines aktuellen Zustandes eines Fahrzeugs durch eine Verarbeitungsvorrichtung. Das Verfahren umfasst ferner das Vorhersagen eines zukünftigen Zustandes des Fahrzeugs zumindest teilweise auf der Basis des aktuellen Zustandes des Fahrzeugs durch die Verarbeitungsvorrichtung unter Verwendung einer Ausgabe eines Modells künstlicher Intelligenz. Das Verfahren umfasst ferner das Berechnen einer Belohnung, die dem zukünftigen Zustand des Fahrzeugs zugeordnet ist, durch die Verarbeitungsvorrichtung unter Verwendung einer abstimmbaren Belohnungsfunktion, wobei die abstimmbare Belohnungsfunktion mehrere abstimmbare Koeffizienten umfasst. Das Verfahren umfasst ferner das Trainieren des Modells künstlicher Intelligenz zumindest teilweise auf der Basis der Belohnung durch die Verarbeitungsvorrichtung.
-
In zusätzlichen Beispielen ist einer der mehreren abstimmbaren Koeffizienten ein abstimmbarer Koeffizient einer Größe einer Geschwindigkeit des Fahrzeugs von einer gewünschten Fahrgeschwindigkeit.
-
In zusätzlichen Beispielen ist einer der mehreren abstimmbaren Koeffizienten ein abstimmbarer Koeffizient eines Abfalls einer Geschwindigkeit des Fahrzeugs von einer gewünschten Fahrgeschwindigkeit.
-
In zusätzlichen Beispielen ist einer der mehreren abstimmbaren Koeffizienten ein abstimmbarer Koeffizient einer Größe eines Rucks, der durch eine Änderung einer Geschwindigkeit des Fahrzeugs verursacht wird.
-
In zusätzlichen Beispielen ist einer der mehreren abstimmbaren Koeffizienten ein abstimmbarer Abzugsfaktor.
-
In zusätzlichen Beispielen ist einer der mehreren abstimmbaren Koeffizienten ein abstimmbarer Koeffizient einer Größe eines Erfolgs für eine Übergabe.
-
In zusätzlichen Beispielen belohnt die abstimmbare Belohnungsfunktion für sowohl einen vollständigen Erfolg als auch einen Teilerfolg.
-
In zusätzlichen Beispielen berücksichtigt die abstimmbare Belohnungsfunktion eine aktuelle Belohnung gegenüber einer zukünftigen Belohnung.
-
In zusätzlichen Beispielen belohnt die abstimmbare Belohnungsfunktion für Effizienz.
-
In zusätzlichen Beispielen belohnt die abstimmbare Belohnungsfunkton für Komfort.
-
In zusätzlichen Beispielen betrachtet die abstimmbare Belohnungsfunktion einen Kompromiss zwischen Effizienz und Komfort.
-
In zusätzlichen Beispielen ist die abstimmbare Belohnungsfunktion eine Funktion des aktuellen Zustandes s des Fahrzeugs, einer Handlung a und des zukünftigen Zustandes s'des Fahrzeugs.
-
In zusätzlichen Beispielen wird die abstimmbare Belohnungsfunktion ausgedrückt als:
wobei C
speed ein abstimmbarer Koeffizient der Geschwindigkeit ist; v
h eine tatsächliche Geschwindigkeit des Fahrzeugs ist; v
desired eine gewünschte Fahrgeschwindigkeit des Fahrzeugs ist; C
temp ein abstimmbarer Koeffizient eines Abfalls einer Geschwindigkeit des Fahrzeugs von der gewünschten Fahrgeschwindigkeit ist; C
jerk ein abstimmbarer Koeffizient einer Größe eines Rucks ist; J
2 ein Betrag des Rucks im Quadrat ist; γ ein abstimmbarer Abzugsfaktor ist; I eine Indikatorfunktion ist; und C
handoff ein abstimmbarer Koeffizient der Größe des Erfolgs für eine Übergabe ist.
-
In zusätzlichen Beispielen umfasst das Verfahren ferner: Steuern des Fahrzeugs zumindest teilweise auf der Basis des Modells künstlicher Intelligenz.
-
In zusätzlichen Beispielen unterstützt die abstimmbare Belohnungsfunktion eine Funktionalität mit einem Fahrer in der Schleife.
-
In einer anderen beispielhaften Ausführungsform umfasst ein System einen Arbeitsspeicher mit computerlesbaren Befehlen. Das System umfasst ferner eine Verarbeitungsvorrichtung zum Ausführen der computerlesbaren Befehle, wobei die computerlesbaren Befehle die Verarbeitungsvorrichtung steuern, um Operationen durchzuführen. Die Operationen umfassen das Empfangen eines aktuellen Zustandes eines Fahrzeugs. Die Operationen umfassen ferner das Vorhersagen eines zukünftigen Zustandes des Fahrzeugs zumindest teilweise auf der Basis des aktuellen Zustandes des Fahrzeugs unter Verwendung einer Ausgabe eines Modells künstlicher Intelligenz. Die Operationen umfassen ferner das Berechnen einer Belohnung, die dem zukünftigen Zustand des Fahrzeugs zugeordnet ist, unter Verwendung einer abstimmbaren Belohnungsfunktion, wobei die abstimmbare Belohnungsfunktion mehrere abstimmbare Koeffizienten umfasst. Die Operationen umfassen ferner das Trainieren des Modells künstlicher Intelligenz zumindest teilweise auf der Basis der Belohnung.
-
In zusätzlichen Beispielen ist die abstimmbare Belohnungsfunktion eine Funktion des aktuellen Zustandes s des Fahrzeugs, einer Handlung a und des zukünftigen Zustandes s'des Fahrzeugs.
-
In zusätzlichen Beispielen wird die abstimmbare Belohnungsfunktion ausgedrückt als:
wobei C
speed ein abstimmbarer Koeffizient der Geschwindigkeit ist; v
h eine tatsächliche Geschwindigkeit des Fahrzeugs ist; v
desired eine gewünschte Fahrgeschwindigkeit des Fahrzeugs ist; C
temp ein abstimmbarer Koeffizient eines Abfalls einer Geschwindigkeit des Fahrzeugs von der gewünschten Fahrgeschwindigkeit ist; C
Jerk ein abstimmbarer Koeffizient einer Größe eines Rucks ist; J
2 ein Betrag des Rucks im Quadrat ist; γ ein abstimmbarer Abzugsfaktor ist; I eine Indikatorfunktion ist; und C
handoff ein abstimmbarer Koeffizient einer Größe eines Erfolgs für eine Übergabe ist.
-
In zusätzlichen Beispielen umfassen die Operationen ferner: Steuern des Fahrzeugs zumindest teilweise auf der Basis des Modells künstlicher Intelligenz.
-
In noch einer anderen beispielhaften Ausführungsform wird ein computerlesbares Speichermedium, mit dem Programmbefehle verkörpert sind, geschaffen, wobei die Programmbefehle durch einen Prozessor ausführbar sind, um zu bewirken, dass der Prozessor Operationen durchführt. Die Operationen umfassen das Empfangen eines aktuellen Zustandes eines Fahrzeugs. Die Operationen umfassen ferner das Vorhersagen eines zukünftigen Zustandes des Fahrzeugs zumindest teilweise auf der Basis des aktuellen Zustandes des Fahrzeugs unter Verwendung einer Ausgabe eines Modells künstlicher Intelligenz. Die Operationen umfassen ferner das Berechnen einer Belohnung, die dem zukünftigen Zustand des Fahrzeugs zugeordnet ist, unter Verwendung einer abstimmbaren Belohnungsfunktion, wobei die abstimmbare Belohnungsfunktion mehrere abstimmbare Koeffizienten umfasst. Die Operationen umfassen ferner das Trainieren des Modells künstlicher Intelligenz zumindest teilweise auf der Basis der Belohnung.
-
Die obigen Merkmale und Vorteile und weitere Merkmale und Vorteile der Offenbarung gehen leicht aus der folgenden ausführlichen Beschreibung hervor, wenn sie zusammen mit den beigefügten Zeichnungen genommen wird.
-
Figurenliste
-
Weitere Merkmale, Vorteile und Einzelheiten erscheinen nur beispielhaft in der folgenden ausführlichen Beschreibung, wobei sich die ausführliche Beschreibung auf die Zeichnungen bezieht; es zeigen
- 1 ein Fahrzeug mit Sensoren und einem Verarbeitungssystem gemäß einer oder mehreren hier beschriebenen Ausführungsformen;
- 2 eine Architektur, die den Betrieb eines autonomen Fahrzeugs unter Verwendung eines Modells künstlicher Intelligenz und einer abstimmbaren Belohnungsfunktion unterstützt, gemäß einer oder mehreren hier beschriebenen Ausführungsformen;
- 3 ein Ablaufdiagramm eines Verfahrens zum Implementieren einer Belohnungsfunktion für den Betrieb eines autonomen Fahrzeugs gemäß einer oder mehreren hier beschriebenen Ausführungsformen; und
- 4 ein Blockdiagramm eines Verarbeitungssystems zum Implementieren der hier beschriebenen Techniken gemäß einer beispielhaften Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Beschreibung ist dem Wesen nach lediglich beispielhaft und soll die vorliegende Offenbarung, ihre Anwendung oder Verwendungen nicht einschränken. Selbstverständlich bezeichnen einander entsprechende Bezugszeichen überall in den Zeichnungen gleiche oder einander entsprechende Teile und Merkmale. Wie der Begriff Modul hier verwendet ist, bezieht er sich auf eine Verarbeitungsschaltungsanordnung, die eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und Arbeitsspeicher, die ein oder mehrere Software- oder Firmwareprogramme ausführen, eine Kombinationslogikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen, enthalten kann.
-
Die hier beschriebenen technischen Lösungen schaffen eine abstimmbare Belohnungsfunktion für den Betrieb eines autonomen Fahrzeugs (AV). Insbesondere schaffen eine oder mehrere hier beschriebene Ausführungsformen eine robuste und umfassende Auslegung für eine Belohnungsfunktion (oder „Kosten“-Funktion) für autonome Fahranwendungen mit einem Fahrer in der Schleife. „Fahrer in der Schleife“ bezieht sich auf die Fähigkeit eines Fahrers (z. B. eines Betreibers des Fahrzeugs), die Steuerung des autonomen Fahrzeugs zu übernehmen. Dass der Fahrer die Steuerung des AV übernimmt, kann dadurch stattfinden, dass der Fahrer absichtlich die Steuerung übernimmt oder das AV die Steuerung an den Fahrer übergibt (z. B. versteht das AV, dass es das Fahrzeug nicht mehr gut steuern kann).
-
Autonome Fahragenten, die autonome Fahrzeuge steuern, müssen verschiedene Manöver konsistent bewerten und in Richtung einer sicheren, komfortablen und effizienten Fahrt planen. Dazu optimieren verschiedene Planungsvorgehensweisen Bewegungspläne durch Bewerten von potentiellen Manövern auf der Basis von interessierenden Kriterien, so dass ein Plan mit maximaler Belohnung (oder minimalen Kosten) gefunden/angenähert werden kann. Eine oder mehrere hier beschriebene Ausführungsformen schaffen eine umfassende und universelle Belohnungsfunktionsauslegung, die Kriterien eines Fahrers in der Schleife berücksichtigt und durch verschiedene Optimierungsalgorithmen verwendet werden kann, um geeignete AV-Fahrrichtlinien für das autonome Fahren zu erzeugen. AV-Fahrrichtlinien sehen vor, wie ein autonomes Fahrzeug arbeitet. AV-Fahrrichtlinien codieren und extrahieren Informationen über die Umgebung eines autonomen Fahrzeugs relativ zur Entscheidungsfindung. Diese Informationen werden verwendet, um einen Verhaltens/Bewegungs-Plan zur Ausführung durch das autonome Fahrzeug zu konstruieren. Die Informationen können von dem autonomen Fahrzeug (als „Zielfahrzeug“ bezeichnet) und/oder von anderen Umfeldfahrzeugen (die auch autonom sein können oder nicht) (als „anderes Fahrzeug“ oder „andere Fahrzeuge“ bezeichnet) gesammelt werden.
-
Eine oder mehrere hier beschriebene Ausführungsformen gehen diese und andere Mängel des Standes der Technik durch Schaffen einer Belohnungsfunktion an, die das gewünschte Verhalten von AV-Agenten widerspiegelt, einschließlich Kriterien von Effizienz, Komfort und Aufgabenvollendung. Kompromisse unter diesen drei Kriterien können abgestimmt/personalisiert werden. Ferner unterstützen eine oder mehrere hier beschriebene Ausführungsformen Systeme mit einem Fahrer in der Schleife, die eine Fahrer-„Übergabe“ durch Steigern der Belohnungsfunktion mit Teilaufgabenvollendungsbelohnungen belohnen. Eine oder mehrere hier beschriebene Ausführungsformen schaffen eine Auslegungs- und Abstimmmethodologie für eine Belohnungsfunktion, die verwendet wird, um autonome Fahrpläne zu optimieren, die für Anwendungen mit einem Fahrer in der Schleife geeignet sind, die durch irgendeine Vorgehensweise auf Nutzenbasis verwendet werden können, wie z. B. Online-Suche oder Lernverfahren (z. B. Verstärkungslernen), um optimierte Fahrpläne zu erzeugen.
-
1 stellt ein Fahrzeug 100 mit Sensoren und einem Verarbeitungssystem 110 gemäß einer oder mehreren hier beschriebenen Ausführungsformen dar. In dem Beispiel von 1 umfasst das Fahrzeug 100 das Verarbeitungssystem 110, Kameras 120, 121, 122, 123, Kameras 130, 131, 132, 133, einen Radarsensor 140 und einen LiDAR-Sensor 141. Das Fahrzeug 100 kann ein Auto, ein Lastwagen, ein Transporter, ein Bus, ein Motorrad, ein Boot, ein Flugzeug oder ein anderes geeignetes Fahrzeug 100 sein.
-
Die Kameras 120-123 sind Rundumsichtkameras, die Bilder außerhalb des und in naher Umgebung des Fahrzeugs 100 erfassen. Die durch die Kameras 120-123 erfassten Bilder bilden zusammen eine Rundumsicht (manchmal als „Draufsicht“ oder „Vogelperspektive“ bezeichnet) des Fahrzeugs 100. Diese Bilder können zum Betreiben des Fahrzeugs (z. B. Parken, Rückwärtsfahren usw.) nützlich sein. Die Kameras 130-133 sind Kameras mit langer Reichweite, die Bilder außerhalb des Fahrzeugs und weiter vom Fahrzeug 100 entfernt als die Kameras 120-123 erfassen. Diese Bilder können beispielsweise für die Objektdetektion und das Objektausweichen nützlich sein. Es sollte erkannt werden, dass, obwohl acht Kameras 120-123 und 130-133 gezeigt sind, mehr oder weniger Kameras in verschiedenen Ausführungsformen implementiert werden können.
-
Die erfassten Bilder können auf einer Anzeige (nicht gezeigt) angezeigt werden, um externe Ansichten des Fahrzeugs 100 für den Fahrer/Betreiber des Fahrzeugs 100 bereitzustellen. Die erfassten Bilder können als Live-Bilder, Standbilder oder eine gewisse Kombination davon angezeigt werden. In einigen Beispielen können die Bilder kombiniert werden, um eine zusammengesetzte Ansicht wie z. B. die Rundumsicht zu bilden.
-
Der Radarsensor 140 misst die Entfernung zu einem Zielobjekt durch Senden von elektromagnetischen Wellen und Messen der reflektierten Wellen mit einem Sensor. Diese Informationen sind zum Bestimmen eines Abstandes/Orts des Zielobjekts relativ zum Fahrzeug 100 nützlich.
-
Der LiDAR-Sensor (Lichtdetektions- und Entfernungsmesssensor) 141 misst den Abstand zu einem Zielobjekt (z. B. dem anderen Fahrzeug 154) durch Beleuchten des Ziels mit gepulstem Laserlicht und Messen der reflektierten Impulse mit einem Sensor. Diese Informationen sind zum Bestimmen eines Abstandes/Orts des Zielobjekts relativ zum Fahrzeug 100 nützlich.
-
Von den Kameras 120-123, 130-133, dem Radarsensor 140 und/oder dem LiDAR-Sensor 141 erzeugte Daten können verwendet werden, um ein Zielobjekt relativ zum Fahrzeug 100 zu detektieren und/oder zu verfolgen. Beispiele von Zielobjekten umfassen andere Fahrzeuge (z. B. das andere Fahrzeug 154), verletzliche Straßenbenutzer (VRUs) wie z. B. Fußgänger, Radfahrer, Tiere, Schlaglöcher, Öl auf einer Fahrbahnoberfläche, Trümmer auf einer Fahrbahnoberfläche, Nebel, eine Überflutung und dergleichen.
-
Das Verarbeitungssystem 110 kann mit einem entfernten Verarbeitungssystem 150 nachrichtentechnisch gekoppelt sein, das ein Edge-Verarbeitungsknoten als Teil einer Edge-Verarbeitungsumgebung, ein Cloud-Verarbeitungsknoten als Teil einer Cloud-Verarbeitungsumgebung oder dergleichen sein kann. Das Verarbeitungssystem 110 kann auch mit einem oder mehreren anderen Fahrzeugen (z. B. dem anderen Fahrzeug 154) nachrichtentechnisch gekoppelt sein. In einigen Beispielen ist das Verarbeitungssystem 110 mit dem Verarbeitungssystem 150 und/oder dem anderen Fahrzeug 154 direkt (z. B. unter Verwendung von V2V-Kommunikation) nachrichtentechnisch gekoppelt, während in anderen Beispielen das Verarbeitungssystem 110 mit dem Verarbeitungssystem 150 und/oder dem anderen Fahrzeug 154 indirekt wie z. B. durch ein Netz nachrichtentechnisch gekoppelt ist. Das Verarbeitungssystem 110 kann beispielsweise einen Netzadapter (nicht gezeigt) (siehe z. B. den Netzadapter 426 von 4) umfassen. Der Netzadapter ermöglicht, dass das Verarbeitungssystem 110 Daten zu anderen Quellen, wie z. B. anderen Verarbeitungssystemen, Datenarchiven und dergleichen, einschließlich des entfernten Verarbeitungssystems 150 und des anderen Fahrzeugs 154, sendet und/oder von diesen empfängt. Als Beispiel kann das Verarbeitungssystem 110 Daten zu dem entfernten Verarbeitungssystem 150 direkt und/oder über ein Netz 152 senden und/oder von diesem empfangen.
-
Das Netz 152 stellt irgendeinen oder eine Kombination von verschiedenen Typen von geeigneten Kommunikationsnetzen, wie beispielsweise Kabelnetzen, öffentlichen Netzen (z. B. das Internet), privaten Netzen, drahtlosen Netzen, zellularen Netzen oder beliebigen anderen geeigneten privaten und/oder öffentlichen Netzen, dar. Ferner kann dem Netz 152 irgendeine geeignete Kommunikationsreichweite zugeordnet sein und es kann beispielsweise globale Netze (z. B. das Internet), Großraumnetze (MANs), weiträumige Netze (WANs), lokale Netze (LANs) oder persönliche Netze (PANs) umfassen. Außerdem kann das Netz 152 irgendeinen Typ von Medium umfassen, über das der Netzverkehr getragen werden kann, einschließlich, jedoch nicht begrenzt auf ein Koaxialkabel, eine verdrillte Zweidrahtleitung, eine Lichtleitfaser, ein Hybrid-Faser-Koaxial-Medium (HFC-Medium), terrestrische Mikrowellen-Sender/Empfänger, Hochfrequenzkommunikationsmedien, Satellitenkommunikationsmedien oder irgendeine Kombination davon. Gemäß einer oder mehreren hier beschriebenen Ausführungsformen kommunizieren das entfernte Verarbeitungssystem 150, das andere Fahrzeug 154 und das Verarbeitungssystem 110 über eine Fahrzeug-zu-Infrastruktur-Kommunikation (V2I-Kommunikation), Fahrzeug-zu-Fahrzeug-Kommunikation (V2V-Kommunikation), Fahrzeug-zu-Fußgänger-Kommunikation (V2P-Kommunikation) und/oder Fahrzeug-zu-Grid-Kommunikation (V2G-Kommunikation).
-
Die Merkmale und die Funktionalität der Komponenten des Verarbeitungssystems 110 werden hier weiter beschrieben. Das Verarbeitungssystem 110 des Fahrzeugs 100 unterstützt bei der Entscheidungsfindung im Zusammenhang mit dem Betrieb eines autonomen Fahrzeugs, was die Verwendung einer Belohnungsfunktion umfassen kann, wie hier beschrieben. Insbesondere umfasst das Verarbeitungssystem 110 eine Daten/Kommunikations-Engine 112, eine Engine 114 eines autonomen Agenten und eine Steuer-Engine 116. Die Daten/Kommunikations-Engine 112 empfängt/sammelt Daten wie z. B. Daten von Sensoren, die dem Fahrzeug 100 zugeordnet sind, und/oder empfängt Daten von anderen Quellen wie z. B. dem entfernten Verarbeitungssystem 150 und/oder dem anderen Fahrzeug 154. Die Engine 114 des autonomen Agenten dient als intelligenter Agent, der Operationen mit zumindest einem gewissen Autonomiegrad durchführt. Die Engine 114 des autonomen Agenten betreibt beispielsweise das Fahrzeug 100 autonom, um ein Ziel zu erreichen. Das Ziel könnte darin bestehen, von einem Ort A zu einem Ort B zu navigieren. Die Engine 114 des autonomen Agenten kann eine Maschinenlernfunktionalität verwenden, um das Ziel zu erfüllen, was hier weiter beschrieben wird. Die Steuer-Engine 116 steuert das Fahrzeug 100, wie z. B. um ein Fahrmanöver (z. B. Wechseln von Spuren, Ändern der Geschwindigkeit usw.) auszuführen. Obwohl nicht gezeigt, kann das Verarbeitungssystem 110 andere Komponenten, Engines, Module usw. wie z. B. einen Prozessor (z. B. eine Zentraleinheit, eine Graphikverarbeitungseinheit, einen Mikroprozessor usw.), einen Arbeitsspeicher (z. B. einen Direktzugriffsarbeitsspeicher, einen Festwertarbeitsspeicher usw.), einen Datenspeicher (z. B. ein Festkörperlaufwerk, ein Festplattenlaufwerk usw.), Eingabe- und/oder Ausgabevorrichtungen (z. B. eine Anzeige, ein Berührungsfeld, ein Mikrophon, Lautsprecher usw.) und dergleichen umfassen.
-
Aspekte der vorliegenden Offenbarung können eine Maschinenlernfunktionalität verwenden, um die verschiedenen hier beschriebenen Operationen zu bewerkstelligen. Insbesondere können eine oder mehrere hier beschriebene Ausführungsformen eine Entscheidungsfindung auf Regelbasis und künstlich intelligente (KI) Schlussfolgerung beinhalten und verwenden, um die verschiedenen hier beschriebenen Operationen zu bewerkstelligen. Der Ausdruck „Maschinenlernen“ beschreibt breit eine Funktion von elektronischen Systemen, die aus Daten lernen.
-
Ein Maschinenlernsystem, ein Maschinenlernmodul oder eine Maschinenlern-Engine (z. B. die Engine 114 des autonomen Agenten) kann einen trainierbaren Maschinenlernalgorithmus umfassen, der trainiert werden kann, wie z. B. in einer externen Cloud-Umgebung, um Funktionsbeziehungen zwischen Eingaben und Ausgaben zu lernen, die gegenwärtig unbekannt sind, und das resultierende Modell kann verwendet werden, um eine Ersatzcomputerprogrammverwendung zu bestimmen. In einer oder mehreren Ausführungsformen kann eine Maschinenlernfunktionalität unter Verwendung eines künstlichen neuronalen Netzes (ANN) mit der Fähigkeit, trainiert zu werden, um eine gegenwärtig unbekannte Funktion durchzuführen, implementiert werden. Bei dem Maschinenlernen und in der Kognitionswissenschaft sind ANNs eine Familie von statistischen Lernmodellen, die durch die biologischen neuronalen Netze von Tieren und insbesondere des Gehirns inspiriert sind. ANNs können verwendet werden, um Systeme und Funktionen abzuschätzen oder anzunähern, die von einer großen Anzahl von Eingaben abhängen.
-
ANNs können als sogenannte „neuromorphe“ Systeme von verschalteten Prozessorelementen verkörpert sein, die als simulierte „Neuronen“ wirken und „Nachrichten“ untereinander in Form von elektronischen Signalen austauschen. Ähnlich zu der sogenannten „Plastizität“ von synaptischen Neurotransmitterverbindungen, die Nachrichten zwischen biologischen Neuronen tragen, werden die Verbindungen in ANNs, die elektronische Nachrichten zwischen simulierten Neuronen tragen, mit numerischen Gewichten versehen, die der Stärke oder Schwäche einer gegebenen Verbindung entsprechen. Die Gewichte können auf der Basis der Erfahrung eingestellt und abgestimmt werden, was ANNs für Eingaben adaptiv und zum Lernen fähig macht. Ein ANN für Handschrifterkennung ist beispielsweise durch einen Satz von Eingangsneuronen definiert, die durch die Pixel eines Eingangsbildes aktiviert werden können. Nachdem sie durch eine Funktion, die durch den Entwickler des Netzes bestimmt wird, gewichtet und transformiert sind, wird die Aktivierung dieser Eingangsneuronen dann zu anderen unterstromigen Neuronen geleitet, die häufig als „verborgene“ Neuronen bezeichnet werden. Dieser Prozess wird wiederholt, bis ein Ausgangsneuron aktiviert wird. Das aktivierte Ausgangsneuron bestimmt, welches Zeichen gelesen wurde.
-
Ein Typ von Maschinenlernen ist Verstärkungslernen, das behandelt, wie Agenten (z. B. die Engine 114 des autonomen Agenten) Handlungen unternehmen, um ein gewünschtes Ziel zu erreichen, während eine Belohnung maximiert wird. Das verstärkte Lernen verwendet Daten in Form von Zustands-Handlungs-Paaren mit dem Ziel der Maximierung von zukünftigen Belohnungen über viele Zeitschritte. Beim verstärkten Lernen wird gesagt, dass sich ein Agent (z. B. die Engine 114 des autonomen Agenten) in einem Zustand s befindet, der eine Situation ist, die der Agent wahrnimmt. Der Agent unternimmt eine Handlung at, die eine Bewegung ist, die der Agent in einer Umgebung zur Zeit t durchführen kann. Die Umgebung sendet eine Beobachtung zum Agenten zurück nach dem Unternehmen der Handlung at in Form einer Zustandsänderung st+1 zu einer Zeit t+1. Der Agent empfängt auch eine Belohnung n, die eine Rückmeldung ist, die den Erfolg oder Misserfolg der Handlung at des Agenten zur Zeit t misst. Verstärktes Lernen ist zur Entscheidungsfindung im Zusammenhang mit dem Betrieb eines autonomen Fahrzeugs nützlich.
-
Eine oder mehrere hier beschriebene Ausführungsformen schaffen eine Auslegungs- und Abstimmmethodologie für eine Belohnungsfunktion, die verwendet wird, um autonome Fahrpläne zu optimieren, die während des Verstärkungslernens erzeugt werden. Die vorgeschlagene abstimmbare Belohnungsfunktion ist für Anwendungen mit einem Fahrer in der Schleife geeignet und kann durch irgendeine Vorgehensweise auf Nutzenbasis verwendet werden, wie z. B. Online-Suche oder Lernverfahren wie z. B. Verstärkungslernen, um optimierte Fahrpläne zu erzeugen.
-
Eine Fahrrichtlinie kann als annehmbar betrachtet werden, wenn drei Erfolgskriterien erfüllt sind, nämlich Aufgabenvollendung, Effizienz und Komfort/Konsistenz. Das Aufgabenvollendungskriterium wird häufig als Ankunft an einem gewissen gewünschten Ziel/Zustand widergespiegelt. Das Effizienzkriterium ist das Erreichen der Aufgabenvollendung in der schnellstmöglichen Weise innerhalb gewisser Umgebungsgrenzen. Das Komfort/Konsistenz-Kriterium basiert auf der Entschlossenheit und der Ausführung von sanften und komfortablen Sequenzen von Manövern auf dem Weg, um sein Ziel zu erreichen. Um diese drei Kriterien zu erreichen, wird die folgende abstimmbare Belohnungsfunktion vorgeschlagen:
wobei C
speed ein abstimmbarer Koeffizient der Geschwindigkeit ist; v
h die tatsächliche Geschwindigkeit des Fahrzeugs ist; v
desired die gewünschte Fahrgeschwindigkeit des Fahrzeugs ist; C
temp ein abstimmbarer Koeffizient eines Abfalls einer Geschwindigkeit des Fahrzeugs von der gewünschten Fahrgeschwindigkeit ist; C
Jerk ein abstimmbarer Koeffizient der Größe eines Rucks ist, der die Ableitung (oder die momentane Änderung) der Beschleunigung ist, die die Ableitung der tatsächlichen Geschwindigkeit des Fahrzeugs ist; J
2 der Betrag des Rucks im Quadrat ist, der die momentane Änderung der Beschleunigung ist; γ ein abstimmbarer Abzugsfaktor ist; I eine Indikatorfunktion (z. B. kehrt sie auf 0 zurück, wenn ihre Aussage falsch ist, und 1, wenn sie wahr ist) mit einer Aussage (Bedingung) ist, die durch den Benutzer definiert wird und für das Szenario spezifisch sein kann, wobei I
success einer Erfolgsbedingung entspricht und I
handoff einem Übergabeereignis entspricht; und C
handoff ein abstimmbarer Koeffizient der Größe eines Übergabeereignisses ist.
-
Die abstimmbare Belohnungsfunktion ist eine Funktion eines Zustandes der Umgebung s, einer Handlung a und eines zukünftigen Zustandes der Umgebung s'. Der erste Term ist eine dichte „Wachhalte“-Belohnung (in jedem Schritt), die hauptsächlich für die Normierung bestimmt ist. Der zweite Term ist ein Geschwindigkeitsabweichungsstrafterm, der durch einen Multiplikator und einen Temperaturkoeffizienten parametrisiert ist. Der dritte Term ist ein Integral über den Ruck der Bewegung im Quadrat (und/oder irgendeine seiner Ableitungen oder Artefakte). Der vierte und der fünfte Term sind Aufgabenvollendungsterme, die für einen vollständigen und Teilerfolg (Übergabeerfolg) belohnen. Es sollte erkannt werden, dass die folgenden Komponenten der Belohnungsfunktion abstimmbar sind: Cspeed, Ctemp, Cjerk, γ, und Chandoff .
-
Die abstimmbare Belohnungsfunktion belohnt für sowohl vollständige als auch Teilerfolge. Es wird angenommen, dass unter einigen Plänen der autonome Agent (z. B. die Engine 114 des autonomen Agenten) dabei scheitern kann, seine Ziele zu erreichen. Ein solches Scheitern erleidet häufig hohe Kosten mit Bezug auf die Belohnung. Um dies zu vermeiden, hat der autonome Agent eine Wahl, die Fahrsteuerungen an einen menschlichen Betreiber/Fahrer zu „übergeben“ (z. B. in dem System mit einem Fahrer in der Schleife, wie einem fortschrittlichen L2/3-Fahrerassistenzsystem (ADAS)), oder alternativ kann der zuständige menschliche Betreiber/Fahrer wählen, den autonomen Agenten proaktiv aufzuheben, um ungewünschte Situationen zu vermeiden. Die abstimmbare Belohnungsfunktion umfasst Indikatorkomponenten, um entweder für „vollständigen Erfolg“ oder „Teilerfolg“ zu belohnen, zusammen mit einer oder mehreren Teilerfolgskomponenten, um ein Übergabeergebnis darzustellen (durch entweder den Fahrer oder Agenten ausgelöst). Der Chandoff-Koeffizient tauscht beispielsweise die Verfügbarkeit gegen das Risiko eines Scheiterns. Das heißt, eine höhere Verfügbarkeit ist ein Ergebnis eines niedrigen Chandoff und ein niedrigeres Risiko eines Scheiterns ist Ergebnisse eines hohen Chandoff · Ein Endbenutzer kann die Logik hinter den Indikatorfunktionen für Flexibilität definieren, die von dem Szenario abhängen können.
-
Die abstimmbare Belohnungsfunkton betrachtet auch, wann zu belohnen ist: nun oder in der Zukunft. In der Planungsdomäne ist es beispielsweise weitgehend annehmbar, herabgesetzte Belohnungsfunktionen unter Verwendung eines Abzugsfaktors γ zu entwerfen. Die abstimmbare Belohnungsfunktion nimmt den Abzugsfaktor γ und verstärkt seinen Effekt unter Verwendung desselben für die Normierung der abstimmbaren Belohnungsfunktion. Eine implizite Annahme besteht darin, dass zukünftige Belohnungen nach dem Erfolg maximal sind, so dass das Negative (2. und 3. Belohnungsterm) null ist, und die von null verschiedenen dichten Belohnungen den +1-„Wachhalte“-Term umfassen. Dieser Annahme folgend und unter demselben um γ herabgesetzten Regime werden die „Aufgabenvollendungs“-Terme (4. und 5.) um den 1/1-γ-Multiplikator verstärkt, der die Summe von geometrischen +1-Reihen über die unendliche Zukunft widerspiegelt. Damit kann derselbe γ-Parameter wiederverwendet werden, um die herabgesetzte Zukunft und die Begierde gegenüber der Langzeitplanung zu steuern, die sehr verwandte Planungskonzepte sind.
-
Die abstimmbare Belohnungsfunktion belohnt auch für Effizienz. Der Effizienzterm (2. Term) misst die Abweichung von einer gewissen gewünschten Fahrgeschwindigkeit (z. B. der maximalen Geschwindigkeitsbegrenzung, einer Rückmeldung von einem menschlichen Fahrer usw.). Für die Einfachheit (und ohne Verlust der Allgemeinheit) kann angenommen werden, dass die Fahrgeschwindigkeit gleich oder geringer als die gewünschte Geschwindigkeit ist, was zu einem Term im Bereich von [0,1] führt, der die Abweichung von der gewünschten Geschwindigkeit bestraft. Die Größe und der Abfall dieses Terms werden durch die Koeffizienten Cspeed bzw. Ctemp parametrisiert. Eine vorläufige Abstimmung dieser zwei Koeffizienten ist zum Widerspiegeln des Effekts des Fahrens mit niedrigeren Geschwindigkeiten nützlich.
-
Die abstimmbare Belohnungsfunktion belohnt auch für Komfort. Es kann angenommen werden, dass ein autonomer Agent gewöhnlich auf eine gewisse beliebige Geschwindigkeit für das Meiste seiner Fahrt konvergiert und dort bleibt. Unter einer solchen Annahme wenden beliebige Änderungen an der Fahrgeschwindigkeit entweder eine Beschleunigung oder Verlangsamung in einem kurzen Zeitfenster an und konvergieren zurück auf null. Um die übermäßige Verwendung von Beschleunigung und Verlangsamung sowie Änderungen an diesen (von denen bekannt ist, dass sie eine Fahrgastunannehmlichkeit verursachen) zu minimieren, bestraft daher die abstimmbare Belohnungsfunktion die Summe von einer oder mehreren Ruckkomponenten der Bewegungspläne im Quadrat unter Bewertung durch die Belohnungsfunktion unter Verwendung des CJerk-Koeffizienten. Irgendein anderes Artefakt dieser Minimierung kann in diesen Term zusätzlich aufgenommen werden (z. B. Behandlung von Nicht-Differential-Teilen des Ruckprofils usw.). Hier kann erneut eine vorläufige Abstimmung für die Wechselbeziehungen zwischen den verschiedenen auf den Komfort bezogenen Termen durchgeführt werden.
-
Die abstimmbare Belohnungsfunktion betrachtet auch den Kompromiss zwischen Effizienz und Komfort. Der 2. und der 3. Term der Belohnungsfunktion stellen beispielsweise Effizienz bzw. Komfort dar. Dieser Kompromiss kann über die Gewichtung von Cspeed gegenüber CJerk gesteuert werden.
-
2 stellt eine Architektur 200, die das Trainieren eines autonomen Agenten (z. B. der Engine 114 des autonomen Agenten) für den Betrieb eines autonomen Fahrzeugs unter Verwendung eines Modells 210 künstlicher Intelligenz und einer abstimmbaren Belohnungsfunktion unterstützt, gemäß einer oder mehreren hier beschriebenen Ausführungsformen dar. In diesem Beispiel erzeugt eine Logik 204 Eingaben 211 in ein Modell 210 künstlicher Intelligenz. Zusammen bilden die Logik 204 und das Modell 210 künstlicher Intelligenz die Engine 114 des autonomen Agenten. Die Architektur 200 verwendet die Ausgabe 215 des Modells 210 künstlicher Intelligenz (z. B. eines Verstärkungslernmodells, eines Online-Suchmodells usw.), um Handlungen für ein Fahrzeug 100 unter Verwendung eines Simulators 220 zu simulieren.
-
Das Fahrzeug 100 und Fahrzeuge 201 a, 201 b fahren beispielsweise entlang einer Straße 202. Die Fahrzeuge 201 a, 201 b sind Beispiele des anderen Fahrzeugs 154 von 1 und werden gemeinsam als „Fahrzeuge 201“ bezeichnet. Es sollte erkannt werden, dass eines oder mehrere der Fahrzeuge 201 ähnlich zum Fahrzeug 100 konfiguriert sein können, wie in 1 gezeigt und wie hier beschrieben, oder dass jedes der Fahrzeuge 201 anders als das Fahrzeug 100 in einigen Beispielen konfiguriert sein kann.
-
Jedes der Fahrzeuge 100, 201 sammelt Daten über sich und überträgt sie zu einem Verarbeitungssystem zur Verarbeitung (z. B. unter Verwendung der Daten/Kommunikations-Engine 112). Gemäß einem Beispiel sammeln die Fahrzeuge 201 Daten über sich und übertragen die Daten zum Verarbeitungssystem 110 des Fahrzeugs 100 für die Verarbeitung durch den autonomen Agenten 114. Gemäß einem anderen Beispiel sammeln die Fahrzeuge 100, 201 Daten über sich und übertragen die Daten zum entfernten Verarbeitungssystem 150.
-
Die Daten (d. h. Informationen), die durch die Fahrzeuge 201 bereitgestellt werden, können eine Wahrnehmung der Fahrzeuge in der Umgebung angeben und können abgeschätzte kinematische Zustände der Fahrzeuge 201, Fahrspurzuweisungen, die Absicht eines Fahrzeugs (z. B. eine Fahrtrichtung, eine Absicht, in Spuren einzufädeln/diese zu wechseln usw.) und/oder beliebige andere Informationen, die für die Entscheidungsfindung nützlich sind, ergeben.
-
Das Fahrzeug 100 weist einen aktuellen Zustand s (auch als „wahrgenommener Zustand“ bezeichnet) auf. Die Engine 114 des autonomen Agenten des Fahrzeugs 100 bewertet mögliche Handlungen, wie z. B. Folgen hinter dem Fahrzeug 201 a, Einfädeln vor dem Fahrzeug 201 b und Einfädeln hinter dem Fahrzeug 201 b. Um diese möglichen Handlungen zu bewerten, verwendet die Engine 114 des autonomen Agenten das Modell 210 künstlicher Intelligenz, wie gezeigt. Das Modell 210 künstlicher Intelligenz nimmt als Eingaben 211 Daten über das Fahrzeug 100, der Fahrzeuge 201a, 201b und beliebige andere relevante Daten (z. B. Daten über die Straße 202, Daten über die Umfeldumgebung usw.). Das Modell 210 künstlicher Intelligenz lernt eine Richtlinie π durch Bewerten des aktuellen Zustandes s, mehrerer Handlungen a1 ...an und eines zukünftigen Zustandes s'. Das Modell 210 künstlicher Intelligenz lernt, die mehreren Handlungen a1...an auf der Basis seiner Abschätzung ihrer erwarteten zukünftigen Belohnungen mit Bezug auf die abstimmbare Belohnungsfunktion einzustufen/zu beurteilen. Ein tatsächliches Muster von der abstimmbaren Belohnungsfunktion wird verwendet, um eine Überwachung für die obige Abschätzung bereitzustellen, und dabei zu bestimmen, welche der Handlungen wünschenswerter oder weniger wünschenswert als andere Handlungen sein können, indem zukünftige Ergebnisse von Handlungen berücksichtigt werden. In dieser Weise wird das Modell 210 künstlicher Intelligenz trainiert. Das Modell 210 künstlicher Intelligenz kann auf einer Eingabeschicht 212, einer verborgenen Schicht 213 (die eine oder mehrere verborgene Schichten sein kann) und einer Ausgabeschicht 214, die Ausgaben 215 (z. B. die Richtlinie) erzeugt, beruhen.
-
Der Simulator 220 empfängt die Ausgabe von der Engine 114 des autonomen Agenten (durch die Logik 204 und das Modell 210 künstlicher Intelligenz dargestellt) hinsichtlich dessen, welche Handlung a als nächstes anzuwenden ist. Dann bewegt der Simulator 220 den Zustand seiner Umgebung auf den nächsten Zustand s'vorwärts und führt ihn zusammen mit einer Zwischenbelohnung r, die unter Verwendung der abstimmbaren Belohnungsfunktion berechnet wird, zurück an die Engine 114 des autonomen Agenten. In einem nächsten Schritt verwendet die Engine 114 des autonomen Agenten den vorherigen Zustand s', der nun zum aktuellen Zustand s wird (z. B. der aktualisierte aktuelle Zustand der Umgebung), und verarbeitet ihn durch das Modell 210 künstlicher Intelligenz, um erneut die nächste anzuwendende Handlung a zu erhalten. Nachdem eine Masse dieser Wechselwirkungen hinsichtlich Tupeln von (s, a, r, s') gespeichert ist, wird das Modell 210 künstlicher Intelligenz unter der Überwachung aktualisiert, dass r für jede der Zustands-Handlungs-Auswahlen in den ganzen Agenten-Simulator-Wechselwirkungen liefert.
-
Insbesondere trifft der Simulator 220 eine Entscheidung (Handlung a) von der Engine 114 des autonomen Agenten (über das Modell 210 künstlicher Intelligenz) und bewegt Aktoren (z. B. die Fahrzeuge 201a, 201b) in der Umgebung um das Fahrzeug 100 vorwärts (ohne das Fahrzeug 100 vorwärts zu bewegen). Der Simulator 220 simuliert dann die Fortbewegung der Umgebung über die Zeit auf der Basis der Handlung a, und das Fahrzeug 100 wird unter Verwendung der Handlung a gesteuert (z. B. unter Verwendung der Steuer-Engine 116). Die Steuereingaben (z. B. eine Beschleunigung, eine Trajektorie usw.) werden in den Simulator 220 zurück eingegeben, der einen neuen Zustand s' erzeugt und ihn zur Logik 204 zurücksendet, wie durch den Pfeil 221 gezeigt. Wenn eine Iteration der Simulation vollständig ist, wird s' der aktuelle Zustand s der Umgebung, dann nimmt die Logik 204 als Eingabe den neuen Zustand s der Umgebung, wandelt ihn in einen Eingabevektor von Zahlen (z. B. die Eingabe 211) um, der dann in das Modell 210 künstlicher Intelligenz eingegeben wird. Das Modell 210 künstlicher Intelligenz gibt einen Ausgabevektor von Zahlen 215 aus, der einen Index einer maximalen Beurteilung für eine Belohnung darstellt. Der Simulator 220 bildet dann die Handlung auf die Trajektorie ab. Nun weiß der Simulator 220, wie das Fahrzeug 100 über den nächsten Zeitschritt fortzubewegen ist. Ein Datensatz wird durch Iterieren dieses Prozesses zwischen der Logik 204, dem Modell 210 künstlicher Intelligenz und dem Simulator 220 erzeugt. Für jede Iteration wird das Folgende erzeugt: der aktuelle Zustand s, die unternommene Handlung a, der zukünftige Zustand s' und eine Zwischenbelohnung r. Sobald der Datensatz aufgebaut ist (der als Tupel von (s, a, r, s')) dargestellt werden kann), kann das Modell 210 künstlicher Intelligenz auf der Basis der erfassten Daten verbessert werden, um eine Gesamtbelohnung zu maximieren, so dass das Modell 210 künstlicher Intelligenz bessere Entscheidungen trifft (z. B. r über die Zeit maximiert).
-
3 stellt ein Ablaufdiagramm eines Verfahrens 300 zum Implementieren einer Belohnungsfunktion für den Betrieb eines autonomen Fahrzeugs gemäß einer oder mehreren hier beschriebenen Ausführungsformen dar. Das Verfahren 300 kann durch irgendein geeignetes System oder irgendeine geeignete Vorrichtung wie z. B. das Verarbeitungssystem 110 von 1, das entfernte Verarbeitungssystem 150, das Verarbeitungssystem 400 von 4 oder irgendein anderes geeignetes Verarbeitungssystem und/oder irgendeine andere geeignete Verarbeitungsvorrichtung (z. B. einen Prozessor) durchgeführt werden. Das Verfahren 300 wird nun mit Bezug auf die Elemente von 1 und/oder 2 beschrieben, ist jedoch nicht so begrenzt.
-
Im Block 302 empfängt die Engine 114 des autonomen Agenten des Verarbeitungssystems 110 einen aktuellen Zustand eines Fahrzeugs. Im Block 304 sagt die Engine 114 des autonomen Agenten des Verarbeitungssystems 110 unter Verwendung einer Ausgabe eines Modells künstlicher Intelligenz (z. B. des Modells 210 künstlicher Intelligenz) einen zukünftigen Zustand des Fahrzeugs 100 zumindest teilweise auf der Basis des aktuellen Zustandes des Fahrzeugs 100 vorher. Im Block 306 berechnet die Engine 114 des autonomen Agenten des Verarbeitungssystems 110 unter Verwendung einer abstimmbaren Belohnungsfunktion eine Belohnung, die dem zukünftigen Zustand des Fahrzeugs 100 zugeordnet ist. Die abstimmbare Belohnungsfunktion umfasst mehrere abstimmbare Koeffizienten, wie hier beschrieben. Die abstimmbaren Koeffizienten können beispielsweise auf der Basis der Effizienz, des Komforts und der Aufgabenvollendung, wie hier beschrieben, abgestimmt werden, um die Belohnung zu verfeinern.
-
Im Block 308 wird das Modell künstlicher Intelligenz zumindest teilweise auf der Basis der Belohnung trainiert und/oder aktualisiert. Das heißt, die Zusammenhänge zwischen Eingaben (anfängliche Zustände und Handlungen) und Ausgaben (zukünftige Zustände und Belohnungen auf der Basis der anfänglichen Zustände und Handlungen) werden gelernt und/oder aktualisiert.
-
In einigen Beispielen steuert die Steuer-Engine 116 des Verarbeitungssystems 110 das Fahrzeug 100 zumindest teilweise auf der Basis des Modells künstlicher Intelligenz. Die Engine 114 des autonomen Agenten trifft beispielsweise eine Fahrentscheidung zumindest teilweise auf der Basis des Modells 210 künstlicher Intelligenz und einer gewissen komplementären vorprogrammierten Logik, die sie umhüllt, die als „Fahrrichtlinie“ bezeichnet wird. Das Fahrzeug 100 wird dann durch Implementieren der Fahrrichtlinie gesteuert. Die Fahrrichtlinie kann beispielsweise Befehle an das Fahrzeug 100 liefern, um zu bewirken, dass das Fahrzeug beschleunigt, verlangsamt, lenkt usw., um eine Handlung zu implementieren, um ein Ziel zu erreichen. Die Handlung kann aus einer von mehreren Handlungen ausgewählt sein. Dies verbessert den Fahrzeugbetrieb durch Schaffen einer sicheren, komfortablen und effizienten Fahrt für einen Insassen des Fahrzeugs 100. Dies bewirkt, dass das Fahrzeug 100 effizienter, mit einer besseren Fahrerfahrung für seine Insassen, und in einer sichereren Weise arbeitet.
-
Die hier beschriebene Belohnungsfunktion kann in verschiedenen Typen von künstlicher Intelligenz wie z. B. Verstärkungslernen, Online-Suche und dergleichen verwendet werden. In einigen Ausführungsformen, wie z. B. während des Verstärkungslernens, wird die Belohnungsfunktion während eines Offline-Trainingsprozesses verwendet. In anderen Ausführungsformen, wie z. B. während der Online-Suche, wird die Belohnungsfunktion direkt online während einer Echtzeitschlussfolgerung (oder nahezu Echtzeitschlussfolgerung) verwendet.
-
Zusätzliche Prozesse können auch enthalten sein und es sollte selbstverständlich sein, dass der in 3 dargestellte Prozess eine Erläuterung darstellt und dass andere Prozesse hinzugefügt werden können oder existierende Prozesse entfernt, modifiziert oder umgeordnet werden können, ohne vom Schutzumfang und Gedanken der vorliegenden Offenbarung abzuweichen.
-
Es ist selbstverständlich, dass die vorliegende Offenbarung in Verbindung mit irgendeinem Typ von Rechenumgebung, die nun bekannt ist oder später entwickelt wird, implementiert werden kann. 4 stellt beispielsweise ein Blockdiagramm eines Verarbeitungssystems 400 zum Implementieren der hier beschriebenen Techniken dar. In Beispielen weist das Verarbeitungssystem 400 eine oder mehrere Zentraleinheiten (Prozessoren) 421a, 421b, 421c usw. (gemeinsam oder allgemein als Prozessor(en) 421 und/oder als Verarbeitungsvorrichtung(en) bezeichnet) auf. In Aspekten der vorliegenden Offenbarung kann jeder Prozessor 421 einen Mikroprozessor eines Computers mit verringertem Befehlssatz (RISC) umfassen. Prozessoren 421 sind mit einem Systemarbeitsspeicher (z. B. Direktzugriffsarbeitsspeicher (RAM) 424) und verschiedenen anderen Komponenten über einen Systembus 433 gekoppelt. Ein Festwertarbeitsspeicher (ROM) 422 ist mit dem Systembus 433 gekoppelt und kann ein Basis-Eingabe/Ausgabe-System (BIOS) umfassen, das bestimmte Basisfunktionen des Verarbeitungssystems 400 steuert.
-
Ferner sind ein Eingabe/Ausgabe-Adapter (E/A-Adapter) 427 und ein Netzadapter 426, die mit dem Systembus 433 gekoppelt sind, dargestellt. Der E/A-Adapter 427 kann ein Adapter einer Kleincomputersystemschnittstelle (SCSI) sein, der mit einer Festplatte 423 und/oder einer Speichervorrichtung 425 oder irgendeiner anderen ähnlichen Komponente kommuniziert. Der E/A-Adapter 427, die Festplatte 423 und die Speichervorrichtung 425 werden hier gemeinsam als Massenspeicher 434 bezeichnet. Das Betriebssystem 440 für die Ausführung auf dem Verarbeitungssystem 400 kann im Massenspeicher 434 gespeichert sein. Der Netzadapter 426 verschaltet den Systembus 433 mit einem äußeren Netz 436, das ermöglicht, dass das Verarbeitungssystem 400 mit anderen solchen Systemen kommuniziert.
-
Eine Anzeige (z. B. ein Anzeigemonitor) 435 ist mit dem Systembus 433 durch einen Anzeigeadapter 432 verbunden, der einen Graphikadapter umfassen kann, um die Leistung von graphikintensiven Anwendungen und eines Video-Controllers zu verbessern. In einem Aspekt der vorliegenden Offenbarung können die Adapter 426, 427 und/oder 432 mit einem oder mehreren E/A-Bussen verbunden sein, die mit dem Systembus 433 über eine Zwischenbusbrücke (nicht gezeigt) verbunden sind. Geeignete E/A-Busse für die Verbindung von Peripheriegeräten wie z. B. Festplatten-Controllern, Netzadaptern und Graphikadaptern umfassen typischerweise gemeinsame Protokolle wie z. B. das „Peripheral Component Interconnect“ (PCI). Zusätzliche Eingabe/Ausgabe-Vorrichtungen sind als mit dem Systembus 433 über einen Benutzerschnittstellenadapter 428 und Anzeigeadapter 432 verbunden gezeigt. Eine Tastatur 429, eine Maus 430 und ein Lautsprecher 431 (oder eine andere geeignete Eingabe und/oder Ausgabe wie z. B. ein Berührungsbildschirm eines Infotainmentsystems) können mit dem Systembus 433 über den Benutzerschnittstellenadapter 428 verschaltet sein, der beispielsweise einen Super-E/A-Chip umfassen kann, der mehrere Vorrichtungsadapter zu einer einzelnen integrierten Schaltung integriert. Eine oder mehrere der Kameras 120-123, 130-133 sind auch mit dem Systembus 433 verbunden.
-
In einigen Aspekten der vorliegenden Offenbarung umfasst das Verarbeitungssystem 400 eine Graphikverarbeitungseinheit 437. Die Graphikverarbeitungseinheit 437 ist eine spezialisierte elektronische Schaltung, die dazu ausgelegt ist, den Arbeitsspeicher zu manipulieren und verändern, um die Erzeugung von Bildern in einem Rahmenpuffer zu beschleunigen, der für die Ausgabe an eine Anzeige bestimmt ist. Im Allgemeinen ist die Graphikverarbeitungseinheit 437 beim Manipulieren von Computergraphiken und der Bildverarbeitung sehr effizient und weist eine sehr parallele Struktur auf, die sie für Algorithmen, bei denen die Verarbeitung von großen Datenblöcken parallel durchgeführt wird, effektiver macht als Universal-CPUs.
-
Wie hier konfiguriert, umfasst folglich das Verarbeitungssystem 400 eine Verarbeitungsfähigkeit in Form von Prozessoren 421, eine Speicherfähigkeit mit einem Systemarbeitsspeicher (z. B. RAM 424) und Massenspeicher 434, ein Eingabemittel wie z. B. eine Tastatur 429 und Maus 430 und eine Ausgabefähigkeit mit dem Lautsprecher 431 und der Anzeige 435. In einigen Aspekten der vorliegenden Offenbarung speichern ein Abschnitt des Systemarbeitsspeichers (z. B. RAM 424) und Massenspeichers 434 gemeinsam das Betriebssystem 440, um die Funktionen der im Verarbeitungssystem 400 gezeigten verschiedenen Komponenten zu koordinieren.
-
Die Beschreibungen der verschiedenen Beispiele der vorliegenden Offenbarung wurden für Erläuterungszwecke vorgestellt, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen begrenzt sein. Viele Modifikationen und Variationen sind für den üblichen Fachmann auf dem Gebiet ersichtlich, ohne vom Schutzumfang und Gedanken der beschriebenen Techniken abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Prinzipien der vorliegenden Techniken, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt zu findenden Technologien am besten zu erläutern, oder um anderen üblichen Fachleuten zu ermöglichen, die hier offenbarten Techniken zu verstehen.
-
Obwohl die obige Offenbarung anhand beispielhafter Ausführungsformen beschrieben worden ist, versteht der Fachmann, dass verschiedene Änderungen vorgenommen werden können und Äquivalente für Elemente davon ersetzt werden können, ohne von ihrem Schutzumfang abzuweichen. Zusätzlich können viele Abwandlungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der Offenbarung anzupassen, ohne von deren wesentlichem Schutzumfang abzuweichen. Somit sollen die vorliegenden Techniken nicht auf die bestimmten offenbarten Ausführungsformen beschränkt sein, sondern umfassen alle Ausführungsformen, die in dem Schutzumfang der Anmeldung liegen.