DE102019210372A1 - Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter Download PDF

Info

Publication number
DE102019210372A1
DE102019210372A1 DE102019210372.3A DE102019210372A DE102019210372A1 DE 102019210372 A1 DE102019210372 A1 DE 102019210372A1 DE 102019210372 A DE102019210372 A DE 102019210372A DE 102019210372 A1 DE102019210372 A1 DE 102019210372A1
Authority
DE
Germany
Prior art keywords
strategy
agent
loop
episode
robot
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
DE102019210372.3A
Other languages
English (en)
Inventor
Frank Hutter
Lior Fuks
Marius Lindauer
Noor Awad
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 DE102019210372.3A priority Critical patent/DE102019210372A1/de
Priority to US16/921,906 priority patent/US11628562B2/en
Priority to CN202010662616.0A priority patent/CN112215363A/zh
Publication of DE102019210372A1 publication Critical patent/DE102019210372A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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
    • 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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Physiology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erstellen einer Strategie für einen Roboter (10), umfassend die folgenden Schritte: Initialisieren der Strategie θ0 und einer Episodenlänge E; Mehrfaches Ausführen der Schleife mit folgenden Schritten: Erstellen einer Mehrzahl von weiteren Strategien abhängig von der Strategie θ0. Anwenden der Mehrzahl der weiteren Strategien für die Länge der Episodenlänge E; Ermitteln jeweils einer Gesamtbelohnung FE, die beim Anwenden der jeweilgen weiteren Strategie erzielt wird; Aktualisieren der Strategie θ0 abhängig von einer zweiten Mehrzahl der weiteren Strategien, die die größten Gesamtbelohnungen erzielt haben. Nach jedem Ausführen der Schleife wird die Episodenlänge E vergrößert. Die Erfindung betrifft ferner ein Computerprogramm und eine Vorrichtung zum Ausführen des Verfahrens und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren zum Erstellen einer Strategie, sodass dann, wenn ein Roboter situativ anhand der Strategie Aktionen ausführt, ein vorgebbares Ziel erreicht wird. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.
  • Stand der Technik
  • Die Autoren Chrabaszcz et al offenbaren in ihrer Veröffentlichung „Back to basics: Benchmarking canonical evolution strategies for playing atari.“ arXiv preprint arXiv:1802.08842 (2018) eine Entwicklungsstrategie (engl. Evolution Strategy, ES) als eine Alternative zu bestärkendem Lernen (engl. reinfocement learning).
  • Vorteile der Erfindung
  • Es wurde beobachtet, dass manche Strategien Agenten, insbesondere Roboter, befähigen, komplexe Aufgaben lösen können, jedoch bei einfachen Teilaufgaben versagen. Dass Roboter durchweg zuverlässig gesteuert werden, soll im Folgenden ein Verfahren vorgestellt werden, welches es ermöglicht auf eine einfache Weise eine Strategie zu erstellen, die für eine zuverlässige Steuerung von Robotern eingesetzt werden kann. Ferner lässt sich die Strategie einfach für komplexe Aufgaben erweitern.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Erstellen einer Strategie (engl. policy) vorgeschlagen, sodass dann, wenn ein Agent, insbesondere Roboter, situativ anhand der Strategie Aktionen ausführt, ein vorgebbares Ziel erreicht oder eine Aufgabe erledigt wird. Das Verfahren beginnt mit einem Initialisieren der Strategie θ0 und einer Episodenlänge (engl. episode length E). Daraufhin folgt ein mehrfaches Ausführen einer Schleife, zweckgemäß eine (Computer-)Programmschleife, mit den nachfolgend erläuterten Schritten. Eine Schleife ist eine Kontrollstruktur in einer Programmiersprache, die einen Anweisungsblock solange wiederholt, wie eine Schleifenbedingung gültig bleibt bzw. bis eine Abbruchbedingung erfüllt ist.
  • Die Schleife beginnt mit einem Erstellen einer Mehrzahl von weiteren Strategien abhängig von der Strategie θ0. Die weiteren Strategien können durch ein beaufschlagen der Strategie mit einer zufällig gezogenen Größe erstellt werden. Daraufhin folgt ein Anwenden der Mehrzahl der weiteren Strategien für jeweils zumindest eine Episode mit der Episodenlänge E. Falls die Strategie oder die Umgebung des Agenten probabilistische Eigenschaften hat, dann können die weiteren Strategien für mehrere Episoden angewendet werden. Daraufhin folgt ein Ermitteln jeweils einer Gesamtbelohnung (engl. cumulative reward) FE, die beim Anwenden der jeweilgen weiteren Strategie erzielt wird und ein Aktualisieren der Strategie θ0 abhängig von einer zweiten Mehrzahl der weiteren Strategien, die die größten Gesamtbelohnungen erzielt haben. Die zweite Mehrzahl ist eine vorgebbare Anzahl, wobei die vorgebbare Anzahl kleiner als die Anzahl aller weiteren Strategien ist. Nach jedem Ausführen aller Schritte der Schleife wird die Episodenlänge E vergrößert.
  • Unter Anwenden der Strategie kann verstanden werden, dass diese durch einen Agenten, insbesondere den Roboter, verwendet wird, der abhängig von der Strategie Aktionen ausführt, z.B. um seine Umgebung zu erkunden, oder sein Ziel zu erreichen. Beim Anwenden der Strategie wird abhängig von einem aktuellen Zustand der Umgebung des Agenten eine Aktion des Agenten anhand der Strategie ermittelt.
  • Beim Ausführen der Aktion durch den Agenten führt dies zu einer Veränderung der Umgebung. Diese Veränderung kann mit einer Belohnung verknüpft sein.
  • Alternativ oder zusätzlich kann die Belohnung abhängig von der Aktion sein. Die Gesamtbelohnung ist dann die Summe über die Belohnungen aller Aktionen innerhalb einer Episode. Die Episode ist eine Folge von Aktionen und die Episodenlänge ist eine Anzahl der Aktionen dieser Episode.
  • Der Vorteil ist, dass zu erste gelernt wird, kurze und einfache Aufgaben zu lösen, woraus erstes Wissen für die Strategie bestimmt wird. Dann wird dieses Wissen verwendet, um bei steigender Episodenlänge anspruchsvollere Aufgaben zu lösen. Dadurch wird ferner ein Transfer des Wissens über das Lösen von leichten Aufgaben für komplexere Aufgaben erreicht. Ein weiterer Vorteil ist, dass durch das Fokussieren auf einfachere und kürzere Aufgaben zu Beginn des Verfahrens, eine stabilere und schnellere Optimierung der Strategie erzielt wird. Durch die zu Beginn verkürzten Episoden wird auch nur ein Ausschnitt der Umgebung exploriert. Dies erlaubt ein Erlernen einer simplen Strategie, welche auch auf die gesamte Umgebung erfolgsversprechend angewendet werden kann. Dies resultiert schlussendlich in einer besseren Generalisierung der Strategie. Ferner können durch die verkürzten Episoden mehrere Strategien innerhalb eines vorgebbaren Zeitbudget ausgewertet werden, wodurch schneller gelernt werden kann.
  • Es wird vorgeschlagen, dass die Episodenlänge E inital auf einen Wert kleiner als die erwartete Anzahl von Aktionen zum Erreichen des vorgebbaren Ziels gesetzt wird. Die Episodenlänge E kann ferner auf einen Wert gesetzt werden, sodass zum ersten Mal eine Belohnung empfangen werden kann oder ein Teilziel erreicht werden kann. Denkbar ist auch, dass die Anzahl von Aktionen abhängig von der max. erreichbaren Belohnung (engl. reward), und insbesondere von den einzelnen erreichbaren Belohnungen durch die Aktionen, gesetzt wird. Vorzugsweise wird die erwartete Anzahl von Aktionen durch eine vorgebbare Konstante dividiert, wodurch ein aggressiveres Erkunden eingestellt werden kann.
  • Weiterhin wird vorgeschlagen, dass die erwartete Anzahl der Aktionen durch eine Monte-Carlo Simulation ermittelt wird. Unter einer Monte Carlo Simulation ist zu verstehen, dass der Agent, jeweils anhand von mehreren zufällig initialisierten Strategien gesteuert wird. Es kann dann abhängig vom Erreichen des Ziels und/oder abhängig des Fortschrittes des Agenten und/oder abhängig von der dann erzielten Gesamtbelohnung die Episodenlänge ausgewählt werden.
  • Weiterhin wird vorgeschlagen, dass zusätzlich ein Zeitbudget (engl. time budget T) initalisiert wird. Die Schleifeniterationen werden nur solange berechnet, wie verbleibende Zeit des Zeitbudgets T vorhanden ist. Das Zeitbudget T kann entweder konstant über alle Schleifendurchgänge sein oder kann nach jedem Schleifendurchlauf vergrößert, insbesondere verdoppelt, werden. Das Zeitbudget ist die Zeit, die zur Verfügung steht, die weiteren Strategien anzuwenden und die initialisierte Strategie zu aktualisieren. Das Zeitbudget ist also eine mögliche Abbruchbedingung der Schleife. Das Zeitbudget ist eine physikalische Zeit, die z.B. durch eine Stoppuhr gemessen werden kann. Zusätzlich oder alternativ kann das Zeitbudget mittels eines Zeitgebers (engl. Timer), der vorzugsweise in einer Recheneinheit integriert ist, auf welcher das Verfahren ausgeführt wird, vorgegeben werden.
  • Weiterhin wird vorgeschlagen, dass mittels eines Sensors der aktuelle Zustand des Roboters und/oder ein aktueller Zustand der Umgebung des Roboters erfasst und abhängig von dem Sensorwert mittels der erstellten Strategie eine Steuergröße für den Roboter ermittelt wird.
  • Es sei angemerkt, dass die Strategie nicht nur zum Steuern des Roboters, sondern auch zum Steuern einer zumindest teilautonomen Maschine, eines zumindest teilautonomen Fahrzeuges, eines Werkzeuges, einer Werkmaschine oder eines Flugobjektes wie einer Drohne erstellt und verwendet werden kann.
  • In einem weiteren Aspekt der Erfindung wird eine Verwendung eines trainierten neuronalen Netzes vorgeschlagen, um abhängig von einem ermittelten Ausgangssignal eines neuronalen Netzes ein Ansteuersignal zur Ansteuerung für den Roboter bereitzustellen, wobei die erstellte Strategie nach dem ersten Aspekt durch das neuronale Netz implementiert ist. Das Ausgangssignal entspricht der Aktion, die die erstellte Strategie ermittelt. Vorzugsweise charakterisiert die erstellte Strategie die Parametrisierung des neuronalen Netzes.
  • In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.
  • Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
  • Figurenliste
    • 1 eine schematische Darstellung eines Roboters;
    • 2 eine schematische Darstellung eines ersten Pseudocodes;
    • 3 eine schematische Darstellung eines zweiten Pseudocodes;
    • 4 eine schematische Darstellung einer Vorrichtung zum Ausführen der Pseudocodes.
  • 1 zeigt eine schematische Darstellung eines Roboters (10). Der Roboter (10) ist eingerichtet, selbständig durch Explorieren, zweckgemäß durch Interagieren mit, seiner Umwelt (11) eine Strategie (engl. policy) zu erlernen. Abhängig von der Strategie und einer erfassten Sensorgröße (x) ermittelt ein Entscheidungsmodul (14), umfassend die Strategie, eine optimale Aktion (a). In einem Ausführungsbeispiel ist die Strategie in Form von Parametern (θ) eines neuronalen Netzes in einem Speicher P hinterlegt. Das Entscheidungsmodul (14) umfasst dieses neuronale Netz, welches die Aktion (a) abhängig von der erfassten Sensorgröße (x) ermittelt. Die Architektur dieses neuronalen Netzes kann beispielsweise die Architektur sein, welche in dem eingangs zitierten Stand der Technik Dokument beschrieben wird. Die Sensorgröße (x) wird mittels eines Sensors (13) erfasst. Dieser erfasst hierzu einen Zustand (12) der Umwelt (11) des Roboters (10). Anhand der Aktion (a) kann ein Aktor (15) des Roboters (10) angesteuert werden. Durch Ausführen der Aktion (a) durch den Aktor (15) verändert sich der Zustand (16) der Umwelt (11). Das Ausführen der Aktion (a) kann zum Explorieren der Umwelt (11) oder zum Lösen der vorgebbaren Aufgabe oder Erreichen eines vorgebbaren Ziels dienen.
  • Der Roboter (10) umfasst ferner eine Recheneinheit (17) und ein maschinenlesbares Speicherelement (18). Auf dem Speicherelement (18) kann ein Computerprogramm gespeichert sein, welches Befehle umfasst, die beim Ausführen der Befehle auf der Recheneinheit (17) dazu führen, dass mittels der Recheneinheit (17) der Roboter (10) betrieben wird.
  • Es sei angemerkt, dass der Roboter (10) auch ein zumindest teilautonomes Fahrzeug, eine Drohne oder eine Produktions-/Werk-maschine sein kann.
  • 2 zeigt beispielhaft einen Pseudocode eines Verfahrens „Canonical Evolution Strategy (ES)“ zum Erstellen der Strategie für den Roboter (10).
  • Zu Beginn des Pseudocodes muss eine initiale Strategie θ0, ein Zeitbudget T, eine maximale Episodenlänge E, eine Populationsgröße λ, eine Elternpopulationsgröße µ und eine Mutationsschrittgröße σ und eine Gesamtbelohnungsfunktion F(·) vorgegeben sein. Die initiale Strategie θ0 ist vorzugsweise eine Größe, die die Parameter des neuronalen Netzes sind. Die initiale Strategie kann zufällig initialisiert sein.
  • Zu Beginn des Pseudocodes wird in Zeile 1 und 2 über die Elternpopulationsgröße µ eine erste Schleife ausgeführt, um die Konstanten wj zu ermitteln.
  • Daraufhin wird die Optimierung der Strategie durch eine zweite Schleife in Zeile 4 bis 11 durchgeführt.
  • Die zweite Schleife wird solange ausgeführt, bis das Zeitbudget T aufgebraucht wurde. In der zweiten Schleife wird die initialisierte Strategie θ0 durch ein Beaufschlagen mit z.B. einem zufälligen Rauschen mutiert. Daraufhin wird in Zeile 7 die Performance der mutierten Strategien mittels der Gesamtbelohnungsfunktion F bewertet. Die Gesamtbelohnungsfunktion F kann eine kumulierte Belohnung (engl. cumulative reward) über eine Episode mit Episodenlänge E sein.
  • In Zeile 9 werden dann die Strategien in absteigender Reihenfolge nach ihrer erzielten Gesamtbelohnung si angeordnet. In der darauf folgenden Zeile 10 wird die Strategie abhängig von den top-µ Strategien, die jeweils mit der Konstane wj gewichtet werden, aktualisiert.
  • Die aktualisierte Strategie kann daraufhin als finale Strategie ausgegeben werden oder verwendet werden, um erneut die zweite Schleife auszuführen. Das erneute ausführen der zweiten Schleife kann beliebig oft wiederholt werden, bis ein vorgebbares Abbruchkriterium erfüllt wird. Das vorgebbare Abbruchkriterium kann zum Beispiel sein, dass eine Änderung der Strategie kleiner als ein vorgebbarer Schwellwert ist.
  • 2 zeigt beispielhaft einen Pseudocode eines Verfahrens, um das Zeitbudget T und die Episodenlänge E während des Ausführen des ES dynamisch anzupassen.
  • Hierzu wird initial ein Episodenplaner (episode scheduler), ein Zeitplaner (time scheduler) und eine Anzahl von Iterationen N vorgegeben.
  • In Zeile 1 des zweiten Pseudoalgorithmus wird die Strategie θ0 durch ein Sampeln aus einer Normalverteilung initialisiert. Daraufhin wird eine Schleife beginnend bei Zeile 2 bis Zeile 6 über die Anzahl der Iterationen N ausgeführt. Zuerst wird die maximale Episodenlänge E durch den Episodenplaner und optional das maximale Zeitbudget T durch den Zeitplaner abhängig von der aktuellen Iteration n ermittelt. Anschließend wird das Verfahren ES mit diesen beiden ermittelten Größen E und/oder T ausgeführt.
  • Der Episodenplaner kann nach jeden ausgeführten Schleifendurchläufen die Episodenlänge E verdoppeln: E(n) = 2n E(0). Die initiale Episodenlänge E(0) kann ein Wert kleiner als eine erwartete Anzahl von Schritten sein, die zum Erreichen des Zieles benötigt werden. Alternativ kann die initiale Episodenlänge E(0) durch einen vorgebbaren Wert dividiert werden, beispielsweise 2. Alternativ kann die initiale Episodenlänge E(0) durch eine Monte Carlo Simulation ermittelt werden.
  • Der Zeitplaner kann beispielsweise inkrementell mit zunehmender Anzahl von ausgeführten Schleifendurchläufe das Zeitbudget T erhöhen, zum Beispiel: T(n) = 2n κ. Der Wert κ kann zum Beispiel 20 Minuten entsprechen. Alternativ kann der Zeitplaner das Zeitbudget T konstant für jeden Schleifendurchlauf halten, zum Beispiel kann T gleich 1 Stunde sein.
  • Der Vorteil des Episodenplaners und/oder des Zeitplaners ist, dass zuerst auf kurzen Episoden eine Strategie erlernt wird, die daraufhin verwendet wird, um kompliziertere Aufgaben während längeren Episoden effektiver zu lösen. Denn das Wissen der Strategie, welche auf den kurzen Episoden erlernt wurde, kann für das Lösen der längeren Episoden wiederverwendet werden. Der Vorteil des Zeitplaners ist, dass ein gesamtverfügbares Budget von Zeit in Teilzeiten für die einzelnen Episodenlängen effizient zerlegt werden kann.
  • 4 zeigt eine schematische Darstellung einer Vorrichtung (40) zum Anlernen des Entscheidungsmoduls (14), insbesondere zum Ausführen des Pseudocodes nach 2 oder 3. Die Vorrichtung (40) umfasst ein Trainingsmodul (41), welches z.B. die Umwelt (11) simuliert und die Gesamtbelohnung F ausgibt. Das Anpassungsmodul (43) aktualisiert dann die Strategie und speichert die aktualisierte Strategie in dem Speicher P.

Claims (11)

  1. Verfahren zum Erstellen einer Strategie (engl. policy) für einen Agenten, sodass dann, wenn der Agent, insbesondere ein Roboter (10), situativ anhand der Strategie Aktionen (a) ausführt, ein vorgebbares Ziel erreicht wird, umfassend folgende Schritte: Initialisieren der Strategie θ0 und einer Episodenlänge (engl. episode length) E; Mehrfaches Ausführen einer Schleife mit den Schritten: Erstellen einer Mehrzahl von weiteren Strategien abhängig von der Strategie θ0; Anwenden der Mehrzahl der weiteren Strategien für jeweils zumindest eine Episode mit der Episodenlänge E; Ermitteln jeweils einer Gesamtbelohnung (engl. cumulative reward) si, die beim Anwenden der jeweiligen weiteren Strategie erzielt wird; Aktualisieren der Strategie θ0 abhängig von einer vorgebbaren Anzahl der weiteren Strategien, die die größten Gesamtbelohnungen erzielt haben; dadurch gekennzeichnet, dass nach jedem Ausführen der Schleife die Episodenlänge E vergrößert wird.
  2. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass zusätzlich ein Zeitbudget (engl. time budget) T initialisiert wird, wobei die Schleife nur solange ausgeführt wird, wie verbleibende Zeit des Zeitbudgets T vorhanden ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Zeitbudget T nach jedem Ausführen der Schleife vergrößert wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Episodenlänge E initial auf einen Wert kleiner als eine erwartete Anzahl von Aktionen zum Erreichen des vorgebbaren Ziels gesetzt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die erwartete Anzahl der Aktionen durch eine Monte-Carlo Simulation ermittelt wird.
  6. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die weiteren Strategien in absteigender Reihenfolge nach ihrer erzielten Gesamtbelohnung si sortiert werden und jeweils mittels einem der jeweiligen Position in der Reihenfolge zugeordneten zweiten vorgebbaren Wert w gewichtet werden.
  7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass mittels eines Sensors der aktuelle Zustand des Agenten, insbesondere Roboters (10), und/oder ein aktueller Zustand der Umgebung des Agenten erfasst wird, wobei abhängig von dem Sensorwert mittels der nach einem der vorherigen Ansprüche erstellten Strategie eine Steuergröße für den Agenten, insbesondere eines Aktors des Agenten, bereitgestellt wird.
  8. Verwendung eines trainierten neuronalen Netzes, um abhängig von einem ihm zugeführten aktuellen Zustand des Agenten und/oder einem aktuellen Zustand der Umgebung des Agenten eine der erstellten Strategie entsprechende Aktion (a) bereitzustellen, wobei die erstellte Strategie nach einem der Ansprüche 1 bis 6 durch das neuronale Netz implementiert ist, indem das neuronale Netz aus einem ihm zugeführten Zustand die der Strategie entsprechende Aktion (a) bereitstellt.
  9. Computerprogramm, umfassend Befehle, die beim Ausführen des Computerprogramms durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 6 auszuführen.
  10. Maschinenlesbares Speicherelement (18), auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  11. Vorrichtung (17), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 6 auszuführen.
DE102019210372.3A 2019-07-12 2019-07-12 Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter Pending DE102019210372A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102019210372.3A DE102019210372A1 (de) 2019-07-12 2019-07-12 Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter
US16/921,906 US11628562B2 (en) 2019-07-12 2020-07-06 Method, device and computer program for producing a strategy for a robot
CN202010662616.0A CN112215363A (zh) 2019-07-12 2020-07-10 用于为机器人创建策略的方法、设备和计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019210372.3A DE102019210372A1 (de) 2019-07-12 2019-07-12 Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter

Publications (1)

Publication Number Publication Date
DE102019210372A1 true DE102019210372A1 (de) 2021-01-14

Family

ID=74059266

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019210372.3A Pending DE102019210372A1 (de) 2019-07-12 2019-07-12 Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter

Country Status (3)

Country Link
US (1) US11628562B2 (de)
CN (1) CN112215363A (de)
DE (1) DE102019210372A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11883746B2 (en) * 2021-02-23 2024-01-30 Electronic Arts Inc. Adversarial reinforcement learning for procedural content generation and improved generalization
WO2023004593A1 (zh) * 2021-07-27 2023-02-02 华为技术有限公司 用于对电路进行仿真的方法、介质、程序产品以及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5330138B2 (ja) * 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
CN108701251B (zh) * 2016-02-09 2022-08-12 谷歌有限责任公司 使用优势估计强化学习
US10977551B2 (en) * 2016-12-14 2021-04-13 Microsoft Technology Licensing, Llc Hybrid reward architecture for reinforcement learning
US11222262B2 (en) * 2017-05-30 2022-01-11 Xerox Corporation Non-Markovian control with gated end-to-end memory policy networks
US20190244099A1 (en) * 2018-02-05 2019-08-08 Deepmind Technologies Limited Continual reinforcement learning with a multi-task agent
US20210237266A1 (en) * 2018-06-15 2021-08-05 Google Llc Deep reinforcement learning for robotic manipulation
EP3605334A1 (de) * 2018-07-31 2020-02-05 Prowler.io Limited Anreizsteuerung für multiagentensysteme
EP3637256A1 (de) * 2018-10-12 2020-04-15 IMEC vzw Erkundung einer unerforschten domäne durch parallele verstärkung
CA3060900A1 (en) * 2018-11-05 2020-05-05 Royal Bank Of Canada System and method for deep reinforcement learning
US20200320435A1 (en) * 2019-04-08 2020-10-08 Sri International Multi-level introspection framework for explainable reinforcement learning agents
US20200372410A1 (en) * 2019-05-23 2020-11-26 Uber Technologies, Inc. Model based reinforcement learning based on generalized hidden parameter markov decision processes
US20230259073A1 (en) * 2020-06-08 2023-08-17 Siemens Aktiengesellschaft Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHRABASZCZ, Patryk ; LOSHCHILOV, Ilya ; HUTTER, Frank: Back to basics: benchmarking canonical evolution strategies for playing atari. Version 1, 24-02-2018. S. 1-8. URL: https://arxiv.org/pdf/1802.08842 [abgerufen am 2019-10-08]. *
RESNICK, Cinjon [et al.]: Backplay: ‘Man muss immer umkehren‘. 31.12.2018. URL: https://arxiv.org/pdf/1807.06919 [abgerufen am 09.06.2020]. *
SALIMANS, Tim ; CHEN, Richard: Learning Montezuma’s Revenge from a single demonstration. 08.12.2018. URL: https://arxiv.org/abs/1812.03381 [abgerufen am 09.06.2020]. *
STULP, Freek ; SIGAUD, Olivier: Robot skill learning: from reinforcement learning to evolution strategies. In: Paladyn – Journal of Behavioral Robotics, Vol. 4, 2013, No. 1, S. 49-61. - ISSN 2081-4836 – DOI: 10.2478/pjbr-2013-0003. *

Also Published As

Publication number Publication date
CN112215363A (zh) 2021-01-12
US11628562B2 (en) 2023-04-18
US20210008718A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
EP2112568B1 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
WO2013170843A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes
WO2019206775A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neurona-len netzes
WO2020187591A1 (de) Verfahren und vorrichtung zum ansteuern eines roboters
DE102019210372A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter
DE202019103862U1 (de) Vorrichtung zum Erstellen einer Strategie für einen Roboter
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
WO2018050252A1 (de) Verfahren und vorrichtung zum planen eines produktionsprozesses aus einer spezifikation und basifunktionen
DE102020214177A1 (de) Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie mittels bestärkendem Lernen
DE102019000749B4 (de) Steuervorrichtung und maschinelle Lernvorrichtung
WO2020207789A1 (de) Verfahren und vorrichtung zum ansteuern einer technischen einrichtung
DE102020207792A1 (de) Training eines künstlichen neuronalen Netzwerkes, künstliches neuronales Netzwerk, Verwendung, Computerprogramm, Speichermedium und Vorrichtung
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102019207410A1 (de) Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
EP3650964B1 (de) Verfahren zum steuern oder regeln eines technischen systems
DE102019128583B4 (de) Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE102019201045B4 (de) Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
DE102020213527A1 (de) Verfahren zum Optimieren einer Strategie für einen Roboter
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
WO2020207786A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
DE102019130484A1 (de) Verfahren und Vorrichtung zum Anlernen eines Ensembles von neuronalen Netzen
DE102022112606B3 (de) Computerimplementiertes Verfahren zur Kalibrierung eines technischen Systems
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems

Legal Events

Date Code Title Description
R163 Identified publications notified