Reinforcement Learning

Was ist Reinforcement Learning?

3 Dinge, die Sie wissen sollten

Reinforcement Learning ist eine Machine-Learning-Methode, bei der ein Computer-Agent das Durchführen einer Aufgabe durch wiederholtes Ausprobieren in einer Umgebung erlernt. Durch diesen Lernansatz kann der Agent eine Reihe von Entscheidungen treffen, die eine Belohnungsmetrik für die Aufgabe ohne menschliches Eingreifen bzw. ausdrückliche Programmierung zum erfolgreichen Durchführen der Aufgabe maximieren.

Funktionsweise des Reinforcement Learning

Der typische Trainingsmechanismus hinter dem Reinforcement Learning spiegelt viele reale Szenarien wider. Denken Sie beispielsweise an das Erziehen von Haustieren durch positive Verstärkung.

Abbildung eines Hundes in Interaktion mit einem Trainer. Übertragen auf das Reinforcement Learning ist der Hund der Agent und der Trainer Teil der Umgebung.

Reinforcement Learning bei der Hundeerziehung.

Abbildung eines Fahrzeugs, das autonomes Einparken erlernt, mit dem Fahrzeugcomputer als Reinforcement-Learning-Agent.

Reinforcement Learning beim autonomen Einparken.

Übertragen auf das Reinforcement Learning besteht das Lernziel in diesem Fall darin, dem Hund (Agent) beizubringen, eine Aufgabe in einer Umgebung durchzuführen, die das Umfeld des Hundes sowie des Trainers umfasst. Zuerst gibt der Hundetrainer einen Befehl oder Auslösereiz, den der Hund beobachtet (Beobachtung). Der Hund reagiert darauf mit einer Aktion. Ist die Aktion dem gewünschten Verhalten nahe, erhält der Hund vom Trainer wahrscheinlich eine Belohnung, beispielsweise ein Leckerli oder Spielzeug. Andernfalls bleibt die Belohnung aus. Zu Beginn der Ausbildung wird der Hund wohl eher zufällig reagieren, z. B. sich auf die Seite legen, wenn der Befehl „Sitz!“ gegeben wird, da er versucht, konkrete Beobachtungen mit Aktionen und Belohnungen zu verknüpfen. Diese Verknüpfung oder Zuordnung zwischen Beobachtungen und Aktionen wird Policy (oder Strategiefunktion) genannt. Aus Sicht des Hundes wäre der Idealfall, er würde richtig auf jeden Auslösereiz reagieren, um möglichst viele Leckerli zu bekommen. Die Bedeutung des Reinforcement-Learning-Training ist es also, die Policy des Hundes so zu verfeinern, dass er die gewünschten Verhaltensweisen erlernt, die eine Belohnung maximieren. Nach Abschluss des Trainings sollte der Hund die Besitzerin beobachten und die entsprechende Aktion ergreifen können – beispielsweise sich hinsetzen, wenn der Befehl „Sitz!“ gegeben wurde, indem er die von ihm entwickelte interne Policy nutzt. Zu diesem Zeitpunkt freut er sich zwar über Leckerli, doch sollten sie rein theoretisch nicht mehr nötig sein.

Denken Sie mit dem Hundetraining-Beispiel vor Augen an die Aufgabe, ein Fahrzeug mithilfe eines automatisierten Fahrsystems einzuparken. Ziel ist es, dem Fahrzeug-Computer (Agent) beizubringen, mit Reinforcement Learning auf dem richtigen Parkplatz einzuparken. Wie im Fall des Hundetrainings ist die Umgebung alles außerhalb des Agenten und könnte die Dynamik des Fahrzeugs, andere Fahrzeuge in der Nähe, Witterungsbedingungen usw. umfassen. Beim Training verwendet der Agent Messwerte von Sensoren wie Kameras, GPS und LiDAR (Beobachtungen), um Lenk-, Brems- und Beschleunigungsbefehle (Aktionen) zu generieren. Um zu lernen, wie die richtigen Aktionen aus den Beobachtungen generiert werden (Policy-Tuning), versucht der Agent wiederholt, das Fahrzeug mithilfe eines Ausprobieren-Prozesses einzuparken. Ein Belohnungssignal kann ausgegeben werden, um die Güte eines Versuchs zu bewerten und den Lernprozess anzuleiten.

Beim Beispiel der Hundeschule erfolgt das Training im Gehirn des Hundes. Beim Beispiel des autonomen Einparkens erfolgt das Training durch einen Trainingsalgorithmus. Der Trainingsalgorithmus ist für das Verfeinern der Policy des Agenten zuständig, und zwar durch die erfassten Sensormesswerte, Aktionen und Belohnungsfunktionen. Nach Abschluss des Trainings sollte der Fahrzeugcomputer ausschließlich mithilfe der verfeinerten Policy und der Sensormesswerte einparken können. Beachten Sie, dass diese beiden Beispiele ein modellfreies Reinforcement Learning sind, da Daten durch das Ausprobieren in der Umgebung generiert werden.

Die Hauptkomponenten des Reinforcement Learning (Policy, Umgebung, Agent, Aktionen, Belohnungsfunktionen und Beobachtungen) sind in einem Framework formalisiert, dem sogenannten Markov-Entscheidungsprozess. Es handelt sich dabei um ein mathematisches Modell zur Entscheidungsfindung in Umgebungen mit Ungewissheit.

Erkundung und Erschließung im Vergleich

Der Kompromiss zwischen Erkundung und Erschließung ist ein kritischer Aspekt des Reinforcement Learning und kann sich stark auf die Lernqualität auswirken. Die Idee dabei ist folgende: Sollte sich der Agent die Umgebung dadurch erschließen, dass er Aktionen mit den meisten Belohnungen auswählt, die er bereits kennt, oder sollte er Aktionen wählen, die noch unbekannte Teile der Umgebung erkunden? Was der Agent auswählt, entscheidet über die Informationen, die er erhält, und daher über die Informationen, aus denen er lernen kann. Zu viel Erkundung, und der Agent kann keine gute Policy konvergieren. Zu viel Erschließung, und der Agent kommt wegen lokaler, suboptimaler Lösungen nicht weiter. Im Allgemeinen ist es sinnvoll, wenn ein Agent zu Beginn des Lernens mehr erkundet, wenn es nicht genug zu erschließende Informationen gibt, und nach und nach den Anteil der Erschließung erhöht.

Deep Reinforcement Learning

Deep Reinforcement Learning kombiniert Reinforcement Learning und Deep Learning. Während bei einfacheren Problemen eine Policy in Form einer Lookup-Tabelle genügen kann, ist dieser Ansatz nicht gut auf große oder kontinuierliche Probleme skalierbar. Tiefe neuronale Netze, die mit Deep Reinforcement Learning trainiert werden, können komplexes Verhalten kodieren. Dies ermöglicht einen alternativen Ansatz für Anwendungen, die ansonsten mit traditionelleren Methoden nur schwer oder gar nicht lösbar sind. Zum Beispiel kann ein neuronales Netz beim autonomen Fahren den Fahrer ersetzen und entscheiden, wie das Lenkrad gedreht werden soll, indem es gleichzeitig mehrere Sensoren betrachtet, z. B. Kamera-Frames und LiDAR-Messungen. Ohne neuronale Netze würde das Problem normalerweise in kleinere Teile aufgeschlüsselt, z. B. Merkmale aus Kamera-Frames extrahieren, LiDAR-Messungen filtern, Sensor-Ausgaben zusammenführen und „Fahr“-Entscheidungen basierend auf Sensor-Eingaben treffen. Dies ließe sich leichter mit traditionelleren Policy-Darstellungen lösen, z. B. Lookup-Tabellen oder Polynomenfunktionen.

Workflow beim Reinforcement Learning

Der allgemeine Workflow zum Trainieren eines Agenten mithilfe von Reinforcement Learning umfasst folgende Schritte:

  1. Umgebung erstellen. Zuerst müssen Sie die Umgebung definieren, in der der Agent des Reinforcement Learning agiert. Die Umgebung kann entweder ein Simulationsmodell oder ein reales physisches System sein, doch simulierte Umgebungen sind normalerweise ein guter erster Schritt, da sie sicherer sind und Experimente ermöglichen.
  2. Belohnungsfunktion definieren. Geben Sie als Nächstes das Belohnungssignal an, mit dem der Agent seine Leistung gegen die Aufgabenziele misst, und wie dieses Signal aus der Umgebung berechnet wird. Das Ausgestalten der Belohnungsfunktion kann kompliziert sein und erst nach einigen Iterationen funktionieren.
  3. Agenten erstellen. Danach erstellen Sie den Agenten. Dazu wählen Sie die Policy-Darstellung aus (z. B. neuronales Netz oder Lookup-Tabellen). Danach entscheiden Sie sich für einen Trainingsalgorithmus des Reinforcement Learning und verfeinern ihn.
  4. Agenten trainieren und validieren. Richten Sie Trainingsoptionen ein (z. B. Stoppkriterien) und trainieren Sie den Agenten darin, die Policy zu verfeinern. Stellen Sie sicher, dass Sie die trainierte Policy nach Abschluss des Trainings validieren.
  5. Policy bereitstellen. Stellen Sie die trainierte Policy-Darstellung bereit, beispielsweise mithilfe von generiertem C/C++ oder CUDA-Code. Zu diesem Zeitpunkt ist die Policy ein eigenständiges Entscheidungsfindungssystem.
Schritte des Reinforcement-Learning-Workflows: Umgebung, Belohnungsfunktion, Agent, Training des Agenten und Bereitstellung.

Workflow beim Reinforcement Learning.

Das Trainieren eines Agenten mithilfe von Reinforcement Learning ist ein iterativer Prozess. Entscheidungen und Ergebnisse in späteren Phasen können eine Rückkehr zu einer früheren Phase im Lern-Workflow erforderlich machen. Lässt sich der Trainingsprozess nach einem akzeptablen Zeitaufwand nicht zu einer optimalen Policy konvergieren, müssen Sie unter Umständen zurückgehen und sich die Definition des Problems (Dynamik, Beobachtungen, Aktionen), das Belohnungssignal, die Policy-Architektur und den Algorithmus-Hyperparameter vor einem erneuten Training noch einmal ansehen.

Arten von Reinforcement-Learning-Algorithmen

Reinforcement Learning, Machine Learning und Deep Learning im Vergleich

Im Gegensatz zum nicht überwachten und überwachten Machine Learning ist Reinforcement Learning nicht auf einen statischen Datensatz angewiesen, sondern kann in einer dynamischen Umgebung agieren und aus gesammelten Erfahrungen lernen. Datenpunkte oder Erfahrungen können beim Trainieren durch Ausprobieren zwischen der Umgebung und einem Software-Agenten gesammelt werden. Dieser Aspekt des Reinforcement Learning ist wichtig, da so vor dem Training kaum noch Datenerfassung, -aufbereitung und -kennzeichnung erforderlich sind, was sonst beim überwachten und nicht überwachten Lernen anfällt.

Deep Learning umfasst alle drei Arten von Machine Learning. Reinforcement Learning und Deep Learning schließen sich nicht gegenseitig aus. Komplexe Reinforcement-Learning-Probleme sind häufig auf tiefe neuronale Netze und Deep Reinforcement Learning angewiesen.

Abbildungen von nicht überwachtem, überwachtem und Reinforcement Learning, jeweils mit Clustering, Klassifizierung und belohnungsbasiertem Wegesystem.

Drei allgemeine Kategorien von Machine Learning: nicht überwachtes Lernen, überwachtes Lernen und Reinforcement Learning.

Ein Venn-Diagramm mit drei wichtigen Klassen von Reinforcement-Learning-Algorithmen: wertebasierte und Policy-basierte Algorithmen überlappen sich, um Actor-Critic-Algorithmen zu erstellen.

Drei wichtige Kategorien von Reinforcement-Learning-Algorithmen.

Reinforcement-Learning-Algorithmen

Reinforcement-Learning-Algorithmen können in verschiedene Kategorien organisiert werden, basierend auf ihren Ansätzen bzgl. Lernen und Entscheidungsfindung.

Wertebasierte, Policy-basierte und Actor-Critic-Reinforcement-Learning-Algorithmen im Vergleich

Es gibt drei wichtige Klassen von Reinforcement-Learning-Algorithmen:

  • Wertebasierte Methoden legen den Schwerpunkt auf das Erlernen einer Wertefunktion, beispielsweise die Q-Funktion, die die erwartete kumulative Belohnung für das Ergreifen einer bestimmten Aktion in einem bestimmten Zustand mit anschließendem Befolgen einer bestimmten Policy abschätzt. Das bekannteste Beispiel ist Q-Learning. Die Policy wird indirekt von der Wertefunktion abgeleitet, indem die Aktion mit dem höchsten Wert in jedem Zustand (d. h. greedy [„gierig“] hinsichtlich der Wertefunktion) ausgewählt wird. Wertebasierte Methoden sind im Allgemeinen einfach und stichprobeneffizient, jedoch auf eine angemessen große Menge diskreter Aktionen begrenzt (überlegen Sie, wie zeitaufwändig es wäre, die Policy bei einem hoch dimensionalem Aktionsraum aus der Wertefunktion zu extrahieren).
  • Policy-basierte Methoden erlernen direkt eine parametrierte Policy, die Zustände Aktionen zuordnet, was die Policy-Parameter so optimiert, dass die erwarteten Belohnungsfunktionen maximiert werden und der Ablauf ganz ähnlich wie herkömmliche Gradientenverfahren ist. Beispiele umfassen REINFORCE und andere Policy-Gradientenmethoden. Diese Methoden eignen sich natürlicherweise für kontinuierliche oder große Aktionsräume und können auch stochastische Policys erlernen, die bei der Erkundung und Domänenrandomisierung nützlich sein können. Nachteilig an Policy-basierten Methoden ist das langsame und instabile Lernen, die Stichprobenineffizienz und eine Anfälligkeit für lokale Minima.
  • Actor-Critic-Methoden kombinieren die Stärken von wertebasierten und Policy-basierten Ansätzen. Der Actor aktualisiert die Policy direkt, während der Critic die Aktionen durch das Abschätzen von Wertefunktionen evaluiert. Das Feedback des Critics führt zu einer stabileren und effizienteren Aktualisierung, da die Varianz der Policy-Gradientenabschätzungen verringert wird. Außerdem hilft die direkte Darstellung der Policy (Actor) bei hoch dimensionalen und kontinuierlichen Aktionsraumproblemen. Der größte Nachteil dieser Methoden ist, dass es jetzt mehr bewegliche Teile zu implementieren und zu verfeinern gibt (Actor und Critic). Beispiele für Actor-Critic-Algorithmen sind Deep Deterministic Policy Gradient (DDPG), Proximal Policy Optimization (PPO) und Soft Actor-Critic (SAC).
Vier allgemeine Schritte eines Algorithmus für das Actor-Critic-Reinforcement-Learning: 1) Der Actor wählt eine Aktion. 2) Der Critic trifft eine Vorhersage des Werts dieser Aktion. 3) Der Critic aktualisiert sich mithilfe der Belohnungsfunktion aus dem Anwenden dieser Aktion. 4) Der Actor aktualisiert sich mit der Antwort vom Critic.

Actor-Critic-Reinforcement-Learning in Aktion.

Modellbasierte und modellfreie Reinforcement-Learning-Algorithmen im Vergleich

Modellbasiertes Reinforcement Learning erstellt oder verwendet ein Modell der Umgebungsdynamik (Übergangswahrscheinlichkeiten und Belohnungsfunktionen), um Entscheidungen zu planen und zu treffen. Das Wort „planen“ ist hier der Schlüssel: Diese Algorithmen benötigen in der Regel weniger oder keine Interaktionen mit der Umgebung, da sie auf ihr internes Modell zurückgreifen, um zukünftige Zustände zu simulieren. Das interne Modell kann a priori bereitgestellt werden (dann muss der Agent überhaupt nicht mit der Umgebung interagieren) oder durch Daten erlernt werden, die aus Interaktionen mit der tatsächlichen Umgebung gesammelt wurden. Modellbasiertes Reinforcement Learning ist normalerweise stichprobeneffizienter als ein modellfreies, da sich mit dem Modell in kurzer Zeit große Mengen von Trainingsdaten generieren lassen. Je nachdem, ob das interne Modell verfügbar oder erlernt ist, können bei modellbasierten Methoden jedoch viel mehr Datenverarbeitungsressourcen als bei modellfreien erforderlich sein, da sie nicht nur den Basisagenten, sondern auch das Umgebungsmodell trainieren und Trainingsdaten generieren müssen.

Im Gegensatz zu modellbasierten Algorithmen erstellen modellfreie Methoden kein explizites Modell der Umgebung. Stattdessen erlernen sie optimale Aktionen durch direkte Interaktionen mithilfe von Ausprobieren (denken Sie an die Beispiele der Hundeschule und des automatisierten Einparkens aus dem vorherigen Abschnitt). Dieser Ansatz ist einfacher und besser für hoch dimensionale oder unstrukturierte Umgebungen geeignet, obwohl er in der Regel weniger effizient bei der Datennutzung ist. Die meisten modernen Reinforcement-Learning-Algorithmen sind modellfrei.

Online- und Offline-Reinforcement-Learning-Algorithmen im Vergleich

Beim Online-Reinforcement-Learning interagiert ein Agent beim Lernen aktiv mit der Umgebung – er sammelt Erfahrungen, aktualisiert seine Policy und passt sich laufend an neu ankommende Daten an. Die oben beschriebenen Szenarien mit der Hundeschule und dem automatisierten Einparken sind Beispiele für Online-Reinforcement-Learning.

Im Gegensatz dazu lernt das Offline-(oder Batch-)Reinforcement-Learning ausschließlich aus einem statischen Datensatz aufgezeichneter Erfahrungen (z. B. aus menschlichen Darstellungen oder früheren Policys), ohne weitere Interaktion mit der Umgebung. Offline-Methoden sind unübertroffen, wenn reale Interaktionen kostspielig oder unsicher sind, und können selbst aus zufälligen oder nicht sachkundigen Daten nützliche Informationen ziehen (wobei die Lernqualität unter der aus sachkundigen oder strukturierteren Daten bleibt). In der Praxis ist das Offline-Reinforcement-Learning häufig eine gute Option, um eine Policy vor dem Wechsel zum Online-Reinforcement-Learning vorzutrainieren. Dies ist zwar stichprobenineffizient, erzielt in der Regel aber eine bessere Leistung, da es sich laufend mithilfe neuer Daten anpasst.

On-Policy- und Off-Policy-Reinforcement-Learning-Algorithmen im Vergleich

On-Policy-Reinforcement-Learning-Algorithmen aktualisieren und evaluieren dieselbe Policy, mit der Trainingsdaten generiert werden. Der Agent erlernt also den Wert der aktuellen Policy basierend auf seinen tatsächlichen Aktionen (z. B. SARSA, PPO, TRPO). Dieser Ansatz führt häufig zu stabileren und zuverlässigen Aktualisierungen, da nicht wie bei Off-Policy-Methoden versucht wird, Unterschiede zwischen Verhaltens- und Ziel-Policys abzustimmen. Da nur eine einzelne Policy gepflegt und aktualisiert wird, sind diese Algorithmen in der Regel auch weniger komplex bei der Datenverarbeitung.

Off-Policy-Methoden (z. B. Q-Learning, DQN) hingegen nutzen Daten, die von einer Policy (der Verhaltens-Policy) gesammelt wurden, um eine andere Ziel-Policy (z. B. eine Greedy- oder optimale Strategie) zu erlernen oder zu verbessern. Daher können sie frühere Erfahrungen (Daten) in einem Wiederholungs-Puffer speichern und mehrmals wiederverwenden. Dies bedeutet eine drastische Verbesserung der Stichprobeneffizienz verglichen mit On-Policy-Methoden, die Daten nach jeder Policy-Aktualisierung verwerfen. Ein weiterer Vorteil von Off-Policy-Methoden ist, dass sie aus beliebigen Policys lernen können, auch zufälligen, veralteten oder sogar von Menschen generierten Daten. Diese Flexibilität ermöglicht das Trainieren aus Offline-Datensätzen oder -Darstellungen.

Gradientenbasierte und evolutionäre Reinforcement-Learning-Algorithmen im Vergleich

Gradientenbasierte Algorithmen sind das Allround-Werkzeug für viele moderne Deep-Reinforcement-Learning-Algorithmen, da sie (per Backpropagation) verrauschte Schätzungen des Policy-Gradienten nutzen, um schnelles stichprobeneffizientes Lernen zu ermöglichen. Allerdings sind sie empfindlich gegenüber Hyperparametern, anfällig für lokale Optima und erfordern Differenzierbarkeit.

Evolutionäres Reinforcement Learning dagegen behandelt die Policy als Blackbox und ist ein leistungsstarkes Instrument, wenn die Gradienten nicht verfügbar oder nicht vertrauenswürdig sind, massive parallele Datenverarbeitung möglich oder großflächige Erkundung in rauen Suchräumen erforderlich ist. Evolutionäre Strategien suchen global über populationsbasierte Mutationen und Selektionen – das macht sie robust gegenüber spärlichen oder nicht differenzierbaren Belohnungssignalen, aber auch viel weniger stichprobeneffizient und langsamer beim Konvergieren.

Mit hybriden Techniken können Sie zunehmend das Beste beider Methoden erschließen: Sie nutzen Evolution zur Erkundung und globalen Suche, verfeinern dann vielversprechende Policys mit gradientenbasierter Aktualisierung und erzielen häufig eine insgesamt stärkere Leistung.

Tabellarische und auf neuronalen Netzen basierende Reinforcement-Learning-Algorithmen im Vergleich

Die Art des vorliegenden Problems gibt häufig vor, welcher Algorithmus oder welche Algorithmen angemessen ist oder sind. Sind die Zustands- und Aktionsräume der Umgebung diskret und zahlenmäßig begrenzt, können Sie Policys mit einer einfachen Tabelle darstellen. Q-Learning und SARSA sind Beispiele gängiger tabellarischer Algorithmen. Policy-Parameter in einer Tabelle darzustellen, ist nicht praktikabel, wenn die Anzahl der Zustand/Aktion-Paare groß oder unendlich wird. Dies ist der sogenannte Fluch der Dimensionalität und hier kommen neuronale Netze ins Spiel. Im Allgemeinen sind die meisten modernen Reinforcement-Learning-Algorithmen auf neuronale Netze angewiesen, da sie gute Kandidaten für große Zustands-/Aktionsräume und komplexe Probleme sind.

Einzel-Agent- und Multi-Agent-Reinforcement-Learning-Algorithmen im Vergleich

Beim Einzel-Agent-Reinforcement-Learning interagiert nur ein Agent mit der Umgebung – dadurch wird das Lernen einfacher, stabiler und leichter analysierbar. Im Gegensatz dazu gibt es beim Multi-Agent-Reinforcement-Learning (MARL) mehrere Agenten, die mit derselben Umgebung interagieren. Da die Agenten sich gegenseitig beeinflussen, ist die Umgebung nicht stationär, verletzt Markov-Annahmen und destabilisiert die Lernprozesse. Während MARL komplexere Aufgaben lösen und emergente Verhaltensweisen wie Koordination oder Verhandlung entwickeln kann, wirft es auch Herausforderungen auf, beispielsweise Konvergenzprobleme, Datenverarbeitungsaufwand und Instabilität, wenn jeder Agent unabhängig aktualisiert wird.

Vorteile und Herausforderungen des Reinforcement Learning

Vorteile des Reinforcement Learning

Das Reinforcement Learning ist zwar keineswegs ein neues Konzept, doch jüngere Fortschritte bei Deep Learning und Datenverarbeitungsleistung haben bemerkenswerte Ergebnisse im Bereich der künstlichen Intelligenz ermöglicht.

Zu den Vorteilen des Reinforcement Learning zählt Folgendes:

  • Fähigkeit, komplexe sequentielle Aufgaben zu lösen. Reinforcement Learning kann lernen, langfristige Ziele über viele Schritte zu optimieren. Dies ist eine Erkundungsalternative bei Problemen, die mit traditionelleren Methoden schwer zu lösen sind. Außerdem kann Deep Reinforcement Learning mithilfe fortschrittlicher oder komplexer Sensoren durchgängige Lösungen generieren, indem die Darstellungsfunktionen neuronaler Netze genutzt werden.
  • Weniger Rückgriff auf gekennzeichnete Daten. Im Gegensatz zum überwachten Lernen kann das Reinforcement Learning durch Belohnungsfunktionen und Bestrafungen direkt aus dem Umgebungsfeedback lernen, sodass weniger aufwendig gekennzeichnete Datensätze nötig sind.
  • Weniger Anforderungen an vorhandene Datensätze. Reinforcement Learning lernt in der Regel aus spontan generierten Daten, was aber nicht bedeutet, dass es keine vorhandenen Datensätze verwenden kann. Tatsächlich kann das Offline-Reinforcement-Learning im Gegensatz zum überwachten Lernen selbst aus nicht sachkundigen Daten oder Daten, die das zu erlernende gewünschte Verhalten nicht kodieren, nützliche Informationen ziehen.
  • Anpassbarkeit, Selbstkorrektur und Robustheit. Reinforcement Learning verfeinert das Verhalten laufend durch Ausprobieren. Die Agenten können Strategien basierend auf Leistung selbst nach der Bereitstellung überarbeiten. Darüber hinaus ist es darauf ausgelegt, mit nicht deterministischen Bedingungen mit nicht vorhersagbaren Ergebnissen umzugehen, was mit realer Komplexität gut vereinbar ist.

Herausforderungen des Reinforcement Learning

Reinforcement Learning ist eine leistungsstarke Technik mit eigenen Herausforderungen, wie beispielsweise:

  • Hohe Einstiegshürde. Reinforcement Learning bedeutet häufig aufgrund der Komplexität der Algorithmen und Konzepte eine hohe Einstiegshürde.
  • Hoher Daten- und Datenverarbeitungsaufwand (Stichprobenineffizienz). Das Trainieren erfordert häufig viele Daten, was eine große Anzahl von Interaktionen oder Simulationen bedeutet. Daher ist es nicht ungewöhnlich, dass komplexe Probleme mehrere Trainingstage zum Konvergieren erfordern.
  • Große Anzahl von Entwurfsparametern. Beim Reinforcement Learning gibt es viele zu verfeinernde Hyperparameter, beispielsweise das Belohnungssignal, die Architektur des neuronalen Netzes und agentenspezifische Hyperparameter. Selbst kleine Änderungen an diesen Parametern können sich drastisch auf die Trainingsleistung auswirken und erfordern häufig mehrere Versuche, um eine annehmbare Policy zu trainieren.
  • Generalisierung und Transfer. Agenten haben häufig Probleme damit, außerhalb ihrer Trainingsszenarien Leistung zu zeigen oder das Lernen aus einer Simulation effizient auf die reale Welt zu übertragen (auch bekannt als sim2real-Lücke).
  • Verifikation, Interpretierbarkeit und Fehlerbehebung. So leistungsstark Deep Reinforcement Learning auch ist – neuronale Netze haben nun einmal eigene Vorbehalte. Die komplexen Strategiefunktionen neuronaler Netze zu erklären oder ihre Fehler zu beheben, ist schwierig, und das reduziert die Transparenz. Darüber hinaus ist die formale Verifikation neuronaler Netze noch immer ein offenes Feld. Das macht es schwierig, Deep Reinforcement Learning auf sicherheitskritische Systeme anzuwenden.

Reinforcement-Learning-Anwendungen in technischen Systemen

Reinforcement Learning wurde in den vergangenen Jahren in mehreren Bereichen eingesetzt, darunter KI-Chatbots und Large Language Models (LLMs), Empfehlungs-Systeme, Marketing und Werbung sowie Gaming. Es wird jedoch (größtenteils) noch für Produktionsanwendungen evaluiert, und das gilt insbesondere für technische Systeme. Andererseits eröffnen die zuvor genannten Vorteile langsam, aber sicher den Einsatz der Technologie in verschiedenen Bereichen. Reale Anwendungen des Reinforcement Learning in technischen Systemen kommen in der Regel aus diesen Bereichen:

  • Komplexe Regelungssysteme: Das Regeln nicht linearer oder komplexer Systeme oder solcher mit eher komplexem Sensor-Feedback ist eine Herausforderung und erfordert häufig zusätzliche Vorarbeit (z. B. das Linearisieren des Systems an verschiedenen Betriebspunkten oder das Extrahieren von Merkmalen aus Sensordaten, z. B. Bildern). In solchen Fällen kann das Reinforcement Learning direkt ohne zusätzliche Vorarbeit angewendet werden. Anwendungsbereiche sind das automatisierte Fahren (z. B. Fahrentscheidungen basierend auf Kameraeingaben) und Robotik (z. B. einem Roboterarm beibringen, verschiedene Objekte für Pick-and-Place-Anwendungen zu manipulieren, oder einem Roboter das Gehen beibringen).
  • Scheduling: Scheduling-Probleme treten bei Ampelsystemen, beim Koordinieren von Betriebsmitteln in der Werkshalle und in vielen anderen Szenarien auf. Reinforcement Learning ist eine gute Alternative zu evolutionären Methoden, um diese (hoch dimensionalen) kombinatorischen Optimierungsprobleme zu lösen.
  • Kalibrierung: Anwendungen, bei denen Parameter manuell kalibriert werden, z. B. elektronische Steuereinheiten oder Motoren, oder solche, die anfällig für menschliche Fehler sind, z. B. die Optimierung von Produktionslinien, können gute Kandidaten für Reinforcement Learning sein.
  • Adversarielle Probleme: Beim Machine Learning beinhalten adversarielle Anwendungen bewusst gestaltete Eingaben (sogenannte adversarielle Beispiele), die darauf ausgelegt sind, Schwächen in anderen Modellen, Systemen oder Umgebungen zu erschließen. Ein Beispiel für adversarielles Reinforcement Learning wäre der Entwurf eines Policy-verifizierenden Agenten, der versucht, eine andere Policy (oder auch einen anderen Algorithmus) zu kontern, um Gegenbeispiele zu finden und Systemschwachstellen zu bewerten. Außerdem eignet sich adversarielles Reinforcement Learning besonders gut für Cybersicherheitsanwendungen, um Angriffe zum Testen von Verteidigungsstrategien zu simulieren und umgekehrt.
  • Entwurfsoptimierung: Ein Bereich, der in hohem Maße vom Reinforcement Learning profitieren kann, ist die simulationsbasierte Entwurfsoptimierung, insbesondere bei kostspieligen Simulationen. Reinforcement-Learning-Agenten können den Entwurfsraum intelligent erkunden, so dass weniger Trainingsdaten und Simulationen erforderlich sind. Konkrete Anwendungsbeispiele sind der Radarentwurf und die Optimierung von Chipplatzierungen.

MATLAB®, Simulink® und Reinforcement Learning Toolbox™ vereinfachen Reinforcement-Learning-Aufgaben. Sie können Regler und Entscheidungsfindungsalgorithmen implementieren, indem Sie jeden Schritt des Reinforcement-Learning-Workflows im selben Ökosystem durcharbeiten. Insbesondere können Sie Folgendes tun:

  1. Trainingsumgebungen und Belohnungssignale in MATLAB und Simulink erstellen. Erstellte Umgebungen einfach durch MATLAB Funktionen und Simulink-Blöcke koppeln.
  2. Auf einem neuronalen Netz basierende Policys programmatisch oder interaktiv mit Deep Network Designer erstellen. Alternativ können Sie auch Lookup-Tabellen und Polynomenfunktionen verwenden.
  3. Beliebte wertebasierte, Policy-basierte und Actor-Critic-Algorithmen wie DQN, DDPG, PPO und SAC mit nur minimalen Codeänderungen auswechseln, evaluieren und vergleichen oder individuelle Algorithmen erstellen. Verschiedene Trainingsansätze vorkonfiguriert ausprobieren, z. B. Einzel-Agent-/Multi-Agent-, gradientenbasiertes/evolutionäres, Online-/Offline- und modellbasiertes/modellfreies Reinforcement Learning.
  4. Agenten interaktiv mit der Reinforcement Learning Designer-App erstellen, trainieren und simulieren.
  5. Reinforcement-Learning-Policys bereitstellen, und zwar in Produktionssystemen und Embedded-Geräten (mit automatischen Code-Generierungstools). Falls nötig, verringern Sie den Arbeitsspeicherbedarf von Policys eines neuronalen Netzes vor der Bereitstellung mit Komprimierungstechniken.
Screenshot der Reinforcement Learning Designer-App mit interaktiven Dialogfenstern zum Einrichten von Agenten-Hyperparametern.

Interaktives Erstellen eines Reinforcement-Learning-Agenten mit der Reinforcement Learning Designer-App. (Siehe Dokumentation.)

Bewältigen häufiger Herausforderungen beim Reinforcement Learning mit MATLAB und Simulink

Sie können mit MATLAB und Simulink viele der Herausforderungen bewältigen, die häufig beim Reinforcement Learning auftreten.

Hohe Einstiegshürde

Legen Sie zügig mit dem Reinforcement Learning los: Testen Sie vorkonfigurierte Algorithmen (Sie müssen sie also nicht manuell entwickeln), sehen Sie sich Referenzbeispiele an, um Hilfe beim Einrichten Ihres Problems zu erhalten, und vertiefen Sie Ihr Wissen mit kostenfreien Lernressourcen und Schulungskursen.

Hoher Daten- und Datenverarbeitungsaufwand (Stichprobenineffizienz)

Mit Parallel Computing Toolbox™ und MATLAB Parallel Server™ können Sie Reinforcement-Learning-Policys schneller trainieren, indem Sie mehrere GPUs, mehrere CPUs, Datenverarbeitungscluster und Cloudressourcen nutzen. Sie können beispielsweise Trainingsdaten schneller generieren, indem Sie mehrere Simulationen parallel abspalten, und auch das Lernen beschleunigen, indem die Gradienten zügiger berechnet werden.

Außerdem kann die Reinforcement Learning Toolbox Funktionen für modellbasiertes Reinforcement Learning bereitstellen, was bei der Stichprobeneffizienz hilft.

Agenten der modellbasierten Policy-Optimierung (MBPO) können stichprobeneffizienter als modellfreie Agenten sein, da das Modell große Mengen unterschiedlicher Erfahrungen generieren kann.

Ein Diagramm dazu, wie das Problem auf mehreren Computern mithilfe paralleler Datenverarbeitung ausgeführt werden kann, um das Reinforcement Learning zu beschleunigen und schneller eine optimale Policy zu erreichen.

Trainieren eines stichprobenineffizienten Lernproblems mit paralleler Datenverarbeitung.

Große Anzahl von Entwurfsparametern

Sie können mit der Reinforcement Learning Toolbox die Anzahl der manuell zu verfeinernden Hyperparameter verringern. Zum Beispiel können Sie Agenten erstellen, ohne manuell die Architektur der Policys des neuronalen Netzes anzugeben. Sie können Agenten-Hyperparameter interaktiv mit Bayesscher Optimierung in der Reinforcement Learning Designer-App verfeinern. Außerdem können Sie automatisch Belohnungsfunktionen generieren, wenn Sie bereits über Spezifikationen für Model Predictive Control Toolbox™ oder Leistungseinschränkungen verfügen, die mit Modellverifikationsblöcken von Simulink Design Optimization™ angegeben werden.

Generalisierung und Transfer

Simulationen sind der Schlüssel zum Reinforcement Learning. Mit enger Integration in Simulink lassen sich Generalisierungen von Policys durch Domänenrandomisierung mittels Trainingsagenten in verschiedenen Szenarien einfach verbessern, selbst für extreme oder gefährliche Bedingungen, die sich in der realen Welt nur schwer oder unter großem Risiko erstellen lassen könnten.

Mithilfe der Reinforcement Learning Toolbox können Sie alle verfügbaren Datenquellen in vollem Umfang erschließen, um die Generalisierung zu verbessern und die sim2real-Lücke zu schließen. Mit Offline-Reinforcement-Learning lässt sich eine Policy mithilfe vorhandener Daten (z. B. Daten von der Ziel-Hardware) vortrainieren. Sie können dann die Policy durch das Trainieren gegen eine simulierte Umgebung verbessern und Domänenrandomisierung anwenden, um sie robust gegen ungewisse Faktoren und Szenarien zu machen. Damit das Simulationsmodell das reale System genau darstellt, können Sie auf Systemidentifikation zurückgreifen. Der letzte Schritt des Prozesse ist das Verfeinern der trainierten Policy, indem sie ggf. direkt gegen die reale Hardware trainiert wird. Auch wenn das Einbeziehen tatsächlicher Hardware in die Trainingsschleife normalerweise riskant und sogar gefährlich wäre, stellen die ersten beiden Schritte dieses Workflows sicher, dass die Anzahl der Interaktionen mit der physischen, zum Verfeinern der Policy erforderlichen Hardware minimal ist. Diese Funktionalität kann auch bei realen Anwendungen eingesetzt werden.

Diagramm mit Offline-Reinforcement-Learning, Systemidentifikation und direktem Trainieren gegen reale Hardwaresysteme.

Ein sim2real-Transfer-Workflow mithilfe der Reinforcement Learning Toolbox, die alle Quellen verfügbarer Daten zur besseren Generalisierung erschließt.

Verifikation, Interpretierbarkeit und Fehlerbehebung

Reinforcement Learning ist häufig durch „stumme Fehler“ gekennzeichnet – subtile, schwer erkennbare Probleme, die beim Trainieren oder bei der Ausführung auftreten. Mit der Reinforcement Learning Toolbox können Sie wichtige Trainingsdaten zur einfacheren Analyse und Fehlerbehebung aufzeichnen und visualisieren.

Interpretierbarkeit und Verifikation sind noch offene und aktive Bereiche in der Forschungs-Community, insbesondere hinsichtlich neuronaler Netze. Die Deep Learning Toolbox™ bietet eine Reihe von Visualisierungsmethoden – eine Art Interpretierbarkeitstechnik, die Netzvorhersagen mithilfe visueller Darstellungen dessen erläutert, nach dem ein Netz sucht. Ein weiterer Ansatz ist durch Fuzzy-Logik: Ein Fuzzy Inference System (FIS) so zu trainieren, dass es das Verhalten einer (Deep) Reinforcement-Learning-Policy repliziert, ermöglicht Ihnen den Einsatz der FIS-Regeln zum Erklären seines Verhaltens.

Die simulationsbasierte Verifikation ist der gängigste Ansatz zum Verifizieren von Reinforcement-Learning-Policys. Simulink macht sie einfach. Mit Model-Based Design kann die simulationsbasierte Verifikation um traditionelle Verifikation und Validierung erweitert werden. Sie können beispielsweise Anforderungen an Ihre Policy formulieren und mit der Requirements Toolbox™ auf Konsistenz, Vollständigkeit und Richtigkeit analysieren. Darüber hinaus können Sie mithilfe von formalen Methoden der Deep Learning Toolbox Verification Library bestimmte Eigenschaften der Policys des neuronalen Netzes bewerten, z. B. Robustheit und Netzausgabegrenzen.

Als Letztes gilt zu berücksichtigen, dass es bei allen in diesem Abschnitt erörterten Herausforderungen hilfreich sein kann, ein komplexes Problem in kleinere Teilprobleme aufzuschlüsseln: Fehlerbehebung und Interpretierbarkeit lassen sich besser steuern (ein kleineres Problem erfordert in der Regel eine einfachere Policy-Architektur) und auch die Verifikationsanforderungen sinken unter Umständen. In diesen Situationen kann das Reinforcement Learning mit traditionellen (Regelungs-) Methoden kombiniert werden. Die Hauptidee hinter dieser Architektur ist, dass die verifizierbaren oder traditionellen Methoden zur Bewältigung sicherheitskritischer Aspekte des Problems genutzt werden, während Blackbox-Reinforcement-Learning-Policys bei allgemeineren, potenziell weniger kritischen Komponenten zum Einsatz kommen. Andere infrage kommende Architekturen sind ein hybrider Ansatz, bei dem eine traditionelle Methode gemeinsam mit dem Reinforcement Learning ausgeführt wird, oder bei dem das Reinforcement Learning eine traditionelle Methode ergänzt oder berichtigt. Mit MATLAB lassen sich solche Architekturen unkompliziert implementieren. Neben Reinforcement-Learning- und AI-basierten Methoden können Sie auf eine Vielzahl traditioneller, vorkonfigurierter Methoden zugreifen und sie mithilfe einer einzelnen Simulationsplattform, nämlich Simulink, kombinieren.

Blockdiagramm zur Kombination von Reinforcement Learning mit einem traditionellen Regler.

Kombination aus Reinforcement Learning mit traditionellen Methoden, was die Anwendung sicherheitskritischer Systeme erleichtern kann.