DE102020205532A1 - Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen - Google Patents

Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen Download PDF

Info

Publication number
DE102020205532A1
DE102020205532A1 DE102020205532.7A DE102020205532A DE102020205532A1 DE 102020205532 A1 DE102020205532 A1 DE 102020205532A1 DE 102020205532 A DE102020205532 A DE 102020205532A DE 102020205532 A1 DE102020205532 A1 DE 102020205532A1
Authority
DE
Germany
Prior art keywords
strategy
action
simulation
control
until
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
DE102020205532.7A
Other languages
English (en)
Inventor
Felix Schmitt
Johannes Maximilian Doellinger
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 DE102020205532.7A priority Critical patent/DE102020205532A1/de
Priority to US17/191,091 priority patent/US20210341885A1/en
Priority to CN202110470954.9A priority patent/CN113590455A/zh
Publication of DE102020205532A1 publication Critical patent/DE102020205532A1/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

Gemäß einer Ausführungsform wird ein Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen beschrieben, wobei in jeder Iteration eine Explorationsstrategie zu einer aktuellen Version der Steuerungsstrategie festgelegt wird, mehrere Simulationsdurchläufe durchgeführt werden, wobei für jeden Simulationsdurchlauf für jeden Zustand einer Folge von Zuständen beginnend mit einem Anfangszustands des Simulationsdurchlaufs so lange gemäß der Explorationsstrategie eine Aktion ausgewählt wird und überprüft wird, ob die ausgewählte Aktion sicher ist, bis eine sichere Aktion ausgewählt wurde oder eine Maximalanzahl größer gleich zwei von Aktionen ausgewählt wurde, der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten Aktion durch Simulation ermittelt wird, falls eine sichere Aktion ausgewählt wurde, oder, falls bis zum Erreichen der Maximalanzahl gemäß der Strategie keine sichere Aktion ausgewählt wurde, der Simulationsdurchlauf abgebrochen wird oder eine vorgegebene sichere Aktion ausgewählt wird, falls eine solche vorhanden ist, und der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten vorgegebenen sicheren Aktion durch Simulation ermittelt wird, die Folge von Zuständen mit den ausgewählten Aktionen und in den Zuständen erhaltene Belohnungen als Daten des Simulationsdurchlaufs gesammelt werden, für die Iteration der Wert einer Verlustfunktion über die Daten der durchgeführten Simulationsdurchläufe ermittelt wird und die Steuerungsstrategie zu einer neuen Version angepasst wird, sodass der Verlustfunktionswert verringert wird.

Description

  • Verschiedene Ausführungsbeispiele betreffen allgemein eine Vorrichtung und ein Verfahren Trainieren einer Steuerungsstrategie für eine Steuereinrichtung, insbesondere eine Roboter-Steuereinrichtung.
  • In den letzten Jahren wurde autonomes Fahren ein Thema großen Interesses sowohl in der Forschung als auch in der Öffentlichkeit. Autonome Fahrzeuge (AVs) haben ein enormes Potenzial, nicht nur wirtschaftlich, sondern auch zur Verbesserung der Mobilitätsmöglichkeiten und potenziell zur Reduzierung von Kohlenstoff-Emissionen. Wie die Steuerung bei jedem Robotersystem beinhaltet autonomes Fahren das Treffen von Entscheidungen. Eine typische Implementierung der Entscheidungsfindung beim autonomen Fahren erfolgt durch die Lösung einer Folge von Pfadplanungsproblemen. Sie werden als eine Folge von Optimierungsproblemen formuliert, bei denen bestimmte Randbedingungen gelten. Eine Lösung (z.B. mit geringsten Kosten) wird dann für die Steuerung ausgewählt. Dieser Ansatz ist rechenintensiv und kann auch zu unkomfortablen Fahrzeugbewegungen führen.
  • Ein anderer Ansatz ist bestärkendes oder verstärkendes Lernen (auch mit engl. Reinforcement Learning (RL) bezeichnet). Beim RL wird auf der Grundlage von Belohnungen, die für Steueraktionen bzw. die dabei erreichten Zustände erhalten werden, eine Steuerungsstrategie angepasst. Das Training ist episodisch. In jedem von mehreren Simulationsdurchläufen (die als Rollouts bezeichnet werden) interagiert eine Steuerung für eine gewisse Zeit mit der Umgebung (d.h. einem Verkehrsszenario) durch Auswahl von Steuerungsaktionen gemäß der aktuellen Steuerungsstrategie und passt die Steuerungsstrategie an, um die erwarteten Belohnungen zu maximieren.
  • Beim autonomen Fahren (und auch anderen Steuerungsszenarien) können jedoch Aktionen auftreten, die nicht umsetzbar sind. Beispielsweise ist ein Spurwechsel nicht umsetzbar, wenn die Zielspur nicht frei ist.
  • Eine Herangehensweise zur Lösung für dieses Problem ist es im Falle einer nicht umsetzbaren Aktion eine Strafe (sehr niedrige und negative Belohnung) auf die eigentliche Belohnung zu addieren und den Simulationsdurchlauf frühzeitig abzubrechen. Dieser Ansatz besitzt den Nachteil, dass bei RL-Anwendungen mit komplexen Teilmengen von umsetzbaren Aktionen zu Beginn des Trainingsprozesses fast ausschließlich Strafen von der Umgebung erhalten werden, da die Strategie noch nicht gelernt hat, welche Aktionen überhaupt umsetzbar sind. Durch das starke Übergewicht der Strafen für nicht umsetzbare Aktionen wird es aber gerade schwierig für die Strategie überhaupt einen Lernfortschritt zu erzielen. In der Konsequenz werden sehr viele und möglicherweise übermäßig viele Rollouts benötigt, um eine Strategie zu lernen die einen hohen Belohnung erzielt.
  • In der Veröffentlichung Nageshrao, Subramanya, Eric Tseng, und Dimitar Filev. „Autonomous Highway Driving using Deep Reinforcement Learning.“ arXiv preprint arXiv:1904.00035 (2019): https://arxiv.org/pdf/1904.00035 (im Folgenden Referenz [1]) wird vorgeschlagen, eine nicht umsetzbare Aktion im Training wie eine Kollision zu behandeln, d.h. mit einer hohen Strafe zu belegen und den Rollout als abgeschlossen zu betrachten. Die Simulation wird allerdings nicht terminiert und stattdessen mit einer sicheren Aktion fortgesetzt. Dadurch enthalten die Trainingsdaten üblicherweise mindestens zur Hälfte (entsprechend der sicheren Aktion) umsetzbare Aktionen. Allerdings werden die Rollouts im Training nach einer einzigen nichtumsetzbaren Aktion unterbrochen. Die Information über den Beitrag vorherigen Aktionen auf Belohnungen nach der zur sicheren Aktion korrigierten Aktion gehen verloren.
  • Dalal, Gal, et al. „Safe exploration in continuous action spaces.“ arXiv preprint arXiv:1801.08757 (2018): https://arxiv.org/pdf/1801.08757 (im Folgenden Referenz [2]) schlägt einen Ansatz vor für den Fall, dass unzulässige Aktionen durch die darauffolgende Überschreitung eines Schwellwerts bzgl. einer messbaren und kontinuierliche Zielgröße definiert sind. Hierzu wird ein Modell geschätzt, das ausgehend von dem aktuellen Zustand und einer zu prüfenden Aktion die Zielgröße vorhersagt. Das Model der Strategie wird schließlich durch eine Schicht erweitert, sodass das Modell die Wahl von unzulässigen Aktionen zu vermeiden versucht. Dabei ist erforderlich, dass das Modell der Zielgröße linear in der zu prüfenden Aktion ist, was bei komplexen Zusammenhängen in Anwendungen im autonomen Fahren oft nicht der Fall ist.
  • Es sind Herangehensweisen zum Trainieren von Steuerungen, z.B. für Roboter (insbesondere von Fahrzeugen) wünschenswert, bei denen die Einschränkungen der obigen Ansätze für den Fall von nicht umsetzbaren Aktionen vermieden werden und insbesondere gute Lernfortschritte erzielt werden können.
  • Das Verfahren mit den Merkmalen von Anspruch 1 erlaubt beim Trainieren der aktuellen Steuerungsstrategie das Durchführen mehrerer Versuche, eine sichere (d.h. z.B. mit nicht zu hohem Risiko umsetzbare) Aktion zu finden. Insbesondere werden Simulationsdurchläufe (Rollouts) nicht bereits nach der ersten nicht umsetzbaren Aktion unterbrochen. Dadurch kann der Beitrag früher Aktionen auf Belohnungen am Ende des Rollouts berücksichtigt werden Dies ermöglicht einen guten Lernfortschritt. Es ist nicht zwingend eine Aktion erforderlich die in jeder Situation sicher ist. Allerdings kann das Verfahren gemäß Anspruch 1 eine sichere Aktion nutzen um das Training weiter zu verbessern.
  • Für das Trainingsverfahren nach Anspruch 1 werden keine kontinuierliche Zielgröße und kein Schwellwert (für die Zielgröße) benötigt, es genügt, dass eine Aktion durch ein Orakel als umsetzbar oder nicht umsetzbar bewertet wird. Es gibt keine zusätzlichen Modelleinschränkungen im Vergleich zum Standard-RL.
  • Im Folgenden werden Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen, wobei in jeder Iteration eine Explorationsstrategie zu einer aktuellen Version der Steuerungsstrategie festgelegt wird; mehrere Simulationsdurchläufe durchgeführt werden, wobei für jeden Simulationsdurchlauf für jeden Zustand einer Folge von Zuständen beginnend mit einem Anfangszustands des Simulationsdurchlaufs so lange gemäß der Explorationsstrategie eine Aktion ausgewählt wird und überprüft wird, ob die ausgewählte Aktion sicher ist, bis eine sichere Aktion ausgewählt wurde oder eine Maximalanzahl größer gleich zwei von Aktionen ausgewählt wurde, der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten Aktion durch Simulation ermittelt wird, falls eine sichere Aktion ausgewählt wurde, oder, falls bis zum Erreichen der Maximalanzahl gemäß der Strategie keine sichere Aktion ausgewählt wurde, der Simulationsdurchlauf abgebrochen wird oder eine vorgegebene sichere Aktion ausgewählt wird, falls eine solche vorhanden ist, und der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten vorgegebenen sicheren Aktion durch Simulation ermittelt wird die Folge von Zuständen mit den ausgewählten Aktionen und in den Zuständen erhaltene Belohnungen als Daten des Simulationsdurchlaufs gesammelt werden für die Iteration der Wert einer Verlustfunktion über die Daten der durchgeführten Simulationsdurchläufe ermittelt wird und die Steuerungsstrategie zu einer neuen Version angepasst wird, sodass der Verlustfunktionswert verringert wird.
  • Ausführungsbeispiel 2 ist ein Verfahren nach Ausführungsbeispiel 1, wobei die Verlustfunktion einen Hilfsterm aufweist, der von den Daten der durchgeführten Simulationsdurchläufe abhängt und der die Auswahl nicht-sicherer Aktionen in den Simulationsdurchläufen bestraft.
  • Damit kann gewährleistet werden, dass das Training zwar die Möglichkeit hat, frei aus möglichen Aktionen auszuwählen, andererseits aber die Strategie so trainiert, dass sichere Aktionen bevorzugt werden.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 2, wobei der Hilfsterm gewichtet ist und wobei die Gewichtung beginnend mit einem Anfangsgewicht im Laufe der Iterationen verringert wird.
  • Durch das Reduzieren des Gewichtungsparameters im Laufe des Trainings wird sichergestellt, dass sich die zusätzliche Zielfunktion (d.h. der Hilfsterm) nicht störend auf die Optimierung der eigentlichen Zielfunktion auswirkt. Allgemein kann eine adaptive Wahl des Gewichtungsparameters vorgesehen sein, die verhindert, dass zu viel Gewicht auf die Vermeidung nichtumsetzbarer Aktionen auf Kosten der anderen Terme der (Gesamt-)Zielfunktion gelegt wird.
  • Ausführungsbeispiel 4 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei die Steuerungsstrategie durch ein neuronales Netz gegeben ist und das Anpassen der Steuerungsstrategie das Anpassen von Gewichten des neuronalen Netzes aufweist.
  • Die Verwendung eines neuronalen Netzes zur Repräsentation der Strategie ermöglicht ein effizientes Training unter Verwendung von effizienten hochentwickelter Verfahren zur Gewichtsanpassung durch Gradientenabstieg.
  • Ausführungsbeispiel 5 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei der Simulationsdurchlauf beendet wird, wenn die Folge von Zuständen eine Maximallänge erreicht hat oder wenn in dem ermittelten Folgezustand ein Steuerungsziel erreicht ist.
  • Das Trainingsverfahren kann somit eine Kette von sicheren Aktionen erforschen, z.B. bis zu einer finalen Belohnung.
  • Ausführungsbeispiel 6 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei die Verlustfunktion eine Verlustfunktion für ein Actor-Critic-RL-Verfahren oder ein Deep Q-Learning-Verfahren ist.
  • Insbesondere kann dem Trainingsverfahren ein bestehendes und erprobtes RL-Verfahren zu Grunde gelegt werden und dessen Verlustfunktion, als gegebenenfalls ergänzt durch ein oder mehrere weitere Terme, als Verlustfunktion des Trainingsverfahrens verwendet werden.
  • Ausführungsbeispiel 7 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 6, wobei die Maximalanzahl beginnend mit einem Anfangswert im Laufe der Iterationen verringert wird.
  • Es kann eine beliebige Obergrenze (d.h. Maximalanzahl) an nacheinander von der Strategie ausgewählten Aktionen festgelegt werden. Die Obergrenze kann während des Trainings an den Grad der Exploration angepasst werden.
  • Ausführungsbeispiel 8 ist eine Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ausführungsbeispiele 1 bis 7 auszuführen.
  • Ausführungsbeispiel 9 ist ein Steuerungsverfahren aufweisend Steuern eines Software- oder Hardwareagenten basierend auf der nach einem der Ausführungsbeispiele 1 bis 7 trainierten Steuerungsstrategie.
  • Ausführungsbeispiel 10 ist ein Software- oder Hardwareagent, insbesondere Roboter, aufweisend einen Sensor, der eingerichtet ist, Sensordaten bereitzustellen; und eine Steuereinrichtung, die eingerichtet ist, eine Steuerung von Komponenten des Software- oder Hardwareagenten basierend auf der nach einem der Ausführungsbeispiele 1 bis 7 trainieren Steuerungsstrategie durchzuführen.
  • Ausführungsbeispiel 11 ist ein Software- oder Hardwareagent gemäß Ausführungsbeispiel 10, aufweisend mindestens einen Aktuator, wobei die Steuereinrichtung eingerichtet ist, den mindestens einen Aktuator gemäß der nach einem der Ausführungsbeispiele 1 bis 7 trainierten Steuerungsstrategie zu steuern.
  • Ausführungsbeispiel 12 ist ein Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 7 oder 9 durchzuführen.
  • Ausführungsbeispiel 13 ist ein computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 7 oder 9 durchzuführen.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert. In den Zeichnungen beziehen sich gleiche Bezugszeichen überall in den mehreren Ansichten allgemein auf dieselben Teile. Die Zeichnungen sind nicht notwendig maßstabsgerecht, wobei der Schwerpunkt stattdessen allgemein auf die Darstellung der Prinzipien der Erfindung liegt.
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100.
    • 2 zeigt ein Beispiel für ein Verkehrsszenario.
    • 3 zeigt ein Ablaufdiagramm 300, das ein Trainingsverfahren gemäß einer Ausführungsform veranschaulicht.
  • Die verschiedenen Ausführungsformen, insbesondere die im Folgenden beschriebenen Ausführungsbeispiele, können mittels ein oder mehrerer Schaltungen implementiert werden. In einer Ausführungsform kann eine „Schaltung“ als jede Art von Logikimplementierender Entität verstanden werden, welche Hardware, Software, Firmware oder eine Kombination davon sein kann. Daher kann in einer Ausführungsform eine „Schaltung“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung, wie beispielsweise ein programmierbarer Prozessor, zum Beispiel ein Mikroprozessor sein. Eine „Schaltung“ kann auch Software sein, die von einem Prozessor implementiert bzw. ausgeführt wird, zum Beispiel jede Art von Computerprogramm. Jede andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann in Übereinstimmung mit einer alternativen Ausführungsform als eine „Schaltung“ verstanden werden.
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100.
  • Das Fahrzeug 100, z.B. ein Auto, ein Lieferwagen oder ein Motorrad, ist mit einer Fahrzeug-Steuereinrichtung 101 ausgestattet.
  • Die Fahrzeug-Steuereinrichtung 101 enthält Datenverarbeitungskomponenten, z.B. einen Prozessor (z.B. eine CPU (Zentraleinheit)) 102 und einen Speicher 103 zur Speicherung der Steuersoftware und der Daten, die der Prozessor 102 verarbeitet.
  • Die Steuersoftware enthält z.B. Befehle, die, wenn sie vom Prozessor 103 ausgeführt werden, den Prozessor dazu veranlassen, in Reaktion von Sensordaten, die von ein oder mehreren Sensoren 106 bereitgestellt werden, Steuerungsaktionen gemäß einer Steuerungsstrategie 104 auszuwählen und Aktuatoren 107 (Bremse, Lenkrad, Gas ...) entsprechend zu steuern. Die Steuerungsstrategie 104 kann beispielsweise in Form eines trainierten neuronalen Netzes als Teil der Steuersoftware in dem Fahrzeug 100 gespeichert sein.
  • Eine Steuerungsstrategie 104 für das Fahrzeug 100 kann erzeugt werden, indem sie, z.B. ein entsprechendes neuronales Netz, durch Reinforcement Learning (d.h. bestärkendes oder verstärkendes Lernen) in Simulationen trainiert wird.
  • Beim Reinforcement Learning wird eine Strategie π(a\s) trainiert, die Zustände s aus einem Zustandsraum S als Eingangsgröße auf Aktionen α aus eine Aktionsraum A als Ausgangsgröße abbildet.
  • Während des Trainings interagiert die Strategie oder eine daraus durch Modifikation abgeleitete Explorationsstrategie mit der (simulierten) Umgebung und erhält Belohnungen r. Auf Grundlage dieser Belohnungen wird die Strategie angepasst. Das Training ist episodisch. In Simulationsdurchläufen, sogenannten Rollouts, interagiert die Strategie für eine gewisse Zeit mit der Umgebung (durch Ausführen einer Aktion a in einem Zustand s die zu einem neuen Zustand s' im nächsten diskreten Zeitschritt führt), z.B. bis ein Zeitlimit erreicht ist oder ein Zielzustand erreicht wurde. Für diese Rollouts werden Startzustände s0 ausgewählt.
  • In vielen praktischen Anwendungen ist abhängig von dem aktuellen Zustand s nur eine Teilmenge A'(s) des Zustandsraums A umsetzbar.
  • Als Beispiel wird das Lernen der schnellsten Überholstrategie eines autonomen Fahrzeuges betrachtet, wie es in 2 dargestellt ist. Der Zustand s ist dabei eine Repräsentation der Straße und der anderen Fahrzeuge, der Aktionsraum besteht aus den Aktionen „Spurwechsel nach links“, „Spurwechsel nach rechts“, „Kein Spurwechsel“ und die Belohnung r ist -1 für jeden Zustand zudem der Überholvorgang noch nicht abgeschlossen ist.
  • 2 zeigt ein Beispiel für ein Verkehrsszenario.
  • Ein Fahrzeug 200, das beispielsweise dem Fahrzeug 100 entspricht, bewegt sich auf der rechten Spur 201 einer Straße (z.B. einer zweispurigen Autobahn). Vor dem Fahrzeug 100 befindet sich ein langsames Fahrzeug 202, z.B. ein LKW. Eine mögliche Steuerungsaktion wäre das Ausweichen auf die linke Spur 203. Jedoch kann es vorkommen, dass weitere Fahrzeuge 204, 205 diese Spur bereits benutzen.
  • Die Aktion α =„Spurwechsel nach links“ kann hier nur dann umgesetzt werden wenn die Lücke 206 zwischen den weiteren Fahrzeugen auf der linken Spur groß genug ist: Größe Lücke 206 auf linker Spur > Länge des Fahrzeugs 200
  • Oft ist allerdings die Teilmenge A'(s) der umsetzbaren Aktion nicht im Vorhinein bekannt und von komplexer Struktur: Im Falle des Spurwechsels ist nicht von vornehinein bekannt, wie groß die Lücke auf der linken Seite sein muss, damit das Folgefahrzeug 205 im Fall eines Hineindrängens in die Lücke seine Geschwindigkeit ausreichend anpassen kann. Die minimale Mindestgröße der Lücke 206 kann deshalb durchaus deutlich größer als die Länge des Fahrzeugs 200 sein.
  • Es kann ein sogenanntes Orakel 0s(a) vorgesehen sein, das bestimmt, ob eine gewählte Aktion umsetzbar ist 0s(a)=1 ↔α ist Teil von A'(s), Os(a)=0↔a ist nicht Teil von A'(s). Dass Orakel kann mithilfe von Domänenwissen über z.B. Verkehrsregeln, Fahrzeugdynamik, Systemlimitierungen vom Anwender definiert sein. Es kann aus Daten gelernt sein oder durch die Simulationsumgebung definiert sein.
  • Bei der oben beschriebenen Herangehensweise aus Referenz [1] zur Behandlung von nicht-umsetzbaren Aktionen werden die Rollouts im Training weiter nach einer einzigen nichtumsetzbaren Aktion unterbrochen. Die Information über den Beitrag vorherigen Aktionen auf Belohnungen (engl. Rewards) nach der zur sicheren Aktion korrigierten Aktion gehen verloren. Das ist zum Beispiel der Fall, falls die Fahraufgabe in der Erreichung eines bestimmten Ziels besteht wofür nur eine Belohnung bei Erfüllung vergeben wird. Zusätzlich erfordert diese Herangehensweise stets eine sichere Aktion, die ausführbar ist, was eine unrealistische Annahme für Anwendung von RL im automatisierten Fahren ist. Selbst in der eigenen Spur 201 bei konstanter Geschwindigkeit zu bleiben ist zum Beispiel im Fall einer abrupten starken Bremsung des Vorderfahrzeuges 202 nicht möglich. Schließlich ist die Beschränkung, dass die aktuelle Strategie nur einen Versuch hat, eine umsetzbare Aktion auszuwählen ein Hindernis, da gerade zu Beginn des RL-Trainingsprozesses Strategien typischerweise zielgerichtet aber breit aus der Menge von Aktionen auswählen, um verschiedene Optionen zu erforschen. Deshalb werden gemäß verschiedenen Ausführungsformen wie unten beschrieben mehrere Versuche erlaubt, da dies hilfreich für den Lernfortschritt ist.
  • Für die oben beschriebene Herangehensweise aus Referenz [2] sind eine messbare und kontinuierliche Zielgröße und ein zugehöriger Schwellwert erforderlich. Außerdem muss die Zielgröße linear von der gewählten Aktion abhängen, was bei komplexen Zusammenhängen in Anwendungen im autonomen Fahren oft nicht der Fall ist. Zum Beispiel hängt der Abstand zu einem Fahrzeug 205 auf der Nachbarspur 203 nichtlinear von dem gewählten Lenkwinkel und der Geschwindigkeit des Fahrzeugs 200 ab.
  • Im Reinforcement Learning wird die Strategie unter Verwendung von bei Rollouts in der Simulation ermittelten Daten D in den einzelnen Trainingsiterationen verbessert. Dabei besteht die Datenmenge D={(s, α, r, s')} aus Tupeln von Zustand s, Aktion α, Belohnung r und dem folgenden Zustand s' in der Simulation. Die Verbesserung erfolgt im Allgemeinen über die Verringerung des Werts einer verfahrensspezifischen Verlustfunktion L(π, D) durch Veränderung der Strategie π(a\s), wobei der Wert der Verlustfunktion von den Daten D abhängt. Falls die Strategie durch ein parametrisches Modell wie ein neuronales Netz mit Parameter θ implementiert ist, d.h. eine Strategie mit θ parametrisierte Strategie πθ(a|s) ist, erfolgt die Verringerung beispielsweise durch Gradientenabstieg bzgl. θ der Verlustfunktion L(πθ,D).
  • Beispiele für die Verlustfunktion L(π(als),D) sind
    1. 1. - Σ(s,a,.,.)∈D ADV(s,α,D) log(πθ(a|s)), für ein Actor-Critic-RL-Verfahren, wobei ADV(s,α,D) ein Vorteilsschätzer ist
    2. 2. Σ(s,α,r,s')∈D l(γ*maxa' Qθ'(s',a') + r - Qθ(s,a)), für ein Deep Q-Learning-RL-Verfahren wobei l() eine skalarwertige Verlustfunktion ist, die ein Minimum für das Argument 0 annimmt, Qθ(s,α) ein parametrisches Modell, z.B. neuronales Netz, ist, Qθ(s',a') eine Kopie von Qθ(s,a) ist und die Strategie definiert ist als πθ(a|s) = 1 falls α=αrgmaxα'Qθ(s,α') und 0 sonst
  • 3 zeigt ein Ablaufdiagramm 300, das ein Trainingsverfahren gemäß einer Ausführungsform veranschaulicht.
  • Eine Strategie πθ(α|s) wird iterativ trainiert, wobei in jeder Iteration ein Trainingsinkrement (z.B. eine Gewichtsanpassung für ein neuronales Netz, das die Strategie implementiert) ermittelt wird. In jeder Iteration werden eine Anzahl von k Rollouts mit einer Explorationsstrategie durchgeführt. Die Explorationsstrategie kann gleich der aktuellen Strategie πθ(α|s) (d.h. der in der aktuellen Iteration zu verbessenderen Version der Strategie) sein oder eine durch Modifikation aus der aktuellen Strategie abgeleitete Strategie π'θ(α|s) sein. Beispielsweise ist die Strategie π'θ(α|s) gegenüber der Strategie πθ(α|s) modifiziert dahingehend, dass in jedem Zustand mit einer bestimmten Wahrscheinlichkeit eine zufällige Aktion ausgewählt werden kann.
  • Für jeden Rollout wird zunächst in 301 ein Startzustand s für die Simulation festgelegt.
  • In 302 wird für den aktuellen Zustand s eine Aktion a entsprechend der Strategie πθ(α|s) oder der modifizierten Strategie π'θ(α|s) gewählt (z.B. zufällig gemäß von der Explorationsstrategie gegebenen Wahrscheinlichkeiten). Ein Orakel 0s(α) bestimmt, ob die gewählte Aktion umsetzbar ist:
    Os(a)=1↔a ist Teil von A'(s),
    Os(a)=0↔a ist nicht Teil von A'(s).
    Falls die gewählte Aktion umsetzbar ist, wird mit 303 fortgefahren.
  • Falls die Aktion nicht umsetzbar ist, wird das reduzierte Tupel (α,s) in 304 einer weiteren Datenmenge Dv={(α,s)} hinzugefügt, die nur die nicht umsetzbaren Aktionen enthält.
  • Danach wird:
    1. 1 . Im Fall von m bereits gewählten aber nicht umsetzbaren Aktionen in 305 eine vorgegebene sichere und umsetzbare (Rückzugs-)Aktion α' ausgeführt, falls vorhanden. Der Wert m ist hierbei ein Parameter des Trainingsverfahrens. Die Rückzugsaktion kann eine von mehreren Aktionen sein, die immer (oder zumindest in den meisten Fällen) sicher ist.
    2. 2. Im Fall von n bereits gewählten aber nicht umsetzbaren Aktionen der Rollout in 306 terminiert. Der Wert n ist hierbei ein Parameter des Trainingsverfahrens. Es gilt beispielsweise n = m+1. Beispielsweise ist n = m+1 mit m = 4.
    3. 3. Sonst wird zu 302 zurückgekehrt, d.h. erneut eine Aktion gemäß der Explorationsstrategie gewählt.
  • In 303 wird die gewählte umsetzbare Aktion α an die Simulation gegeben, die die Belohnung r und den nächsten Zustand s' ausgibt. Der Zustand s, die gewählte Aktion α und die zugehörige Belohnung sowie der Nachfolgezustand s' werden als Tupel (s,a,r,s') der Datenmenge D hinzugefügt.
  • Ist ein Abbruchskriterium erfüllt (z.B. das Steuerungsziel erreicht oder eine maximale Anzahl von Zuständen erreicht) wird der Rollout in 306 terminiert. Ansonsten kehrt der Ablauf zu 302 mit dem Zustand s' als nächsten aktuellen Zustand zurück.
  • Wird in 306 der Rollout terminiert und wurden bereits k Rollouts für die aktuelle Iteration durchgeführt, so wird mit 307 fortgefahren.
  • Wird in 306 der Rollout terminiert und wurden noch keine k Rollouts für die aktuelle Iteration durchgeführt, so kehrt der Ablauf für einen weiteren Rollout zu 301 zurück.
  • In 307 wird die Strategie durch die Verringerung einer verfahrensspezifischen erweiterten Verlustfunktion LEθ, D,v) = L(πθ, D) + λ*LHθ,D,Dv) angepasst. Hierbei ist L(πθ,D) die ursprüngliche spezifische Verlustfunktion des zu Grunde liegenden Reinforcement Learning-Verfahrens, z.B. eines Actor-Critic-RL-Verfahren oder eines Deep Q-Learning-Verfahrens wie oben beschrieben.
  • LHθ,Dv) ist eine Hilfsverlustfunktion und λ ein Parameter des Trainingsverfahrens. Diese Hilfsverlustfunktion ist so spezifiziert, dass ihre Minimierung äquivalent zur Vermeidung nicht umsetzbarer Aktionen durch die Strategie ist. Beispielsweise ist die Hilfsverlustfunktion LHθ,Dv) gegeben durch 1. ( s , a ,.,. ) D l o g   π θ ( a | s ) + ( s , a ) D ν l o g ( π θ ( a | s ) )  für ein Actor-Critic-RL- Verfahren .
    Figure DE102020205532A1_0001
    2. ( s , a ,.,. ) D Q θ ( a | s ) + ( s , a ) D ν Q θ ( s , a )  für ein Deep Q-Learning-RL- Verfahren .
    Figure DE102020205532A1_0002
  • Nach der Anpassung der Strategie in 307 wird mit der nächsten Iteration (mit der angepassten Strategie) fortgefahren.
  • Als Ausführungsvariante des Trainingsverfahrens kann 305 (und die entsprechende Überprüfung, ob eine Rückzugsaktion vorhanden ist) weggelassen werden (z.B. wenn in einem Anwendungsfall, in dem generell oder meist keine sichere Rückzugsaktion vorhanden ist.
  • Gemäß einer Ausführungsvariante wird die in 304 verwendete Schranke m bzw. n von gewählten aber nicht umsetzbaren Aktionen über das Training hinweg reduziert, z.B. gemäß
    m=maxm*(1- aktuelle Iterationszahl / maximale Anzahl von Iterationen)
    bzw.
    n=maxn*(1-aktuelle Iterationszahl / maximale Anzahl von Iterationen)
    wobei maxm, maxn Anfangswerte sind.
  • Gemäß einer Ausführungsvariante wird der in 307 verwendete über das Training hinweg reduziert, z.B. A=max λ *(1- aktuelle Iterationszahl / maximale Anzahl von Iterationen).
  • Die obigen Ausführungsvarianten können beliebig kombiniert werden.
  • Das ein Orakel 0s(a) kann mithilfe von Domänenwissen über z.B. Verkehrsregeln, Fahrzeugdynamik, Systemlimitierungen vom RL Anwender definiert sein. Es kann aus Daten gelernt sein oder durch die Simulationsumgebung definiert sein.
  • Zusammenfassend wird gemäß verschiedenen Ausführungsformen ein Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung (z.B. eine Roboter-Steuerungsstrategie für eine Roboter-Steuereinrichtung, allgemeiner eine Software- oder Hardwareagent-Steuerungsstrategie für einen Software- oder Hardwareagenten) bereitgestellt, wie es in 4 dargestellt ist.
  • 4 zeigt ein Ablaufdiagramm 400, das ein Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung veranschaulicht.
  • Das Verfahren ist ein iteratives Verfahren, das Iterationen 401 bis zu einem Abbruchkriterium (z.B. Verlustfunktionswert unter Schwelle, maximale Anzahl von Iterationen erreicht) durchführt.
  • In jeder Iteration 401 wird in 402 eine Explorationsstrategie zu einer aktuellen Version der Steuerungsstrategie festgelegt. Diese kann mit der Steuerungsstrategie übereinstimmen oder durch Modifikation aus ihr hervorgehen.
  • Für die Iteration 401 werden dann mehrere Simulationsdurchläufe 403 durchgeführt, wobei für jeden Simulationsdurchlauf 403 in 404 für jeden Zustand einer Folge von Zuständen beginnend mit einem Anfangszustands des Simulationsdurchlaufs so lange gemäß der Explorationsstrategie eine Aktion ausgewählt wird und überprüft wird, ob die ausgewählte Aktion sicher ist, bis eine sichere Aktion ausgewählt wurde oder eine Maximalanzahl größer gleich zwei von Aktionen ausgewählt wurde.
  • In 405 wird der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten Aktion durch Simulation ermittelt, falls eine sichere Aktion ausgewählt wurde, oder, falls bis zum Erreichen der maximalen Anzahl gemäß der Strategie keine sichere Aktion ausgewählt wurde, der Simulationsdurchlauf abgebrochen oder eine vorgegebene sichere Aktion (auch als Rückzugs- oder Backup-Aktion bezeichnet) ausgewählt, falls eine solche vorhanden ist, und der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten vorgegebenen sicheren Aktion durch Simulation ermittelt.
  • In 406 werden die Folge von Zuständen mit den ausgewählten Aktionen und in den Zuständen erhaltene Belohnungen als Daten des Simulationsdurchlaufs gesammelt.
  • In 407 wird für die Iteration der Wert einer Verlustfunktion über die Daten der durchgeführten Simulationsdurchläufe ermittelt und in 408 die Steuerungsstrategie zu einer neuen Version angepasst wird, sodass der Verlustfunktionswert verringert wird.
  • In anderen Worten wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, um eine Strategie zu lernen, die komplexe Mengen umsetzbarer Aktionen berücksichtigt. Gemäß einer Ausführungsform wird ein Trainingsalgorithmus bereitgestellt, der eine Strategie (oder einen Steuerungsalgorithmus) trainiert, die auf Grundlage beliebig gearteter Eingangsdaten Aktionen als Ausgabe liefert, die ein System (implementiert in Hardware und/oder Software) steuern.
  • Eine „sichere“ Aktion kann als Aktion verstanden werden, die in dem Sinne umsetzbar ist, dass ein vorgegebenes Sicherheitskriterium erfüllt ist, z.B. dass bei ihrer Umsetzung das Risiko eines Schadens oder einer Gefährdung unter einem vorgegebenen Schwellwert liegt. Ob eine Aktion sicher ist, kann durch ein vorgegebenes Orakel (das beispielsweise ein solches Sicherheitskriterium implementiert) beurteilt werden.
  • Die Steuerungsstrategie ist zum Beispiel eine Roboter-Steuerungsstrategie. Unter „Roboter“ kann jegliches physisches System (z.B. mit einem mechanischen Teil, dessen Bewegung gesteuert wird), wie eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, ein persönlicher Assistent oder ein Zugangskontrollsystem verstanden werden. Die Steuerungsstrategie kann auch eine Steuerung für ein Informationsübertragungssystem wie ein Überwachungssystem oder ein medizinisches (z.B. bildgebendes) System sein. Gemäß verschiedenen Ausführungsformen kann somit ein Maschinelles-Lernen-System für eines der obigen Systeme trainiert werden.
  • Eine gemäß Ausführungsformen trainierte Roboter-Steuerungsstrategie kann von einer Roboter-Steuereinrichtung zur Steuerung eines Roboters verwendet werden. Die Roboter-Steuereinrichtung kann gemäß der Roboter-Steuerungsstrategie Steuerungsaktionen in Reaktion auf (potenziell z.B. durch Bilderkennung oder Bildklassifikation vorverarbeitete) Sensordaten auswählen. Dies können Sensordaten von jeder Art von Sensor sein, der imstande ist, Daten zu detektieren. Der Sensor kann zum Beispiel ein Bildgebungssensor, wie beispielsweise ein Kamera-Sensor oder ein Video-Sensor, ein Fernortungssensor, wie beispielsweise ein Radar-Sensor, ein LIDAR-Sensor oder ein Ultraschall-Sensor, oder ein thermischer Sensor, ein Geschwindigkeitssensor, ein Beschleunigungssensor oder ein Winkelsensor sein.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (13)

  1. Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen, wobei in jeder Iteration eine Explorationsstrategie zu einer aktuellen Version der Steuerungsstrategie festgelegt wird, mehrere Simulationsdurchläufe durchgeführt werden, wobei für jeden Simulationsdurchlauf für jeden Zustand einer Folge von Zuständen beginnend mit einem Anfangszustands des Simulationsdurchlaufs so lange gemäß der Explorationsstrategie eine Aktion ausgewählt wird und überprüft wird, ob die ausgewählte Aktion sicher ist, bis eine sichere Aktion ausgewählt wurde oder eine Maximalanzahl größer gleich zwei von Aktionen ausgewählt wurde, der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten Aktion durch Simulation ermittelt wird, falls eine sichere Aktion ausgewählt wurde, oder, falls bis zum Erreichen der Maximalanzahl gemäß der Strategie keine sichere Aktion ausgewählt wurde, der Simulationsdurchlauf abgebrochen wird oder eine vorgegebene sichere Aktion ausgewählt wird, falls eine solche vorhanden ist, und der Folgezustand des Zustands in der Folge von Zuständen bei Ausführung der ausgewählten vorgegebenen sicheren Aktion durch Simulation ermittelt wird die Folge von Zuständen mit den ausgewählten Aktionen und in den Zuständen erhaltene Belohnungen als Daten des Simulationsdurchlaufs gesammelt werden für die Iteration der Wert einer Verlustfunktion über die Daten der durchgeführten Simulationsdurchläufe ermittelt wird und die Steuerungsstrategie zu einer neuen Version angepasst wird, sodass der Verlustfunktionswert verringert wird.
  2. Verfahren nach Anspruch 1, wobei die Verlustfunktion einen Hilfsterm aufweist, der von den Daten der durchgeführten Simulationsdurchläufe abhängt und der die Auswahl nicht-sicherer Aktionen in den Simulationsdurchläufen bestraft.
  3. Verfahren nach Anspruch 2, wobei der Hilfsterm gewichtet ist und wobei die Gewichtung beginnend mit einem Anfangsgewicht im Laufe der Iterationen verringert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Steuerungsstrategie durch ein neuronales Netz gegeben ist und das Anpassen der Steuerungsstrategie das Anpassen von Gewichten des neuronalen Netzes aufweist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Simulationsdurchlauf beendet wird, wenn die Folge von Zuständen eine Maximallänge erreicht hat oder wenn in dem ermittelten Folgezustand ein Steuerungsziel erreicht ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Verlustfunktion eine Verlustfunktion für ein Actor-Critic-RL-Verfahren oder ein Deep Q-Learning-Verfahren ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Maximalanzahl beginnend mit einem Anfangswert im Laufe der Iterationen verringert wird.
  8. Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
  9. Steuerungsverfahren aufweisend Steuern eines Software- oder Hardwareagenten basierend auf der nach einem der Ansprüche 1 bis 7 trainierten Steuerungsstrategie.
  10. Software- oder Hardwareagent, insbesondere Roboter, aufweisend einen Sensor, der eingerichtet ist, Sensordaten bereitzustellen; und eine Steuereinrichtung, die eingerichtet ist, eine Steuerung von Komponenten des Software- oder Hardwareagenten basierend auf der nach einem der Ansprüche 1 bis 7 trainieren Steuerungsstrategie durchzuführen.
  11. Software- oder Hardwareagent gemäß Anspruch 10, aufweisend mindestens einen Aktuator, wobei die Steuereinrichtung eingerichtet ist, den mindestens einen Aktuator gemäß der nach einem der Ansprüche 1 bis 7 trainierten Steuerungsstrategie zu steuern.
  12. Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 7 durchzuführen.
  13. Computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 7 durchzuführen.
DE102020205532.7A 2020-04-30 2020-04-30 Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen Pending DE102020205532A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020205532.7A DE102020205532A1 (de) 2020-04-30 2020-04-30 Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen
US17/191,091 US20210341885A1 (en) 2020-04-30 2021-03-03 Device and method for training a control strategy for a control device over several iterations
CN202110470954.9A CN113590455A (zh) 2020-04-30 2021-04-29 用于经由多次迭代训练用于控制装置的控制策略的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020205532.7A DE102020205532A1 (de) 2020-04-30 2020-04-30 Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen

Publications (1)

Publication Number Publication Date
DE102020205532A1 true DE102020205532A1 (de) 2021-11-04

Family

ID=78242982

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020205532.7A Pending DE102020205532A1 (de) 2020-04-30 2020-04-30 Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen

Country Status (3)

Country Link
US (1) US20210341885A1 (de)
CN (1) CN113590455A (de)
DE (1) DE102020205532A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022208519A1 (de) 2022-08-17 2024-02-22 STTech GmbH Computerimplementiertes Verfahren und Computerprogramm zur Bewegungsplanung eines Ego-Fahrsystems in einer Verkehrssituation, computerimplementiertes Verfahren zur Bewegungsplanung eines Ego-Fahrsystems in einer realen Verkehrssituation Steuergerät für ein Ego-Fahrzeug

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114360290B (zh) * 2021-12-08 2023-07-28 四川智慧高速科技有限公司 一种基于强化学习的交叉口前车辆群体车道选择方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NAGESHRAO, Subramanya; TSENG, H. Eric; FILEV, Dimitar: Autonomous highway driving using deep reinforcement learning. In: 2019 IEEE International Conference on Systems, Man and Cybernetics (SMC). IEEE, 2019. S. 2326-2331 (selbstgenannter Stand der Technik)
ZHANG, Songan [et al.]: Discretionary Lane Change Decision Making using Reinforcement Learning with Model-Based Exploration. In: 2019 18th IEEE International Conference On Machine Learning And Applications (ICMLA). IEEE, 2019. S. 844-850

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022208519A1 (de) 2022-08-17 2024-02-22 STTech GmbH Computerimplementiertes Verfahren und Computerprogramm zur Bewegungsplanung eines Ego-Fahrsystems in einer Verkehrssituation, computerimplementiertes Verfahren zur Bewegungsplanung eines Ego-Fahrsystems in einer realen Verkehrssituation Steuergerät für ein Ego-Fahrzeug

Also Published As

Publication number Publication date
CN113590455A (zh) 2021-11-02
US20210341885A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
DE112017003517T5 (de) Steuergerät und Verfahren zur Steuerung eines Fahrzeugs und nichtflüchtiger computerlesbarer Speicher
DE102019104974A1 (de) Verfahren sowie System zum Bestimmen eines Fahrmanövers
DE102018120961A1 (de) Autonomes-fahren-bewertungsvorrichtung und autonomes-fahren-bewertungsverfahren
DE102013214225A1 (de) Dynamische Neuplanung einer Fahrtrajektorie mittels LQ-Regelung für einen Ausweichassistenten
DE102019208262A1 (de) Verfahren und Vorrichtung zur Ermittlung von Modellparametern für eine Regelungsstrategie eines technischen Systems mithilfe eines Bayes'schen Optimierungsverfahrens
DE102018109835A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
DE102020130831A1 (de) Autonomes-Fahrzeug-System zur Detektion des Sicherheitsfahrmodell-Konformitätsstatus eines anderen Fahrzeugs und entsprechende Planung
DE102020205532A1 (de) Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie für eine Steuereinrichtung über mehrere Iterationen
WO2021058223A1 (de) Verfahren zur effizienten, simulativen applikation automatisierter fahrfunktionen
WO2020002100A1 (de) Verfahren zum betreiben eines wenigstens teilweise automatisierten fahrzeugs
DE102019216232A1 (de) Verfahren und Vorrichtung zum Bereitstellen einer Fahrstrategie für das automatisierte Fahren eines Fahrzeugs
DE102018204101A1 (de) Verfahren und Vorrichtung zur Planung einer Trajektorie für die Längs- und/oder Querführung eines Fahrzeugs
DE102018222783A1 (de) Verfahren zum Steuern eines automatisierten oder autonomen Fortbewegungsmittels und Auswerteeinheit
DE102019106122A1 (de) Automatisiertes Fahrsystem
DE102017200580A1 (de) Verfahren zur Optimierung einer Manöverplanung für autonom fahrende Fahrzeuge
DE102020108127A1 (de) Interpretieren von daten einer reinforcement-learning-agent-steuerung
DE102017211815A1 (de) Verfahren, Vorrichtung, Computerprogramm und ein maschinenlesbares Speichermedium zum Betreiben eines Fahrzeugs
DE102017128082A1 (de) Meta-Architektur-Design für ein CNN-Netzwerk
DE102019208264A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Regelungsstrategie für ein technisches System
DE102022109385A1 (de) Belohnungsfunktion für Fahrzeuge
DE102020213527A1 (de) Verfahren zum Optimieren einer Strategie für einen Roboter
DE102022100664A1 (de) Verfahren, Steuervorrichtung und Computerprogramm zum Steuern einer Längsführung eines Fahrzeugs
DE102020210376A1 (de) Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
DE102020127051A1 (de) Verfahren zur Bestimmung von sicherheitskritischen Ausgabewerten mittels einer Datenanalyseeinrichtung für eine technische Entität
DE102020130817A1 (de) Systeme und verfahren zur adaptiven unterstützung von benutzereingabebegrenzungen für befehle zur ferngesteuerten fahrzeugbewegung

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed