Blog

JavaSpektrum Januar 2018

Reinforcement Learning – Ein kompakter Überblick

In der aktuellen Ausgabe der Zeitschrift JavaSpektrum (01/2018) ist ein spannender Artikel zum Thema Reinforcement Learning von Holisticon-Mitarbeiter Ferhat Ayaz publiziert. Der Beitrag stellt die wichtigsten Komponenten des Verstärkungslernens vor und bietet einen Überblick, der den heutigen Stand des RL repräsentieren soll. Unter anderem werden dabei auch die Umsetzungen in Java vorgestellt. Die Zeitschrift ist online oder im gut sortierten Zeitschriftenhandel erhältlich.

Sei es durch statistische Methoden oder Fehleroptimierungen: Dateninformation ist die essentielle Zutat in allen Rezepten, wenn man über Maschinelles Lernen redet. Sie repräsentieren vergangene Erfahrungen, durch deren Hilfe die Zukunft vorhergesagt werden soll. Aber was passiert, wenn noch keine Daten verfügbar sind? Kann man trotzdem noch über “Intelligenz” im digitalen Bereich reden? Würde man dann nicht gegen die Wand knallen?

Durch Methoden des Verstärkungslernens (Reinforcement Learning) kann man den Spieß auch umdrehen: Wenn man gegen die Wand knallt, hat man zumindest die Information, wo eine Wand positioniert ist.

Der äußere Rahmen (Framework) des Verstärkungslernens enthält drei wichtige Komponenten, nämlich Zustände, in denen sich ein Agent befinden kann, Aktionen, die in einem Zustand verfügbar sind und Belohnungen bzw. Bestrafungen, die dem Agenten zugewiesen werden, wenn er sich in einem neuen Zustand befindet.

Während instruktive Lernmethoden, wie Betreutes Lernen (Supervised Learning), die nächste Aktion in einem gewissen Zustand vorgeben, kann durch evaluative Lernmethoden, wie Reinforcement Learning, die nächste Aktion durch eigene Erfahrungen ausgewertet werden.

Verschiedene Situationen erfordern unterschiedliche Vorgehensweisen und Algorithmen im Rahmen des Verstärkungslernens: Ist die Umgebung bekannt, in die sich der lernende Agent begeben soll? Für einen Agenten, der z.B. die Karte einer verlassenen Mine herausfinden soll, ist die Umgebung nicht bekannt. Gibt es ein stationäres Ziel oder ändert sich das Ziel mit der Zeit? Ist die Umgebung stochastisch oder eher deterministisch? Ein Backgammon-Spiel oder selbstfahrende Autos wären Beispiele für stochastische Umgebungen, während ein Schachspiel eine typisch deterministische Umgebung ist. Soll zunächst ein passives Lernen involviert werden, zum Beispiel durch Simulationen, bevor jede Menge Agenten tatsächlich über die Klippe fallen oder kann man direktes Lernen anwenden und sofort aus den Konsequenzen der ausgewählten Aktionen lernen?

Mit der Zeit haben sich drei RL-Techniken durchgesetzt, die heute noch sehr intensiv recherchiert und erweitert werden: Zeitliches Differenzlernen (TD), Dynamisches Programmieren (DP) und Lernen durch Monte-Carlo Simulationen. Alle drei Techniken haben eine gemeinsame Absicht: eine gute Regel bzw. Politik zu finden, die für einen gegebenen Zustand die optimale Aktion vorgibt, welche langfristig die maximale Belohnung erntet.

Über den Autor

Avatar

ist ein langjähriger Softwareentwickler und hat künstliche Intelligenz in verschiedenen Formen, von Spieleprogrammierung bis hin zu akademischen Forschungen, leidenschaftlich eingesetzt. Unter anderem hat er Lösungen zum Erforschen der Proteindynamik mit Unterstützung von Verstärkungslernen entwickelt. Er ist immer auf der Suche nach innovativen Lösungen im Smart Data Work Stream bei der Holisticon AG.

Antwort hinterlassen