DE102021211909A1 - Verfahren zum Steuern eines Agenten - Google Patents

Verfahren zum Steuern eines Agenten Download PDF

Info

Publication number
DE102021211909A1
DE102021211909A1 DE102021211909.3A DE102021211909A DE102021211909A1 DE 102021211909 A1 DE102021211909 A1 DE 102021211909A1 DE 102021211909 A DE102021211909 A DE 102021211909A DE 102021211909 A1 DE102021211909 A1 DE 102021211909A1
Authority
DE
Germany
Prior art keywords
agent
neural network
behavior
agents
training
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
DE102021211909.3A
Other languages
English (en)
Inventor
Felix Schmitt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021211909.3A priority Critical patent/DE102021211909A1/de
Priority to US18/045,382 priority patent/US20230128941A1/en
Priority to CN202211285722.7A priority patent/CN116011523A/zh
Priority to JP2022168137A priority patent/JP2023062688A/ja
Publication of DE102021211909A1 publication Critical patent/DE102021211909A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Feedback Control In General (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Agenten beschrieben, aufweisend trainieren, mittels Trainingsdaten, die für eine Vielzahl von Agenten Beispiele für ein Verhalten der Agenten enthalten, eines neuronalen Netzwerks, wobei die Ausgabe des neuronalen Netzwerks eine Vorhersage für ein Verhalten aufweist und von Netzwerkparametern abhängt, die für alle Trainingsdaten gemeinsam trainiert werden, und von einem weiteren Parameter abhängt, der für jeden der Agenten der Vielzahl von Agentenindividuell trainiert wird, Fitten einer Wahrscheinlichkeitsverteilung an die Werte des weiteren Parameters für die Agenten, die aus dem Training resultieren, Sampeln eines Werts aus der Wahrscheinlichkeitsverteilung für einen weiteren Agenten in der Umgebung des Agenten und Steuern des Agenten unter Berücksichtigung einer Prädiktion des Verhaltens des weiteren Agenten, die das neuronale Netzwerk für den gesampelten Wert für den weiteren Agenten ausgibt.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern eines Agenten.
  • Im Bereich der autonomen Systeme ist die Prädiktion des Verhaltens von sich bewegenden Objekten (z.B. Personen) in der Umgebung eines gesteuerten Agenten (wie z.B. eines Roboters) eine wichtige Aufgabe, um den Agenten zuverlässig zu steuern und z.B. Kollisionen zu vermeiden.
  • Insbesondere ist die Vorhersage menschlichen Verhaltens in der nahen Zukunft von ein bis 10 Sekunden eine elementare Aufgabe. Ein Krankenhausroboter muss zum Beispiel das Verhalten von Pflegekräften, Ärzten und Patienten vorhersagen, um ihnen auf dem Gang rechtzeitig Platz zu schaffen. Im autonomen Fahren muss ein Fahrzeug das Einscheren anderer Verkehrsteilnehmer antizipieren. Die aktuell akkuratesten Prädiktionsverfahren fallen fast ausnahmelos in die Kategorie des maschinellen Lernens.
  • Eine der Herausforderungen bei dieser Aufgabe ist, dass menschliches Verhalten von individuellen Wünschen, Präferenzen und Intentionen abhängt und daher sehr vielgestaltig sein kann. Ein Fahrer zieht es zum Beispiel vor, ein langsameres Vorderfahrzeug nicht zu überholen und stattdessen die Geschwindigkeit anzupassen während ein anderer Fahrer keine Zeit verlieren möchte und lieber überholt. Für akkurate Vorhersagen muss nun diese Verhaltensbandbreite abgedeckt und im Falle von Ansätzen des maschinellen Lernens aus Daten gelernt werden.
  • Die aktuell führenden Verfahren des maschinellen Lernens benutzen dazu Varianten des Variational Auto-Encoder (VAE)-Ansatzes. Hier wird angenommen, dass die zu prädizierende Größe y ~ p(. |x,z) nicht nur von den Eingangsdaten x sondern auch von einer latenten Variable z abhängt, die einer Priorverteilung p(z) folgt. Diese Größe ist in den Trainingsdaten nicht direkt vorhanden, sondern muss geschätzt werden. Dazu wird die Posterior p(z|x, y) herangezogen. Für das Training werden p(y|x,z) durch ein Decodernetzwerk gθ(y,x,z) und p(z|x, y) durch ein Recognitionnetzwerk hψ(z, x, y) modelliert und durch Minimierung der Evidence Lower Bound (ELBO) ELBO(x,y,θ,ψ) = - KL(hψ(z, x, y) ||p(z)) + Ez~hψ(.,x,y) [log(gθ(y,x,z))] trainiert. Hierbei bezeichnet KL die Kullback-Leibler-Divergenz zwischen Verteilungen und wird hergezogen, um die latenten Variablen bzw. ihre Verteilung zu regularisieren. Der zweite Teil des ELBO wird als Rekonstruktionsverlust (engl. reconstruction loss) bezeichnet und dient dazu den Decoder zu möglichst guter Prädiktionen zu trainieren.
  • Mit diesem Ansatz lassen sich einige komplexe Wahrscheinlichkeitsverteilungen sehr gut modellieren. Allerdings ist der erfolgreiche Einsatz dieser Methodik durchaus diffizil: Beispielsweise bestehen Probleme der Überregularisierung bei VAE, die eine präzise Einstellung der Hyperparameter des Algorithmus, insbesondere eine Gewichtung des Kullback-Leibler -Terms, in der ELBO notwendig machen. Außerdem ist dadurch, dass das Training für die Berechnung des Rekonstruktionsverlusts das Ziehen zusätzlicher Zufallsvariablen benötigt, ein VAE schwieriger zu trainieren als herkömmliche neuronale Netze.
  • Dementsprechend sind Steuerungsverfahren für Agenten wünschenswert, die eine effiziente Vorhersage eines (in der Umgebung des Agenten detektierten) Objekts beinhalten.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Agenten bereitgestellt, aufweisend trainieren, mittels Trainingsdaten, die für eine Vielzahl von Agenten Beispiele für ein Verhalten der Agenten enthalten, eines neuronalen Netzwerks, wobei die Ausgabe des neuronalen Netzwerks eine Vorhersage für ein Verhalten aufweist und von Netzwerkparametern abhängt, die für alle Trainingsdaten gemeinsam trainiert werden, und von einem weiteren Parameter abhängt, der für jeden der Agenten der Vielzahl von Agentenindividuell trainiert wird, Fitten einer Wahrscheinlichkeitsverteilung an die Werte des weiteren Parameters für die Agenten, die aus dem Training resultieren, Sampeln eines Werts aus der Wahrscheinlichkeitsverteilung für einen weiteren Agenten in der Umgebung des Agenten und Steuern des Agenten unter Berücksichtigung einer Prädiktion des Verhaltens des weiteren Agenten, die das neuronale Netzwerk für den gesampelten Wert für den weiteren Agenten ausgibt.
  • Das oben beschriebene Verfahren ermöglicht im Kontext der Steuerung eines autonomen Systems verschiedene wahrscheinliche Verhaltensweisen anderer Agenten (insbesondere menschlicher Agenten) zu generieren. Damit können bei der Steuerung des autonomen Systems Trajektorien oder eigene Verhaltensweisen bestimmt werden, die Kollisionen mit den anderen Agenten oder andere Beeinträchtigungen der anderen Agenten vermeiden. Zum Anderen können in der Entwicklungsphase eines autonomen Systems verschieden Verhalten der menschlichen Agenten generiert werden und damit in einer simulations-basierten Evaluierung (d.h. simulierten Steuerung) das korrekte Funktionieren des autonomen Systems geprüft werden.
  • Das oben beschriebene Verfahren ermöglicht die Berücksichtigung des Verhaltens von Objekten bei der Steuerung eines Agenten durch Verwendung einer Verhaltensprädiktion, die effektiv trainiert werden kann. Es kann mittels etablierter Komponenten (neuronales Netz, Wahrscheinlichkeitsmodell) implementiert werden, wobei das Einstellen der Hyperparameter deutlich einfacher und das Training insgesamt robuster ist als beispielsweise bei einem VAE-Ansatz. Dadurch können zum Beispiel die Modelle auch ohne Expertenwissen schnell und einfach für neue Anwendungsfälle, wie zum Beispiel die Vorhersage von Fahrerverhalten in einem anderen Land, nachtrainiert werden, d.h. ein Agent kann sich schnell an geänderte Bedingungen anpassen, was beispielsweise bei der Anwendung für das autonome Fahren die Sicherheit erhöht.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Steuern eines Roboters, wie oben beschrieben.
  • Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, wobei das neuronale Netzwerk trainiert wird, eine Eingabe des neuronalen Netzwerks auf eine Vorhersage eines Verhaltens eines Agenten abzubilden, wobei die Eingabe des neuronalen Netzwerks Zustandsinformation des Agenten, für den das neuronale Netzwerk das Verhalten vorhersagen soll, und den weiteren Parameter umfasst.
  • Die Abhängigkeit der Ausgabe des neuronalen Netzwerks von dem weiteren Parameter kann also einfach dadurch erreicht werden, dass der weitere Parameter der Eingabe des neuronalen Netzwerks (als trainierbarer Teil der Eingabe) hinzugefügt wird. Damit ist zur Implementierung keine besondere Netzwerkarchitektur erforderlich, sondern es kann eine bestehende Netzwerkarchitektur mit entsprechender Dimension der Eingabe verwendet werden.
  • Ausführungsbeispiel 3 ist das Verfahren nach Ausführungsbeispiel 2, wobei die Eingabe des neuronalen Netzwerks Zustandsinformation über ein Steuerungsszenario, in dem das Verhalten des Agenten vorhergesagt werden soll, umfasst.
  • Das neuronale Netzwerk kann somit den Zustand des Steuerungsszenarios in seine Vorhersage mit einbeziehen. Die Eingabe des neuronalen Netzwerks kann beispielsweise die Angabe einer Verkehrssituation in Form einer Liste von Fahrzeugen mit Position und Geschwindigkeit sein, erweitert durch den zusätzlichen Parameter.
  • Ausführungsbeispiel 4 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei die Wahrscheinlichkeitsverteilung ein Gaußsches Mischmodell ist.
  • Ein Gaußsches Mischmodell kann effizient trainiert werden, um komplexe Verteilungen zu modellieren und es kann effizient aus ihm gesampelt werden.
  • Ausführungsbeispiel 5 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 4, aufweisend Trainieren der Netzwerkparameter und des weiteren Parameters durch Anpassen der Netzwerkparameter und des weiteren Parameters zum Minimieren eines Verlusts zwischen den Beispielen des Verhaltens der Agenten und des jeweils von dem neuronalen Netzwerk vorhergesagten Verhaltens.
  • In anderen Worten wird der weitere Parameter in ein Training des neuronalen Netzwerks mit einbezogen. Der weitere Parameter hat dabei allerdings für Trainingsbeispiele unterschiedlicher Agenten unterschiedliche (trainierbare) Werte, da er für jeden Agenten, für den die Trainingsdaten Beispiele für das Verhalten enthalten, individuell trainiert wird.
  • Ausführungsbeispiel 6 ist eine Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchzuführen.
  • Ausführungsbeispiel 7 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • Ausführungsbeispiel 8 ist ein computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben.
    1 zeigt
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt ein Fahrzeug 101.
  • Im Beispiel von 1 ist ein Fahrzeug 101, beispielsweise ein PKW oder LKW, mit einer Fahrzeugsteuereinrichtung 102 versehen.
  • Die Fahrzeugsteuereinrichtung 102 weist Datenverarbeitungskomponenten auf, z.B. einen Prozessor (z.B. eine CPU (Zentraleinheit)) 103 und einen Speicher 104 zum Speichern von Steuersoftware, gemäß der die Fahrzeugsteuereinrichtung 102 arbeitet, und Daten, die von dem Prozessor 103 verarbeitet werden.
  • Beispielsweise weist die gespeicherte Steuerungssoftware (Computerprogramm) Anweisungen auf, die, wenn der Prozessor sie ausführt, bewirken, dass der Prozessor 103 ein oder mehrere neuronale Netzwerke 107 implementiert.
  • Die im Speicher 104 gespeicherten Daten können beispielsweise Bilddaten beinhalten, die von einer oder mehreren Kameras 105 erfasst werden. Die eine oder die mehreren Kameras 105 können beispielsweise ein oder mehrere Graustufen- oder Farbfotos der Umgebung des Fahrzeugs 101 aufnehmen.
  • Die Fahrzeugsteuereinrichtung 102 kann unter Verwendung der Bilddaten (oder auch Daten von anderen Informationsquellen, wie anderer Arten von Sensoren oder auch Fahrzeug-Fahrzeug-Kommunikation) Objekte 108 in der Umgebung des Fahrzeugs 101 detektieren, insbesondere andere Fahrzeuge, Fußgänger, d.h. Personen, oder Tiere.
  • Die Fahrzeugsteuereinrichtung 102 kann die Sensordaten untersuchen und das Fahrzeug 101 gemäß den Ergebnissen steuern, d.h. Steuerungsaktionen für das Fahrzeug ermitteln und an jeweilige Aktoren des Fahrzeugs signalisieren. So kann die Fahrzeugsteuereinrichtung 102 beispielsweise einen Aktuator 106 (z.B. eine Bremse) steuern, um die Geschwindigkeit des Fahrzeugs zu steuern, z.B. um das Fahrzeug zu bremsen.
  • Im Falle von beweglichen Objekten 108 in der Umgebung, d.h. Objekten, die sich selbst bewegen, ist es für eine effektive Steuerung erforderlich, dass die Fahrzeugsteuereinrichtung 102 vorhersagt, wie sich die Objekte 108 bewegen. Beispielsweise sollte die Fahrzeugsteuereinrichtung 102 in der Lage sein, vorherzusagen, ob eine Person die Straße betritt oder ein anderes Fahrzeug einbiegt.
  • Dazu führt die Fahrzeugsteuereinrichtung 102 eine Verhaltensprädiktion von Menschen wie Fahrern oder Fußgängern aber auch z.B. von Tieren oder möglicherweise auch anderen autonomen Geräten, durch. Diese beweglichen Objekte werden im Folgenden auch als (andere bzw. weitere) Agenten angesehen, die neben dem gesteuerten Agenten in der Umgebung des gesteuerten Agenten vorhanden sind. Für das Training des Verhaltensprädiktionsmodells wird ein Trainingsdatensatz verwendet, der für die anderen Agenten Daten (d.h. Trainingsbeispiele) enthält, die ihr Verhalten repräsentieren, z.B. für verschiedene Verkehrsszenarien die Trajektorien, mit denen sich die Agenten in den Verkehrsszenarien bewegt haben.
  • Gemäß verschiedenen Ausführungsformen wird für die Verhaltensprädiktion ein Ansatz verwendet, der auf der Annahme basiert, dass die Verhaltensvariabilität vor allem durch die unterschiedlichen Präferenzen der menschlichen Agenten bestimmt ist. Diese Präferenzen können beispielsweise für den Zeitraum von ein bis 10 Sekunden als konstant angenommen werden. Entsprechend wird gemäß verschiedenen Ausführungsformen das Prädiktionsmodell, wie es bei einem VAE-basierten Ansatz durch einen Decoder realisiert wird, um einen Vektor z der Präferenzen erweitert. Dabei wird allerdings die komplexe Architektur vermieden, die bei VAE-Ansätzen für das Training notwendig ist. Der Vektor z wird hingegen als ein für jeden anderen Agenten a, für den der Trainingsdatensatz Daten enthält, eigenen und trainierbaren Parameter za des Modells behandelt. Solange für jeden Agenten mehrere Trainingsbeispiele in den Trainingsdaten vorhanden sind, die Dimension von z ausreichend gering ist (z.B. wie bei VAEs üblich) und eine Regularisierungstechnik wie z.B. Weight-Decay verwendet wird, können diese za gelernt werden.
  • Um auch für neue Agenten Verhalten prädizieren zu können, d.h. für Agenten, für die der Trainingsdatensatz keine Daten enthält, werden die gelernten Werte von za nach dem Training gesammelt und in einem zusätzlichen zweiten Schritt ein Verteilungsmodell für den Datensatz der za geschätzt. Dafür können verschiedene etablierte Methoden zum Fitten von Wahrscheinlichkeitsmodellen an Daten verwendet werden, aus denen effizient Zufallsvariablen gezogen werden können, wie zum Beispiel einem Gaußschen Mischmodell. Durch das Ziehen aus einer solchen Wahrscheinlichkeitsverteilung können dann mögliche Präferenzen für neuen Agenten bestimmt werden und mit dem Prädiktionsmodell ein mögliches Verhalten generiert werden.
  • Statt einer komplexen Trainingsprozedur wie bei einem VAE-basierten Prädiktionsansatz, werden also in zwei Schritten jeweils vergleichsweise einfache Trainingsverfahren mit jeweils etablierten und stabilen Routinen verwendet.
  • Gemäß verschiedenen Ausführungsformen wird durch die Steuereinrichtung eines Agenten, z.B. im Fall des Fahrzeugs 101 die Fahrzeugsteuereinrichtung 102, also eine Verhaltensprädiktion für einen anderen Agenten durchgeführt. Dies bedeutet, dass die Steuereinrichtung für einen (anderen als den gesteuerten) Agenten a dessen Verhalten y basierend auf Eingangsdaten x vorhersagt. Die Variable x kann hier abhängig von der konkreten Anwendung ein Vektor von Eingangsdaten, eine Matrix, die eine Zeitserie von Eingangsdaten enthält, oder ein Mehrkanalbild sein. Dasselbe gilt für die Ausgabe y.
  • Gemäß verschiedenen Ausführungsformen wird dazu ein Prädiktionsmodell verwendet, dessen Eingangsdaten x (die beispielsweise Position etc. angeben) um ein Element za erweitert werden, dessen Wert individuell für jeden Agent gelernt wird, für den die Trainingsdaten Trainingsbeispiele enthalten. Im Fall eines Vektors von Eingangsdaten oder einer Zeitserie kann der Wert (ggf. Vektor von Werten) von za einfach an x angehängt werden. Im Falle von Bildern als Eingabedaten können zusätzliche Kanäle mit konstanten Werten entsprechend der Werte von za angelegt werden.
  • Die so erweiterten Eingangsdaten des Prädiktionsmodells werden mit x = [x,za] bezeichnet. Das Prädiktionsmodell zur Prädiktion der Variable y wird gemäß verschiedenen Ausführungsformen durch ein neuronales Netzwerk ƒ θ (x) realisiert, wobei θ die trainierbaren Parameter bezeichnet. Das neuronale Netzwerk kann eine Verteilung für y bestimmen oder direkt einen Wert für y bestimmen. Im Unterschied zu Ansätzen wie beispielsweise einem VAE-basierten Ansatz sind allerdings die Variablen za Teil der trainierbaren Parameter θ. Dies kann dadurch realisiert werden, dass eine bestehende Netzwerkarchitektur ƒθ(x) auf die Eingangsdaten x erweitert wird und ƒ θ (x):= ƒθ(x) gesetzt wird.
  • 2 zeigt ein Beispiel für eine Prädiktion mittels eines neuronalen Netzwerks 201.
  • Die Eingabedaten sind Zustandsvektoren 202, die den Zustand eines Agenten beschreiben, für den eine Trajektorie vorhergesagt werden soll. Jeder Zustandsvektor ist um einen Wert 203 von za erweitert. Die resultierenden erweiterten Zustandsvektoren 204 bilden die Eingabe des neuronalen Netzwerks 201, wobei das neuronale Netzwerk 201 in diesem Beispiel einen Satz (d.h. eine Zeitreihe 207) von solchen erweiterten Zustandsvektoren 204 empfängt, und daraus eine Trajektorie 205 vorhersagt, d.h. die Ausgabe des neuronalen Netzwerks ist hier eine Angabe der Trajektorie 205. Der Wert 203 von za wird für eine aktuelle Vorhersage (oder auch für den Agenten) aus einer Wahrscheinlichkeitsverteilung gesampelt und ist dann konstant für alle Zustandsvektoren 204, die für die aktuelle Vorhersage verwendet werden. Er kann auch für alle Vorhersagen, die denselben Agenten betreffen, konstant gehalten werden oder auch für jede Vorhersage (auch wenn sie denselben Agenten betrifft) neu gesampelt werden.
  • Für das Training (des neuronalen Netzwerks 201 zusammen mit der Wahrscheinlichkeitsverteilung 206) werden zunächst (Start-)Werte für za zufällig für jeden Agenten gesampelt, für den in den Trainingsdaten Trainingsbeispiele vorhanden sind, und die za (für jeden Agenten individuell) zusammen mit den eigentlichen Parametern (d.h. den Netzwerkparametern, typischerweise den Gewichten) des neuronalen Netzwerks 201 trainiert. Dabei können je nach Anwendung unterschiedliche Verlustfunktionen, wie Cross-Entropy-Loss, verwendet werden. Nach diesem Training codiert der Wert von za für jeden Agenten, für den in den Trainingsdaten Trainingsbeispiele vorhanden sind, das individuelle Verhalten des Agenten. Um nun auch für neue Agenten Verhalten prädizieren zu können, also solche, für die in den Trainingsdaten keine Trainingsbeispiele vorhanden sind, wird die Wahrscheinlichkeitsverteilung 206 der Variablen za, bezeichnet mit g(za), modelliert.
  • Hierfür können beliebige Verfahren zum Fitten einer Wahrscheinlichkeitsverteilung an Daten verwendet werden, die eine Wahrscheinlichkeitsverteilung liefern, die es erlaubt, effizient Werte von za zu sampeln, wie zum Beispiel ein Gaußsches Mischmodell. Das resultierende Modell g(za) kann dann hergezogen werden, um für neue Agenten Werte von za zu samplen und mittels ƒθ(x) deren Verhalten vorherzusagen.
  • Gemäß verschiedenen Ausführungsformen wird also für Training und Ausführung der Vorhersage Folgendes durchgeführt:
  • Training
    1. 1. Initialisierung des neuronalen Netzes ƒθ(x)
    2. 2. Für alle Agenten a im Trainingsdatenset wird eine initiale Variable za angelegt
    3. 3. Training des Netzwerks und der Variablen za
      1. 3.1. Training für eine Anzahl von Epochen oder bis ein Abbruchkriterium erfüllt ist
        1. 3.1.1. Ziehen eines Minibatches {(x,y)} aus den Trainingsdaten
        2. 3.1.2. Erweiterung der Datenpunkte x, um den Wert der Variablen za für den zugehörigen Agenten x = [x,za] zur Erzeugung eines erweiterten Minibatches {(x,y)}
        3. 3.1.3.Optimierungsschritt bzgl. θ und {za} auf einem Verlust L(ƒθ(x),y)
    4. 4. Sammlung der trainierten Werte der Variablen {za}
    5. 5. Trainieren eines Wahrscheinlichkeitsverteilungsmodells g(za) auf den gesammelten Daten {za}
  • Ausführung zur Prädiktion
    1. 1. Ziehen eines Werts für za aus dem trainierten Wahrscheinlichkeitsverteilungsmodell g(za) für eine weiteren Agenten
    2. 2. Auswertung des eigentlichen Prädiktionsmodells ƒθ auf erweitertem Eingang x = [x, za'] führt zur Prädiktion y
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 3 dargestellt.
  • 3 zeigt ein Ablaufdiagramm 300, das ein Verfahren zum Steuern eines Roboters zum Aufnehmen und Inspizieren eines Objekts gemäß einer Ausführungsform darstellt.
  • In 301 wird mittels Trainingsdaten, die für eine Vielzahl von Agenten Beispiele für ein Verhalten der Agenten enthalten, ein neuronales Netzwerk trainiert, wobei die Ausgabe des neuronalen Netzwerks eine Vorhersage für ein Verhalten aufweist und von Netzwerkparametern abhängt, die für alle Trainingsdaten gemeinsam trainiert werden, und von einem weiteren Parameter abhängt, der für jeden der Agenten der Vielzahl von Agentenindividuell (d.h. spezifisch) trainiert wird.
  • In 302 wird eine Wahrscheinlichkeitsverteilung an die Werte des weiteren Parameters für die Agenten, die aus dem Training resultieren, gefittet.
  • In 303 wird ein Wert aus der Wahrscheinlichkeitsverteilung für einen weiteren Agenten in der Umgebung des Agenten gesampelt (d.h. gezogen).
  • In 304 wird der Agent unter Berücksichtigung einer Prädiktion des Verhaltens des weiteren Agenten, die das neuronale Netzwerk für den gesampelten Wert für den weiteren Agenten ausgibt, gesteuert.
  • Das Verfahren von 3 kann durch einen oder mehrere Computer mit einer oder mehreren Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgeführt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgeführt werden.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Beschleunigung Wärmeabbildung usw. empfangen und verwenden, beispielsweise um Sensordaten zur Detektion von Objekten (d.h. anderen Agenten) und als Eingabe für das neuronale Netzwerk zur Prädiktion des Verhaltens zu beschaffen.
  • Das neuronale Netzwerk kann als Ausgabe Werte aus einem kontinuierlichen Wertebereich oder mehrere Werte aus einem kontinuierlichen Wertebereich liefern. Es kann beispielsweise eine Regression in Bezug auf das zukünftige Verhalten von menschlichen Agenten durchführen, das es in seiner Ausgabe durch ein oder mehrere Positionen, Trajektorien, Belegungen etc. repräsentiert.
  • Ausführungsformen können zum Trainieren eines Maschinelles-Lernen-Systems und Steuern eines Agenten, z.B. eines physikalischen Systems wie eines Roboters oder eines Fahrzeugs verwendet werden. insbesondere sind Ausführungsformen auf die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben anwendbar, z. B. in Montagelinien.
  • Der gesteuerte Agent kann eine Robotervorrichtung sein, d.h. ein Steuersignal für eine Robotervorrichtung erzeugt werden. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein physikalisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, einen persönlichen Assistenten oder ein Zugangssteuersystem. Es wird eine Steuerungsvorschrift für das physikalische System gelernt und das physikalische System dann entsprechend gesteuert.
  • Im Falle eines autonomen Fahrzeugs oder mobilen Roboters detektiert die Robotervorrichtung (z.B. mittels LiDAR-Sensoren) Fußgänger und berechnet ihre Position und Geschwindigkeit. Die jeweilige Steuereinrichtung (z.B. Fahrzeugsteuereinrichtung 102) sampelt eine potentielle Präferenz für jeden Fußgänger und verwendet das trainierte Prädiktionsmodell (d.h. das trainierte neuronale Netz), um seine zukünftige Trajektorie aus der aktuellen Position des Fußgängers vorherzusagen.
  • Die beschriebenen Ansätze können jedoch auf jede Art von Agenten angewendet werden (z.B. auch auf einen Agenten, der nur simuliert wird und nicht physisch existiert).
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (8)

  1. Verfahren zum Steuern eines Agenten aufweisend: Trainieren, mittels Trainingsdaten, die für eine Vielzahl von Agenten Beispiele für ein Verhalten der Agenten enthalten, eines neuronalen Netzwerks, wobei die Ausgabe des neuronalen Netzwerks eine Vorhersage für ein Verhalten aufweist und von Netzwerkparametern abhängt, die für alle Trainingsdaten gemeinsam trainiert werden, und von einem weiteren Parameter abhängt, der für jeden der Agenten der Vielzahl von Agentenindividuell trainiert wird; Fitten einer Wahrscheinlichkeitsverteilung an die Werte des weiteren Parameters für die Agenten, die aus dem Training resultieren; Sampeln eines Werts aus der Wahrscheinlichkeitsverteilung für einen weiteren Agenten in der Umgebung des Agenten; und Steuern des Agenten unter Berücksichtigung einer Prädiktion des Verhaltens des weiteren Agenten, die das neuronale Netzwerk für den gesampelten Wert für den weiteren Agenten ausgibt.
  2. Verfahren nach Anspruch 1, wobei das neuronale Netzwerk trainiert wird, eine Eingabe des neuronalen Netzwerks auf eine Vorhersage eines Verhaltens eines Agenten abzubilden, wobei die Eingabe des neuronalen Netzwerks Zustandsinformation des Agenten, für den das neuronale Netzwerk das Verhalten vorhersagen soll, und den weiteren Parameter umfasst.
  3. Verfahren nach Anspruch 2, wobei die Eingabe des neuronalen Netzwerks Zustandsinformation über ein Steuerungsszenario, in dem das Verhalten des Agenten vorhergesagt werden soll, umfasst.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Wahrscheinlichkeitsverteilung ein Gaußsches Mischmodell ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, aufweisend Trainieren der Netzwerkparameter und des weiteren Parameters durch Anpassen der Netzwerkparameter und des weiteren Parameters zum Minimieren eines Verlusts zwischen den Beispielen des Verhaltens der Agenten und des jeweils von dem neuronalen Netzwerk vorhergesagten Verhaltens.
  6. Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 5 durchzuführen.
  7. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
  8. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
DE102021211909.3A 2021-10-21 2021-10-21 Verfahren zum Steuern eines Agenten Pending DE102021211909A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102021211909.3A DE102021211909A1 (de) 2021-10-21 2021-10-21 Verfahren zum Steuern eines Agenten
US18/045,382 US20230128941A1 (en) 2021-10-21 2022-10-10 Method for controlling an agent
CN202211285722.7A CN116011523A (zh) 2021-10-21 2022-10-20 用于控制代理的方法
JP2022168137A JP2023062688A (ja) 2021-10-21 2022-10-20 エージェントの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021211909.3A DE102021211909A1 (de) 2021-10-21 2021-10-21 Verfahren zum Steuern eines Agenten

Publications (1)

Publication Number Publication Date
DE102021211909A1 true DE102021211909A1 (de) 2023-04-27

Family

ID=85795863

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021211909.3A Pending DE102021211909A1 (de) 2021-10-21 2021-10-21 Verfahren zum Steuern eines Agenten

Country Status (4)

Country Link
US (1) US20230128941A1 (de)
JP (1) JP2023062688A (de)
CN (1) CN116011523A (de)
DE (1) DE102021211909A1 (de)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WÖHLKE, Jan [et al.]: Value Refinement Network (VRN). 05.10.2021. URL: https://openreview.net/forum?id=iUt2KYdXBDD [abgerufen am 11.04.2021]

Also Published As

Publication number Publication date
US20230128941A1 (en) 2023-04-27
CN116011523A (zh) 2023-04-25
JP2023062688A (ja) 2023-05-08

Similar Documents

Publication Publication Date Title
DE102019104974A1 (de) Verfahren sowie System zum Bestimmen eines Fahrmanövers
DE102018101465A1 (de) Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102014220302A1 (de) Echt-Zeit Mehr-Klassen Fahreraktions-Erkennung unter Verwendung eines Random Forest
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE102020209538A1 (de) Vorrichtung und Verfahren zum Ermitteln einer physikalischen Eigenschaft eines physikalischen Objekts
DE102018008685A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm maschinenlesbares Speichermedium und entsprechende Vorrichtung
DE202018104373U1 (de) Vorrichtung, die zum Betreiben eines maschinellen Lernsystems eingerichtet ist
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102018132370A1 (de) Verwendung von tiefer videobildvorhersage zum trainieren einer steuerung eines autonomen fahrzeugs und verfahren davon
DE102019214625A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines künstlichen neuronalen Netzes
DE102021203588A1 (de) Verfahren und Steuergerät zum Schätzen eines Verhaltens eines Systems
EP3748454A1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
EP3748453A1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE102021211909A1 (de) Verfahren zum Steuern eines Agenten
DE102018216719A1 (de) Schlüsselbildbasierter autonomer Fahrzeugbetrieb
DE102021133977A1 (de) Verfahren und System zur Klassifikation von Szenarien eines virtuellen Tests sowie Trainingsverfahren
DE102021213344A1 (de) Verfahren zum Ermitteln von Agenten-Trajektorien in einem Multi-Agenten-Szenario
DE102020210376A1 (de) Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
DE102020200876B4 (de) Verfahren zum Verarbeiten von Sensordaten einer Sensorik eines Fahrzeugs
DE102021205274A1 (de) Sichere Steuerung/Überwachung eines computergesteuerten Systems
DE102021114768A1 (de) Fahrzeugsteuerung unter Verwendung eines Controllers eines neuronalen Netzes in Kombination mit einem modellbasierten Controller
EP4049186A1 (de) Verfahren zum robustifizieren eines neuronalen netzes gegen adversariale störungen

Legal Events

Date Code Title Description
R163 Identified publications notified