KI 101
Was ist Reinforcement Learning?

Was ist Reinforcement Learning?
Einfach ausgedrückt, ist Reinforcement Learning eine maschinelle Lernmethode, die das Training eines künstlichen Intelligenz-Agenten durch die Wiederholung von Aktionen und assoziierten Belohnungen beinhaltet. Ein Reinforcement Learning-Agent experimentiert in einer Umgebung, indem er Aktionen ausführt und belohnt wird, wenn die richtigen Aktionen ausgeführt werden. Im Laufe der Zeit lernt der Agent, die Aktionen auszuführen, die seine Belohnung maximieren. Das ist eine kurze Definition von Reinforcement Learning, aber ein genauerer Blick auf die Konzepte hinter Reinforcement Learning hilft Ihnen, ein besseres, intuitiveres Verständnis davon zu erlangen.
Der Begriff “Reinforcement Learning” ist von dem Konzept der Verstärkung in der Psychologie abgeleitet. Aus diesem Grund sollten wir uns einen Moment Zeit nehmen, um das psychologische Konzept der Verstärkung zu verstehen. Im psychologischen Sinne bezieht sich der Begriff Verstärkung auf etwas, das die Wahrscheinlichkeit erhöht, dass eine bestimmte Reaktion/Aktion auftritt. Dieses Konzept der Verstärkung ist eine zentrale Idee der Theorie der operanten Konditionierung, die ursprünglich von dem Psychologen B.F. Skinner vorgeschlagen wurde. In diesem Kontext ist Verstärkung alles, was die Häufigkeit eines bestimmten Verhaltens erhöht. Wenn wir über mögliche Verstärkungen für Menschen nachdenken, können diese Dinge wie Lob, eine Gehaltserhöhung, Süßigkeiten und unterhaltsame Aktivitäten sein.
Im traditionellen, psychologischen Sinne gibt es zwei Arten von Verstärkung. Es gibt positive Verstärkung und negative Verstärkung. Positive Verstärkung ist die Hinzufügung von etwas, um ein Verhalten zu erhöhen, wie zum Beispiel, wenn man seinem Hund ein Leckerli gibt, wenn er sich gut verhält. Negative Verstärkung beinhaltet das Entfernen eines Reizes, um ein Verhalten hervorzurufen, wie zum Beispiel, wenn man laute Geräusche abschaltet, um eine schüchterne Katze herauszulocken.
Positive & Negative Verstärkung
Positive Verstärkung erhöht die Häufigkeit eines Verhaltens, während negative Verstärkung die Häufigkeit verringert. Im Allgemeinen ist positive Verstärkung die am häufigsten verwendete Art von Verstärkung in Reinforcement Learning, da sie dabei hilft, die Leistung auf einer bestimmten Aufgabe zu maximieren. Nicht nur das, sondern positive Verstärkung führt auch dazu, dass das Modell nachhaltige Änderungen vornimmt, Änderungen, die zu konsistenten Mustern werden und über lange Zeiträume hinweg bestehen können.
Im Gegensatz dazu erhöht negative Verstärkung auch die Wahrscheinlichkeit, dass ein Verhalten auftritt, wird jedoch verwendet, um einen Mindestleistungsstandard aufrechtzuerhalten, anstatt die maximale Leistung des Modells zu erreichen. Negative Verstärkung in Reinforcement Learning kann dazu beitragen, sicherzustellen, dass ein Modell von unerwünschten Aktionen ferngehalten wird, kann jedoch nicht wirklich dazu beitragen, dass ein Modell erwünschte Aktionen erforscht.
Training eines Reinforcement-Agents
Wenn ein Reinforcement Learning-Agent trainiert wird, gibt es vier verschiedene Zutaten oder Zustände, die beim Training verwendet werden: Anfangszustände (Zustand 0), neuer Zustand (Zustand 1), Aktionen und Belohnungen.
Stellen Sie sich vor, wir trainieren einen Reinforcement-Agent, um ein Plattform-Spiel zu spielen, bei dem das Ziel des künstlichen Intelligenz-Systems darin besteht, das Ende des Levels zu erreichen, indem es sich über den Bildschirm bewegt. Der Anfangszustand des Spiels wird aus der Umgebung gezogen, was bedeutet, dass der erste Frame des Spiels analysiert und dem Modell gegeben wird. Basierend auf diesen Informationen muss das Modell eine Aktion entscheiden.
Während der anfänglichen Phasen des Trainings sind diese Aktionen zufällig, aber sobald das Modell verstärkt wird, werden bestimmte Aktionen häufiger. Nachdem die Aktion ausgeführt wurde, wird die Umgebung des Spiels aktualisiert und ein neuer Zustand oder Frame erstellt. Wenn die Aktion, die der Agent ausgeführt hat, ein gewünschtes Ergebnis produziert hat, sagen wir in diesem Fall, dass der Agent noch am Leben ist und nicht von einem Feind getroffen wurde, wird dem Agent eine Belohnung gegeben und es wird wahrscheinlicher, dass er dieselbe Aktion in der Zukunft ausführt.
Dieses grundlegende System wird ständig wiederholt, wiederholt und wiederholt, und jedes Mal versucht der Agent, ein wenig mehr zu lernen und seine Belohnung zu maximieren.
Episodische vs. Kontinuierliche Aufgaben
Reinforcement Learning-Aufgaben können typischerweise in eine von zwei verschiedenen Kategorien eingeordnet werden: episodische Aufgaben und kontinuierliche Aufgaben.
Episodische Aufgaben führen die Lern-/Trainings-Schleife aus und verbessern ihre Leistung, bis bestimmte Endkriterien erreicht sind und das Training beendet wird. In einem Spiel könnte dies das Erreichen des Endes des Levels oder das Fallen in eine Gefahr wie Stacheln sein. Im Gegensatz dazu haben kontinuierliche Aufgaben keine Beendigungsbedingungen, sie trainieren im Wesentlichen für immer, bis der Ingenieur beschließt, das Training zu beenden.
Monte Carlo vs. Temporal Difference
Es gibt zwei primäre Möglichkeiten, einen Reinforcement Learning-Agenten zu trainieren. Im Monte-Carlo-Ansatz werden Belohnungen dem Agenten (seine Punktzahl wird aktualisiert) nur am Ende der Trainings-Episode geliefert. Mit anderen Worten, nur wenn die Beendigungsbedingung erreicht ist, lernt das Modell, wie gut es sich verhalten hat. Es kann dann diese Informationen verwenden, um zu aktualisieren, und wenn die nächste Trainingsrunde gestartet wird, wird es entsprechend den neuen Informationen reagieren.
Die temporale Differenzmethode unterscheidet sich von der Monte-Carlo-Methode dadurch, dass die Werteschätzung oder die Punktzahl-Schätzung während des Trainings aktualisiert wird. Sobald das Modell zum nächsten Zeitpunkt fortschreitet, werden die Werte aktualisiert.
Exploration vs. Ausbeutung
Das Training eines Reinforcement Learning-Agents ist ein Balanceakt, der das Ausgleichen zweier verschiedener Metriken beinhaltet: Exploration und Ausbeutung.
Exploration ist die Handlung, mehr Informationen über die Umgebung zu sammeln, während Ausbeutung die Handlung ist, die bereits bekannten Informationen über die Umgebung zu nutzen, um Belohnungspunkte zu verdienen. Wenn ein Agent nur exploriert und nie ausbeutet, werden die gewünschten Aktionen nie ausgeführt. Andererseits, wenn der Agent nur ausbeutet und nie exploriert, wird der Agent nur lernen, eine Aktion auszuführen, und wird nicht andere mögliche Strategien zum Verdienen von Belohnungen entdecken. Daher ist das Ausgleichen von Exploration und Ausbeutung bei der Erstellung eines Reinforcement Learning-Agents von entscheidender Bedeutung.
Anwendungsfälle für Reinforcement Learning
Reinforcement Learning kann in einer Vielzahl von Rollen eingesetzt werden und ist am besten für Anwendungen geeignet, bei denen Aufgaben automatisiert werden müssen.
Die Automatisierung von Aufgaben, die von Industrierobotern ausgeführt werden, ist ein Bereich, in dem Reinforcement Learning nützlich ist. Reinforcement Learning kann auch für Probleme wie Textmining eingesetzt werden, um Modelle zu erstellen, die in der Lage sind, lange Texte zusammenzufassen. Forscher experimentieren auch mit der Verwendung von Reinforcement Learning im Gesundheitswesen, wobei Reinforcement-Agents Aufgaben wie die Optimierung von Behandlungspolitiken übernehmen. Reinforcement Learning könnte auch verwendet werden, um Bildungsmaterial für Schüler anzupassen.
Zusammenfassung von Reinforcement Learning
Reinforcement Learning ist eine leistungsstarke Methode zur Konstruktion von künstlichen Intelligenz-Agenten, die zu beeindruckenden und manchmal überraschenden Ergebnissen führen kann. Das Training eines Agents durch Reinforcement Learning kann komplex und schwierig sein, da es viele Trainingsiterationen und ein feines Gleichgewicht zwischen der Erforschung und der Ausbeutung erfordert. Wenn jedoch erfolgreich, kann ein mit Reinforcement Learning erstellter Agent komplexe Aufgaben in einer Vielzahl von Umgebungen ausführen.












