DE102021200111A1 - Apparatus and method for enhancing synthetic environment reinforcement learning - Google Patents

Apparatus and method for enhancing synthetic environment reinforcement learning Download PDF

Info

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
Application number
DE102021200111.4A
Other languages
German (de)
Inventor
Frank Hutter
Fabio Ferreira
Thomas Nierhoff
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
Albert Ludwigs Universitaet Freiburg
Original Assignee
Robert Bosch GmbH
Albert Ludwigs Universitaet Freiburg
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, Albert Ludwigs Universitaet Freiburg filed Critical Robert Bosch GmbH
Priority to DE102021200111.4A priority Critical patent/DE102021200111A1/en
Publication of DE102021200111A1 publication Critical patent/DE102021200111A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • 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.
In the first step of the first loop, the second loop is executed over each strategy of the inventory of strategies. The second loop includes the following steps for each selected strategy of the pool of strategies:
  • 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.
Embodiments of the invention will be discussed in more detail with reference to the following figures. The figures show:
  • 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: ψ = a r g max ψ F ( θ * ( ψ ) ; r e a l )

Figure DE102021200111A1_0001
s . t . θ * ψ = a r g max θ F ( θ ; s y n )
Figure DE102021200111A1_0002
The central goal of an RL agent when interacting at an MDP ∈ real is to find an optimal strategy π θ , parameterized by θ, that maximizes the expected reward F(θ; ∈ syn ). There are many different methods in RL to optimize this goal, for example policy gradient (Sutton, RS; McAllester, D.; Singh, S. and Mansour, Y. 2000: Policy Gradient Methods for Reinforcement Learning with Function Approximation Reinforcement Learning with Functional Approximation).In NeurIPS 2000.) or Deep Q Learning (Hosu, I. and Rebedea, T. 2016. Playing Atari Games with Deep Reinforcement Learning and Human Checkpoint Replay human checkpoint). CoRR abs/1607.05077.). We now consider the following two-stage optimization problem: find the parameters Ψ* such that the strategy π θ found by an agent parameterized by θ training on ∈ syn will achieve the highest reward on a target environment ∈ real . Formally this is: ψ = a right G Max ψ f ( θ * ( ψ ) ; right e a l )
Figure DE102021200111A1_0001
s . t . θ * ψ = a right G Max θ f ( θ ; s y n )
Figure DE102021200111A1_0002

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 1 abgebildet. Wir instanziieren die Suchverteilung als eine isotrope multivariate Gauß-Funktion mit Mittel 0 und einer Kovarianz σ2/, was die Score-Funktion-Schätzfunktion 1 σ E N ( 0, I ) { F ( ψ + σ ) }

Figure DE102021200111A1_0003
ergibt.Based on the formulated problem, let us now explain our procedure. The entire N ES scheme is described by Salimans et al. (see Salimans, T.; Ho, J.; Chen, X. and Sutskever, I. 2017. Evolution Strategies as a Scalable Alternative to Reinforcement Learning. arXiv:1703.03864) and in Algorithm 1 in 1 pictured. We instantiate the search distribution as an isotropic multivariate Gaussian with mean 0 and covariance σ 2 /, which is the score function estimator 1 σ E N ( 0, I ) { f ( ψ + σ ) }
Figure DE102021200111A1_0003
results.

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: ψ < ψ + α 1 n p σ i n p F i i .

Figure DE102021200111A1_0004
Our algorithm first perturbs each inventory member stochastically according to the search distribution, leading to Ψ i . After that, a new randomly initialized agent is trained in TrainAgent on the SE parameterized by Ψ i for n e episodes. The agent's trained strategy with optimized parameters is then evaluated against the real environment in EvaluateAgent, which calculates the average cumulative reward over e.g. B. gives 10 test episodes, which we use as a score F Ψ,i in the above score function estimator. Finally, in UpdateSE, we update ψ with a stochastic gradient estimate based on all limb scores via a weighted sum: ψ < ψ + a 1 n p σ i n p f i i .
Figure DE102021200111A1_0004

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 2 wird eine Ausführungsform eines Aktors 10 in seiner Umgebung 20 gezeigt. Der Aktor 10 interagiert mit einem Steuerungssystem 40. Der Aktor 10 und seine Umgebung 20 werden gemeinsam Aktorsystem genannt werden. In vorzugsweise gleichmäßig beabstandeten Entfernungen fühlt ein Sensor 30 einen Zustand des Aktorsystems ab. Der Sensor 30 kann mehrere Sensoren umfassen. Vorzugsweise ist der Sensor 30 ein optischer Sensor, der Bilder der Umgebung 20 aufnimmt. Ein Ausgangssignal S des Sensors 30 (oder, in dem Fall, dass der Sensor 30 mehrere Sensoren umfasst, ein Ausgangssignal S für jeden der Sensoren), das den abgefühlten Zustand codiert, wird an das Steuerungssystem 40 übermittelt.In 2 an embodiment of an actuator 10 in its environment 20 is shown. The actor 10 interacts with a control system 40. The actor 10 and its environment 20 will collectively be called the actor system. At preferably evenly spaced distances, a sensor 30 senses a condition of the actuator system. Sensor 30 may include multiple sensors. The sensor 30 is preferably an optical sensor that takes pictures of the surroundings 20 . An output signal S of the sensor 30 (or, in the case where the sensor 30 includes multiple sensors, an output signal S for each of the sensors) encoding the sensed condition is communicated to the control system 40 .

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 control system 40 receives a stream of sensor signals S. It then calculates a series of actuator control commands A as a function of the stream of sensor signals 5, which are then transmitted to the actuator 10.

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 control system 40 receives the stream of sensor signals S from the sensor 30 in an optional receiving unit 50. The receiving unit 50 converts the sensor signals S into input signals x. Alternatively, in a case without receiving unit 50, each sensor signal S can be taken directly as an input signal x. The input signal x can be given as an excerpt from the sensor signal S, for example. Alternatively, the sensor signal S can be processed to give the input signal x. The input signal x includes image data corresponding to an image recorded by the sensor 30 . In other words, the input signal x is provided according to the sensor signal S.

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 strategy 60, obtained as described above, which can be given by an artificial neural network, for example.

Die Strategie 60 ist durch Parameter parametrisiert, die in einem Parameterspeicher St1 gespeichert und durch denselben bereitgestet werden.The strategy 60 is parameterized by parameters that are stored in and made available by a parameter memory St 1 .

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 strategy 60 determines output signals y from input signals x. The output signal y indicates an action. The output signals y are transmitted to an optional conversion unit 80, which converts the output signals y into the control commands A. Actuator control commands A are then transmitted to the actuator 10 in order to control the actuator 10 accordingly. Alternatively, the output signals y can be taken directly as control commands A.

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 actuator 10 receives the actuator control commands A, is controlled accordingly and carries out an action in accordance with the actuator control commands A. The actuator 10 may include control logic that converts the actuator control command A into another control command that is then used to control the actuator 10 .

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 control system 40 may include the sensor 30 . In still other embodiments, control system 40 may alternatively or additionally include actuator 10 .

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 control system 40 controls a display 10a instead of an actuator 10 .

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 control system 40 may include a processor 45 (or multiple processors) and at least one machine-readable storage medium 46 on which are stored instructions which, if executed, cause instructions sen that the control system 40 performs a method according to an aspect of the invention.

3 zeigt eine Ausführungsform, in der das Steuerungssystem 40 verwendet wird, um einen wenigstens teilweise autonomen Roboter, z. B. ein wenigstens teilweise autonomes Fahrzeug 100, zu steuern. 3 Figure 12 shows an embodiment in which the control system 40 is used to control an at least partially autonomous robot, e.g. B. an at least partially autonomous vehicle 100 to control.

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.Sensor 30 may include one or more video sensors, and/or one or more radar sensors, and/or one or more ultrasonic sensors, and/or one or more LiDAR sensors, and one or more position sensors (such as GPS). Some or all of these sensors are preferably, but not necessarily, integrated into the vehicle 100 . Alternatively or additionally, the sensor 30 can include an information system for determining a state of the actuator system. An example of such an information system is a weather information system that determines a current or future state of the weather in the area 20 .

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 strategy 60 can, for example, control the robot such that a goal is reached with a minimum number of steps.

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 actuator 10, which is preferably integrated in the vehicle 100, can be given by a brake, a drive system, an engine, a drive train or a steering system of the vehicle 100. Actuator control commands A may be set such that the actuator (or actuators) 10 is/are controlled such that the vehicle 100 avoids collision with objects.

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 sensor 30, preferably an optical sensor, to determine a condition of plants in the environment 20. The actuator 10 can be a nozzle for spraying chemicals. Depending on an identified species and/or an identified condition of the plants, an actuator control command A can be set to cause the actuator 10 to spray the plants with an appropriate amount of appropriate chemicals.

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 sensor 30, e.g. B. an optical sensor can detect a state of an object that is to be processed by the household appliance. For example, in the case where the home appliance is a washing machine, the sensor 30 can detect a state of laundry inside the washing machine. The actuator control signal A can then be defined as a function of a detected material in the laundry.

In 4 wird eine Ausführungsform gezeigt, in der das Steuerungssystem ein Zugangskontrollsystem 300 steuert. Das Zugangskontrollsystem kann dafür ausgelegt sein, physisch einen Zugang zu kontrollieren. Es kann zum Beispiel eine Tür 401 umfassen. Der Sensor 30 ist dafür konfiguriert, eine Szene zu erfassen, die dafür maßgeblich ist, zu entscheiden, ob Zugang zu gewähren ist oder nicht. Er kann zum Beispiel ein optischer Sensor zum Bereitstellen von Bild- oder Videodaten sein, zum Erkennen des Gesichts einer Person. Die Strategie 60 kann dafür konfiguriert sein, diese Bild- oder Videodaten zu interpretieren. Das Aktorsteuerungssignal A kann dann in Abhängigkeit von der Interpretation der Strategie 60, z. B. in Übereinstimmung mit der festgestellten Identität, festgelegt werden. Der Aktor 10 kann ein Schloss sein, das in Abhängigkeit von dem Aktorsteuerungssignal A Zugang gewährt oder nicht. Eine nicht-physische, logische Zugangskontrolle ist ebenfalls möglich.In 4 an embodiment is shown in which the control system controls an access control system 300 . The access control system may be designed to physically control access. It may include a door 401, for example. The sensor 30 is configured to capture a scene relevant to deciding whether or not to allow access. For example, it can be an optical sensor for providing image or video data for recognizing a person's face. The strategy 60 can be configured to interpret this image or video data. The actuator control signal A can then, depending on the interpretation of the strategy 60, e.g. B. in accordance with the established identity. The actuator 10 can be a lock that, depending on the actuator control signal A, grants access or not. Non-physical, logical access control is also possible.

In 5 wird eine Ausführungsform gezeigt, in der das Steuerungssystem 40 ein Überwachungssystem 400 steuert. Diese Ausführungsform ist weitgehend identisch mit der in 5 gezeigten Ausführungsform. Daher werden nur die abweichenden Aspekte ausführlich beschrieben werden. Der Sensor 30 ist dafür konfiguriert, eine Szene zu erfassen, die unter Überwachung steht. Das Steuerungssystem steuert nicht notwendigerweise einen Aktor 10, sondern eine Anzeige 10a. Zum Beispiel kann die Strategie 60 z. B. feststellen, ob die durch den optischen Sensor 30 erfasste Szene verdächtig ist. Das Aktorsteuerungssignal A, das an die Anzeige 10a übermittelt wird, kann dann zum Beispiel dafür konfiguriert sein, zu veranlassen, dass die Anzeige 10a den angezeigten Inhalt in Abhängigkeit von der festgestellten Klassifizierung anpasst, z. B., um ein Objekt hervorzuheben, das von der Strategie 60 für verdächtig erachtet wird.In 5 an embodiment is shown in which the control system 40 controls a monitoring system 400 . This embodiment is largely identical to that in 5 embodiment shown. Therefore, only the different aspects will be described in detail. The sensor 30 is configured to capture a scene that is under surveillance. The control system does not necessarily control an actuator 10, but rather a display 10a. For example, strategy 60 may e.g. B. determine whether the scene detected by the optical sensor 30 is suspicious. The actuator control signal A communicated to the display 10a may then be configured, for example, to cause the display 10a to adjust the displayed content depending on the determined classification, e.g. B. to a Highlight object considered suspicious by strategy 60.

In 6 wird eine Ausführungsform eines Steuerungssystems 40 zum Steuern eines Bildgebungssystems 500, zum Beispiel eines MRT-Geräts, eines Röntgen-Bildgebungsgeräts oder eines Ultraschall-Bildgebungsgeräts gezeigt. Der Sensor 30 kann zum Beispiel ein Bildgebungssensor sein. Die Strategie 60 kann dann einen Bereich zum Aufnehmen des Bildes festlegen. Das Aktorsteuerungssignal A kann dann in Übereinstimmung mit diesem Bereich gewählt werden, wodurch die Anzeige 10a gesteuert wird.In 6 1 shows an embodiment of a control system 40 for controlling an imaging system 500, for example an MRI machine, an X-ray imaging machine or an ultrasound imaging machine. The sensor 30 can be an imaging sensor, for example. The strategy 60 can then determine an area to capture the image. The actuator control signal A can then be chosen in accordance with this range, thereby driving the display 10a.

In 7 wird eine Ausführungsform gezeigt, in der das Steuerungssystem 40 verwendet wird, um eine Fertigungsmaschine 11, z. B. eine Stanzmaschine, eine Schneidemaschine oder einen Tieflochbohrer, einer Fertigungsanlage 200, z. B. als Teil einer Produktionslinie, zu steuern. Das Steuerungssystem 40 steuert einen Aktor 10, der wiederum die Fertigungsmaschine 11 steuert.In 7 an embodiment is shown in which the control system 40 is used to control a manufacturing machine 11, e.g. B. a punching machine, a cutting machine or a gun drill, a manufacturing plant 200, z. B. as part of a production line to control. The control system 40 controls an actuator 10 which in turn controls the production machine 11 .

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 sensor 30 can be given by an optical sensor, the properties z. B. a manufactured product 12 is detected. The strategy 60 may be dependent on a condition of the manufactured product 12, e.g. B. from these recorded properties, determine an appropriate action to produce the finished product. The actuator 10, which controls the manufacturing machine 11, can then be controlled as a function of the specific state of the manufactured product 12 for a subsequent manufacturing step of the manufactured product 12.

Claims (13)

Computerimplementiertes Verfahren zum Erlernen einer Strategie (π), die konfiguriert ist, einen Agenten zu steuern, umfassend folgende Schritte: Bereitstellen synthetischer Umgebungsparameter (ψ) und einer echten Umgebung (∈real) und eines Bestandes von initialisierten Strategien; Wiederholen nachfolgender Schritte für eine vorbestimmte Anzahl von Wiederholungen, insbesondere als eine erste Schleife: (1) Ausführen nachfolgender Schritte für jede Strategie des Bestandes von Strategien als eine zweite Schleife: (a) Stören der synthetischen Umgebungsparameter (ψ) mit zufälligem Rauschen; (b) Trainieren der Strategie an der synthetischen Umgebung (esyn), die in Abhängigkeit von den gestörten synthetischen Umgebungsparametern konstruiert wurde; (c) Bestimmen von Belohnungen, die durch die trainierte Strategie erreicht werden, die auf die echte Umgebung (∈real) angewendet wird; (2) Aktualisieren der synthetischen Umgebungsparameter (ψ) in Abhängigkeit von den Belohnungen der trainierten Strategien der zweiten Schleife und Ausgeben derjenigen Strategie (π) der trainierten Strategien, welche die höchste Belohnung an der echten Umgebung (∈real) erreichte oder welche die höchste Belohnung während des Trainings an der synthetischen Umgebung (∈real) erreichte.A computer-implemented method for learning a strategy (π) configured to control an agent, comprising the steps of: providing synthetic environment parameters (ψ) and a real environment (∈ real ) and an inventory of initialized strategies; repeating subsequent steps for a predetermined number of iterations, specifically as a first loop: (1) performing, for each strategy of the inventory of strategies, as a second loop the following steps: (a) perturbing the synthetic environmental parameters (ψ) with random noise; (b) training the strategy on the synthetic environment (e syn ) constructed in dependence on the perturbed synthetic environment parameters; (c) determining rewards achieved by the trained strategy applied to the real environment (∈ real ); (2) Updating the synthetic environment parameters (ψ) depending on the rewards of the second loop trained strategies and outputting that strategy (π) of the trained strategies which achieved the highest reward on the real environment (∈ real ) or which had the highest reward achieved during training on the synthetic environment (∈ real ). Verfahren nach Anspruch 1, wobei das Aktualisieren der synthetischen Umgebungsparameter (ψ) durch stochastische Gradientenschätzung auf Grundlage einer gewichteten Summe der bestimmten Belohnungen der trainierten Strategien in der zweiten Schleife ausgeführt wird.procedure after claim 1 , wherein the updating of the synthetic environmental parameters (ψ) is performed by stochastic gradient estimation based on a weighted sum of the determined rewards of the trained strategies in the second loop. Verfahren nach Anspruch 1 oder 2, wobei die Schritte der zweiten Schleife, insbesondere das Trainieren der Strategie für die Strategien des Bestandes von Strategien parallel ausgeführt werden.procedure after claim 1 or 2 , wherein the steps of the second loop, in particular the training of the strategy for the strategies of the portfolio of strategies, are carried out in parallel. Verfahren nach einem der Ansprüche 1 bis 3, wobei jede Strategie zufällig initialisiert wird, bevor sie an der synthetischen Umgebung (∈syn) trainiert wird.Procedure according to one of Claims 1 until 3 , where each strategy is initialized randomly before being trained on the synthetic environment (∈ syn ). Verfahren nach einem der Ansprüche 1 bis 4, wobei der Schritt des Trainierens der Strategie beendet wird, falls eine Änderung eines gleitenden Mittels einer kumulativen Belohnungen über eine gegebene Anzahl vorheriger Episoden des Trainings kleiner ist als ein gegebener Schwellenwert.Procedure according to one of Claims 1 until 4 wherein the step of training the strategy is terminated if a moving average change in cumulative rewards over a given number of previous episodes of training is less than a given threshold. Verfahren nach einem der Ansprüche 1 bis 5, wobei eine Hyperparameteroptimierung ausgeführt wird, um Hyperparameter des Trainingsverfahrens zum Trainieren der Strategien und/oder des Optimierungsverfahrens zum Aktualisieren der synthetischen Umgebungsparameter zu optimieren.Procedure according to one of Claims 1 until 5 , wherein hyperparameter optimization is performed to optimize hyperparameters of the training method for training the strategies and/or the optimization method for updating the synthetic environment parameters. Verfahren nach einem der vorhergehenden Ansprüche, wobei die synthetische Umgebung durch ein neuronales Netz repräsentiert wird, wobei die synthetischen Umgebungsparameter (ψ) Parameter, in bestimmten Gewichten, des neuronalen Netzes sind.Method according to one of the preceding claims, in which the synthetic environment is represented by a neural network, the synthetic environment parameters (ψ) being parameters, in specific weights, of the neural network. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Aktor (10) des Agenten in Abhängigkeit von festgelegten Aktionen durch die ausgegebene Strategie gesteuert wird.Method according to one of the preceding claims, in which an actor (10) of the agent is controlled by the strategy which is output as a function of defined actions. Verfahren nach Anspruchs 8, wobei der Agent ein wenigstens teilweise autonomer Roboter (100) und/oder eine Fertigungsmaschine (200) und/oder ein Zugangskontrollsystem (300) ist.procedure after claim 8 , wherein the agent is an at least partially autonomous robot (100) and/or a manufacturing machine (200) and/or an access control system (300). Computerimplementiertes Verfahren zum Erlernen einer synthetischen Umgebung: Bereitstellen synthetischer Umgebungsparameter (ψ) und einer echten Umgebung (∈real) und eines Bestandes von initialisierten Strategien; Wiederholen nachfolgender Schritte für eine vorbestimmte Anzahl von Wiederholungen, insbesondere als eine erste Schleife: (1) Ausführen nachfolgender Schritte für jede Strategie des Bestandes von Strategien als eine zweite Schleife: (a) Stören der synthetischen Umgebungsparameter (ψ) mit zufälligem Rauschen; (b) Trainieren der Strategie an der synthetischen Umgebung, die in Abhängigkeit von den gestörten synthetischen Umgebungsparametern konstruiert ist; (c) Bestimmen von Belohnungen, die durch die trainierte Strategie erreicht werden, die auf die echte Umgebung (∈real) angewendet wird; (2) Aktualisieren der synthetischen Umgebungsparameter (ψ) in Abhängigkeit von den Belohnungen der trainierten Strategien der zweiten Schleife und Ausgeben der aktualisierten synthetischen Umgebungsparameter (Ψ).Computer-implemented method for learning a synthetic environment: providing synthetic environment parameters (ψ) and a real environment (∈ real ) and an inventory of initialized strategies; repeating subsequent steps for a predetermined number of iterations, specifically as a first loop: (1) performing, for each strategy of the inventory of strategies, as a second loop the following steps: (a) perturbing the synthetic environmental parameters (ψ) with random noise; (b) training the strategy on the synthetic environment constructed in dependence on the perturbed synthetic environment parameters; (c) determining rewards achieved by the trained strategy applied to the real environment (∈ real ); (2) Updating the synthetic environment parameters (ψ) depending on the rewards of the second loop trained strategies and outputting the updated synthetic environment parameters (Ψ). Rechnerprogramm, das dafür konfiguriert ist, zu veranlassen, dass ein Rechner das Verfahren nach einem der Ansprüche 1 bis 10 mit allen seinen Schritten ausführt, falls das Rechnerprogramm durch einen Prozessor (45, 145) ausgeführt wird.Computer program configured to cause a computer to carry out the method according to any one of Claims 1 until 10 with all its steps if the computer program is executed by a processor (45, 145). Maschinenlesbares Speichermedium (46, 146), auf dem das Rechnerprogramm nach Anspruch 11 gespeichert ist.Machine-readable storage medium (46, 146) on which the computer program claim 11 is saved. Vorrichtung, die dafür konfiguriert ist, das Verfahren nach einem der vorhergehenden Ansprüche 1 bis 10 auszuführen.Apparatus configured to perform the method of any preceding Claims 1 until 10 to execute.
DE102021200111.4A 2021-01-08 2021-01-08 Apparatus and method for enhancing synthetic environment reinforcement learning Pending DE102021200111A1 (en)

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)

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