Reinforcement Learning – wenn Maschinen Denken lernen
Google investiert in viele unterschiedliche Bereiche und Projekte, besonders wenn es um zukunftsweisende Technologien geht. Gerade auf dem Gebiet der künstlichen Intelligenz (KI) hat der Internetkonzern mit dem Projekt Deepmind ein gewichtiges Eisen im Feuer. Hierbei geht es darum, mithilfe von künstlicher Intelligenz Programme so weiter zu entwickeln, dass diese zukünftig in der Lage sind, komplexe Probleme ohne jeglichen Einfluss des Menschen zu lösen. Reinforcement Machine Learning liefert hierbei einen ganz wesentlichen Beitrag zur Weiterentwicklung von KI.
Was ist Reinforcement Learning?
Wörtlich übersetzt bedeutet Reinforcement Learning „be- bzw. verstärkendes Lernen“. Dieser Begriff beschreibt eine Methode im Bereich Machine Learning. Neben Supervised Learning und Unsupervised Learning stellt Reinforcement Learning die dritte Möglichkeit dar, Algorithmen so anzulernen, dass sie selbstständig Entscheidungen treffen können. Der Fokus liegt dabei auf der Entwicklung von intelligenten Lösungen für komplexe Steuerungsprobleme.
Bei dieser Möglichkeit des Machine Learnings werden im Gegensatz zum Supervised und Unsupervised Learning keine Daten zur Konditionierung benötigt. Bei den beiden genannten Methoden werden Programme zunächst mit Daten gespeist. Dieser Schritt entfällt beim Reinforcement Learning gänzlich. Stattdessen werden die Daten in einem Trial-and-Error-Verfahren während des Trainings generiert und gleichzeitig mit einem Label versehen. Dabei durchläuft das Programm etliche Trainingsdurchläufe innerhalb einer Simulationsumgebung, um ein entsprechend exaktes Ergebnis abzuliefern. Statt also beim Training das System mit den richtigen Ergebnissen zu konfrontieren (wie beim Supervised Learning), werden nur Impulse gesetzt, die das System unterstützen.
Das gewünschte Ergebnis dieses Trainings ist es, dass die künstliche Intelligenz ohne menschliches Vorwissen in der Lage ist, sehr komplexe Steuerungsprobleme autonom zu lösen. Im Vergleich zum konventionellen Engineering ist dies schneller, effizienter und liefert im idealen Fall auch das beste zu erwartende Ergebnis.
Die Erforschung von Reinforcement Learning findet dabei vielfach anhand von Spielen statt. Computerspiele bilden die perfekte Grundlage, um bestärkendes Lernen zu erforschen und zu verstehen. In Computerspielen sind generell eine Simulationsumgebung, verschiedene Möglichkeiten der Steuerung und auch eine Beeinflussung der Umgebung vorgegeben. Darüber hinaus bieten Spiele meist ein komplexes Problem, oder innerhalb der Spielabschnitte folgen komplexe Aufgaben, die es zu lösen gilt. In den meisten Spielen existieren zusätzlich Punktesysteme, die dem Belohnungssystem des Reinforcement Learnings sehr nahekommen.
Führende Forscher aus dem Bereich der künstlichen Intelligenz halten verstärkendes Lernen für eine sehr vielversprechende Methode zur Erreichung von Artificial General Intelligence. So wird es möglich sein, dass eine Maschine, ähnlich wie ein Mensch, irgendwann eigene rationale Entscheidungen treffen kann und somit jede beliebige Aufgabe erfolgreich absolvieren kann. Die Maschine beobachtet, lernt und kann anhand dessen Probleme eigenständig lösen.
Zusammengefasst geht es beim bestärkenden Lernen darum, dass eine Maschine durch Interaktionen mit der Umgebung lernt und das Erlernte wiederum anwendet, um komplexe Probleme zu lösen, ohne dass eine manuelle Eingabe des Menschen nötig ist.
Wie funktioniert Reinforcement Learning?
Reinforcement Learning beschreibt zahlreiche Einzelmethoden, bei denen ein Algorithmus bzw. Software-Agent selbstständig Strategien erlernt. Das Ziel ist es, Belohnungen in mitten einer Simulationsumgebung zu maximieren. Innerhalb dieser Simulationsumgebung führt der Computer eine Aktion aus und erhält anschließend darauf ein Feedback. Der Software-Agent erhält dabei vorab keinerlei Informationen, welche Aktion die vielversprechendste ist und muss seine Vorgehensweise im Trial-and-Error-Verfahren selber bestimmen.
Vielmehr erhält der Computer zu unterschiedlichen Zeitpunkten Belohnungen, die einen Einfluss auf seine Strategien haben. Mit diesen Ereignissen lernt der Software-Agent die Folge von bestimmten Aktionen innerhalb der Simulationsumgebung einzuschätzen. Das Ganze bildet so die Basis des Software-Agenten, um langfristige Strategien zu entwickeln und im gleichen Zuge Belohnungen zu maximieren.
Um ein Reinforcement-Learning-System entsprechend trainieren zu können, wird Q-Learning angewandt. Der Name stammt von der Q-Funktion, die den erhofften Nutzen von einer Aktion im Status berechnet. Ziel des bestärkenden Lernens ist es dann, eine möglichst optimale Policy zu erstellen. Unter dem Begriff „Policy“ versteht man hierbei das erlernte Verhalten des Software-Agenten, das ihm sagt, welche Aktion in einer beliebigen Verhaltensvariante (Observation) aus der Lernumgebung (Environment) erfolgen soll.
Die Policy lässt sich in einer Q-Tabelle darstellen. Dabei enthalten die Zeilen alle möglichen Beobachtungen und die Spalten alle möglichen Aktionen. Die entstehenden Zellen werden dann während des Trainings mit sogenannten Value-Werten gefüllt, die den zukünftig zu erwartenden Reward darstellen.
Doch diese Q-Tabelle ist nur begrenzt einsetzbar. Die optische Darstellung funktioniert lediglich in einem kleinen Action-Observation-Space. Gibt es sehr viele Möglichkeiten, so muss sich der Software-Agent eines neuronalen Netzes bedienen.
Wo und wann wird Reinforcement Learning eingesetzt?
Ein Unternehmen, in dem diese Methode des maschinellen Lernens bereits zum Einsatz kommt, ist Google. Der Konzern nutzt bestärkendes Lernen beispielsweise zur Steuerung der Klimaanlagen in den Rechenzentren. Durch künstliche Intelligenz konnte Google bisher bereits 40 Prozent der Energie einsparen, die zur Kühlung der Server notwendig ist.
Auch bei der Steuerung von komplexen Systemen, beispielsweise intelligenten Verkehrssystemen, findet Reinforcement Learning Verwendung. So liefert es intelligente Lösungen bei der Qualitätsüberwachung. Darüber hinaus wird das bestärkende Lernen bei intelligenten Stromnetzen, der Steuerung von Robotern, Optimierung von Lieferketten bei diversen Logistikunternehmen oder der Fabrikautomatisierung genutzt.
Das für den Verbraucher wohl greifbarste Beispiel für Reinforcement Learning ist allerdings der Einparkassistent. Künstliche Intelligenz wird hierbei dazu genutzt, Objekte zu erkennen und den optimalen Weg zum Einparken für den Verbraucher anzuzeigen.
Bevor ein neuer Reinforcement-Learning-Algorithmus funktioniert, müssen zahlreiche Trainingsläufe absolviert werden, da Belohnungen teilweise nur verzögert gefunden werden. Allerdings stellt Reinforcement Learning eine Methode des Machine Learnings dar, die in Zukunft viele Prozesse steuern und komplexe Probleme lösen wird.
Um das Schreiben neuer Reinforcement-Learning Algorithmen zu vereinfachen, hat das auf künstliche Intelligenz spezialisierte Unternehmen DeepMind die Library Acme für die Programmiersprache Python veröffentlicht. Darin findet man eine Sammlung an verschiedenen Reinforcement-Learning-Agenten und Agentenbausteinen.