DE102021212906A1 - Verfahren zum Steuern eines Agenten - Google Patents

Verfahren zum Steuern eines Agenten Download PDF

Info

Publication number
DE102021212906A1
DE102021212906A1 DE102021212906.4A DE102021212906A DE102021212906A1 DE 102021212906 A1 DE102021212906 A1 DE 102021212906A1 DE 102021212906 A DE102021212906 A DE 102021212906A DE 102021212906 A1 DE102021212906 A1 DE 102021212906A1
Authority
DE
Germany
Prior art keywords
latent
state
states
action
representations
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
DE102021212906.4A
Other languages
English (en)
Inventor
Jan Guenter Woehlke
Herke Van Hoof
Davide Barbieri
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 DE102021212906.4A priority Critical patent/DE102021212906A1/de
Priority to US18/054,260 priority patent/US20230153388A1/en
Priority to CN202211436958.6A priority patent/CN116149171A/zh
Publication of DE102021212906A1 publication Critical patent/DE102021212906A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

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

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Agenten bereitgestellt, aufweisend Sammeln, für mehrere Repräsentationen von Zuständen des Agenten, von Trainingsdaten, Trainieren, unter Verwendung der Trainingsdaten, für jede Repräsentation, eines Zustands-Encoders, eines Zustands-Decoders, eines Aktions-Encoders und eines Aktions-Decoders und eines für die Repräsentationen gemeinsamen Übergangsmodells für latente Zustände und eines für die Repräsentationen gemeinsamen Q-Funktionsmodells für latente Zustände. Das Verfahren weist ferner das Empfangen eines Zustands des Agenten in einer der Repräsentationen, für den eine Steuerungsaktion ermittelt werden soll, das Abbilden des Zustands auf einen oder mehrere latente Zustände mittels des Zustands-Encoders für die eine der Repräsentationen, das Bestimmen von Q-Werten für den einen oder die mehreren latenten Zustände für eine Menge von Aktionen mittels des Q-Funktionsmodells, das Auswählen der Steuerungsaktion aus der Menge von Aktionen mit dem besten Q-Wert als Steueraktion und das Steuern des Agenten gemäß der ausgewählten Steueraktion auf.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern eines Agenten.
  • Verstärkendes Lernen (Reinforcement Learning, RL) ist ein Paradigma des maschinellen Lernens, das es einem Agenten, z. B. einer Maschine, ermöglicht, zu lernen, ein gewünschtes Verhalten in Bezug auf eine Aufgabenspezifikation auszuführen, z. B. welche Steuerungsmaßnahmen zu tätigen sind, um einen Zielort in einem Roboternavigationsszenario zu erreichen. Das Erlernen einer Strategie, die diese Verhaltensweisen mit Hilfe von verstärkendem Lernen erzeugt, unterscheidet sich vom Lernen mit überwachtem Lernen durch die Art und Weise, wie die Trainingsdaten zusammengestellt und erhalten werden: Während beim überwachten Lernen die bereitgestellten Trainingsdaten aus aufeinander abgestimmten Paaren von Eingaben für die Strategie (z. B. Beobachtungen wie sensorische Messwerte) und gewünschten Ausgaben (auszuführende Aktionen) bestehen, gibt es im Falle des verstärkenden Lernens keine festen Trainingsdaten. Die Strategie wird aus Erfahrungsdaten gelernt, die durch die Interaktion des Agenten mit seiner Umgebung gesammelt wurden, wobei der Agent ein Feedbacksignal (Belohnung) erhält, das die in einem bestimmten Kontext (Zustand) durchgeführten Aktionen bewertet.
  • Verstärkendes Lernen erfordert jedoch oft eine beträchtliche Menge von solchen Trainingsdaten, um zu einer richtigen Lösung zu konvergieren. Insbesondere bei komplexen Aufgaben sind deshalb viele Interaktionen des Agenten mit der Umgebung für das Training erforderlich, was bei der Ausführung in der realen Welt einen erheblichen Aufwand bedeuten kann. Ein Training nur basierend auf Simulationen, was weniger aufwändig wäre, kann jedoch zu schlechten Ergebnissen führen.
  • Es sind deshalb Herangehensweisen wünschenswert, die ein kombiniertes Training in verschiebenden Repräsentationen einer Aufgabe (z.B. simuliert und in der realen Welt) ermöglichen.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Agenten bereitgestellt, aufweisend Sammeln von Trainingsdaten, für mehrere Repräsentationen von Zuständen des Agenten, Trainieren, unter Verwendung der Trainingsdaten, für jede Repräsentation, eines Zustands-Encoders zum Abbilden von Zuständen auf latente Zustände in einem (gemeinsamen) latenten Zustandsraum, eines Zustands-Decoders zum Abbilden von latenten Zuständen zurück aus dem latenten Zustandsraum, eines Aktions-Encoders zum Abbilden von Aktionen auf latente Aktionen in einem (gemeinsamen) latenten Aktionsraum und eines Aktions-Decoders zum Abbilden von latenten Aktionen zurück aus dem latenten Aktionsraum und eines für die Repräsentationen gemeinsamen Übergangsmodells für latente Zustände und eines für die Repräsentationen gemeinsamen Q-Funktionsmodells für latente Zustände unter Verwendung der Zustands-Encoder, der Zustands-Decoder, der Aktions-Encoder und der Aktions-Decoder. Das Verfahren weist ferner das Empfangen eines Zustands des Agenten in einer der Repräsentationen, für den eine Steuerungsaktion ermittelt werden soll, das Abbilden des Zustands auf einen oder mehrere latente Zustände mittels des Zustands-Encoders für die eine der Repräsentationen, das Bestimmen von Q-Werten für den einen oder die mehreren latenten Zustände für eine Menge von Aktionen mittels des Q-Funktionsmodells das Auswählen der Steuerungsaktion aus der Menge von Aktionen mit dem besten Q-Wert als Steueraktion und das Steuern des Agenten gemäß der ausgewählten Steueraktion auf.
  • Das oben beschriebene Verfahren zum Steuern eines Agenten ermöglicht die Kombination von Wissen aus unterschiedlichen Repräsentationen derselben Aufgabe (z.B. derselben Umgebung). Dies ermöglicht eine Beschleunigung des Trainings in einer der Repräsentationen durch Nutzung des Wissens aus anderen Repräsentationen.
  • Speziell können Trainingsdaten, die in unterschiedlichen Repräsentationen einer Aufgabe gewonnen werden, kombiniert werden. Beispielsweise kann auf einer weniger detaillierten (abstrakteren) einfacheren Darstellung der jeweiligen Aufgabe trainiert werden (was mit weniger Interaktionen des Agenten mit seiner Umgebung möglich ist) und dann das dabei gewonnene Wissen auf eine komplexere Zielaufgabe übertragen werden, von dem Agenten eigentlich gelöst werden soll und somit insgesamt der Trainingsaufwand reduziert werden.
  • Die einfachere Darstellung kann es auch erlauben, schneller und/oder günstiger (in Hinblick auf erforderliche Ressourcen) mehr Interaktionen durchzuführen. Beispielsweise kann ein Training in der realen Welt mit einem Training in einer Simulation kombiniert werden. Da das Training in der realen Welt typischerweise mit einem hohen Aufwand verbunden ist, weil es beispielsweise menschliche Hilfe sowie zusätzliche Hardware erfordert, kann auch dadurch der Aufwand für das Training reduziert werden.
  • Es kann auch beispielsweise Vorwissen über eine Aufgabe, wie eine Art Karte oder ein Plan oder eine symbolische Repräsentation der Aufgabe vorhanden sein, das (z.B. in einer geeigneten Repräsentation) genutzt werden kann, sodass der Trainingsprozess insgesamt beschleunigt werden kann.
  • Im Vergleich zum herkömmlichen Training einer RL-Steuerungsstrategie, die für jede der Repräsentationen neu trainiert werden muss, kann die Dateneffizienz erhöht werden (also die Anzahl erforderlicher Interaktionen mit der Umgebung verringert werden). Insbesondere können Interaktionen in Repräsentationen, die weniger Aufwand erfordern (Simulationen) verwendet werden und damit die erforderliche Anzahl von Interaktionen in Repräsentationen, die viel Aufwand erfordern (Interaktionen mit der realen Welt) verringert werden.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ein Verfahren zum Steuern eines Agenten wie oben beschrieben.
  • Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, wobei das Trainieren unter Verwendung einer Verlustfunktion durchgeführt wird, die einen Verlust aufweist, der es belohnt, wenn das latente Übergangsmodell mit hoher Wahrscheinlichkeit Übergänge von latenten Zuständen liefert, auf die der Zustands-Encoder (der jeweiligen Repräsentation) Zustände abbildet, die in den Trainingsdaten ineinander übergegangen sind.
  • Beispielsweise werden das latente Übergangsmodell sowie der Zustands-Encoder, der Zustands-Decoder, der Aktions-Encoder und der Aktions-Decoder (bzw. die jeweiligen Parameter) für alle Repräsentationen unter Verwendung einer Verlustfunktion trainiert, die die Maximierung der Wahrscheinlichkeit („likelihood“) des Auftretens der gesammelten Interaktionsdaten aus den Repräsentationen unter dem Gesamtmodell zum Ziel hat (Maximum-Likelihood-Methode).
  • Durch Verwendung einer solchen Verlustfunktion wird sichergestellt, dass das latente Übergangsmodell für alle Repräsentationen geeignet ist und nicht etwa mit hoher Wahrscheinlichkeit Übergänge erzeugt, die in einer der Repräsentationen nur mit geringer Wahrscheinlichkeit auftreten.
  • Ausführungsbeispiel 3 ist das Verfahren nach Ausführungsbeispiel 2, wobei die Verlustfunktion einen Lokalitätsbedingungs-Term aufweist, der große Distanzen im latenten Zustandsraum zwischen (wahrscheinlichen) Übergängen zwischen latenten Zuständen bestraft.
  • Auf diese Weise kann eine sinnvolle Struktur des latenten Zustandsraums erreicht werden, die insbesondere für Aufgaben wie Navigationsaufgaben geeignet ist.
  • Ausführungsbeispiel 4 ist das Verfahren nach Ausführungsbeispiel 2 oder 3, wobei die Verlustfunktion einen Verstärkendes-Lernen-Verlust für das gemeinsame Q-Funktionsmodell aufweist.
  • Somit wird erreicht, dass alle Komponenten des Modells bei einem Training zum Reduzieren des Werts der Verlustfunktion für die Trainingsdaten trainiert werden.
  • Ausführungsbeispiel 5 ist das Verfahren nach Ausführungsbeispiel 4, wobei der Verstärkendes-Lernen-Verlust ein Double Deep Q Network-Verlust ist
  • Dies ermöglicht ein effizientes Training des gemeinsamen (d.h. latenten) Q-Funktionsmodells.
  • Ausführungsbeispiel 6 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei der Zustands-Encoder und der Aktions-Encoder auf eine jeweilige Wahrscheinlichkeitsverteilung abbilden. Dadurch erhält das Q-Funktionsmodell statt eines einzelnen latenten Zustandes mehrere Samples (auch als Partikel bezeichnet) von latenten Zuständen gemäß der für den Zustand (aus einer jeweiligen Repräsentation vom entsprechenden Zustands-Encoder gelieferten Verteilung latenter Zustände.
  • In anderen Worten führen die Komponenten (z.B. neuronale Netzwerk) Variationsinferenz durch. Dies stellt beispielsweise eine stetige Struktur der latenten Räume sicher.
  • Ausführungsbeispiel 7 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 6, wobei die Repräsentationen eine erste Repräsentation aufweisen, die eine Repräsentation von Zuständen in der realen Welt ist und für die Trainingsdaten durch Interaktion des Agenten mit der realen Welt gesammelt werden und wobei die Repräsentationen eine zweite Repräsentation aufweisen, die eine Repräsentation von Zuständen in einer Simulation ist und für die Trainingsdaten durch simulierte Interaktion des Agenten mit einer simulierten Umgebung gesammelt werden.
  • Die Kombination von Training durch Interaktion in der realen Welt und durch Interaktion in einer Simulation ermöglicht eine erhebliche Reduzierung des Trainingsaufwands gegenüber einer Beschaffung von Trainingsdaten nur in der realen Welt und vermeiden dabei einen Qualitätsverlust des Trainings, wie er bei einem rein auf Simulation basierten Training auftritt.
  • Es können allerdings auch mehrere Simulationen kombiniert werden, d.h. beide (oder mehr) Repräsentationen können simulierte Zustände repräsentieren.
  • Ausführungsbeispiel 8 ist eine Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7 durchzuführen.
  • Ausführungsbeispiel 9 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 7 durchführt.
  • Ausführungsbeispiel 10 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 7 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 ein Steuerungsszenario.
    • 2 zeigt ein Modell zum Lernen einer Steuerungsstrategie mittels verstärkenden Lernens.
    • 3 veranschaulicht eine Bedingung, die durch einen Trainingsverlust gemäß einer Ausführungsform implementiert wird.
    • 4 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern eines Agenten veranschaulicht.
  • 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 Ausführungsbeispiele genauer beschrieben.
  • 1 zeigt ein Steuerungsszenario.
  • Ein gesteuertes Objekt 100 (z.B. ein Roboter z.B. ein Fahrzeug) befindet sich in einer Umgebung 101. Das gesteuerte Objekt 100 hat eine Startposition 102 und soll eine Zielposition 103 erreichen. In der Umgebung 101 befinden sich Hindernisse 104, die von dem gesteuerten Objekt 100 umfahren werden sollen. Sie dürfen z. B. nicht von dem gesteuerten Objekt 100 passiert werden (z. B. Mauern, Bäume oder Felsen) oder sollen gemieden werden, weil der Agent sie beschädigen oder verletzen würde (z. B. Fußgänger).
  • Das gesteuerte Objekt 100 wird von einer Steuereinrichtung 105 gesteuert (wobei die Steuereinrichtung 105 sich in dem gesteuerten Objekt 100 befinden kann oder auch getrennt von ihm vorgesehen sein kann, d.h. das gesteuerte Objekt kann auch ferngesteuert werden). Im Beispielszenario von 1 besteht das Ziel darin, dass die Steuereinrichtung 105 das gesteuerte Objekt 100 steuert, um die Umgebung 101 von der Startposition 102 zur Zielposition 103 zu navigieren. Das gesteuerte Objekt 100 ist beispielsweise ein autonomes Fahrzeug, kann aber auch ein Roboter mit Beinen oder Ketten oder einer anderen Art von Antriebssystem sein (z.B. ein Tiefsee- oder Marsrover).
  • Außerdem sind die Ausführungsformen nicht auf das Szenario beschränkt, dass ein gesteuertes Objekt wie ein Roboter (als Ganzes) zwischen den Positionen 102, 103 bewegt werden soll, sondern können z.B. auch für die Steuerung eines Roboterarms verwendet werden, dessen Endeffektor zwischen den Positionen 102, 103 bewegt werden soll (ohne auf Hindernisse 104 zu stoßen) usw.
  • Dementsprechend werden im Folgenden Begriffe wie Roboter, Fahrzeug, Maschine usw. als Beispiele für das zu gesteuerte Objekt bzw. das computergesteuerte System (z. B. ein Roboter mit Objekten in seinem Arbeitsbereich), verwendet. Die hier beschriebenen Ansätze können mit verschiedenen Arten von computergesteuerten Maschinen wie Robotern oder Fahrzeugen und anderen verwendet werden. Der allgemeine Begriff „Agent“ wird im Folgenden auch insbesondere für alle Arten von technischen Systemen verwendet, die mit den im Folgenden beschriebenen Ansätzen gesteuert werden können. Die im Folgenden 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).
  • Im Idealfall hat die Steuereinrichtung 105 eine Steuerungsstrategie erlernt, die es ihr erlaubt, das gesteuerte Objekt 100 für beliebige Szenarien (d.h. Umgebungen, Start- und Zielpositionen), die der Steuereinrichtung 105 (beim Training) noch nicht begegnet sind, erfolgreich zu steuern (von der Startposition 102 zur Zielposition 103, ohne auf Hindernisse 104 zu treffen).
  • Die Steuerungsstrategie kann unter Verwendung von verstärkendem Lernen gelernt werden, wobei gemäß verschiedenen Ausführungsformen, um ein effizienteres Lernen mit geringem Aufwand zu erreichen, Information aus unterschiedlichen Bereichen, d.h. unterschiedlichen Typen von Daten (insbesondere Sensordaten), z.B. Bilder aus der Draufsicht, Koordinaten des gesteuerten Objekts 101, One-Hot-Vektoren, ..., d.h. unterschiedlichen Repräsentationen der Zustände des gesteuerten Objekts und seiner Umgebung und Aktionen bzw. entsprechend der durchzuführenden Aufgabe mit ggf. unterschiedlichem Detailgrad (z.B. Auflösung von Bildern oder Karten), kombiniert.
  • Es ist dabei nicht notwendig, dass die Informationen, die kombiniert (oder „gemischt“) werden, zusammen oder gleichzeitig verfügbar sind, sondern sie können unabhängig voneinander gesammelt werden. Gemäß verschiedenen Ausführungsformen wird eine Steuerungsstrategie derart trainiert, dass sie in jeder der Repräsentationen arbeiten kann, d.h. das gesteuerte Objekt in jeder der Repräsentationen geeignet steuern kann, die im Training aufgetreten sind, wobei die Effizienz des Trainings in jeder Repräsentation effizienter wird, dadurch, dass Wissen aus dem Training in den anderen Repräsentationen genutzt wird.
  • Die Steuerungsstrategie wird durch ein Modell repräsentiert. Dieses enthält gemäß verschiedenen Ausführungsformen neuronale Netze (insbesondere ein neuronales Q-Funktions-Netzwerk). Speziell hat es Komponenten zum Abbilden von Zuständen und Aktionen aus mehreren (abstrakten) Repräsentationen derselben Aufgabe (als Markov-Entscheidungsproblem) auf dieselbe latente Repräsentation mit einem latenten Übergangsmodell. Für jede Repräsentation gibt es ein individuelles Paar aus Encoder und Decoder für Zustände und Aktionen (separat für Zustände und Aktionen) zum Abbilden in die latente Repräsentation und aus ihr heraus. Basierend auf ermittelten latenten Zuständen berechnet ein neuronales Ausgabenetzwerk des Modells Q-Werte für (diskrete) Aktionen und basierend auf diesen Q-Werten werden Aktionen in der jeweiligen Repräsentation ausgewählt. Das Gesamtmodell wird durch Kombinieren eines Verlustterms für das latente Übergangsmodell sowie die Zustands-Encoder, Zustands-Decoder, Aktions-Encoder und Aktions-Decoder für alle Repräsentationen und einem klassischen RL-Verlustterm zur Maximierung des Ertrags aus Interaktionsdaten, die in den verschiedenen Repräsentationen (in derselben Umgebung) gesammelt werden, trainiert.
  • Das Modell ermöglicht somit die Kombination von Information aus unterschiedlichen Repräsentationen derselben Aufgabe (bzw. Umgebung oder gesteuerten Systems) in einem latenten Raum.
  • Eine Lokalitätsbedingung kann dazu verwendet werden, eine sinnvolle Struktur in der latenten Repräsentation herzustellen (insbesondere für Navigationsaufgaben). Dabei werden (große) räumliche Distanzen zwischen zeitlich aufeinanderfolgenden latenten Zuständen bestraft, umso mehr je wahrscheinlicher dieser Übergang latenter Zustände ist. Es werden daher (räumlich) lokale Übergange zwischen latenten Zuständen erzwungen.
  • Gemäß verschiedenen Ausführungsformen wird die RL-Steuerungsstrategie bzw. das Q-Netzwerk (d.h. das neuronale Ausgabenetzwerk des Modells) mittels Off-Policy-Double-DQN mit Erfahrungswiedergabe (engl. experience replay) trainiert. Es wird dafür beispielsweise ein separater Speicher für Zustandsübergänge verwendet von dem, der Trajektorien-Ausschnitte speichert (zum Training des Übergangsmodells). Dies führt zu einer hohen Dateneffizienz beim Trainieren dieses Teils der Architektur (Q-Netzwerk) und kann die Varianz der Gradienten beim Trainieren des Q-Netzwerks verringern.
  • Durch Verwendung von separaten Encoder und Decoder gemäß verschiedenen Ausführungsformen kann eine hohe Qualität der Codierungen (als latente Werte) erreicht werden.
  • 2 zeigt ein Modell 200 zum Lernen einer Steuerungsstrategie mittels verstärkenden Lernens gemäß einer Ausführungsform. Es wird beispielsweise von der Steuereinrichtung 105 implementiert.
  • Das Modell 200 ist derart ausgestaltet, dass es für mehrere Markov-Entscheidungsprozesse (für dieselbe Aufgabe) trainiert wird. D.h., der jeweilige Agent lernt eine Zustands-Wert-Funktion (in Form eines neuronalen Q-Netzwerks) und damit eine Steuerungsstrategie (die beinhaltet, dass man für einen Zustand die Aktion mit dem höchsten Q-Wert auswählt). Für das Training des Q-Netzwerks sind zusätzliche Komponenten vorgesehen. Zustände und Aktionen werden auf einen latenten Zustandsraum und latenten Aktionsraum abgebildet. Diese können als Zustandsraum und Aktionsraum eines latenten Entscheidungsprozesses angesehen werden. Für die latenten Zustände (d.h. die Zustände aus dem latenten Zustandsraum) berechnet das Q-Netzwerk die Q-Werte. Die zusätzlichen Komponenten helfen beim Training dabei, den latenten Entscheidungsprozess geeignet zu bilden (d.h. das latenten Übergangsmodell geeignet zu trainieren).
  • Im Training sind die Eingaben für jeden Zeitpunkt t die Aktion, die der Agent im vorherigen Zeitpunkt durchgeführt hat (at-1) und der resultierende Zustand (st) und die resultierende Belohnung (rt).
  • Die trainierbaren Komponenten des Modells sind der Zustands-Encoder Ψ μ M S
    Figure DE102021212906A1_0001
    und der Zustands-Decoder Φ τ M S ,
    Figure DE102021212906A1_0002
    der Aktions-Encoder Ψ ω M a
    Figure DE102021212906A1_0003
    und der Aktions-Decoder Φ κ M a ,
    Figure DE102021212906A1_0004
    die latente Übergangsfunktion (d.h. die Übergangsfunktion für den latenten Entscheidungsprozess) ρυ und die Q-Funktion Qθ, die ebenfalls als „latente“ Q-Funktion bezeichnet werden kann, weil ihre Eingabe latente Zustände sind.
  • Die Parameter der Encoder und Decoder für Zustände und Aktionen
    Figure DE102021212906A1_0005
    ,
    Figure DE102021212906A1_0006
    ,
    Figure DE102021212906A1_0007
    und
    Figure DE102021212906A1_0008
    hängen ab von der Repräsentation, für die sie verwendet werden (d.h. in welcher die Aktion durchgeführt wurde bzw. der Zustand erreicht wurde, wobei jede Repräsentation als eigener Markov-Entscheidungsprozess gesehen werden kann). Dies soll anzeigen, dass für jede Repräsentation ein eigener Satz aus Encoder und Decoder (für Zustände und Aktionen) verwendet wird. Encoder und Decoder können auch für unterschiedliche Repräsentationen unterschiedliche Topologien haben.
  • Bei dem Modell 200 führen mehrere neuronale Netzwerk Variationsinferenz (engl. variational inference) durch. Ihre Ausgabe zu einer Eingabe ist entsprechend eine Wahrscheinlichkeitsverteilung, typischerweise durch Ausgabe von Parametern einer Wahrscheinlichkeitsdichtefunktion (z.B. Mittelwert und Kovarianzmatrix einer mehrdimensionalen Gauß-Verteilung).
  • Ein solches Netzwerk ist der Zustands-Encoder Ψ μ M S
    Figure DE102021212906A1_0009
    für eine zugehörige Repräsentation, der einen Zustand in der Repräsentation auf eine Wahrscheinlichkeitsverteilung 201 im latenten Zustandsraum abbildet. Gemäß einer Ausführungsform gibt er die Wahrscheinlichkeitsverteilung 201 als Mittelwert und diagonaler Kovarianzmatrix einer mehrdimensionalen Gauß-Verteilung aus. Zur Einfachheit wird mit Ψ μ M S ( z | s )
    Figure DE102021212906A1_0010
    die Wahrscheinlichkeit des latenten Zustands z gegebenen der Zustand s bezeichnet.
  • Ähnlich bildet der Aktionsencoder Ψ ω M a
    Figure DE102021212906A1_0011
    für eine zugehörige Repräsentation eine in der Repräsentation durchgeführte Aktion auf eine Wahrscheinlichkeitsverteilung über den latenten Aktionsraum ab. Latente Aktionen, d.h. Elemente des latenten Aktionsraums sind Unterschiede zwischen zwei latenten Zuständen. Damit haben latente Aktionen (also Codierungen von Aktionen) die gleiche Dimension wie latente Zustände und die ausgebende Wahrscheinlichkeitsverteilung ist auch eine mehrdimensionale Gauß-Verteilung.
  • Der Zustands-Decoder Φ τ M S
    Figure DE102021212906A1_0012
    und der Aktions-Decoder Φ κ M a
    Figure DE102021212906A1_0013
    werden derart trainiert, dass sie die zu den Encoder umgekehrten Abbildungen durchführen, wobei auch deren Ausgaben Wahrscheinlichkeitsverteilungen 203, 204 sind.
  • Beim Training zum Auswerten der Verlustfunktion, werden mehrere Samples (auch als Partikel bezeichnet) von latenten Zuständen z t k
    Figure DE102021212906A1_0014
    und latenten Aktionen α t 1 k
    Figure DE102021212906A1_0015
    genommen, hierbei ist k der Index für das Sample und k = 1, ..., K, d.h. K die Anzahl der Samples für jeden Zeitschritt (mit Zeitschritt-Index t). Dieses Sampling erfolgt, um die Unsicherheit über das wahre Paar von latentem Zustand und latenter Aktion auszudrücken. Der Reparametrisierungstrick kann verwendet werden, um über das Sampeln hinweg zu differenzieren (zur Ermittlung des Gradienten der Verlustfunktion für das Training, d.h. Anpassen der Parameter der verschiedenen neuronalen Netzwerke durch Rückpropagation).
  • In 2 ist das Sampling mittels gepunkteten Linien dargestellt. Strickpunktierte Linien deuten eine Auswertung von (logarithmierten) Wahrscheinlichkeiten an. Die resultierende Wahrscheinlichkeit dienen zur Auswertung eines Gewichts w t k ,
    Figure DE102021212906A1_0016
    d.h. die Wahrscheinlichkeit (d.h. Likelihood) angibt, dass ein Sample (Partikel) der wahre Zustand im latenten Zustandsraum ist. Es kann berechnet werden durch w t k = ρ υ ( z t k , r t | z t 1 u t k , α t 1 k ) Φ τ M s ( s t | z t k ) Φ k M a ( a t 1 | α t 1 k ) Ψ μ M s ( z t k , | s t ( M ) ) Ψ ω M a ( α t 1 k | a t 1 ( M ) )
    Figure DE102021212906A1_0017
  • Hierbei ist u t k
    Figure DE102021212906A1_0018
    der Index des Vorgängers von zt in der Menge von Samples im vorhergehenden Zeitschritt z t 1 1 : K .
    Figure DE102021212906A1_0019
    Zum Berechnen der (logarithmierten) Wahrscheinlichkeit eines Übergangs muss nämlich der vorhergehende latente Zustand z t 1 u t k
    Figure DE102021212906A1_0020
    bekannt sein. Dieser vorhergehende Zustand wird aus der Menge von Samples des vorherigen Zeitschritts gesampelt mit einer Wahrscheinlichkeit 206, die direkt proportional zum zugehörigen Gewicht ist.
  • Dabei bezeichnet ρυ das latente Übergangsmodell (wie die Encoder, Decoder und Q-Funktion ebenfalls implementiert in Form eines neuronalen Netzes). Es ist für alle Repräsentationen gleich und codiert sowohl die Zustandsübergänge als auch die Belohnungsfunktion für den latenten Entscheidungsprozess. Gegeben einen latenten (vorhergehenden) latenten Zustand und eine latente (vorhergehende) Aktion liefert es eine Verteilung 205 über den latenten (nächsten) Zustand und die Belohnung (wiederum als Parameter einer mehrdimensionalen Gaußverteilung).
  • Für das Training der neuronalen Netze wird folgender Verlust verwendet L = λ RL L RL + λ PF L PF
    Figure DE102021212906A1_0021
    wobei die beiden Komponenten, der RL-Verlust (Double DQN-Verlust) und der Partikelfilterverlust gegeben sind durch L RL = M log   p ( Q M | Q θ M )
    Figure DE102021212906A1_0022
    L PF = M τ log   p ( D ( M , τ ) )
    Figure DE102021212906A1_0023
  • Die beiden Vorfaktoren λRL und λPF sind Gewichtungen. Sie können durch Experimente geeignet gewählt werden oder auch beide gleich Eins gesetzt werden.
  • Eines der Ziele ist es somit, den Partikelfilterverlust zu minimieren. Dieser zielt darauf ab, den Logarithmus der Summe der Gewichte w t k
    Figure DE102021212906A1_0024
    zu maximieren, z.B. L  PF   M , τ = t = 2 T E z 1 : T 1 : K Ψ μ M s , α 1 : T 1 : K Ψ ω M α , u 1 : T 1 : K p ( u t 1 : K ) [ log ( 1 K k w t k ) ] = E z 1 : T 1 : K Ψ μ M s , α 1 : T 1 : K Ψ ω M α , u 1 : T 1 : K p ( u t 1 : K ) [ t = 2 T log ( 1 K k w t k ) ]
    Figure DE102021212906A1_0025
  • 3 veranschaulicht die Bedingung, die durch den Partikel-Verlust für das latente Übergangsmodell gestellt wird: Ein (in den Trainingsdaten) beobachteter Zustandsübergang 301 soll dem Übergang 302 der zugehörigen Codierungen im latenten Zustandsraum entsprechen, den das Übergangsmodell liefert.
  • Gemäß einer Ausführungsform wird in den Partikel-Verlust noch eine Lokalitätsverbindung eingeführt. Diese soll bewirken, dass die Distanz zwischen zwei latenten Zuständen kleiner wird, wenn die Wahrscheinlichkeit eines direkten Übergangs zwischen den beiden wächst. Der Partikelverlust ist dafür beispielsweise gegeben durch L  PF   M , τ = E z 1 : T 1 : K Ψ μ M s , α 1 : T 1 : K Ψ ω M α , u 1 : T 1 : K p ( u t 1 : K )   [ t = 2 T log ( 1 K k w t k ) + λ local k ' z t k ' z t 1 u t k ' 2 2 ]
    Figure DE102021212906A1_0026
  • Der Vorfaktor λlocal ist eine Gewichtung, die durch Experimente geeignet gewählt werden kann oder auch gleich Eins gesetzt werden kann.
  • Die latente Q-Funktion
    Figure DE102021212906A1_0027
    liefert einen Zustands-Aktions-Wert (Q-Wert) für jede mögliche Aktion gegeben eine Menge gesampelter latenter Zustände. Die Eingabe für das Q-Netzwerk ist somit eine Aneinanderreihung (Konkatenation) von mehreren Samples (Partikeln). Das gesamte Modell 200 kann als Q-Funktions-Approximierer für mehrere Entscheidungsprozesse gesehen werden. Für einen gegebenen Entscheidungsprozess (d.h. eine gegebene Repräsentation)
    Figure DE102021212906A1_0028
    wäre der Approximierer Q θ | z k Ψ μ M s ,
    Figure DE102021212906A1_0029
    d.h. die Komposition aus Zustands-Encoder, Sampling (und Konkatenation) latenter Zustände und der latenten Q-Funktion. Die Q-Funktions-Approximation für
    Figure DE102021212906A1_0030
    wird mit Q   θ M
    Figure DE102021212906A1_0031
    bezeichnet. Die latente Q-Funktion wird gemäß einer Ausführungsform mittels Double DQN (Double Deep Q Network) trainiert. Sie wird auch bei der Inferenz (d.h. im Betrieb, also bei der Steuerung nach dem Training) verwendet, um Aktionen für einen aktuellen Zustand (der vom Zustandsencoder codiert wird) zu bestimmen. Im Betrieb werden nur noch die latente Q-Funktion und die Zustands-Encoder verwendet. Entsprechend wird der Encoder sowohl gemäß dem Partikelfilterverlust als auch dem Double-DQN-Verlust trainiert. Die anderen in 2 gezeigten Komponenten (Decoder, Aktions-Encoder und -Decoder, Übergangsmodell) sind lediglich für das Training erforderlich.
  • Im Folgenden wird ein Beispiel für einen Trainingsalgorithmus gemäß dem obigen Vorgehen angegeben. Der Algorithmus ist in Pseudocode angegeben, wobei übliche englische Schlüsselwörter wie „for“, „end“, „if“ und „then“ verwendet werden.
    Figure DE102021212906A1_0032
    Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 4 dargestellt.
  • 4 zeigt ein Ablaufdiagramm 400, das ein Verfahren zum Steuern eines Agenten veranschaulicht.
  • In 401 werden für mehrere Repräsentationen von Zuständen des Agenten Trainingsdaten gesammelt.
  • In 402 werden, unter Verwendung der Trainingsdaten,
    • • für jede Repräsentation,
      • ◯ ein Zustands-Encoder zum Abbilden von Zuständen auf latente Zustände in einem latenten Zustandsraum,
      • ◯ ein Zustands-Decoder zum Abbilden von latenten Zuständen zurück aus dem latenten Zustandsraum,
      • ◯ ein Aktions-Encoder zum Abbilden von Aktionen auf latente Aktionen in einem latenten Aktionsraum,
      • ◯ ein Aktions-Decoder zum Abbilden von latenten Aktionen zurück aus dem latenten Aktionsraum
    • • ein für die Repräsentationen gemeinsames Übergangsmodell für latente Zustände
    • • eines für die Repräsentationen gemeinsames Q-Funktionsmodell für latente Zustände
    (gemeinsam) trainiert. Das Übergangsmodell und das Q-Funktionsmodell werden dabei unter Verwendung der Zustands-Encoder, der Zustands-Decoder, der Aktions-Encoder und der Aktions-Decoder (für die Repräsentationen) trainiert (wobei auch Parameter der Encoder und Decoder mittrainiert werden).
  • Es sollte beachtet werden, dass das Sammeln der Trainingsdaten in 401 und das Training in 402 abwechselnd durchgeführt werden, d.h. die Trainingsdaten werden unter Verwendung des aktuellen Zustands-Encoders und Q-Funktionsmodells in den ein oder mehreren Repräsentationen gesammelt und in entsprechende Speicher geschrieben und damit das (Gesamt-)Modell trainiert. In anderen Worten werden das Sammeln der Daten in 401 und das Training des Modells im Wechsel wiederholt, bis das Training des Modells (d.h. der genannten Modellkomponeten) abgeschlossen ist.
  • In 403 wird (z.B. nach abgeschlossenem Training) ein Zustand des Agenten in einer der Repräsentationen empfangen, für den eine Steuerungsaktion ermittelt werden soll.
  • In 404 wird der Zustand auf einen oder mehrere latente Zustände (z.B. auf Samples aus einer Verteilung latenter Zustände) mittels des Zustands-Encoders für die eine der Repräsentationen abgebildet. Beispielsweise wird der Zustand zunächst auf eine Verteilung latenter Zustände abgebildet, woraus dann latente Zustände gesampelt werden. Dies kann als Abbilden des Zustands auf die gesampelten latenten Zustände angesehen werden.
  • In 405 werden Q-Werte für den einer oder die mehreren latenten Zustände (z.B. die Samples, auch als Partikel gezeichnet) für eine Menge von Aktionen mittels des Q-Funktionsmodells ermittelt.
  • In 406 wird die Steuerungsaktion mit dem besten Q-Wert aus der Menge von Aktionen als Steueraktion ausgewählt und der Agenten gemäß der ausgewählten Steueraktion gesteuert.
  • Gemäß verschiedenen Ausführungsformen werden mit anderen Worten mehrere Repräsentation in einem latenten Modell (aufweisend einen latenten Zustandsräume, einen latenten Aktionsraum, eine latente Übergangsfunktion und ein latentes Q-Funktionsmodell) zusammengeführt.
  • Das Verfahren von 4 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.
  • Die Herangehensweise von 4 kann zum Erzeugen eines Steuersignals für irgendein technisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird), wie z. B. eine Robotervorrichtung, was z.B. eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, ein persönlicher Assistent oder ein Zugangssteuersystem sein kann. Es wird eine Steuerungsvorschrift für das technische System gelernt und das technische System dann entsprechend gesteuert.
  • Ein Beispiel ist ein selbstfahrendes Auto, für das eine Steuervorrichtung trainiert bzw. eine Steuerstrategie gelernt werden soll. Das Auto kann Trainingsdaten in einer realen Testumgebung sammeln, z.B. durch Aufnehmen von Kamerabildern, oder es können Trainingsdaten in einer Simulation der Testumgebung gesammelt werden, wobei bei der Simulation beispielsweise an Stelle von Bildern x-y-Koordinaten und Entfernungen zu Hindernissen als Informationen über Steuerungszustände (d.h. Beobachtungen) gesammelt werden, da es einfach ist, solche Informationen bei einer Simulation zu bestimmen. Die Herangehensweise von 4 ermöglicht es nun, eine Steuerungsstrategie (z.B. in Form eines neuronalen Q-Netzwerks) zu trainieren, um das Fahrzeug zu betreiben, wobei derselbe Aktionsraum für beide Repräsentationen (reale Welt mit Bilddaten als Zustandsinformation (Beobachtungen) und Simulation mit Koordinaten und Entfernung als Zustandsinformation) angenommen wird, indem separat trainierte Encoder für beide Repräsentationen, die Zustände (Beobachtungen) in einen gemeinsamen latenten Raum abbilden. Für den latenten Raum wird ein Übergangsmodell gelernt, wobei das Wissen, das in beiden Repräsentationen gewonnen wurde, verwendet wird. Auf der Grundlage des latenten Raums berechnet ein Ausgabeabschnitt (der das Q-Netzwerk enthält) Aktionen und Steuersignale unabhängig von der Repräsentation, in der das Fahrzeug aktuell betrieben wird (unter Annahme gleicher Aktionsräume).
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung usw. empfangen und verwenden, beispielsweise um Sensordaten hinsichtlich Zuständen des gesteuerten Systems (z.B. Roboter und Objekt oder Objekte) zu erfassen. Ausführungsformen können zum Trainieren eines Maschinenlemsystems und Steuern eines Roboters, z. B. autonom von Robotermanipulatoren, um verschiedene Manipulationsaufgaben in verschiedenen Szenarien zu erledigen, verwendet werden. Insbesondere sind Ausführungsformen auf die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben anwendbar, z.B. in Montagelinien.
  • 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 (10)

  1. Verfahren zum Steuern eines Agenten aufweisend: Sammeln, für mehrere Repräsentationen von Zuständen des Agenten, von Trainingsdaten; Trainieren, unter Verwendung der Trainingsdaten, für jede Repräsentation, eines Zustands-Encoders zum Abbilden von Zuständen auf latente Zustände in einem latenten Zustandsraum, eines Zustands-Decoders zum Abbilden von latenten Zuständen zurück aus dem latenten Zustandsraum, eines Aktions-Encoders zum Abbilden von Aktionen auf latente Aktionen in einem latenten Aktionsraum, und eines Aktions-Decoders zum Abbilden von latenten Aktionen zurück aus dem latenten Aktionsraum; und eines für die Repräsentationen gemeinsamen Übergangsmodells für latente Zustände und eines für die Repräsentationen gemeinsamen Q-Funktionsmodells für latente Zustände unter Verwendung der Zustands-Encoder, der Zustands-Decoder, der Aktions-Encoder und der Aktions-Decoder, Empfangen eines Zustands des Agenten in einer der Repräsentationen, für den eine Steuerungsaktion ermittelt werden soll; Abbilden des Zustands auf einen oder mehrere latente Zustände mittels des Zustands-Encoders für die eine der Repräsentationen; Bestimmen von Q-Werten für den einen oder die mehreren latenten Zustände für eine Menge von Aktionen mittels des Q-Funktionsmodells; Auswählen der Steuerungsaktion aus der Menge von Aktionen mit dem besten Q-Wert als Steueraktion; und Steuern des Agenten gemäß der ausgewählten Steueraktion.
  2. Verfahren nach Anspruch 1, wobei das Trainieren unter Verwendung einer Verlustfunktion durchgeführt wird, die einen Verlust aufweist, der es belohnt, wenn das latente Übergangsmodell mit hoher Wahrscheinlichkeit Übergänge zwischen latenten Zuständen liefert, auf die der Zustands-Encoder Zustände abbildet, die in den Trainingsdaten ineinander übergegangen sind.
  3. Verfahren nach Anspruch 2, wobei die Verlustfunktion einen Lokalitätsbedingungs-Term aufweist, der große Distanzen im latenten Zustandsraum zwischen wahrscheinlichen Übergängen zwischen latenten Zuständen bestraft.
  4. Verfahren nach Anspruch 2 oder 3, wobei die Verlustfunktion einen Verstärkendes-Lernen-Verlust für das gemeinsame Q-Funktionsmodell aufweist.
  5. Verfahren nach Anspruch 4, wobei der Verstärkendes-Lernen-Verlust ein Double Deep Q Network-Verlust ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Zustands-Encoder und der Aktions-Encoder auf eine jeweilige Wahrscheinlichkeitsverteilung abbilden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Repräsentationen eine erste Repräsentation aufweisen, die eine Repräsentation von Zuständen in der realen Welt ist und für die Trainingsdaten durch Interaktion des Agenten mit der realen Welt gesammelt werden und wobei die Repräsentationen eine zweite Repräsentation aufweisen, die eine Repräsentation von Zuständen in einer Simulation ist und für die Trainingsdaten durch simulierte Interaktion des Agenten mit einer simulierten Umgebung gesammelt werden.
  8. Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
  9. 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 7 durchführt.
  10. 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 7 durchführt.
DE102021212906.4A 2021-11-17 2021-11-17 Verfahren zum Steuern eines Agenten Pending DE102021212906A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021212906.4A DE102021212906A1 (de) 2021-11-17 2021-11-17 Verfahren zum Steuern eines Agenten
US18/054,260 US20230153388A1 (en) 2021-11-17 2022-11-10 Method for controlling an agent
CN202211436958.6A CN116149171A (zh) 2021-11-17 2022-11-16 控制代理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021212906.4A DE102021212906A1 (de) 2021-11-17 2021-11-17 Verfahren zum Steuern eines Agenten

Publications (1)

Publication Number Publication Date
DE102021212906A1 true DE102021212906A1 (de) 2023-05-17

Family

ID=86144383

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021212906.4A Pending DE102021212906A1 (de) 2021-11-17 2021-11-17 Verfahren zum Steuern eines Agenten

Country Status (3)

Country Link
US (1) US20230153388A1 (de)
CN (1) CN116149171A (de)
DE (1) DE102021212906A1 (de)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
de Bruin T., Kober J., Tuyls K., Babuska R.: Integrating State Representation Learning Into Deep Reinforcement Learning. In: IEEE Robotics and Automation Letters, 3, 2018, 3, 1394-1401. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8276247&tag=1 [abgerufen am 26.07.2022]
Kim H., Yamada M., Miyoshi K., Iwata T., Yamakawa H.: Reinforcement Learning in Latent Action Sequence Space. In: International Conference on Intelligent Robots and System, 2020, 5497-5503. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9341629&tag=1 [abgerufen am 26.07.2022]
Sasaki K., Ogata T.: Adaptive Drawing Behavior by Visuomotor Learning Using Recurrent Neural Networks. In: IEEE Transactions on Cognititve and Developmental Systems, 11, 2019, 1, 119-128. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8453841&tag=1 [abgerufen am 26.07.2022]
Wu M., Wu Y.: Latent Action Space for Efficient Planning in Theorem Proving. In: Conference on Artificial Intelligence and Theorem Proving, August 2021, 1-6. http://aitp-conference.org/2021/abstract/paper_24.pdf [abgerufen am 26.07.2022]

Also Published As

Publication number Publication date
CN116149171A (zh) 2023-05-23
US20230153388A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
WO2020094534A1 (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
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102019214402A1 (de) Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
EP3782081B1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
DE102019105850A1 (de) Verfahren zur Erzeugung eines reduzierten neuronalen Netzes für ein Steuergerät eines Fahrzeuges mithilfe von Eigenvektoren
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
DE102021212906A1 (de) Verfahren zum Steuern eines Agenten
WO2019206776A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102018129871A1 (de) Trainieren eins tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten zur Anwendung in einem Fahrunterstützungssystem
DE102021213344A1 (de) Verfahren zum Ermitteln von Agenten-Trajektorien in einem Multi-Agenten-Szenario
DE102022201116A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102021210533A1 (de) Einrichtung und Verfahren zum Steuern eines Agenten
DE102021114768A1 (de) Fahrzeugsteuerung unter Verwendung eines Controllers eines neuronalen Netzes in Kombination mit einem modellbasierten Controller
DE102021204797A1 (de) Vorrichtung und Verfahren zum Erlernen einer Richtlinie für Geländefahrzeuge für Baustellen
DE102020210376A1 (de) Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
DE112021007739T5 (de) Verfahren und einrichtung zur simulation einer umgebung zur durchführung einer aufgabe
DE102022209845A1 (de) Verfahren zum Trainieren eines Agenten
DE102020105485A1 (de) Trainieren lokaler künstlicher neuronaler Netzwerke

Legal Events

Date Code Title Description
R163 Identified publications notified