DE102021200111A1 - Apparatus and method for enhancing synthetic environment reinforcement learning - Google Patents
Apparatus and method for enhancing synthetic environment reinforcement learning Download PDFInfo
- Publication number
- DE102021200111A1 DE102021200111A1 DE102021200111.4A DE102021200111A DE102021200111A1 DE 102021200111 A1 DE102021200111 A1 DE 102021200111A1 DE 102021200111 A DE102021200111 A DE 102021200111A DE 102021200111 A1 DE102021200111 A1 DE 102021200111A1
- Authority
- DE
- Germany
- Prior art keywords
- strategy
- strategies
- real
- environment
- synthetic
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Genetics & Genomics (AREA)
- Feedback Control In General (AREA)
Abstract
Computerimplementiertes Verfahren zum Erlernen einer Strategie (π) und/oder Verfahren zum Erlernen einer synthetischen Umgebung, wobei die Strategie dafür konfiguriert ist, einen Agenten zu steuern, wobei es die folgenden Schritte umfasst: Bereitstellen synthetischer Umgebungsparameter (ψ) und einer echten Umgebung (∈real) und eines Bestandes von initialisierten Strategien. Anschließend Wiederholen nachfolgender Schritte für eine vorbestimmte Anzahl von Wiederholungen als eine erste Schleife:Ausführen nachfolgender Schritte für jede Strategie des Bestandes von Strategien als eine zweite Schleife:Stören der synthetischen Umgebungsparameter (ψ) mit zufälligem Rauschen;Trainieren für eine erste gegebene Anzahl von Schritten der Strategie an der synthetischen Umgebung;Bewerten der trainierten Strategie an der echten Umgebung durch Feststellen von Belohnungen der trainierten Strategien;Aktualisieren der synthetischen Umgebungsparameter in Abhängigkeit von dem Rauschen und den Belohnungen. Schließlich Ausgeben der bewerteten Strategie(π) mit der höchsten Belohnung an der echten Umgebung oder mit der am besten trainierten Strategie an der gestörten synthetischen Umgebung.A computer-implemented method for learning a strategy (π) and/or methods for learning a synthetic environment, the strategy being configured to control an agent, comprising the steps of: providing synthetic environment parameters (ψ) and a real environment (∈ real) and a stock of initialized strategies. Then repeating subsequent steps for a predetermined number of iterations as a first loop:performing subsequent steps for each strategy of the inventory of strategies as a second loop:perturbing the synthetic environment parameters (ψ) with random noise;training for a first given number of steps the strategy on the synthetic environment; evaluating the trained strategy on the real environment by determining rewards of the trained strategies; updating the synthetic environment parameters depending on the noise and the rewards. Finally output the scored strategy (π) with the highest reward on the real environment or with the best trained strategy on the perturbed synthetic environment.
Description
Die Erfindung betrifft ein Verfahren zum verbesserten Erlernen einer Strategie für Agenten durch Erlernen einer synthetischen Umgebung und ein Verfahren zum Betreiben eines Aktors durch die Strategie, ein Rechnerprogramm und ein maschinenlesbares Speichermedium, einen Klassifikator, ein Steuerungssystem und ein Trainingssystem.The invention relates to a method for improved learning of a strategy for agents by learning a synthetic environment and a method for operating an actor through the strategy, a computer program and a machine-readable storage medium, a classifier, a control system and a training system.
Allgemeiner Stand der TechnikGeneral state of the art
Die Veröffentlichung der Autoren Such, Felipe Petroski et al. „Generative teaching networks: Accelerating neural architecture search by learning to generate synthetic training data (Generative Lehrnetze: Beschleunigen der Suche neuraler Architektur durch Lernen, synthetische Trainingsdaten zu erzeugen)“ International Conference on Machine Learning. PMLR, 2020 (online verfügbar: https://arxiv.org/abs/1912.07768), offenbart einen allgemeinen Lernrahmen, genannt die „Generativen Lehrnetze“ (Generative Teaching Networks - GTN), der aus zwei neuronalen Netzen besteht, die zusammen in einer zweistufigen Optimierung wirken, um einen synthetischen Datensatz zu erzeugen.The publication by the authors Such, Felipe Petroski et al. "Generative teaching networks: Accelerating neural architecture search by learning to generate synthetic training data" International Conference on Machine Learning. PMLR, 2020 (available online: https://arxiv.org/abs/1912.07768) discloses a general learning framework called the Generative Teaching Networks (GTN) that consists of two neural networks combined in a two-stage optimization to produce a synthetic data set.
Vorteile der ErfindungAdvantages of the Invention
Im Gegensatz zu der oben erwähnten Veröffentlichung der Autoren Such et al, unterscheidet sich die vorliegende Erfindung in zentralen Aspekten. Insbesondere verwendet die Erfindung keine Rauschvektoren als Eingabe zum Erzeugen von synthetischen Datensätzen. Darüber hinaus wird der GTN-Rahmen auf bestärkendes Lernen (engl. reinforcement learning - RL) anstelle von überwachtem Lernen angewendet. Auch verwendet die Erfindung evolutionäre Suche (ES), um die Notwendigkeit eines expliziten Berechnens von Metagradienten zweiter Ordnung zu vermeiden. ES ist nützlich, da ein explizites Berechnen von Metagradienten zweiter Ordnung nicht erforderlich ist, was aufwändig und instabil sein kann, insbesondere in dem RL-Rahmen, in dem die Länge der inneren Schleife veränderlich und hoch sein kann. ES kann ferner leicht parallelisiert werden und ermöglicht, dass das die Erfindung agentenunabhängig sein kann.In contrast to the above-mentioned publication by the authors Such et al, the present invention differs in key aspects. In particular, the invention does not use noise vectors as input to generate synthetic data sets. In addition, the GTN framework is applied to reinforcement learning (RL) instead of supervised learning. Also, the invention uses evolutionary search (ES) to avoid the need to explicitly compute second-order metagradients. ES is useful because it does not require explicit computation of second-order metagradients, which can be expensive and unstable, especially in the RL framework where the inner loop length can be variable and high. ES can also be easily parallelized, allowing the invention to be agent independent.
Die Erfindung ermöglicht es, agentenunabhängige synthetische Umgebungen (synthetic environments - SE) für bestärkendes Lernen zu erlernen. SE wirken als eine Vertretung für Zielumgebungen und ermöglichen es, dass Agenten effizienter trainiert werden, als wenn sie unmittelbar in der Zielumgebung trainiert würden. Durch Verwendung von Natürlichen Evolutionsstrategien und eines Bestandes von SE-Parametervektoren ist die vorliegende Erfindung dazu in der Lage, SE zu erlernen, die es ermöglichen, Agenten robuster und mit bis zu 50 bis 75 % weniger Schritten an der echten Umgebung zu trainieren.The invention makes it possible to learn agent-independent synthetic environments (SE) for reinforcement learning. SEs act as a proxy for target environments and allow agents to be trained more efficiently than if they were trained directly in the target environment. Using Natural Evolution Strategies and an inventory of SE parameter vectors, the present invention is able to learn SEs that allow agents to be trained more robustly and with up to 50-75% fewer steps on the real environment.
Folglich verbessert die vorliegende Erfindung RL durch Erlernen eines Vertretungsdaten- Erzeugungsprozesses, der es ermöglicht, effektiver und effizienter zu trainieren, das heißt, eine ähnliche oder höhere Leistung schneller zu erreichen, verglichen damit, wenn unmittelbar an den Ursprungsdaten trainiert wird.Thus, the present invention improves RL by learning a proxy data generation process that enables more effective and efficient training, that is, achieving similar or higher performance faster, compared to training directly on the original data.
Ein anderer Vorteil ist, dass auf Grund der gesonderten Optimierung der Strategie eines Agenten und der synthetischen Umgebung die Erfindung kompatibel mit allen unterschiedlichen Herangehensweisen zum Trainieren von Bestärkungslernagenten, z. B. Strategiegradient oder tiefes Q-Lernen, ist.Another advantage is that due to the separate optimization of an agent's strategy and the synthetic environment, the invention is compatible with all different approaches to training reinforcement learning agents, e.g. B. strategy gradient or deep Q learning.
Offenbarung der ErfindungDisclosure of Invention
In einem ersten Aspekt betrifft die vorliegende Erfindung ein es Verfahren zum Erlernen einer Strategie, die konfiguriert ist, einen Agenten zu steuern. Dies bedeutet, dass die Strategie eine Aktion für den Agenten in Abhängigkeit von wenigstens einem bereitgestellten Zustand der Umgebung des Agenten bestimmt.In a first aspect, the present invention relates to a method for learning a strategy configured to control an agent. This means that the strategy determines an action for the agent depending on at least one provided state of the agent's environment.
Das Verfahren umfasst die folgenden Schritte:The procedure includes the following steps:
Anfängliches Bereitstellen synthetischer Umgebungsparameter und einer echten Umgebung und eines Bestandes von initialisierten Strategien. Die synthetische Umgebung ist durch die Tatsache gekennzeichnet, dass sie während des Erlernens der Strategie sowohl aufgebaut als auch gelernt wird und sie abhängig von der echten Umgebung mittelbar gelernt wird. Dies bedeutet, dass die synthetische Umgebung eine virtuelle Wiedergabe der echten Umgebung ist. Der Agent kann unmittelbar mit der echten und der synthetischen Umgebung in Wechselwirkung treten, zum Beispiel durch Durchführen einer Aktion und unmittelbares Empfangen des Zustands der Umgebung nach der Aktion. Der Unterschied ist, dass der empfangene Zustand von der synthetischen Umgebung in Abhängigkeit von den synthetischen Umgebungsparametern bestimmt wird, wobei der empfangene Zustand von der echten Umgebung entweder durch einen Sensor abgefühlt oder durch umfassende Simulationen der echten Umgebung bestimmt wird.Initially providing synthetic environment parameters and a real environment and inventory of initialized strategies. The synthetic environment is characterized by the fact that it is both built and learned during the learning of the strategy, and it is learned indirectly depending on the real environment. This means that the synthetic environment is a virtual representation of the real environment. The agent can interact immediately with the real and synthetic environment, for example by performing an action and immediately receiving the state of the environment after the action. The difference is that the received state is determined from the synthetic environment depending on the synthetic environment parameters, where the received state from the real environment is either sensed by a sensor or determined by extensive simulations of the real environment.
Daraufhin folgt ein Wiederholen nachfolgender Schritte für eine vorbestimmte Anzahl von Wiederholungen, insbesondere als eine erste Schleife. Die erste Schleife umfasst wenigstens die Schritte des Ausführens einer zweiten Schleife über alle Strategien des Bestandes und danach des Aktualisierens der Parameter der synthetischen Umgebung, um sie besser an die echte Umgebung anzupassen, genauer, um eine bessere Vertretungsumgebung bereitzustellen, um zu ermöglichen, dass an der Vertretung angelernte Agenten eine mächtigere Strategie für die echte Umgebung finden.This is followed by repeating subsequent steps for a predetermined number of iterations, particularly as a first loop. The first loop comprises at least the steps of executing a second loop over all policies of the inventory and thereafter updating the parameters of the synthetic environment around them to better match the real environment, more precisely to provide a better proxy environment, to allow agents trained on the proxy to find a more powerful strategy for the real environment.
In dem ersten Schritt der ersten Schleife wird die zweite Schleife über jede Strategie des Bestandes von Strategien ausgeführt. Die zweite Schleife umfasst die folgenden Schritte für jede ausgewählte Strategie des Bestandes von Strategien:
- Zuerst werden die Parameter der synthetischen Umgebung mit zufälligem Rauschen gestört. Genauer, Rauschen wird zufällig aus einer isotropen multivariaten Gauß-Funktion mit Mittelwert gleich null und Varianz gleich einer gegebenen Varianz gezogen.
- First, the parameters of the synthetic environment are perturbed with random noise. More specifically, noise is randomly drawn from an isotropic multivariate Gaussian with mean equal to zero and variance equal to a given variance.
Daraufhin wird, für eine gegebene Anzahl von Schritten/Episoden, die ausgewählte Strategie des Bestandes von Strategien an der gestörten synthetischen Umgebung trainiert. Das Training wird als bestärkendes Lernen ausgeführt, z. B. Optimieren des Agenten, um eine Belohnung oder Bestrafung zu optimieren (z. B. zu maximieren oder zu minimieren), durch Ausführen von Aktionen, um ein Ziel oder einen Zielzustand innerhalb einer Umgebung zu erreichen.
Daraufhin werden die trainierten Strategien durch Bestimmen von Belohnungen der trainierten Strategien an der echten Umgebung bewertet.Then, for a given number of steps/episodes, the selected strategy of the inventory of strategies is trained on the perturbed synthetic environment. The training is carried out as reinforcement learning, e.g. B. Optimizing the agent to optimize (e.g., maximize or minimize) a reward or punishment by performing actions to achieve a goal or goal state within an environment.
The trained strategies are then evaluated by determining rewards of the trained strategies on the real environment.
Falls die zweite Schleife für jede Strategie des Bestandes durchgeführt worden ist, dann wird der weitere Schritt innerhalb der ersten Schleife ausgeführt. Dieser Schritt umfasst das Aktualisieren der synthetischen Umgebungsparameter in Abhängigkeit von den in der eben beendeten zweiten Schleife bestimmten Belohnungen. Vorzugsweise werden die Parameter ebenfalls in Abhängigkeit von dem in der zweiten Schleife verwendeten Rauschen aktualisiert.If the second loop has been performed for each strategy of the inventory, then the further step within the first loop is executed. This step involves updating the synthetic environment parameters depending on the rewards determined in the second loop just ended. Preferably, the parameters are also updated depending on the noise used in the second loop.
Falls die erste Schleife beendet worden ist, wird die bewertete Strategie mit der höchsten Belohnung an der echten Umgebung oder mit der am besten trainierten Strategie an der verrauschten synthetischen Umgebung ausgegeben.If the first loop has finished, the evaluated strategy with the highest reward on the real environment or with the best trained strategy on the noisy synthetic environment is output.
Auf Grund der evolutionären Strategie und des abwechselnden Trainierens sowohl der synthetischen Umgebung als auch der Strategien wird ein robusteres und effizienteres Training bereitgestellt.Because of the evolutionary strategy and the alternating training of both the synthetic environment and the strategies, more robust and efficient training is provided.
Es wird vorgeschlagen, dass für das Training in der zweiten Schleife jede Strategie zufällig initialisiert wird, bevor sie an der gestörten synthetischen Umgebung trainiert wird. Dies hat den Vorzug, dass sich erlernte synthetische Umgebungen nicht an die Agenten überanpassen (d. h., nicht spezifische Agentenverhalten speichern und nutzen) und eine Verallgemeinerung über unterschiedliche Arten von Agenten/Strategien ermöglichen. Darüber hinaus ermöglicht dies Benutzern, Agenten und deren Initialisierungen auszutauschen, und schränkt Benutzer nicht auf spezifische Einstellungen der Agenten ein.It is proposed that for the second loop training, each strategy is randomly initialized before being trained on the perturbed synthetic environment. This has the benefit that learned synthetic environments do not over-adapt to agents (i.e. do not store and use specific agent behaviors) and allow generalization across different types of agents/strategies. In addition, this allows users to exchange agents and their initializations and does not limit users to specific agent settings.
Es wird ferner vorgeschlagen, dass das Training der Strategien beendet wird, falls eine Änderung eines gleitenden Mittels der kumulativen Belohnungen über die letzten paar vorherigen Episoden kleiner ist als ein gegebener Schwellenwert. Dies hat den Vorteil, dass hiermit eine zuverlässige Heuristik als ein Frühabbruchkriterium bereitgestellt wird, um die Effizienz des Verfahrens des ersten Aspekts weiter zu verbessern.It is further suggested that the training of the strategies is terminated if a moving average change of the cumulative rewards over the last few previous episodes is less than a given threshold. This has the advantage that a reliable heuristic is provided as an early termination criterion in order to further improve the efficiency of the method of the first aspect.
Es wird ferner vorgeschlagen, dass die synthetische Umgebung durch ein neuronales Netz dargestellt wird, wobei die synthetischen Umgebungsparameter Gewichte des neuronalen Netzes umfassen.It is further proposed that the synthetic environment is represented by a neural network, with the synthetic environment parameters comprising weights of the neural network.
In einem zweiten Aspekt der Erfindung werden ein Rechnerprogramm und eine Vorrichtung, die dafür konfiguriert sind, das Verfahren des ersten Aspekts auszuführen, vorgeschlagen.In a second aspect of the invention, a computer program and a device configured to carry out the method of the first aspect are proposed.
Ausführungsformen der Erfindung werden unter Bezugnahme auf die folgenden Figuren ausführlicher erörtert werden. Die Figuren zeigen:
-
1 Natürliche Evolutionsstrategien zum Erlernen synthetischer Umgebungen; -
2 ein Steuerungssystem, das einen Klassifikator aufweist, der einen Aktor in seiner Umgebung steuert; -
3 das Steuerungssystem, das einen wenigstens teilweise autonomen Roboter steuert; -
4 das Steuerungssystem, das ein Zugangskontrollsystem steuert; -
5 das Steuerungssystem, das ein Überwachungssystem steuert; -
6 das Steuerungssystem, das ein Bildgebungssystem steuert; -
7 das Steuerungssystem, das eine Fertigungsmaschine steuert.
-
1 Natural evolutionary strategies for learning synthetic environments; -
2 a control system that includes a classifier that controls an actor in its environment; -
3 the control system controlling an at least partially autonomous robot; -
4 the control system that controls an access control system; -
5 the control system that controls a monitoring system; -
6 the control system that controls an imaging system; -
7 the control system that controls a manufacturing machine.
Ausführliche BeschreibungDetailed description
Wir betrachten einen Markov-Entscheidungsprozess, der durch ein 4-Tupel (S, A, P, R) mit S als dem Satz von Zuständen, A als dem Satz von Aktion en, P als den Übergangswahrscheinlichkeiten zwischen Zuständen, falls eine bestimmte Aktion in diesem Zustand ausgeführt wird, und R als den unmittelbaren Belohnungen dargestellt wird. Die MDP, die wir betrachten, sind entweder von Menschen gestaltete Umgebungen ∈real oder erlernte synthetische Umgebungen ∈syn, die als SE bezeichnet werden, was vorzugsweise durch ein neuronales Netz mit den Parametern ψ dargestellt wird. Eine Kopplung mit den Umgebungen ist in beiden Fällen nahezu identisch: mit einer gegebenen Eingabe a ∈ A, gibt die Umgebung einen nächsten Zustand s' ∈ S und eine Belohnung aus. Vorzugsweise geben wird in dem Fall von ∈syn zusätzlich den aktuellen Zustand s ∈ S ein, weil sie dann als zustandslos modelliert werden kann.Consider a Markov decision process represented by a 4-tuple (S, A, P, R) with S as the set of states, A as the set of actions en, P as the transition probabilities between states if a given action occurs in is executed in this state, and R is presented as the immediate rewards. The MDP we consider are either human-designed environments ∈ real or learned synthetic environments ∈ syn , denoted SE, which is preferably represented by a neural network with parameters ψ. Coupling to the neighborhoods is almost identical in both cases: given an input a ∈ A, the neighborhood emits a next state s' ∈ S and a reward. In the case of ∈ syn , we preferably also enter the current state s ∈ S because it can then be modeled as stateless.
Das zentrale Ziel eines RL-Agenten, wenn er an einem MDP ∈real interagiert, ist es, eine optimale Strategie πθ, parametrisiert durch θ, zu finden, welche die zu erwartende Belohnung F(θ; ∈syn) maximiert. In RL gibt es viele unterschiedliche Verfahren, um dieses Ziel zu optimieren, zum Beispiel Strategiegradient (Sutton, R. S.; McAllester, D.; Singh, S. und Mansour, Y. 2000: Policy Gradient Methods for Reinforcement Learning with Function Approximation (Strategiegradientenverfahren für bestärkendes Lernen mit Funktionsnäherung). In NeurIPS 2000.) oder tiefes Q-Lernen (Hosu, I. und Rebedea, T. 2016. Playing Atari Games with Deep Reinforcement Learning and Human Checkpoint Replay (Spielen von Atarispielen mit tiefem bestärkenden Lernen und Wiederholungsspiel an menschlichem Kontrollpunkt). CoRR abs/1607.05077.). Wir betrachten nun das folgende zweistufige Optimierungsproblem: finde die Parameter Ψ*, so dass die Strategie πθ, gefunden durch einen Agenten, parametrisiert durch θ, der an ∈syn trainiert, die höchste Belohnung an einer Zielumgebung ∈real erreichen wird. Formal ist dies:
Wir können standardmäßige RL-Algorithmen (z. B. Strategiegradient oder Q-Lernen) zum Optimieren der Strategien der Agenten an der SE in der inneren Schleife verwenden. Obwohl gradientenbasierte Optimierungsverfahren in der äußeren Schleife angewendet werden können, wählen wir natürliche Evolutionsstrategien (Natural Evolution Strategies - N ES) gegenüber solchen Verfahren, um zu ermöglichen, dass die Optimierung unabhängig von der Wahl eines Agenten in der inneren Schleife ist, und um das Berechnen möglicherweise aufwändiger und instabiler Metagradienten zu vermeiden. Zusätzliche Vorzüge von ES sind, dass sie besser für lange Episoden (die in RL häufig vorkommen), geringe oder verzögerte Belohnungen und Parallelisierung geeignet ist.We can use standard RL algorithms (e.g. strategy gradient or Q-learning) to optimize the strategies of the agents at the SE in the inner loop. Although gradient-based optimization methods can be applied in the outer loop, we choose Natural Evolution Strategies (NES) over such methods to allow the optimization to be independent of the choice of an inner-loop agent and to avoid computation to avoid possibly more complex and unstable metagradients. Additional merits of ES are that it's better suited to long episodes (which are common in RL), low or delayed rewards, and parallelism.
Auf Grundlage der formulierten Problemstellung lassen Sie und nun unser Verfahren erläutern. Das gesamte N ES-Schema wird von Salimans et al. übernommen (siehe Salimans, T.; Ho, J.; Chen, X. und Sutskever, I. 2017. Evolution Strategies as a Scalable Alternative to Reinforcement Learning (Evolutionsstrategien al seine skalierbare Alternative zu bestärkendem Lernen). arXiv:1703.03864) und in Algorithmus 1 in
Der Hauptunterschied zu Salimans et al. ist, dass, während sie einen Bestand über gestörte Agentenparametervektoren aufrechterhalten, unser Bestand aus gestörten SE-Parametervektoren besteht. Im Gegensatz zu ihrer Herangehensweise schließt unsere NES-Herangehensweise ebenfalls zwei Optimierungen, nämlich diejenigen der Agenten- und der S E-Parameter anstatt nur der Agentenparameter, ein.The main difference to Salimans et al. is that while they maintain an inventory of perturbed agent parameter vectors, our inventory consists of perturbed SE parameter vectors. In contrast to their approach, our NES approach also includes two optimizations, namely those of the agent and the SE parameters rather than just the agent parameters.
Unser Algorithmus stört zuerst stochastisch jedes Bestandsglied entsprechend der Suchverteilung, was zu Ψi führt. Danach wird ein neuer zufällig initialisierter Agent in TrainAgent an der durch Ψi parametrisierten SE für ne Episoden trainiert. Die trainierte Strategie des Agenten mit optimierten Parametern wird dann an der echten Umgebung in EvaluateAgent bewertet, was die durchschnittliche kumulative Belohnung über z. B. 10 Testepisoden ergibt, die wir als ein Score FΨ,i in der obigen Score-Funktion-Schätzfunktion verwenden. Schließlich aktualisieren wir ψ in UpdateSE mit einer stochastischen Gradientenschätzung auf Grundlage aller Gliedscores über eine gewichtete Summe:
Vorzugsweise wiederholen wir diesen Prozess no Male, führen aber einen manuellen Frühabbruch durch, wenn eine sich ergebende SE dazu in der Lage ist, Agenten zu trainieren, die stetig dazu in der Lage sind, die Zielaufgabe zu lösen. Vorzugsweise kann durch Benutzen eines Arbeiters für jedes Glied des Bestandes zur gleichen Zeit eine parallele Version des Algorithmus verwendet werden.Preferably, we repeat this process n o times, but perform a manual early termination when a resulting SE is able to train agents that are consistently able to solve the target task. Preferably, by using one worker for each member of the inventory at the same time, a parallel version of the algorithm can be used.
Das Bestimmen der Anzahl erforderlicher Trainingsepisoden ne an einer SE ist herausfordernd, da die Belohnungen der SE keine Informationen über die Leistung des aktuellen Agenten an der wirklichen Umgebung liefern. Folglich verwenden wir wahlweise eine Heuristik, um das Training früh abzubrechen, sobald sich die Trainingsleistung des Agenten an der synthetischen Umgebung annähert. Lassen Sie uns die kumulative Belohnung der k-ten Trainingsepisode als Ck bezeichnen. Die zwei Werte Cd und C2d erhalten ein nicht-überlappendes gleitendes Mittel der kumulativen Belohnungen über die letzten d und 2d jeweiligen Episoden k aufrecht. Nun wird, falls |Cd-C2d| / |C2d| ≤ Cdiff das Training abgebrochen. Beispielhaft, d = 10 und Cdiff = 0,01. Das Training von Agenten an echten Umgebungen wird abgebrochen, wenn die durchschnittliche kumulative Belohnung über die letzten d Testepisoden den Schwellenwert gelöster Belohnungen überschreitet.Determining the number of required training episodes n e at an SE is challenging since the SE's rewards provide no information about the current agent's performance at the real environment. Hence we use wahl provide a heuristic to stop training early as the agent's training performance approaches the synthetic environment. Let's denote the cumulative reward of the kth training episode as C k . The two values C d and C 2d maintain a non-overlapping moving average of the cumulative rewards over the last d and 2d respective episodes k. Now, if |C d -C 2d | / |C 2d | ≤ C diff the training is aborted. For example, d = 10 and C diff = 0.01. Agent training on real environments will be terminated if the average cumulative reward over the last d test episodes exceeds the solved reward threshold.
Unabhängig davon, an welcher der Umgebungen (∈real oder ∈syn) wir einen Agenten trainieren, ist der Prozess, um die tatsächliche Agentenleistung zu bewerten, äquivalent: wir tun dies durch Laufenlassen des Agenten in 10 Testepisoden von ∈real für eine festgelegte Anzahl von aufgabenspezifischen Schritten (d. h., 200 auf CartPole-v0 und 500 auf Acrobotv1) und verwenden die kumulativen Belohnungen für jede Episode als eine Leistungsvertretung.Regardless of which of the environments (∈ real or ∈ syn ) we train an agent on, the process to evaluate actual agent performance is equivalent: we do this by running the agent in 10 test episodes of ∈ real for a fixed number of task-specific steps (ie, 200 on CartPole-v0 and 500 on Acrobotv1) and use the cumulative rewards for each episode as a performance proxy.
Auf Grund bekannter Empfindlichkeit für Hyperparameter (HP) kann man zusätzlich eine Hyperparameteroptimierung anwenden. Zusätzlich zu der inneren und der äußeren Schleife unseres Algorithmus kann man eine weitere äußere Schleife verwenden, um einige der Agenten- und NES-HP mit BOHB zu optimieren (siehe Falkner, S.; Klein, A. und Hutter, F. 2018. BOHB: Robust and Efficient Hyperparameter Optimization at Scale (Robuste und effiziente Hyperparameteroptimierung im Maßstab). In Proc. of ICML'18, 1437-1446.), um stabile HP zu identifizieren.Due to the known sensitivity for hyperparameters (HP), one can additionally apply a hyperparameter optimization. In addition to the inner and outer loops of our algorithm, one can use another outer loop to optimize some of the agent and NES HP with BOHB (see Falkner, S.; Klein, A. and Hutter, F. 2018. BOHB : Robust and Efficient Hyperparameter Optimization at Scale. In Proc. of ICML'18, 1437-1446.) to identify stable HP.
In
Dadurch empfängt das Steuerungssystem 40 einen Strom von Sensorsignalen S. Es berechnet dann eine Reihe von Aktor-Steuerbefehlen A in Abhängigkeit von dem Strom von Sensorsignalen 5, die dann an den Aktor 10 übermittelt werden.As a result, the
Das Steuerungssystem 40 empfängt den Strom von Sensorsignalen S des Sensors 30 in einer wahlweisen Empfangseinheit 50. Die Empfangseinheit 50 wandelt die Sensorsignale S in Eingangssignale x um. Alternativ kann, in einem Fall ohne Empfangseinheit 50, jedes Sensorsignal S unmittelbar als ein Eingangssignal x genommen werden. Das Eingangssignal x kann zum Beispiel als ein Auszug aus dem Sensorsignal S gegeben werden. Alternativ kann das Sensorsignal S verarbeitet werden, um das Eingangssignal x zu ergeben. Das Eingangssignal x umfasst Bilddaten, die einem durch den Sensor 30 aufgezeichneten Bild entsprechen. In anderen Worten, das Eingangssignal x wird entsprechend dem Sensorsignal S bereitgestellt.The
Das Eingangssignal x wird dann zu einer erlernten Strategie 60, erhalten wie oben beschrieben, weitergeleitet, die zum Beispiel durch ein künstliches neuronales Netz gegeben sein kann.The input signal x is then passed to a learned
Die Strategie 60 ist durch Parameter parametrisiert, die in einem Parameterspeicher St1 gespeichert und durch denselben bereitgestet werden.The
Die Strategie 60 bestimmt Ausgangssignale y aus Eingangssignalen x. Das Ausgangssignal y kennzeichnet eine Aktion. Die Ausgangssignale y werden zu einer wahlweisen Umwandlungseinheit 80 übermittelt, welche die Ausgangssignale y in die Steuerbefehle A umwandelt. Aktorsteuerbefehle A werden dann zu dem Aktor 10 übermittelt, um den Aktor 10 entsprechend zu steuern. Alternativ können die Ausgangssignale y unmittelbar als Steuerbefehle A genommen werden.The
Der Aktor 10 empfängt die Aktorsteuerbefehle A, wird entsprechend gesteuert und führt eine Aktion entsprechend den Aktorsteuerbefehlen A aus. Der Aktor 10 kann eine Steuerungslogik umfassen, die den Aktorsteuerbefehl A in einen weiteren Steuerbefehl umwandelt, die dann verwendet wird, um den Aktor 10 zu steuern.The
In weiteren Ausführungsformen kann das Steuerungssystem 40 den Sensor 30 umfassen. In noch weiteren Ausführungsformen kann das Steuerungssystem 40 alternative oder zusätzlich den Aktor 10 umfassen.In other embodiments, the
In noch weiteren Ausführungsformen kann vorgesehen werden, dass das Steuerungssystem 40 eine Anzeige 10a anstelle eines Aktors 10 steuert. In yet further embodiments, it can be provided that the
Darüber hinaus kann das Steuerungssystem 40 einen Prozessor 45 (oder mehrere Prozessoren) und wenigstens ein maschinenlesbares Speichermedium 46, auf dem Anweisungen gespeichert werden, umfassen, die, falls sie ausgeführt werden, veranlassen, dass das Steuerungssystem 40 ein Verfahren nach einem Aspekt der Erfindung ausführt.In addition, the
Der Sensor 30 kann einen oder mehrere Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und einen oder mehrere Positionssensoren (wie z. B. GPS) umfassen. Einige oder alle dieser Sensoren sind vorzugsweise, aber nicht notwendigerweise in dem Fahrzeug 100 integriert. Alternative oder zusätzlich kann der Sensor 30 ein Informationssystem zum Bestimmen eines Zustands des Aktorsystems umfassen. Ein Beispiel für ein solches Informationssystem ist ein Wetterinformationssystem, das einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Umgebung 20 bestimmt.
Zum Beispiel kann, unter Verwendung des Eingangssignals x die Strategie 60 zum Beispiel den Roboter derart steuern, dass ein Ziel mit einer minimalen Anzahl von Schritten erreicht wird.For example, using the input signal x, the
Der Aktor 10, der vorzugsweise in dem Fahrzeug 100 integriert ist, kann durch eine Bremse, eine Antriebsanlage, einen Motor, einen Antriebsstrang oder eine Lenkung des Fahrzeugs 100 gegeben sein. Aktorsteuerbefehle A können derart festgelegt werden, dass der Aktor (oder die Aktoren) 10 derart gesteuert wird/werden, dass das Fahrzeug 100 einen Zusammenstoß mit Objekten vermeidet.The
In weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch einen anderen mobilen Roboter (nicht gezeigt) gegeben sein, der sich zum Beispiel durch Fliegen, Schwimmen, Tauchen oder Schreiten bewegt. Der mobile Roboter kann unter anderem ein wenigstens teilweise autonomer Rasenmäher oder ein wenigstens teilweise autonomer Reinigungsroboter sein. In allen der obigen Ausführungsformen kann der Aktorsteuerungsbefehl A derart festgelegt werden, dass Antriebseinheit und/oder Lenkung und/oder Bremse des mobilen Roboters derart gesteuert werden, dass der mobile Roboter Zusammenstöße mit den identifizierten Objekten vermeiden kann.In other embodiments, the at least partially autonomous robot may be another mobile robot (not shown) that moves, for example, by flying, swimming, diving, or walking. The mobile robot can be, among other things, an at least partially autonomous lawnmower or an at least partially autonomous cleaning robot. In all of the above embodiments, the actuator control command A can be set such that the power unit and/or steering and/or brake of the mobile robot is controlled such that the mobile robot can avoid collisions with the identified objects.
In einer weiteren Ausführungsform kann der wenigstens teilweise autonome Roboter durch einen Gartenroboter (nicht gezeigt) gegeben sein, der den Sensor 30, vorzugsweise einen optischen Sensor, verwendet, um einen Zustand von Pflanzen in der Umgebung 20 zu bestimmen. Der Aktor 10 kann eine Düse zum Sprühen von Chemikalien sein. In Abhängigkeit von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann ein Aktorsteuerbefehl A festgelegt werden, um zu veranlassen, dass der Aktor 10 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.In another embodiment, the at least partially autonomous robot may be a gardening robot (not shown) that uses the
In noch weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch ein Haushaltsgerät (nicht gezeigt), wie z. B. eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder einen Geschirrspüler, gegeben sein. Der Sensor 30, z. B. ein optischer Sensor, kann einen Zustand eines Objekts erfassen, das eine Bearbeitung durch das Haushaltsgerät erfahren soll. Zum Beispiel kann in dem Fall, dass das Haushaltsgerät eine Waschmaschine ist, der Sensor 30 einen Zustand der Wäsche innerhalb der Waschmaschine erfassen. Das Aktorsteuerungssignal A kann dann in Abhängigkeit von einem erkannten Material der Wäsche festgelegt werden.In still other embodiments, the at least partially autonomous robot may be powered by a household appliance (not shown), such as a B. a washing machine, a stove, an oven, a microwave or a dishwasher. The
In
In
In
In
Der Sensor 30 kann durch einen optischen Sensor gegeben sein, der Eigenschaften z. B. eines gefertigten Produkts 12 erfasst. Die Strategie 60 kann in Abhängigkeit von einem Zustand des gefertigten Produkts 12, z. B. von diesen erfassten Eigenschaften, eine entsprechende Aktion festlegen, um das Fertigprodukt herzustellen. Der Aktor 10, der die Fertigungsmaschine 11 steuert, kann dann in Abhängigkeit von dem bestimmten Zustand des gefertigten Produkts 12 für einen anschließenden Fertigungsschritt des gefertigten Produkts 12 gesteuert werden.The
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021200111.4A DE102021200111A1 (en) | 2021-01-08 | 2021-01-08 | Apparatus and method for enhancing synthetic environment reinforcement learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021200111.4A DE102021200111A1 (en) | 2021-01-08 | 2021-01-08 | Apparatus and method for enhancing synthetic environment reinforcement learning |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021200111A1 true DE102021200111A1 (en) | 2022-07-14 |
Family
ID=82116616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021200111.4A Pending DE102021200111A1 (en) | 2021-01-08 | 2021-01-08 | Apparatus and method for enhancing synthetic environment reinforcement learning |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021200111A1 (en) |
-
2021
- 2021-01-08 DE DE102021200111.4A patent/DE102021200111A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018218586A1 (en) | Method, device and computer program for generating robust automatic learning systems and testing trained automatic learning systems | |
DE202019105282U1 (en) | Device for optimizing a machine learning system | |
US20220222493A1 (en) | Device and method to improve reinforcement learning with synthetic environment | |
DE102021205722A1 (en) | SYSTEM AND PROCEDURE FOR MULTI-SCALE MODELS WITH DEEP BALANCE | |
DE202020101012U1 (en) | Device for predicting a suitable configuration of a machine learning system for a training data set | |
DE202020104238U1 (en) | Device for learning a strategy and operating the strategy | |
DE102020211262A1 (en) | Method and device for compressing a neural network | |
DE102021200111A1 (en) | Apparatus and method for enhancing synthetic environment reinforcement learning | |
DE102020214177A1 (en) | Apparatus and method for training a control strategy using reinforcement learning | |
WO2020173700A1 (en) | Method and device for operating a control system | |
DE102018218834A1 (en) | Method and device for determining a control signal | |
DE202022101997U1 (en) | Device for jointly determining an optimal architecture of a neural network and optimal hyperparameters for training the neural network | |
DE102021204943A1 (en) | META-SCHOOLED EVOLUTIONAL STRATEGY BLACKBOX OPTIMIZATION CLASSIFIER | |
DE102020213527A1 (en) | Method for optimizing a strategy for a robot | |
DE102020212514A1 (en) | Method for determining an output signal using a machine learning system | |
DE102020216188A1 (en) | Apparatus and method for training a classifier | |
DE102020208828A1 (en) | Method and device for creating a machine learning system | |
DE102020208309A1 (en) | Method and device for creating a machine learning system | |
DE202020104005U1 (en) | Device for creating a system for the automated creation of machine learning systems | |
DE202019103046U1 (en) | Device for predicting a learning curve | |
DE102019207911A1 (en) | Method, device and computer program for predicting a learning curve | |
DE202020104727U1 (en) | Device for transfer learning between modified tasks | |
DE102018216078A1 (en) | Method and device for operating a control system | |
DE102020209281A1 (en) | Method and device for learning a strategy and operating the strategy | |
DE202022106154U1 (en) | Device for optimizing a hyperparameter for meta-learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R082 | Change of representative |
Representative=s name: PATENTANWAELTE JOACHIM BEE, PETER MOELDNER, DE |