Wir haben in unserem Use Case Bis zum High-Score! Wie ein Roboter durch Ausprobieren lernt bereits gesehen, wie künstliche Intelligenz (KI) für Planungsaufgaben eines Industrieroboters eingesetzt werden kann. Dabei wurde eine Pick and Place Aufgabe gelöst, indem der Roboter durch intelligentes Ausprobieren die optimale Reihenfolge von Aktionen erlernte, um ein Werkstück in eine Fräse zu platzieren. Die Anwendung ist nur ein Beispiel von vielen.
Ein weiteres interessantes Einsatzgebiet findet sich in der Welt der Spiele wieder, sei es bei Brett- oder Computerspielen. Hier kann KI dazu genutzt werden, Spiele zu erlernen und erfolgreich zu meistern. Highscores oder spielabhängige Ziele können dabei als Belohnung verwendet werden um die KI entsprechend zu trainieren. Die Tatsache, dass Spiele ein festes Regelwerk aufweisen, macht sie zu einem optimalen Umfeld für Anwendungen, bei denen durch intelligentes Ausprobieren letztendlich gelernt wird. Solche Anwendungen werden im Bereich der KI als Reinforcement Learning (RL) bezeichnet, und es hat sich gezeigt, dass diese Methode in der Lage ist Fähigkeiten in Spielen zu erlangen. Wie und wodurch es umgesetzt werden kann, zeigen wir in diesem Use Case anhand einem der komplexesten Brettspiele der Welt!
Neben Supervised Learning (siehe hierzu AIAV Video: Supervised Learning) und Unsupervised Learning (siehe hierzu AIAV Video: Unsupervised Learning) stellt RL eine weitere Methode dar, Problemstellungen mithilfe von KI zu lösen (Artifical Intelligence: A Modern Approach). Hierbei wird versucht anwendungsabhängige Probleme durch Ausprobieren und die darauf resultierenden Feedbacksignale zu bewältigen. Die Feedbacksignale können sowohl positiv als auch negativ ausfallen. Durch die Integration dieses Feedbacks und einem ausreichenden Trainingsprozesses sind RL Modelle in der Lage Strategien zu erlernen um gegebene Problemstellung bestmöglich zu lösen.

Für ein besseres Verständnis wird in Abbildung 1 eine Visualisierung des grundlegenden Konzeptes von RL dargestellt. Es existiert sowohl ein Agent als auch eine Umgebung. Ein Agent ist hierbei ein handlungsfähiges System (wie in unserem Fall ein Roboter), welches vorgegebene Aktionen ausführen kann. Die Umgebung repräsentiert die Welt, in der der Agent existiert und agiert. Führt unser Agent (Roboter) nun eine Aktion aus wie beispielsweise das Bewegen in Richtung eines Objekts, führt dies zu einer Veränderung der Umgebung. Diese Veränderung wird wiederum durch Beobachtungen, beispielsweise durch ein Kamerasystem, erfasst.
Für ein RL Modell besteht diese Beobachtung aus dem aktuellen Zustand unseres Agenten (z.B. Bewegung in Richtung des Objekts) sowie aus der Belohnung (ob die Bewegung in die richtige Richtung ausgeführt wurde). Eine grundlegende Herausforderung für RL-Anwendungen besteht in der Ausgestaltung der Belohnungen, das heißt, in dem, was bewertet oder verbessert wird. Wenn Sie mehr zum Thema RL erfahren möchten, können Sie hier unser Video AIAV Video: Reinforcement Learning anschauen.
Die Möglichkeiten von RL sind vielfältig und finden neben Anwendungen in der Domäne der Brett- und Videospiele bereits in zahlreichen industriellen Anwendungen eingesetzt. Gerade im Bereich der Robotik für Pick and Place Aufgaben oder für komplexe Montageaufgaben ist RL eine Möglichkeit die Industrie von Morgen neu zu gestalten. Aber auch für das autonome Fahren sowie die Optimierung von Ampelsystemen und Verkehrsfluss wird dieses Modell vermehrt eingesetzt. Weitere Anwendungsbeispiele gibt es im Bereich des Energiemanagements, Transportwesen Optimierung und Finanzen.
Ein Paradebeispiel für eine RL Anwendung für Brettspiele ist das aus dem antiken China stammende Brettspiel Go. Es gilt als der Vorreiter von Schach und ist eines der ältesten, komplexesten und bis heute ununterbrochenes gespieltes Brettspiel für zwei Spieler. Auf den ersten Blick (siehe Abbildung 2) wirkt Go wie ein recht simples Spiel, jedoch ergibt sich durch die hohe Anzahl der möglichen (legalen) Go-Stellungen (nämlich 2,08*10170) auf einem 19x19 Spielbrett eine enorme Vielfältigkeit. Diese ist nicht nur für uns Menschen extrem komplexes Unterfangen, sondern auch für Computer, die mit einer KI ausgestattet sind.

Bis ins Jahr 2014 existiert kein Computerprogramm das mit einem menschlichen GO-Spieler mithalten konnten. 2015 wurde das Computerprogramm AlphaGo von Google DeepMind vorgestellt, welches die stärksten menschlichen Go-Spieler besiegte. Im Laufe der Jahre folgten weitere, kontinuierlich verbesserte GO-Programme. All diese Programme bauen auf dem Training von sogenannten neuronalen Netzwerken auf (siehe hierzu AIAV Video). Trainiert werden diese Programme anhand menschlicher Spielerdaten, mit Ausnahme des neusten und stärksten Programmes: Alpha Go Zero. Diese Version von Alpha GO benötigt keinerlei Daten von menschlichen Spielern, lediglich die Grundregeln und 70 Stunden Trainingszeit bei entsprechender Hardware, um alle anderen computerbasierten und menschliche Gegenspieler zu übertreffen. Die im Allgemeinen für KI verwendete Hardware sind rechnungsstarke Graphical Processing Units (GPUs) in Kombination mit Computational Processing Units (CPUs). Dabei werden die GPUs eingesetzt um komplexe parallelisierte Rechenaufgaben zu lösen und die CPUs dazu, dass eine hohe Anzahl an gelernten Parameter aktualisiert und abgerufen werden können.
Doch wie schafft es Alpha Go ohne menschliche Trainingsdaten zu einem unschlagbaren Gegner zu werden? Reinforcement Learning! Hierbei wird wie oben beschrieben durch intelligentes ausprobieren gelernt. Der Algorithmus spielt gegen sich selbst und bekommt positive Belohnungen für Züge die den Sieg oder Punkte gebracht haben und negative Abzüge für Niederlagen oder Verlust von Punkten. Für das Vorausplanen der möglichen Züge verwendet Alpha Go Zero eine Monte-Carlo-Baum-Suche (engl. Monte Carlo tree search (MCTS)) welches mit einem Neuralen Netzwerk kombiniert wird.

MCTS fokussiert sich dabei auf das „samplen“ von Spielmöglichkeiten. Darunter versteht man, wie in Abbildung 3 in den ersten beiden Schritten des Algorithmus zu sehen ist, das Selektieren und Erweitern von Spielerzügen im sogenannten Entscheidungsbaum. Verzweigungen im Entscheidungsbaum die für den Gewinn statistisch vielversprechender sind, werden häufiger berücksichtigt bzw. gesampelt. Der Wert der Wichtigkeit der einzelnen Zweige wird, wie im dritten Schritt in Abbildung 3 angedeutet, durch die Simulation bis zu den Endknoten bestimmt. Hierbei verwendet das Neuronale Netzwerk Daten des aktuellen Spielstatus und gibt die Wahrscheinlichkeit des Gewinnens für jeden möglichen Spielerzug aus. Hat das neuronale Netzwerk mit seiner Vorhersage recht und gewinnt mit den getroffenen Entscheidungen das Spiel, wird dies als positive Feedback gewertet. Durch die Einarbeitung des Feedbacks werden die Gewichte des Netzwerks aktualisiert. Dies ist in Abbildung 3 im letzten Schritt abgebildet und wird als Rückwärtspropagation bezeichnet (mehr hierzu erfahren Sie im AIAV Usecase: Wanderung in Richtung des geringsten Fehlers: Wie Programme lernen). Beim nächsten Spiel startet das Go-Programm mit einer verbesserten Version des Neuronalen Netzes und spielt erneut gegen sich selbst. Dieser Vorgang wird so lange wiederholt bis der Trainingsprozess abgebrochen wird. Der Abbruch für den in diesem Use Case verwendeten Algorithmus fand nach 40 Tagen statt. Typischerweise findet ein Trainingsabbruch statt, wenn die Performance Metrik, in diesem Fall die Elo-Zahl stagniert oder die Hardwareressourcen (GPUs & CPUs) für das Training zu teuer werden. Eine exakte Beschreibung zu dem verwendeten Algorithmus finden Sie in diesem Paper.

Mit diesem Use-Case haben wir es uns zur Aufgabe gemacht das oben beschriebene Go-Programm (Alpha Go Zero) mit einem Portalroboter zu vereinen und somit einen Go spielenden Roboter geschaffen, welchen Sie in Abbildung 4 sehen können. Durch die Verwendung einer der stärksten Go-Algorithmen ist unserer Roboter in der Lage selbst erfahrenste Go-Spieler zu besiegen. Falls Sie Interesse haben den Go-Robot live zu sehen kommen sie doch an einem unserer Events der FH Technikum Wien vorbei und versuchen Sie Ihr Glück!
Comments