EP4139849A1 - Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system - Google Patents

Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system

Info

Publication number
EP4139849A1
EP4139849A1 EP20735060.4A EP20735060A EP4139849A1 EP 4139849 A1 EP4139849 A1 EP 4139849A1 EP 20735060 A EP20735060 A EP 20735060A EP 4139849 A1 EP4139849 A1 EP 4139849A1
Authority
EP
European Patent Office
Prior art keywords
components
agent
training
measured variables
action
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
EP20735060.4A
Other languages
German (de)
French (fr)
Inventor
Michael Wieczorek
Schirin BÄR
Jörn PESCHKE
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of EP4139849A1 publication Critical patent/EP4139849A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Definitions

  • Examples of such configurations are the distribution of the computing load over several processor cores, the size of the shared memory or the maximum number of possible communication packets.
  • machine learning is divided into unsupervised machine learning, supervised machine learning and reinforcement learning or “reinforcement learning” or “reinforcement learning”, which focuses on finding intelligent solutions to complex control problems.
  • a few manipulated variables of the system e.g. the number of threads depending on the number of cores
  • empirical values possibly also application-specific
  • the invention is therefore based on the problem of specifying a method that is intended to enable the parameterization / configuration of complex systems to be adapted at runtime.
  • the problem is solved by the method according to the features of patent claim 1. Furthermore, the problem is solved by a computer-readable storage medium according to the features len of claim 8 and a system according to the features of claim 15.
  • Machine learning concepts are used for the solution.
  • the method according to the invention is used to configure components in a system with factors that influence the components, the components being in an operative relationship to one another, and the status of the components being determinable by collecting internal measured variables and the status of the system being determinable can be determined by measured variables of the overall system, with the means of a reinforcement learning system. It is based on at least one agent and information on the associated environment.
  • the components in the system are first placed in a training mode in order to start a training phase in a first state.
  • the method has the following steps: a) at least one agent of an associated component is called, b) after the agent's first training action, the status of the components and / or the overall system is reevaluated by again collecting the Measured variables, in order to then carry out one of the following steps, depending on the result of the survey: c) if the measured variables are constant or improved: carry out the next action c2) if the measured variables deteriorate: set the epilon-greedy value for the training Zero, carry out the next action, c3) in the event of a critical deterioration in the measured variables, especially with real-time behavior, the training is interrupted and the system is returned to the initial state, continue with steps a, d) in cases c1 and c2, repeat steps b) and c) until completion of a reinforcement learning episode, e) update the agent's strategy (policy), f) Repeat steps a to e for the next agent.
  • Figure 1 is an architecture overview of the system, with a reinforcement learning engine
  • FIG. 2 a reinforcement learning agent
  • FIG. 3 shows a schematic sequence of defensive online training.
  • An already pre-trained system and model can also be used as a starting point, which is provided by the manufacturer, for example. This is also the case when building on an existing system.
  • the agent can also be trained in the real application right from the start, if this is not possible otherwise, if a simulation would be too complex or too imprecise. This so-called offensive online training can possibly lead to a long training duration if no pre-trained model was used.
  • defensive online training is used, in which there is advantageously a separate agent for each component (multi-agent system).
  • Multi-agent systems are known from the following publications, among others:
  • the status of each agent A, A1, A2 includes, in a first instance, the status of its own component and the status of the overall system, in particular the measured variables (e.g. CPU load or network load) that define the properties to be optimized characterize the overall system.
  • measured variables e.g. CPU load or network load
  • agent A, A1, A2 relate to the change in the configuration parameters of the individual component. All agents are advantageously combined in an AI-RL engine, which can lie outside the components or is connected to instances of agents within the components.
  • the agents are configured for individual components as shown in more detail in Figure 2:
  • the actions a, a ⁇ changes in component-specific control variables 113, 116 within a restricted value range, for example input of min-max values or a specified set of values (e.g. allocation of additional memory only in 1024 kByte steps).
  • the status sl, s2, s3, si + i contains measured variables that describe the status of the overall system, for example diagnostic data, internal measured variables and much more
  • an explicit training phase is carried out during runtime, in which the user initiates typical runs (with CNC machines e.g. the production of a typical product) with the aim of to train the system for the new conditions.
  • This exercise phase comprises a predefined period of time or a number of parts and is typically carried out at the end user in the production environment.
  • the agent selects the configuration parameters of the system from his defined scope of action. This consists of discrete parameters that are so restricted that that z.
  • a so-called “greedy” algorithm is used, whereby a next subsequent state is selected step by step, which promises the greatest profit or the best result at the time of the election.
  • the exploration-exploitation rate (exploration vs. exploitation) is defined in this way that the agent often makes randomized decisions in order to try out a lot of new things (exploration) and thus to enable a quick adaptation to the changed system term directions is avoided.
  • the second mode is intended to make continuous adjustments with minor changes during operation, i.e. the production phase. Also due to random changes by the agents, the target variables to be optimized for the overall system should not deteriorate so much that z. B. the quality of the work piece to be manufactured drops below a certain limit value.
  • this second mode is used during normal productive operation, i. H.
  • the target values may only deteriorate to the extent that this is directly acceptable for the resulting properties throughput, quality, wear and tear, etc. of production.
  • this could be implemented in such a way that the fluctuations observed in normal operation (i.e. without optimization) plus a certain mark-up would be tolerated.
  • the discrete steps in the changes to the configuration parameters are so small that a defined limit value (e.g. performance value, load, speed or temperature) can be reached with one action. cannot be fallen below.
  • a defined limit value e.g. performance value, load, speed or temperature
  • Figure 3 shows schematically how defensive online training is implemented.
  • the agent is in state sl and selects a random action al (see Fig. 2).
  • the real system adopts the configuration parameter changes selected by the action and continues the process.
  • the measured data define the subsequent state s2. If the state s2 represents a deterioration in the target variables compared to the previous state sl, the epsilon greedy value e is set directly to zero in order not to allow any further exploration.
  • the agent should bring the system back to the starting position sl with his previous knowledge.
  • a defined episode length e.g. of a maximum of 10 steps
  • the agent's strategy also called policy
  • the strategy describes the relationship between the state of the system and the action that an agent carries out based on it. The agent can then react better and better through adaptation; this is where the actual learning process takes place.
  • the episode is ended immediately and the system is reset directly to the saved configuration parameters of state sl.
  • the agent's strategy (policy) is updated immediately after the episode is canceled. This avoids a deterioration beyond the specified limits as a result of changes selected randomly one after the other.
  • the interaction of the individual agents can be done in principle Lich according to known methods such. B. described in the publications mentioned above. However, a special procedure can also be used here to limit the effects of adjustments.
  • the agents are executed in a specific sequence, with components with a high potential for change (ie with themselves and also with the greatest impact on the overall system) being called first and those with low impact last. So that the overall system does not end up in an undesirable state due to mutually reinforcing negative changes, the execution of the steps of the first agent is repeated if the target variables have deteriorated. The same applies to the subsequent agents.
  • the system is configured according to the training mode. Two different alternatives are offered for this: a) Mode 1, ie with offensive training, for quickly learning new situations: the range of values and the step size of the parameters are limited so that only uncritical changes are possible with one action. The specification for this is made explicitly by the user or analogously using pre-trained models. The epsilon greedy value e is set to a higher value, which results in a desired (larger) exploration.
  • a defensive training with continuous learning the range of values and the step size of the parameters are limited in such a way that the changes do not significantly worsen the target values, the epsilon greedy value e is set to a lower value, z. B. 10% set.
  • the agent A, Al, A2 of the component with the (presumably) greatest influence is called first with the output state sl. If there is no information available about the influence of the components, the components can be called up according to a defined sequence. The determination is then made, for example, based on empirical values or results from earlier training phases or episodes. An example of this would be the use of fewer CPU cores, which for single-core applications has a smaller impact than reducing the main memory.
  • Steps 2-4 are then carried out for all agents.
  • the proposed online training of reinforcement learning agents is carried out in a (more or less) defensive mode in order to be possible in the real system.
  • This defensive training strategy ensures that the machines and / or products concerned are not exposed to any negative influences.
  • Uncertain influences can be taken into account (e.g. temperature fluctuations), which are often neglected in a simulation. Furthermore, it is also not necessary to create a complex simulation beforehand for training the system, which then deviates further and further from the system to be simulated during the course of the training. The use of training data can therefore also be dispensed with, since the actual system data can be used during the training unit.
  • the initiation of the training phase and the provision of the new strategy (policy) can be carried out automatically; no manual triggering by the user is necessary.
  • the switch to online training can take place automatically, for example by adjusting the epsilon greedy value.
  • Another advantage of the method is that the agent can be adapted to a changing environment during operation. So far, this has meant that the simulation has to be adjusted at great expense and, if necessary, the training has to be restarted.
  • the proposed method advantageously offers two training modes: either fast learning with frequently suboptimal (but always uncritical) settings or slow learning with seldom suboptimal (but uncritical) settings.
  • machine learning processes here specifically reinforcement learning
  • the specific runtime adjustments that take place on site enable the customer to increase productivity and identify problems in the system more quickly (communication, Network, %) and thus a regular better control of the entire manufacturing process.

Abstract

Software systems consisting of a plurality of components often require said components to be configured so that said components can perform their task in an optimal manner for a particular application. The invention relates to a method for configuring a software system which consists of a plurality of components. To this end, two different alternatives are provided: a) mode 1, i.e. with offensive training, for quickly learning new situations: the range of values and the step size of the parameters are restricted to such an extent that only non-critical changes are possible with one action. Alternatively, b) mode 2 is used, i.e. defensive training, with continuous learning: the range of values and the step size of the parameters are restricted so that the changes do not significantly worsen the target variables; the Epsilon-Greedy value ε is set to a lower value.

Description

Beschreibung description
Verfahren zum Konfigurieren von Komponenten in einem System mit Hilfe von Multi-Agent Reinforcement Learning, computer lesbares Speichermedium und System Method for configuring components in a system with the aid of multi-agent reinforcement learning, computer-readable storage medium and system
Softwaresysteme, die aus mehreren Komponenten bestehen, er fordern häufig eine Konfiguration dieser Komponenten, um eine optimale Ausführung der Aufgabe dieser Komponente für einen speziellen Anwendungsfall zu ermöglichen. Dies kann in einfa cheren Fällen manuell erfolgen oder mit Hilfe eines Regel kreises erledigt werden. Software systems that consist of several components, he often require a configuration of these components in order to enable an optimal execution of the task of this component for a special application. In simpler cases, this can be done manually or with the help of a control circuit.
Beispiele für solche Konfigurationen sind die Verteilung der Rechenlast auf mehrere Prozessorkerne, Größe des Shared Memo ry oder die Anzahl von maximal möglichen Kommunikationspake ten. Examples of such configurations are the distribution of the computing load over several processor cores, the size of the shared memory or the maximum number of possible communication packets.
Werden die beeinflussenden Faktoren (Stell-, Stör-, Regelgrö ßen, ...) zahlreicher und die Zusammenhänge komplexer, ist das Finden eines Optimums sehr schwierig und ggf. nur noch mit tels empirischer Optimierungsansätze oder mittels eines ange passten/trainierten KI-Modells mit Hilfe von Machine Learning möglich. If the influencing factors (manipulated variables, disturbance variables, controlled variables, ...) become more numerous and the relationships more complex, finding an optimum is very difficult and, if necessary, only with the help of empirical optimization approaches or an adapted / trained AI model possible with the help of machine learning.
Ganz allgemein gesagt gliedert sich Machine Learning in Unsu- pervised Machine Learning, Supervised Machine Learning und Reinforcement Learning beziehungsweise „Bestärkendes Lernen" oder „Verstärkendes Lernen", die sich darauf konzentriert in telligente Lösungen für komplexe Steuerungsprobleme zu fin den. Generally speaking, machine learning is divided into unsupervised machine learning, supervised machine learning and reinforcement learning or “reinforcement learning” or “reinforcement learning”, which focuses on finding intelligent solutions to complex control problems.
Noch schwieriger wird es, wenn die betreffende Komponente zur Laufzeit Veränderungen erfährt und Trainingsdaten für diese Fälle nicht zur Verfügung stehen/standen. Auch das dynamische Hinzukommen weiterer Komponenten mit neuen Parametern und Einflüssen erhöht die Komplexität der Aufgabe weiter. Zudem müssen auch komponenten-übergreifende Randbedingungen einge- halten werden. Auch diese können sich über die Lauf zeit/Lebenszeit der Komponente ändern. It becomes even more difficult if the component in question undergoes changes during runtime and training data is / was not available for these cases. The dynamic addition of further components with new parameters and influences also increases the complexity of the task. In addition, cross-component boundary conditions must also be included. will hold. These can also change over the lifetime of the component.
Für erst zur Laufzeit auftretenden Aspekte, wie Änderungen innerhalb einer Komponente, Hinzufügen von weiteren Komponen ten oder Änderungen der übergeordneten Randbedingungen ist zumeist eine Anpassung der Konfiguration des Computersystems notwendig. Im Falle einer KI-basierten Lösung wird zur Lauf zeit des Gesamtsystems dann ein Nach-Training des KI-Models notwendig. Dabei muss sichergestellt werden, dass bei einer Exploration keine Änderungen durchgeführt werden, die zu un gewolltem Verhalten im Produktivsystem führen. For aspects that only occur at runtime, such as changes within a component, adding further components or changes to the superordinate boundary conditions, it is usually necessary to adapt the configuration of the computer system. In the case of an AI-based solution, post-training of the AI model is then necessary while the overall system is running. It must be ensured that no changes are made during an exploration that lead to undesired behavior in the productive system.
Die Anpassungen dienen dabei z. B. den folgenden Zielen:The adjustments serve z. B. the following goals:
- Steigerung der Produktivität, - Increase of productivity,
- Verbesserung der Qualität, - improvement of quality,
- Erhöhung des Datendurchsatzes, - increase in data throughput,
- Gewährleistung der Stabilität bis hin zu Steigerung der Stabilität, - ensuring stability through to increasing stability,
- Steigerung der Reserven für eine maximale Auslastungsfähig keit, - Increase in reserves for maximum capacity utilization,
- Abfedern von Leistungsspitzen, und - cushioning of power peaks, and
- frühzeitiges Erkennen von Instabilitäten (Speicher, Netz werk, Kommunikation, ...). - Early detection of instabilities (storage, network, communication, ...).
Ein Beispiel für ein solches System sind die zentrale Kompo nente des Siemens HMI Operate - der Control Access Point (CAP) - sowie beteiligten Komponenten (COS-Task, NCK, ...), de ren Zusammenspiel heute zur Laufzeit einer statischen Konfi guration/Parametrierung unterliegen und die daher auf unter schiedliche Lastszenarien nur unzureichend bzw. gar nicht re agieren können. Insbesondere für zukünftige Anwendungen im Bereich von OPC-UA, Big Data, Smart Data, Edge, modulare Be dienkonzepte oder produktions-/maschinen-spezifischen Anwen dungen wird die heutige Leistungsfähigkeit der mehr oder we niger statisch zusammenspielenden Komponenten nicht mehr aus reichen, da vor allem ein größerer Datendurchsatz erreicht werden muss, gleichzeitig aber Stabilität sowie Reserven für potentielle Lastspitzen gewährleistet werden müssen. An example of such a system is the central component of Siemens HMI Operate - the Control Access Point (CAP) - as well as the components involved (COS task, NCK, ...), whose interaction today is during the runtime of a static configuration / Are subject to parameterization and can therefore only react inadequately or not at all to different load scenarios. In particular for future applications in the area of OPC-UA, Big Data, Smart Data, Edge, modular operating concepts or production / machine-specific applications, the current performance of the more or less statically interacting components will no longer be sufficient as before a higher data throughput is achieved must be, but at the same time stability and reserves for potential load peaks must be guaranteed.
Heute werden komplexe industrielle Steuerungssysteme, wie z. B. CNC-Maschinen, mit jeweils zusammenarbeitenden Kompo nenten häufig getrennt voneinander konfiguriert bzw. opti miert. Anpassungen des trainierten Systems bei einer verän derlichen Umgebung - vor allem zur Laufzeit - werden, wenn überhaupt manuell ausgeführt. Today complex industrial control systems such as B. CNC machines, each with cooperating components often configured separately or optimized. Adjustments to the trained system in a changing environment - especially during runtime - are carried out manually, if at all.
Beispielsweise werden anhand von Erfahrungswerten manuell (evtl, auch anwendungsspezifisch) einige wenige Stellgrößen des Systems (z. B. die Anzahl der Threads in Abhängigkeit von der Anzahl der Cores) vor einem neuen Start des Bedienpro gramms verändert, um den HMI Operate auf ein spezielles Sze nario hin zu parametrisieren. Nur wenige Parameter können zur Laufzeit des Systems angepasst werden, um einen höheren Durchsatz oder bessere Stabilität zu gewährleisten. For example, a few manipulated variables of the system (e.g. the number of threads depending on the number of cores) are manually changed based on empirical values (possibly also application-specific) before a new start of the operating program in order to set the HMI Operate to a special one To parameterize the scenario. Only a few parameters can be adjusted while the system is running in order to ensure a higher throughput or better stability.
Heutige Lösungen berücksichtigen dabei nicht, dass Anpassun gen zur Laufzeit nur in einem sicheren Rahmen ausgeführt wer den dürfen, um zu verhindern, dass es im Produktivbetrieb zu ungewolltem Verhalten kommt. Today's solutions do not take into account the fact that adjustments during runtime can only be carried out in a secure framework in order to prevent undesired behavior during productive operation.
In der Druckschrift US 2019/0244099 Al wird bereits ein Rein forcement Learning System beschrieben, welches ein Training eines Systems während der Laufzeit des Systems durchführt, beispielsweise auch in einer industriellen Umgebung, für die Steuerung von Robotern zur Erledigung einer konkreten Aufga be. In the document US 2019/0244099 Al, a reinforcement learning system is already described, which carries out training of a system during the runtime of the system, for example also in an industrial environment, for controlling robots to complete a specific task.
Der Erfindung liegt also das Problem zugrunde, ein Verfahren anzugeben, dass die Anpassung der Parametrierung / Konfigu rierung von komplexen Systemen zur Laufzeit ermöglichen soll. The invention is therefore based on the problem of specifying a method that is intended to enable the parameterization / configuration of complex systems to be adapted at runtime.
Das Problem wird gelöst durch das Verfahren gemäß den Merkma len des Patentanspruchs 1. Weiterhin wird das Problem gelöst durch ein computer-lesbares Speichermedium gemäß den Merkma- len des Patentanspruch 8 und ein System gemäß den Merkmalen des Patentanspruchs 15. The problem is solved by the method according to the features of patent claim 1. Furthermore, the problem is solved by a computer-readable storage medium according to the features len of claim 8 and a system according to the features of claim 15.
Bei der Lösung wird auf Machine Learning Konzepte zurückge griffen. Machine learning concepts are used for the solution.
Das erfindungsgemäße Verfahren wird zum Konfigurieren von Komponenten in einem System verwendet mit Faktoren, die die Komponenten beeinflussend, wobei die Komponenten zueinander in einem Wirkzusammenhang stehen, und wobei der Zustand der Komponenten jeweils durch Erhebung von internen Messgrößen bestimmbar ist und der Zustand des Systems durch Erhebung von Messgrößen des Gesamtsystems bestimmbar ist, mit den Mitteln eines Reinforcement-Learning Systems. Es basiert dabei auf zumindest einem Agenten und Informationen zur zugehörigen Um gebung. Zur Laufzeit des Systems werden die Komponenten in dem System zunächst in einen Trainingsmodus gesetzt, um eine Trainingsphase in einem ersten Zustand zu starten. Das Ver fahren weist dabei folgende Schritte auf: a) zumindest ein Agent einer zugehörigen Komponente wird auf gerufen, b) nach der ersten Trainings-Aktion des Agenten wird der Zu stand der Komponenten und/oder des Gesamtsystems neu bewer tet, durch erneute Erhebung der Messgrößen, um dann abhängig von dem Ergebnis der Erhebung einen der folgenden Schritte auszuführen : cl) bei Konstanz oder Verbesserung der Messgrößen: führe die nächste Aktion durch c2) bei einer Verschlechterung der Messgrößen: setze den Ep- silon-Greedy Wert für das Training auf Null, führe die nächs te Aktion durch, c3) bei einer kritischen Verschlechterung der Messgrößen, insbesondere beim Echtzeitverhalten wird das Training abge brochen und das System in den Ausgangszustand überführt, wei ter mit Schritt a, d) in den Fällen cl und c2, wiederhole die Schritte b) und c) bis Abschluss einer Reinforcement-Learning Episode, e) Aktualisiere die Strategie (Policy) des Agenten, f) Wiederhole die Schritte a bis e für den nächsten Agenten. The method according to the invention is used to configure components in a system with factors that influence the components, the components being in an operative relationship to one another, and the status of the components being determinable by collecting internal measured variables and the status of the system being determinable can be determined by measured variables of the overall system, with the means of a reinforcement learning system. It is based on at least one agent and information on the associated environment. During the runtime of the system, the components in the system are first placed in a training mode in order to start a training phase in a first state. The method has the following steps: a) at least one agent of an associated component is called, b) after the agent's first training action, the status of the components and / or the overall system is reevaluated by again collecting the Measured variables, in order to then carry out one of the following steps, depending on the result of the survey: c) if the measured variables are constant or improved: carry out the next action c2) if the measured variables deteriorate: set the epilon-greedy value for the training Zero, carry out the next action, c3) in the event of a critical deterioration in the measured variables, especially with real-time behavior, the training is interrupted and the system is returned to the initial state, continue with steps a, d) in cases c1 and c2, repeat steps b) and c) until completion of a reinforcement learning episode, e) update the agent's strategy (policy), f) Repeat steps a to e for the next agent.
Vorteilhafte Ausführungsbeispiele sind in den Unteransprüchen angegeben. Advantageous exemplary embodiments are specified in the subclaims.
Die Erfindung wird im Folgenden auch durch Figuren verdeut licht. Dabei zeigt The invention is illustrated below by figures. It shows
Figur 1 eine Architekturübersicht des Systems, mit einer Reinforcement-Learning Engine, Figure 1 is an architecture overview of the system, with a reinforcement learning engine,
Figur 2 einen Reinforcement-Learning Agent und FIG. 2 a reinforcement learning agent and
Figur 3 einen schematischen Ablauf des defensiven Online- Trainings. FIG. 3 shows a schematic sequence of defensive online training.
Als Ausgangspunkt kann auch ein bereits vortrainiertes System und Modell verwendet werden, welches beispielsweise vom Her steller zur Verfügung gestellt wird. Dies ist auch der Fall, wenn man auf einem bereits bestehenden System aufsetzt. Der Agent kann allerdings auch von Beginn an in der realen Anwen dung trainiert werden, wenn dies nicht anders möglich ist, wenn eine Simulation zu aufwändig oder zu ungenau wäre. Die ses so genannte offensive Online Training kann dabei ggf. zu einer langen Trainingsdauer führen, wenn kein vortrainiertes Modell genutzt wurde. Um diese Modelle/Agenten in Folge dann neuen, geänderten bzw. sich ändernden Umgebungen anzupassen (evtl, sogar während der Produktion), d. h. Konfigurationspa rameter nach zu trainieren (Retraining), wird ein so genann tes defensives Online Training genutzt, bei dem vorteilhaft für jede Komponente ein eigener Agent existiert (Multiagen tensystem) . An already pre-trained system and model can also be used as a starting point, which is provided by the manufacturer, for example. This is also the case when building on an existing system. However, the agent can also be trained in the real application right from the start, if this is not possible otherwise, if a simulation would be too complex or too imprecise. This so-called offensive online training can possibly lead to a long training duration if no pre-trained model was used. In order to then adapt these models / agents to new, changed or changing environments (possibly even during production), i. H. After training the configuration parameters (retraining), what is known as defensive online training is used, in which there is advantageously a separate agent for each component (multi-agent system).
Multi-Agent-Systeme sind unter anderem aus den folgenden Pub likationen bekannt: Multi-agent systems are known from the following publications, among others:
Lowe R., Harb J., Wu Y., Abbeel P., Tamar A., Mordatch I.: Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments, arXiv:1706.02275v3 oder Rashid T., Samvelyan M., Schroeder de Witt C., Farquhar G., Foerster J., Whiteson S., QMIX: Lowe R., Harb J., Wu Y., Abbeel P., Tamar A., Mordatch I .: Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments, arXiv: 1706.02275v3 or Rashid T., Samvelyan M., Schroeder de Witt C., Farquhar G., Foerster J., Whiteson S., QMIX:
Monotonie Value Function Factorisation for Deep Multi-Agent Reinforcement Learning, arXiv:1803.11485v2, oder Kaiqing Zhang, Zhuoran Yang, Tarier Basar: Multi-Agent Rein forcement Learning: A Selective OverView of Theories and Al- gorithms, arXiv:1911.10635. Monotony Value Function Factorisation for Deep Multi-Agent Reinforcement Learning, arXiv: 1803.11485v2, or Kaiqing Zhang, Zhuoran Yang, Tarier Basar: Multi-Agent Reinforcement Learning: A Selective OverView of Theories and Algorithms, arXiv: 1911.10635.
Im aktuellen Stand der Technik gibt es dabei zwei gängige Ausprägungen eines Multiagent Reinforcement Learning Systems: In the current state of the art, there are two common forms of a multi-agent reinforcement learning system:
Die folgende Beschreibung ist auch in der Figur 1 beispiel haft nachzuvollziehen. Der Zustand jedes Agenten A, Al, A2 umfasst in einer ersten Ausprägung den Zustand über die eige ne Komponente als auch den Zustand des Gesamtsystems, insbe sondere der Messgrößen (z. B. Auslastung der CPU oder Netz werklast), welche die zu optimierenden Eigenschaften des Ge samtsystems charakterisieren. The following description can also be understood by way of example in FIG. 1. The status of each agent A, A1, A2 includes, in a first instance, the status of its own component and the status of the overall system, in particular the measured variables (e.g. CPU load or network load) that define the properties to be optimized characterize the overall system.
Oder, in der alternativen Ausprägung, umfasst er nur den par tiellen Zustand des zu optimierenden Systems, beinhaltet dann aber ein nachgelagertes Netz, welche die Aktionen der anderen (abhängigen) Agenten als Input bekommt und somit indirekte Informationen über den Gesamtzustand. Or, in the alternative form, it only includes the partial status of the system to be optimized, but then includes a downstream network that receives the actions of the other (dependent) agents as input and thus indirect information about the overall status.
Die möglichen Aktionen eines Agenten A, Al, A2 beziehen sich auf die Veränderung der Konfigurationsparameter der Einzel komponente. Alle Agenten sind vorteilhaft in einer AI-RL- Engine zusammengefasst, die außerhalb der Komponenten liegen kann oder mit Instanzen von Agenten innerhalb der Komponenten verbunden ist. The possible actions of an agent A, A1, A2 relate to the change in the configuration parameters of the individual component. All agents are advantageously combined in an AI-RL engine, which can lie outside the components or is connected to instances of agents within the components.
Die Konfiguration der Agenten für einzelne Komponenten läuft dabei wie detaillierter in Figur 2 dargestellt, ab: The agents are configured for individual components as shown in more detail in Figure 2:
- die Aktionen a, a±: Veränderungen komponentenspezifischer Steuergrößen 113, 116 innerhalb eines eingeschränkten Wer tebereichs, beispielsweise Eingabe von Min-Max-Werten oder einer angegebenen Wertemenge (z. B. allokieren von zusätzli chen Speicher nur in 1024 kByte-Schritten). the actions a, a ± : changes in component-specific control variables 113, 116 within a restricted value range, for example input of min-max values or a specified set of values (e.g. allocation of additional memory only in 1024 kByte steps).
- der Status sl, s2, s3, si+i: enthält Messgrößen, die den Zu stand des Gesamtsystems beschreiben, beispielsweise Diagnose daten, Interne Messgrößen u.v.m. - The status sl, s2, s3, si + i : contains measured variables that describe the status of the overall system, for example diagnostic data, internal measured variables and much more
- die Umgebung E, El, E2: entspricht der jeweiligen Komponen te, z. B. Control Access Point CAP, Numeric Control Kernel- The environment E, El, E2: corresponds to the respective compo te, z. B. Control Access Point CAP, Numeric Control Kernel
NCK, ... NCK, ...
- die Belohnung r, ri, ri+i : errechnet sich aus den jeweiligen Messgrößen - the reward r, ri, ri + i : is calculated from the respective measured variables
Wichtig ist bei dieser Art des Lernens im Produktionsumfeld, dass das stetige Verändern (Versuch und Fehlschlag, „trial & error") der Steuergrößen kontrolliert und umsichtig ge schieht, so dass sich die Anpassung immer in einem sicheren vorgegebenen evtl, mehrdimensionalen Parameterraum bewegt und die Auswirkung die Produktion (Werkstücke) und Sicherheit der Anlage und der sich ggf. darin bewegenden Personen nicht ge fährden. Daher hängt der Aktionsraum des Agenten stark von der Parameterraum-Beschreibung ab. With this type of learning in the production environment, it is important that the constant change (trial and error, "trial & error") of the control variables is controlled and done carefully, so that the adaptation always moves within a certain, predetermined, possibly multidimensional parameter space This does not endanger the production (workpieces) and the safety of the system and any people moving in it.
Für die Anpassung des Systems zur Laufzeit werden zwei Modi unterschieden, die jeweils durch entsprechende Modi der AI- RL-Engine realisiert werden. A distinction is made between two modes for adapting the system during runtime, each of which is implemented by the corresponding modes of the AI-RL engine.
Um das System nach einer größeren Änderung oder für einen neuen Anwendungsfall zu trainieren, wird eine explizite Trai ningsphase zur Laufzeit durchgeführt, in welcher der Anwender typische Durchläufe (bei CNC-Maschinen z. B. die Fertigung eines typischen Produktes) initiiert, mit dem Ziel das System auf die neuen Gegebenheiten zu trainieren. Diese Übungsphase umfasst einen vorab definierten Zeitraum oder eine Anzahl von Teilen und wird typischerweise bereits beim Endanwender in der Produktionsumgebung durchgeführt. In order to train the system after a major change or for a new application, an explicit training phase is carried out during runtime, in which the user initiates typical runs (with CNC machines e.g. the production of a typical product) with the aim of to train the system for the new conditions. This exercise phase comprises a predefined period of time or a number of parts and is typically carried out at the end user in the production environment.
Im Zuge des Trainings wählt der Agent die Konfigurationspara meter des Systems aus seinem definierten Aktionsraum. Dieser besteht aus diskreten Parametern, die so eingeschränkt sind, dass z. B. Beschädigungen an Produkten oder der Maschine so wie ein zu hoher Performanceabfall der Anlage, vermieden wer den. In the course of the training, the agent selects the configuration parameters of the system from his defined scope of action. This consists of discrete parameters that are so restricted that that z. B. Damage to products or the machine as well as too high a drop in performance of the system, avoided who the.
Dabei wird ein sogenannter „Greedy" Algorithmus verwendet, wobei schrittweise ein nächster Folgezustand ausgewählt wird, der zum Zeitpunkt der Wahl den größten Gewinn bzw. das beste Ergebnis verspricht. Die Exploration-Exploitation-Rate (Er kundung vs. Verwertung) ist dabei so definiert, dass der Agent häufig randomisierte Entscheidungen trifft, um viel Neues (Exploration) auszuprobieren und somit eine schnelle Anpassung an das veränderte System zu ermöglichen. Ver schlechterungen werden jedoch mit einem hohen negativen Re- ward (Belohnung) bestraft, so dass eine Anpassung in ungüns tige Richtungen vermieden wird. A so-called "greedy" algorithm is used, whereby a next subsequent state is selected step by step, which promises the greatest profit or the best result at the time of the election. The exploration-exploitation rate (exploration vs. exploitation) is defined in this way that the agent often makes randomized decisions in order to try out a lot of new things (exploration) and thus to enable a quick adaptation to the changed system term directions is avoided.
Der zweite Modus ist vorgesehen, um mit kleineren Änderungen kontinuierliche Anpassungen im laufenden Betrieb, also der Produktionsphase, vorzunehmen. Dabei dürfen sich auch auf grund zufälliger Änderungen durch die Agenten, die zu opti mierenden Zielgrößen des Gesamtsystems nicht so stark ver schlechtern, dass z. B. die Qualität des zu fertigenden Werk stückes unter einen bestimmten Grenzwert sinkt. The second mode is intended to make continuous adjustments with minor changes during operation, i.e. the production phase. Also due to random changes by the agents, the target variables to be optimized for the overall system should not deteriorate so much that z. B. the quality of the work piece to be manufactured drops below a certain limit value.
Dieser zweite Modus wird in einer vorteilhaften Ausprägung der Erfindung während des normalen Produktivbetriebes einge setzt, d. h. die Zielgrößen dürfen sich nur in dem Rahmen verschlechtern, wie dies für die resultierenden Eigenschaften Durchsatz, Qualität, Verschleiß etc. der Produktion unmittel bar akzeptabel ist. Dies könnte man in der Praxis beispiels weise so umsetzen, dass man die im Normalbetrieb (also ohne Optimierung) zu beobachtenden Schwankungen zuzüglich eines gewissen Aufschlags tolerieren würde. In an advantageous embodiment of the invention, this second mode is used during normal productive operation, i. H. the target values may only deteriorate to the extent that this is directly acceptable for the resulting properties throughput, quality, wear and tear, etc. of production. In practice, for example, this could be implemented in such a way that the fluctuations observed in normal operation (i.e. without optimization) plus a certain mark-up would be tolerated.
Dies wird dadurch erreicht, dass zum einen die diskreten Schritte der Änderungen der Konfigurationsparameter so klein sind, dass mit einer Aktion ein definierter Grenzwert (z. B. Performancewert, Auslastung, Geschwindigkeit oder Temperatur) nicht unterschritten werden kann. Darüber hinaus ist der An teil der zufälligen Änderungen durch den Agenten zur Explora tion relativ gering, beispielsweise wird der Epsilon-Greedy Wert auf e = 10% gesetzt. This is achieved in that, on the one hand, the discrete steps in the changes to the configuration parameters are so small that a defined limit value (e.g. performance value, load, speed or temperature) can be reached with one action. cannot be fallen below. In addition, the proportion of random changes made by the agent for exploration is relatively small, for example the epsilon greedy value is set to e = 10%.
Abbildung 3 zeigt schematisch, wie das defensive Online Trai ning umgesetzt ist. Der Agent befindet sich am Anfang des Trainings in Zustand sl und wählt eine zufällige Aktion al (siehe Abb.2). Das reale System übernimmt die durch die Akti on al gewählten Konfigurationsparameteränderungen und führt den Prozess so weiter aus. Wenn sich das System nach den Än derungen stabilisiert hat, definieren die gemessenen Daten den nachfolgenden Zustand s2. Wenn der Zustand s2 eine Ver schlechterung der Zielgrößen im Vergleich zum vorherigen Zu stand sl darstellt, wird der Epsilon-Greedy Wert e direkt auf Null gesetzt, um keine Exploration mehr zuzulassen. Der Agent soll mit seinem bisherigen Wissen das System wieder in die Ausgangsposition sl bringen. Nach einer definierten Episoden länge (von z. B. maximal 10 Schritten) wird die Strategie (auch Policy genannt) des Agenten aktualisiert Die Strategie beschreibt den Zusammenhang zwischen Zustand des Systems und der Aktion, die ein Agent aufgrund dessen ausführt. Durch An passung kann dann der Agent immer besser reagieren, hierüber findet der eigentliche Lernvorgang statt. Bei Echtzeit-kriti schen Systemen wird bei einer Verschlechterung von einem Zu stand zum nächsten (z. B. bei Erwartung des Verpassens von zeitlichen Vorgaben) die Episode sofort beendet und das Sys tem direkt auf die gespeicherten Konfigurationsparameter von Zustand sl zurückgesetzt. Die Aktualisierung der Strategie (Policy) des Agenten wird direkt nach Abbruch der Episode ausgeführt. Dadurch wird vermieden, dass durch zufällig nach einander gewählte Änderungen eine Verschlechterung über die vorgegebenen Grenzen hinaus erfolgen kann. Figure 3 shows schematically how defensive online training is implemented. At the beginning of the training, the agent is in state sl and selects a random action al (see Fig. 2). The real system adopts the configuration parameter changes selected by the action and continues the process. When the system has stabilized after the changes, the measured data define the subsequent state s2. If the state s2 represents a deterioration in the target variables compared to the previous state sl, the epsilon greedy value e is set directly to zero in order not to allow any further exploration. The agent should bring the system back to the starting position sl with his previous knowledge. After a defined episode length (e.g. of a maximum of 10 steps), the agent's strategy (also called policy) is updated. The strategy describes the relationship between the state of the system and the action that an agent carries out based on it. The agent can then react better and better through adaptation; this is where the actual learning process takes place. In real-time critical systems, if there is a deterioration from one state to the next (e.g. if you expect to miss the time specifications), the episode is ended immediately and the system is reset directly to the saved configuration parameters of state sl. The agent's strategy (policy) is updated immediately after the episode is canceled. This avoids a deterioration beyond the specified limits as a result of changes selected randomly one after the other.
Das Zusammenspiel der einzelnen Agenten kann dabei grundsätz lich nach bekannten Verfahren erfolgen, wie z. B. in den oben genannten Publikationen beschrieben. Auch hier kann jedoch ein besonderes Verfahren angewendet werden, um die Auswirkungen von Anpassungen einzuschränken. Die Agenten werden in einer bestimmten Reihenfolge ausge führt, wobei Komponenten mit hohem Änderungspotential (d. h. bei sich selber und auch mit den größten Auswirkungen auf das Gesamtsystem) zuerst und die mit geringen Auswirkungen zu letzt aufgerufen werden. Damit das Gesamtsystem nicht durch sich gegenseitig verstärkende negative Änderungen in einen unerwünschten Zustand gerät, wird die Ausführung der Schritte des ersten Agenten wiederholt, falls eine Verschlechterung der Zielgrößen eingetreten ist. Das Gleiche gilt für die nachfolgenden Agenten. The interaction of the individual agents can be done in principle Lich according to known methods such. B. described in the publications mentioned above. However, a special procedure can also be used here to limit the effects of adjustments. The agents are executed in a specific sequence, with components with a high potential for change (ie with themselves and also with the greatest impact on the overall system) being called first and those with low impact last. So that the overall system does not end up in an undesirable state due to mutually reinforcing negative changes, the execution of the steps of the first agent is repeated if the target variables have deteriorated. The same applies to the subsequent agents.
Insgesamt umfasst das Verfahren damit den Ablauf mit folgen den Schritten: Overall, the process thus comprises the process with the following steps:
1. Das System wird entsprechend dem Trainingsmodus konfigu riert. Dafür werden zwei unterschiedliche Alternativen ange- boten: a) Modus 1, also mit offensivem Training, zum schnellen Er lernen neuer Situationen: der Wertebereich und die Schrittweite der Parameter werden so weit eingeschränkt, so dass mit einer Aktion nur unkritische Änderungen möglich sind. Die Vorgabe hierfür erfolgt explizit durch den Nutzer oder analog durch vortrainierte Modelle. Der Epsilon-Greedy Wert e wird auf einen höheren Wert gesetzt, der eine gewünschte (größere) Exploration zur Folge hat. 1. The system is configured according to the training mode. Two different alternatives are offered for this: a) Mode 1, ie with offensive training, for quickly learning new situations: the range of values and the step size of the parameters are limited so that only uncritical changes are possible with one action. The specification for this is made explicitly by the user or analogously using pre-trained models. The epsilon greedy value e is set to a higher value, which results in a desired (larger) exploration.
Oder es wird b) Modus 2 verwendet, ein defensives Training, mit kontinu ierlichem Lernen: der Wertebereich und die Schrittweite der Parameter werden dahingehend eingeschränkt, dass die Änderungen die Zielgrößen nicht wesentlich verschlechtern, der Epsilon-Greedy Wert e wird auf einen geringeren Wert, z. B. 10% gesetzt. Or b) mode 2 is used, a defensive training with continuous learning: the range of values and the step size of the parameters are limited in such a way that the changes do not significantly worsen the target values, the epsilon greedy value e is set to a lower value, z. B. 10% set.
2. Der Agent A, Al, A2 der Komponente mit dem (vermutlich) größten Einfluss wird als erstes aufgerufen mit dem Ausgangs- zustand sl. Wenn über den Einfluss der Komponenten keine In formation vorliegt, können die Komponenten gemäß einer fest gelegten Reihenfolge nach aufgerufen werden. Die Festlegung erfolgt dann beispielsweise nach Erfahrungswerten oder auch Ergebnissen von früheren Trainingsphasen oder -episoden. Ein Beispiel dazu wäre die Nutzung von weniger CPU-Kernen, die für single-core Anwendungen einen kleineren Einfluss hat als die Reduzierung des Hauptspeichers. 2. The agent A, Al, A2 of the component with the (presumably) greatest influence is called first with the output state sl. If there is no information available about the influence of the components, the components can be called up according to a defined sequence. The determination is then made, for example, based on empirical values or results from earlier training phases or episodes. An example of this would be the use of fewer CPU cores, which for single-core applications has a smaller impact than reducing the main memory.
3. Nach der ersten Aktion a± des Agenten A, Al, A2 werden die Änderungen der Messgrößen Gl, G2, ... II, 12, ... im neuen Zu stand s2 bewertet. 3. After the first action a ± of the agent A, A1, A2, the changes in the measured variables Gl, G2, ... II, 12, ... are evaluated in the new state s2.
Dabei werden 3 Fälle unterschieden: a) Verbesserung der Werte: führe die nächste Aktion a± durch, 30. b) Verschlechterung der Werte: der Epsilon-Greedy Wert e wird auf null gesetzt, dann wird die nächste Aktion ausgeführt, bis zum Ende der Episode in den Endzustand sn, 40. c) Kritische Verschlechterung, in der Regel bei negativem Einfluss auf Echtzeitverhalten: Abbruch und Überführen des Systems in den Ausgangszustand sl, weiter mit Schritt 2, 50 A distinction is made between 3 cases: a) Improvement of the values: carry out the next action a ±, 30. b) Worsening of the values: the epsilon greedy value e is set to zero, then the next action is carried out until the end of the Episode in the final state sn, 40. c) Critical deterioration, usually with a negative influence on real-time behavior: Abort and transfer of the system to the initial state sl, continue with step 2, 50
4. In den ersten beiden Fällen (3a und 3b) werden die Aktio nen bis Abschluss der Episode durchgeführt. Im Anschluss wird die Strategie (Policy) des ersten Agenten aktualisiert. 4. In the first two cases (3a and 3b) the actions are carried out up to the end of the episode. The strategy (policy) of the first agent is then updated.
5. Nachfolgend werden die Schritte 2-4 für alle Agenten durchgeführt . 5. Steps 2-4 are then carried out for all agents.
Das spezielle, oben beschriebene Verfahren ermöglicht es vor teilafterweise, das Verhalten von Systemen die aus mehreren (Software-) Komponenten bestehen und z. B. (Produktions-) Prozesse steuern durch ein Online-Trainingsverfahren zu ver bessern und damit geänderten Anforderungen oder Anwendungen anzupassen, ohne dass die Produktion wesentlich beeinträch tigt oder gar Beschädigungen von Maschinen oder Werkstücken auftreten. Dies wird durch die spezielle Modifikation des Reinforcement-Learning Verfahrens erreicht. The special method described above makes it possible before some partially, the behavior of systems that consist of several (software) components and z. B. Control (production) processes through an online training process to improve ver and thus to adapt to changed requirements or applications without significantly impairing production or even damaging machines or workpieces appear. This is achieved through the special modification of the reinforcement learning process.
Das vorgeschlagene Online Training von Reinforcement Learning Agenten wird in einem (mehr oder weniger) defensiven Modus durchgeführt, um im realen System möglich zu sein. Durch die se defensive Trainingsstrategie wird sichergestellt, dass die betroffenen Maschinen und / oder Produkte keinen negativen Einflüssen ausgesetzt sind. The proposed online training of reinforcement learning agents is carried out in a (more or less) defensive mode in order to be possible in the real system. This defensive training strategy ensures that the machines and / or products concerned are not exposed to any negative influences.
Dabei können unsichere Einflüsse berücksichtigt werden (z.B. Temperaturschwankungen) , welche in einer Simulation häufig vernachlässigt werden. Weiterhin ist es auch nicht erforder lich, für das Training des Systems zuvor aufwändig eine Simu lation zu erstellen, die dann im Lauf des Trainings immer weiter von dem zu simulierenden System abweicht. Es kann da her auch auf die Verwendung von Trainingsdaten verzichtet werden, da bei der Trainingseinheit die tatsächlichen Sys temdaten verwendet werden können. Uncertain influences can be taken into account (e.g. temperature fluctuations), which are often neglected in a simulation. Furthermore, it is also not necessary to create a complex simulation beforehand for training the system, which then deviates further and further from the system to be simulated during the course of the training. The use of training data can therefore also be dispensed with, since the actual system data can be used during the training unit.
Das Anstoßen der Trainingsphase und die Bereitstellung der neuen Strategie (Policy) kann automatisiert durchgeführt wer den, es ist kein manuelles Auslösen durch den Anwender nötig. Der Wechsel zum Online Training kann automatisch, beispiels weise durch Anpassen des Epsilon-Greedy Wertes, erfolgen. The initiation of the training phase and the provision of the new strategy (policy) can be carried out automatically; no manual triggering by the user is necessary. The switch to online training can take place automatically, for example by adjusting the epsilon greedy value.
Ein weiterer Vorteil des Verfahrens ist, dass die Anpassung des Agenten an eine veränderliche Umgebung während des Be triebs möglich ist. Bislang würde das zur Folge haben, dass die Simulation erst aufwändig angepasst werden und ggf. das Training neu gestartet werden müsste. Another advantage of the method is that the agent can be adapted to a changing environment during operation. So far, this has meant that the simulation has to be adjusted at great expense and, if necessary, the training has to be restarted.
Das vorgeschlagene Verfahren bietet vorteilhafterweise zwei Trainingsmodi an: wahlweise schnelles Lernen mit häufig sub optimalen (aber immer unkritischen) Einstellungen oder lang sames Lernen mit seltenen suboptimalen (aber unkritischen) Einstellungen Der Einsatz von Machine-Learning-Verfahren (hier speziell des Reinforcement Learning) ermöglicht die dynamische Anpassung zahlreicher Parameter bzw. eine bessere Ressourcen-Auftei- lung, um auf die zukünftigen Anforderungen der Digitalisie- rung der industriellen Produktion vorbereitet zu sein. The proposed method advantageously offers two training modes: either fast learning with frequently suboptimal (but always uncritical) settings or slow learning with seldom suboptimal (but uncritical) settings The use of machine learning processes (here specifically reinforcement learning) enables the dynamic adaptation of numerous parameters or a better allocation of resources in order to be prepared for the future requirements of the digitization of industrial production.
Insbesondere die jeweils vor Ort stattfindenden spezifischen Laufzeit-Anpassungen, abhängig von der speziellen Werkzeugma schine, dem jeweiligen Produkt sowie der jeweiligen Phase der Produktion, ermöglichen dem Kunden als Ergebnis eine Steige rung der Produktivität, ein schnelleres Erkennen von Proble men im System (Kommunikation, Netzwerk, ...) und somit eine re gelmäßige bessere Kontrolle des gesamten Herstellungsprozes ses. In particular, the specific runtime adjustments that take place on site, depending on the specific machine tool, the respective product and the respective phase of production, enable the customer to increase productivity and identify problems in the system more quickly (communication, Network, ...) and thus a regular better control of the entire manufacturing process.

Claims

Patentansprüche Claims
1. Verfahren zum Konfigurieren von Komponenten (CAP, NCK) in einem System mit die Komponenten beeinflussenden, Faktoren, wobei die Komponenten zueinander in einem Wirkzusammenhang stehen, und wobei der Zustand der Komponenten jeweils durch Erhebung von internen Messgrößen (II, 12, 13) bestimmbar ist und der Zustand des Systems durch Erhebung von Messgrößen des Gesamtsystems (Gl, G2, G3, Gi) bestimmbar ist mit den Mitteln eines Reinforcement-Learning Systems basie rend auf zumindest einem Agenten (A, Al, A2) und Informatio nen zur zugehörigen Umgebung (E, El, E2,..)/ zur Laufzeit des Systems, wobei die Komponenten in dem System zunächst in einen Trai ningsmodus gesetzt werden, um eine Trainingsphase, bestehend aus Episoden, in einem ersten Zustand (sl) zu starten, mit folgenden Schritten: a) zumindest ein Agent (A, Al, A2) einer zugehörigen Kompo nente (CAP, NCK) mit einer Strategie wird aufgerufen, b) nach der ersten Trainings-Aktion des Agenten (A, Al, A2) wird der Zustand der Komponenten und/oder des Gesamtsystems neu bewertet, durch erneute Erhebung der Messgrößen (Gl, G2, G3, Gi II, 12, 13), um dann abhängig von dem Ergebnis der Er hebung einen der folgenden Schritte auszuführen: cl) bei Konstanz oder Verbesserung der Messgrößen: führe die nächste Aktion durch (30) c2) bei einer Verschlechterung der Messgrößen: setze den Ep- silon-Greedy Wert für das Training auf null, führe die nächs te Aktion durch, (40) c3) bei einer kritischen Verschlechterung der Messgrößen, wird das Training abgebrochen und das System in den Ausgangs zustand (sl) überführt, weiter mit Schritt a, (50), d) in den Fällen cl und c2, wiederhole die Schritte b) und c) (s2, S3, Sn) bis Abschluss der Episode, e) Aktualisiere die Strategie des Agenten (A, Al, A2), f) Wiederhole die Schritte a bis e für den gleichen oder ei nen nächsten Agenten (A, Al, A2). 1. Method for configuring components (CAP, NCK) in a system with factors influencing the components, whereby the components are in an effective relationship to one another, and the status of the components is determined by the collection of internal measured variables (II, 12, 13) can be determined and the state of the system by collecting measured variables of the overall system (Gl, G2, G3, Gi) can be determined with the means of a reinforcement learning system based on at least one agent (A, A1, A2) and information on the associated Environment (E, El, E2, ..) / at runtime of the system, the components in the system initially being set in a training mode in order to start a training phase consisting of episodes in a first state (sl) with following steps: a) at least one agent (A, A1, A2) of an associated component (CAP, NCK) with a strategy is called, b) after the first training action of the agent (A, A1, A2) the status is the compos and / or the overall system is reassessed by again surveying the measured variables (Eq of the measured variables: carry out the next action (30) c2) if the measured variables deteriorate: set the epilon greedy value for the training to zero, carry out the next action, (40) c3) if the Measured variables, the training is aborted and the system is transferred to the starting state (sl), continue with step a, (50), d) in cases cl and c2, repeat steps b) and c) (s2, S3, Sn ) until the episode is completed, e) update the agent's strategy (A, A1, A2), f) repeat steps a to e for the same or a next agent (A, A1, A2).
2. Verfahren zum Konfigurieren von Komponenten gemäß Pa tentanspruch 1, dadurch gekennzeichnet, dass die Agenten (A, Al, A2) als Multi-Agent Reinforcement Learn- ing System Zusammenarbeiten. 2. A method for configuring components according to patent claim 1, characterized in that the agents (A, A1, A2) work together as a multi-agent reinforcement learning system.
3. Verfahren zum Konfigurieren von Komponenten gemäß Pa tentanspruch 1 oder 2, dadurch gekennzeichnet, dass Zumindest einige in dem System vorhandenen Agenten (A, Al,3. A method for configuring components according to Pa tent claim 1 or 2, characterized in that at least some agents present in the system (A, Al,
A2) in einer AI-RL Engine (ARE) zusammengefasst sind, die au ßerhalb des Systems beheimatet ist. A2) are summarized in an AI-RL Engine (ARE), which is located outside the system.
4. Verfahren zum Konfigurieren von Komponenten gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass die Komponenten (CAP, NCK) vor Durchführung des Verfahrens bereits mittels eines anderen Verfahrens vorkonfiguriert sind. 4. A method for configuring components according to one of the preceding claims, characterized in that the components (CAP, NCK) are already preconfigured by means of another method before the method is carried out.
5. Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass die Aktion von Schritt b zwei verschiedene Ausprägungen auf weist: 5. The method according to any one of the preceding claims, characterized in that the action of step b has two different characteristics:
- in einer ersten Ausprägung wird durch eine starke Ein schränkung von Wertebereich und Schrittweite von Parametern, dass mit einer Aktion nur unkritische Änderungen möglich sind, und der Epsilon-Greedy Wert e wird auf einen Wert >=- In a first version, a strong restriction of the value range and step size of parameters means that only uncritical changes are possible with one action, and the epsilon greedy value e is set to a value> =
10% gesetzt, 10% set,
- in einer zweiten Ausprägung werden Einschränkung des Wer tebereichs und Schrittweite der Parameter, so dass Änderungen die Zielgrößen nicht wesentlich verschlechtern, der Epsilon- Greedy Wert e wird auf einen Wert <= 10% gesetzt. - In a second version, the range of values and the step size of the parameters are restricted so that changes do not significantly worsen the target values, the epsilon greedy value e is set to a value <= 10%.
6. Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass 6. The method according to any one of the preceding claims, characterized in that
Im Schritt a) des Verfahrens der Agent (A, Al, A2) mit dem größten Einfluss zuerst aufgerufen wird. In step a) of the method the agent (A, A1, A2) with the greatest influence is called first.
7. Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass der Agent (A, Al, A2) die Parameter wählt, unter Berücksich tigung der zugehörigen Umgebungswerte (E, El, E2) aus seinem definierten Aktionsraum unter Berücksichtigung der Beschrän kung zur Vermeidung von Beschädigungen. 7. The method according to any one of the preceding claims, characterized in that the agent (A, A1, A2) selects the parameters, taking into account the associated environmental values (E, El, E2) from its defined area of action, taking into account the restriction to avoid damage.
8. Computer-lesbares Speichermedium, welches Instruktionen gespeichert hat, die bei Ausführung auf zumindest einem Com puter, zum Konfigurieren von Komponenten (CAP, NCK) in einem System, mit, die Komponenten beeinflussenden Faktoren, wobei die Komponenten zueinander in einem Wirkzusammenhang stehen, und wobei der Zustand der Komponenten jeweils durch Erhebung von internen Messgrößen (II, 12, 13) bestimmt wird, und der Zustand des Systems durch Erhebung von Messgrößen des Gesamtsystems (Gl, G2, G3, Gi) bestimmt wird, mit den Mitteln eines Reinforcement-Learning Systems basie rend auf zumindest einem Agenten (A, Al, A2) und Informatio nen zur zugehörigen Umgebung (E, El, E2,..), zur Laufzeit des Systems, wobei die Komponenten in dem System zunächst in einen Trai ningsmodus gesetzt werden, um eine Trainingsphase, bestehend aus Episoden in einem ersten Zustand (sl) zu starten, wobei der Computer dazu veranlasst wird, die folgenden Schritte auszuführen: a) zumindest ein Agent (A, Al, A2) einer zugehörigen Kompo nente (CAP, NCK) wird mit einer Strategie aufgerufen, b) nach der ersten Trainings-Aktion des Agenten (A, Al, A2) wird der Zustand der Komponenten und/oder des Gesamtsystems neu bewertet, durch erneute Erhebung der Messgrößen (Gl, G2, G3, Gi II, 12, 13), um dann abhängig von dem Ergebnis der Er hebung einen der folgenden Schritte auszuführen: cl) bei Konstanz oder Verbesserung der Messgrößen: führe die nächste Aktion durch (30) c2) bei einer Verschlechterung der Messgrößen: setze den Ep- silon-Greedy Wert für das Training auf null, führe die nächs te Aktion durch, (40) c3) bei einer kritischen Verschlechterung der Messgrößen, insbesondere beim Echtzeitverhalten wird das Training abge- brochen und des Systems in den Ausgangszustand (sl) über führt, weiter mit Schritt a, (50), d) in den Fällen cl und c2, wiederhole die Schritte b) und c) (s2, S3, Sn) bis Abschluss der Episode, e) Aktualisiere die Strategie des Agenten (A, Al, A2), f) Wiederhole die Schritte a bis e für den nächsten Agenten (A, Al, A2). 8. Computer-readable storage medium which has stored instructions which, when executed on at least one computer, for configuring components (CAP, NCK) in a system, with factors influencing the components, the components being in an operative relationship to one another, and wherein the state of the components is determined by collecting internal measured variables (II, 12, 13), and the state of the system is determined by collecting measured variables of the overall system (Gl, G2, G3, Gi) using the means of a reinforcement -Learning systems based on at least one agent (A, A1, A2) and information on the associated environment (E, El, E2, ..), at runtime of the system, the components in the system initially set in a training mode in order to start a training phase consisting of episodes in a first state (sl), the computer being caused to carry out the following steps: a) at least one agent (A, A1, A2) e An associated component (CAP, NCK) is called with a strategy, b) after the first training action of the agent (A, A1, A2), the status of the components and / or the overall system is reassessed by again collecting the measured variables (Eq, G2, G3, Gi II, 12, 13), in order to then carry out one of the following steps depending on the result of the survey: c1) if the measured variables are constant or improved: carry out the next action by (30) c2) a worsening of the measurands: set the epilon greedy value for the training to zero, carry out the next action, (40) c3) in the event of a critical worsening of the measurands, especially with real-time behavior, the training is terminated. and the system returns to its initial state (sl), continue with step a, (50), d) in cases cl and c2, repeat steps b) and c) (s2, S3, Sn) until the episode is complete , e) Update the agent's strategy (A, A1, A2), f) Repeat steps a to e for the next agent (A, A1, A2).
9. Computer-lesbares Speichermedium gemäß Patentanspruch 8 dadurch gekennzeichnet, dass die Agenten (A, Al, A2) als Multi-Agent Reinforcement Learn- ing System Zusammenarbeiten. 9. Computer-readable storage medium according to claim 8, characterized in that the agents (A, A1, A2) work together as a multi-agent reinforcement learning system.
10. Computer-lesbares Speichermedium gemäß Patentanspruch 8 oder 9, dadurch gekennzeichnet, dass alle in dem System vorhandenen Agenten (A, Al, A2) in einer AI-RL Engine (ARE) zusammengefasst sind, die außerhalb des Systems beheimatet ist. 10. Computer-readable storage medium according to claim 8 or 9, characterized in that all agents (A, A1, A2) present in the system are combined in an AI-RL engine (ARE) which is located outside the system.
11. Computer-lesbares Speichermedium gemäß einem der vorheri gen Patentansprüche 8 bis 10, dadurch gekennzeichnet, dass die Komponenten (CAP, NCK) vor Durchführung des Verfahrens bereits mittels eines anderen Verfahrens vorkonfiguriert sind. 11. Computer-readable storage medium according to one of the preceding claims 8 to 10, characterized in that the components (CAP, NCK) are already preconfigured by means of another method before the method is carried out.
12. Computer-lesbares Speichermedium gemäß einem der vorheri gen Patentansprüche 8 bis 11, dadurch gekennzeichnet, dass bei der Ausführung durch einen Computer die Aktion von Schritt b zwei verschiedene Ausprägungen aufweist: 12. Computer-readable storage medium according to one of the preceding claims 8 to 11, characterized in that when executed by a computer, the action of step b has two different characteristics:
- in einer ersten Ausprägung wird durch eine starke Ein schränkung von Wertebereich und Schrittweite von Parametern, dass mit einer Aktion nur unkritische Änderungen möglich sind, und der Epsilon-Greedy Wert e wird auf einen Wert >=- In a first version, a strong restriction of the value range and step size of parameters means that only uncritical changes are possible with one action, and the epsilon greedy value e is set to a value> =
10% gesetzt, 10% set,
- in einer zweiten Ausprägung werden Einschränkung des Wer tebereichs und Schrittweite der Parameter, so dass Änderungen die Zielgrößen nicht wesentlich verschlechtern, der Epsilon- Greedy Wert e wird auf einen Wert <= 10% gesetzt. - In a second version, the range of values and the step size of the parameters are restricted so that changes do not significantly worsen the target values, the epsilon greedy value e is set to a value <= 10%.
13. Computer-lesbares Speichermedium gemäß einem der vorheri gen Patentansprüche 8 bis 12, dadurch gekennzeichnet, dass im Schritt a) des Verfahrens der Agent (A, Al, A2) mit dem größten Einfluss zuerst aufgerufen wird. 13. Computer-readable storage medium according to one of the preceding claims 8 to 12, characterized in that in step a) of the method the agent (A, A1, A2) with the greatest influence is called first.
14. Verfahren gemäß einem der vorherigen Patentansprüche 8 bis 13, dadurch gekennzeichnet, dass der Agent (A, Al, A2) die Parameter wählt, unter Berücksich tigung der zugehörigen Umgebungswerte (E, El, E2) aus seinem definierten Aktionsraum unter Berücksichtigung der Beschrän kung zur Vermeidung von Beschädigungen. 14. The method according to any one of the preceding claims 8 to 13, characterized in that the agent (A, Al, A2) selects the parameters, taking into account the associated environmental values (E, El, E2) from its defined range of action, taking into account the restriction to avoid damage.
15. System bestehend aus zumindest einem Computer zur Konfi guration von Komponenten (CAP, NCK) mit, die Komponenten be einflussenden, Faktoren, wobei die Komponenten zueinander in einem Wirkzusammenhang stehen, und wobei der Zustand der Kom ponenten jeweils durch Erhebung von internen Messgrößen (II, 12, 13) bestimmbar ist und der Zustand des Systems durch Er hebung von Messgrößen des Gesamtsystems (Gl, G2, G3, Gi) be stimmbar ist mit den Mitteln eines Reinforcement-Learning Systems basie rend auf zumindest einem Agenten (A, Al, A2) und Informatio nen zur zugehörigen Umgebung (E, El, E2,..), zur Laufzeit des Systems, wobei die Komponenten in dem System zunächst in einen Trai ningsmodus gesetzt werden, um eine Trainingsphase in einem ersten Zustand (sl) zu starten, mit folgenden Schritten: a) zumindest ein Agent (A, Al, A2) einer zugehörigen Kompo nente (CAP, NCK) wird aufgerufen, b) nach der ersten Trainings-Aktion des Agenten (A, Al, A2) wird der Zustand der Komponenten und/oder des Gesamtsystems neu bewertet, durch erneute Erhebung der Messgrößen (Gl, G2, G3, Gi II, 12, 13), um dann abhängig von dem Ergebnis der Er hebung einen der folgenden Schritte auszuführen: cl) bei Konstanz oder Verbesserung der Messgrößen: führe die nächste Aktion durch (30) c2) bei einer Verschlechterung der Messgrößen: setze den Ep- silon-Greedy Wert für das Training auf null, führe die nächs te Aktion durch, (40) c3) bei einer kritischen Verschlechterung der Messgrößen, insbesondere beim Echtzeitverhalten wird das Training abge brochen und des Systems in den Ausgangszustand (sl) über führt, weiter mit Schritt a, (50), d) in den Fällen cl und c2, wiederhole die Schritte b) und c) (s2, S3, Sn) bis Abschluss der Episode, e) Aktualisiere die Strategie des Agenten (A, Al, A2), f) Wiederhole die Schritte a bis e für den gleichen oder ei nen nächsten Agenten (A, Al, A2). 15. System consisting of at least one computer for the configuration of components (CAP, NCK) with factors influencing the components, whereby the components are interrelated and the status of the components is determined by the collection of internal measured variables ( II, 12, 13) can be determined and the state of the system can be determined using the means of a reinforcement learning system based on at least one agent (A, Al , A2) and information on the associated environment (E, El, E2, ..), at the runtime of the system, the components in the system initially being set in a training mode in order to have a training phase in a first state (sl) start, with the following steps: a) at least one agent (A, A1, A2) of an associated component (CAP, NCK) is called, b) after the first training action of the agent (A, A1, A2) the status is the components and / or the Overall system reevaluated by again collecting the measured variables (Gl, G2, G3, Gi II, 12, 13), in order to then carry out one of the following steps depending on the result of the survey: c1) If the measured variables are constant or improved: perform the next action by (30) c2) in the event of a deterioration in the measured variables: set the epilon greedy value for the training to zero, carry out the next action, (40) c3) in the event of a critical deterioration in the measured variables, especially with real-time behavior, the training is aborted and of the system into the initial state (sl), continue with step a, (50), d) in cases cl and c2, repeat steps b) and c) (s2, S3, Sn) until the episode is completed, e ) Update the agent's strategy (A, A1, A2), f) Repeat steps a to e for the same or a next agent (A, A1, A2).
EP20735060.4A 2020-06-08 2020-06-08 Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system Pending EP4139849A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/065850 WO2021249616A1 (en) 2020-06-08 2020-06-08 Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system

Publications (1)

Publication Number Publication Date
EP4139849A1 true EP4139849A1 (en) 2023-03-01

Family

ID=71266583

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20735060.4A Pending EP4139849A1 (en) 2020-06-08 2020-06-08 Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system

Country Status (4)

Country Link
US (1) US20230259073A1 (en)
EP (1) EP4139849A1 (en)
CN (1) CN115699030A (en)
WO (1) WO2021249616A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019210372A1 (en) * 2019-07-12 2021-01-14 Robert Bosch Gmbh Method, device and computer program for creating a strategy for a robot

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190244099A1 (en) 2018-02-05 2019-08-08 Deepmind Technologies Limited Continual reinforcement learning with a multi-task agent
DE102018216561A1 (en) * 2018-09-27 2020-04-02 Robert Bosch Gmbh Method, device and computer program for determining an agent's strategy
DE202019103862U1 (en) * 2019-07-12 2019-08-05 Albert-Ludwigs-Universität Freiburg Device for creating a strategy for a robot

Also Published As

Publication number Publication date
CN115699030A (en) 2023-02-03
WO2021249616A1 (en) 2021-12-16
US20230259073A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
DE102016010064B4 (en) Numerical control with machining condition adjustment function to reduce the occurrence of chatter or tool wear / breakage
DE102015004932B4 (en) Simulation device for several robots
EP2185980B1 (en) Method for computer-aided control and/or regulation using neural networks
EP2504738A1 (en) Parallelized program control
WO2019137665A1 (en) Method for the computer-assisted planning of a working sequence that can be carried out by a robot
EP3662418A1 (en) Method and device for machine learning in a computing unit
DE102019204861A1 (en) MACHINE LEARNING DEVICE; CONTROL DEVICE AND MACHINE LEARNING
WO2013076250A1 (en) Simulation processes, simulation system and computer program product for controlling a production automation system with service-oriented architecture
WO2021249616A1 (en) Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system
EP2574997A1 (en) Method for adjusting an operating status
EP1526268B1 (en) Method for controlling the common rail pressure in an internal combustion engine
EP3438773A1 (en) Processing of workpieces with model-supported error compensation
WO2020074650A1 (en) Method for data processing and programmable logic controller
WO2020120054A1 (en) Creation of a blockchain with blocks comprising an adjustable number of transaction blocks and multiple intermediate blocks
DE102017130552B3 (en) Method of data processing and programmable logic controller
EP3603010B1 (en) Method and corresponding system for transferring data from one device to a data processing means
DE10110444A1 (en) Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption
EP3691806A1 (en) Evenness control using optimizer
EP3992733A1 (en) Machine loading planning for a complex production plant
EP2574996B1 (en) Method for determining a partial load state of a system
DE102013003570B4 (en) Electronic control device
EP3179364B1 (en) Method and device for developing software for a control/management system of a vehicle
EP3757525B1 (en) Sensor and method for operating same
DE102022112606B3 (en) Computer-implemented method for calibrating a technical system
DE102017100240A1 (en) MOTION CONTROL DEVICE

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221121

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)