Reinforcement learning – Ein Überblick

Reinforced Learning (RL) ist eine der drei grundlegenden Ansätze im Bereich des maschinellen Lernens, neben dem Supervised Learning (SL) und dem Unsupervised Learning (UL). Beim Supervised Learning ist für jedes einzelne Trainingsbeispiel das gewünschte, korrekte Ergebnis bekannt und das Modell wird damit trainiert, diese Ergebnisse zu reproduzieren. Unsupervised Learning wird vor allem eingesetzt, um Daten zu gruppieren oder Dimensionsreduktion durchzuführen. Beim Reinforced Learning hingegen wird das Modell darauf trainiert, aus einer unter Umständen sehr großen Zahl von Entscheidungsoptionen diejenige zu wählen, welche später den größten „Nutzen“ erzielt.

                                Ablaufschema eines Markov-Entscheidungsprozesses im Reinforcement Learning

Die Kernidee der unterschiedlichen Techniken aus dem Bereich des Reinforced Learnings ist es, das menschliche Lernen nachzubauen, so wie neuronale Netze von Strukturen aus der Biologie inspiriert sind.  Dabei wird die Interaktion des Agenten mit seiner Umwelt als Markov-Entscheidungsprozess aufgefasst. Zu jedem Zeitschritt befindet sich die „Umwelt“ in einem Zustand Z. Auf diesen Zustand kann der Agent mit einer von N möglichen Aktionen reagieren. Je nach erreichtem Zustand Z+1 wird der Agent dann für die Aktion belohnt oder nicht.

Ein konkretes Beispiel ist das Computerspiel Snake. Hier besteht die Umwelt aus einem rechteckigen Feld, in dem sich die Schlange und Belohnungen befinden. Die verschiedenen Zustände Z bestehen dabei aus den möglichen Positionen der Schlange und der Belohnung im Rechteck. Frisst die Schlange in einem Zustand Z die Belohnung, wird durch den positiven Folgezustand Z+1 die Handlung belohnt. Aufgrund der großen Zahl von möglichen Zuständen wird jedoch in vielen Zuständen eine Aktion nicht unmittelbar belohnt. Bewegt sich die Schlange beispielsweise in Richtung einer Belohnung, ist dies zwar eine nützliche Aktion, führt aber nicht unmittelbar zur Belohnung. Diese erfolgt erst, wenn die Schlange das Ziel tatsächlich erreicht hat.

Im Bereich des Reinforced Learnings wird daher häufig mit Verfahren gearbeitet, welche zusätzlich die Nützlichkeit einer Aktion bewerten, das heißt wie hilfreich die konkrete Aktion ist, in einem späteren Zeitschritt eine Belohnung zu erhalten. Eine solche Bewertungsfunktion kann beispielsweise ein neuronales Netz sein, das die zu erwartende zukünftige Belohnung für eine Aktion laufend berechnet. Der Einsatz von neuronalen Netzen im Bereich des Reinforced Learnings wird auch Deep Reinforced Learning genannt. Ein prominentes Beispiel für eine erfolgreiche Anwendung ist AlphaGoZero von GoogleDeepmind. Dieses System ist in der Lage, ohne Daten von menschlichen Spielern selbstlernend innerhalb von 40 Tagen ein höheres Spielniveau zu erreichen als jeder menschliche Spieler und als alle zuvor existierenden Programme.

 

Algorithmen

 

Eine wichtige Klasse von Algorithmen basieren auf der Policy Gradient Methode. Die Kernidee dahinter ist, den erreichten Folgezustand laufend zu evaluieren und die Belohnung für eine Aktion, die zum Erreichen eines Zustandes führte, dynamisch anzupassen. Ein Beispiel dafür ist der von GoogleDeepmind entwickelte A3C Algorithmus, welcher oft zum Lösen von Spielen verwendet wird.

Ein Problem bei diesem Grundkonzept ist, dass zufälliges Lernen dazu führen kann, dass ungewollte Lösungsansätze favorisiert werden. So könnte bei dem Snake Beispiel die Aktion „im Kreis drehen“ mit der Zeit attraktiver werden, da hierdurch die Wahrscheinlichkeit zu verlieren minimiert wird. Dieses Problem ist als Alignment Problem bekannt.

Ein Ansatz, um dieses Problem zu umgehen, ist Reward Shaping. Die Idee ist hierbei, mehrere kleine „Zwischen-Belohnungen“ in die Aufgabenstellung mit zu integrieren, um potenziell schlechtes Verhalten zu kanalisieren.

So könnten für Snake zusätzliche Belohnungen vergeben werden, die das Fortbewegen in die gleiche Richtung begünstigen und damit Richtungswechsel unattraktiver machen. Dadurch wird der Trainingsaufwand gegenüber zufälligem Training reduziert. Ein Nachteil dieser Methode ist, dass für jede Umgebung und jedes Problem die Belohnungen neu angepasst werden müssen. Ein weiterer Nachteil besteht darin, dass durch die Bevorzugung einiger weniger Handlungen bei falscher Dosierung der Belohnungen potenziell nützliche Lernprozesse blockiert werden können. Bei Snake könnte zum Beispiel die Aktion „Fressen der Belohnung“ zusätzlich favorisiert werden, was dann dazu führen könnte, dass der Agent auch dann eine Belohnung frisst, wenn im nächsten Schritt das Spiel durch Berühren der Spielfeldbegrenzung verloren wird.

Eine Möglichkeit die langfristige Fokussierung des Agenten auf lokale Belohnungen zu umgehen ist, statt des Zustandes den Nutzen einer Aktion zu bewerten. Dies ist bei Algorithmen der Klasse Temporal Difference Learning (TD) gegeben. Dazu besitzen die Algorithmen eine state-value function, welche berechnet, mit welcher möglichen Belohnung eine Aktion vergütet wird. Die Funktion wird nach jeder Iteration angepasst, indem die tatsächliche Belohnung betrachtet wird. Allerdings wird auf diese Weise das Alignment Problem noch nicht gelöst, da es weiterhin möglich ist, dass die state-value function auf einen geschlossenen Kreis von Handlungsabläufen optimiert wird. Aus diesem Grund wird bei TD Algorithmen als zusätzliche Strategie die Epsilon-Greedy Policy angewandt, welche Neugierde simuliert. Hierbei wird bei einem bestimmten Prozentsatz aller Handlungen nicht die optimale Handlung ausgeführt, sondern eine zufällige. Auf das Snake-Beispiel bezogen könnte die Schlange zum Beispiel bei 5% aller Handlungen eine Richtungsänderung aus der Kreisbewegung heraus vornehmen und so nach einiger Zeit eine Belohnung fressen. Dies wiederum verändert mittelfristig die Werte der state-value function dahingehend, dass die Kreisbewegung unattraktiver wird. Ein Beispiel für diese Klasse ist der SARSA Algorithmus, der unter anderem erfolgreich in Simulationen für die Kontrolle von Energiesystemen und zur Erstellung von Gen Netzwerken eingesetzt wurde.

 

Anwendung

 

Eine erfolgreiche Anwendung von RL mit wirtschaftlichem Hintergrund wurde von Entwicklern der Alibaba Group beschrieben. Diese haben einen Deterministic Policy Gradient Algorithmus entwickelt, mit welchem sich Produkte in ihrer E-Commerce Plattform TaoBao intelligent platzieren lassen. Eigenen Angaben zufolge hat der entwickelte Algorithmus bessere Ergebnisse geliefert, als Standardmethoden zur Produktplatzierung und konnte in der realen Anwendung in den USA zu einer Umsatzsteigerung von 30% beitragen.

 

Ausblick

 

Die Bilanz von Reinforced Learning ist bisher gemischt. Bisher wird RL größtenteils in Simulationen und für Spiele eingesetzt. Dies liegt an den Problemen, die RL Techniken beim Lösen von Aufgaben in komplexen Umgebungen haben. Hier gelingt es dem Agenten häufig nicht, die Belohnung bzw. den Nutzen einzelner Handlungen langfristig richtig einzuschätzen.

Ein weiterer Punkt ist, dass viele Aufgaben, für die sich grundsätzlich ein Reinforced Learning Ansatz anbietet, momentan einfacher und besser mit alternativen Methoden gelöst werden können. Ein Beispiel dafür ist der zweibeinige Roboter Atlas von Boston Dynamics, welcher sich sicher auch durch unwegsames Terrain bewegen kann. Dieser verwendet kein Deep-RL, sondern eine Kombination aus verschiedenen anderen Methoden wie beispielsweise LQ-Regler, um sich in seiner Umwelt zu bewegen.

Allerdings könnte sich die Situation in der Zukunft grundlegend ändern. Durch die allgemeine Art zu Lernen lassen sich RL Methoden von allen Machine Learning Methoden am ehesten als generelle künstliche Intelligenz einsetzen. Vor allem in der Robotik könnten Systeme geschaffen werden, die besser als bisher existierende Lösungen mit wechselnden Bedingungen umgehen können. In Produktionsanlagen beispielsweise könnte sich hierdurch der Anpassungsaufwand für Roboter an neue Tätigkeiten oder eine geänderte Umgebung deutlich reduzieren.