BIT II SoSem 2015 | Basisinformationstechnologie II - 09_Künstliche Intelligenz in Computergames: Künstliche Neuronale Netze, Q-Lernen, Monte Carlo Simulationen
Artificial Neural Networks, Q-Learning, Monte Carlo Tree Search
SpoookyJS - A JavaScript Multiagent Board Game Framework Based On Monte Carlo Methods
http://www.spoookyjs.de
https://github.com/janwieners/SpoookyJS
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
BIT II SoSem 2015 | Basisinformationstechnologie II - 09_Künstliche Intelligenz in Computergames: Künstliche Neuronale Netze, Q-Lernen, Monte Carlo Simulationen
1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Dr. Jan G. Wieners // jan.wieners@uni-koeln.de
Basisinformationstechnologie II
Sommersemester 2015
24. Juni 2015 – Künstliche Intelligenz in Computergames: Künstliche Neuronale Netze,
Q-Lernen, Monte Carlo Simulationen
Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Dr. Jan G. Wieners // jan.wieners@uni-koeln.de
2. “MarI/O” - Machine Learning for Video Games
Künstliche neuronale Netze / Evolution künstlicher
neuronaler Netze: “NEAT”
Q-Lernen
Verstärkendes Lernen, Markov-Entscheidungsprozess
„SpoookyJS“ und „MCTS Super Mario“
Monte Carlo Methoden / Monte Carlo Spielbaumsuche
Themenüberblick
3.
4. „Inceptionism: Going Deeper
into Neural Networks”http://googleresearch.blogspot.de/2015/06/inceptionism-going-deeper-into-neural.html
13. Einfaches Modell eines künstlichen Neurons i mit:
ℎ𝑖:Summe der gewichteten Eingabeimpulse 𝑤𝑖1…𝑤𝑖𝑛, die das Neuron
von verknüpften externen Einheiten oder von Sensoren (𝜉1…𝜉𝑛) erhält
𝑎𝑖: Aktivierungsmaß
𝑔(ℎ𝑖): Aktivierungsfunktion
𝑜𝑖: Ausgabe des Neurons
14. Verarbeitung der Eingabeimpulse 𝑤𝑖1…𝑤𝑖𝑛 erfolgt in zwei Schritten:
ℎ𝑖: gewichtete Summe der Eingabeimpulse bestimmen, die an dem
Neuron anliegen:
Bestimmung des Aktivierungsmaßes (in den meisten Fällen: Ausgabe)
des Neurons:
23. Endlicher Markov-Entscheidungsprozess
Verlauf von Entscheidungen, bei dem die
Belohnung des Agenten einzig von dem
Zustand der Umwelt und der Aktion des
Agenten abhängt. Definiert als Tupel
𝑆, 𝐴, 𝑃, 𝑅, 𝛾 mit:
• 𝑆 = 𝑠1, 𝑠2, … , 𝑠 𝑛 : Zustandsraum, d.h. die
möglichen Zustände der Umwelt; 𝑠𝑡 ∈ 𝑆
repräsentiert den Zustand der
Agentenumwelt zum Zeitpunkt 𝑡.
24. Endlicher Markov-Entscheidungsprozess
Verlauf von Entscheidungen, bei dem die
Belohnung des Agenten einzig von dem
Zustand der Umwelt und der Aktion des
Agenten abhängt. Definiert als Tupel
𝑆, 𝐴, 𝑃, 𝑅, 𝛾 :
• 𝑆 = 𝑠1, 𝑠2, … , 𝑠 𝑛 : Zustandsraum, d.h. die
möglichen Zustände der Umwelt; 𝑠𝑡 ∈ 𝑆
repräsentiert den Zustand der
Agentenumwelt zum Zeitpunkt 𝑡.
• 𝐴: Menge der Entscheidungen bzw.
Zugmöglichkeiten, die dem Agenten zu
jedem Umweltzustand 𝐴(𝑠) zur Verfügung
stehen.
25. Endlicher Markov-Entscheidungsprozess
𝑆, 𝐴, 𝑃, 𝑅, 𝛾 :
• 𝑎 𝑡 ∈ 𝐴(𝑠𝑡): von dem Agenten ausgeführte Aktion zum
Zeitpunkt 𝑡.
• Übergangsfunktion 𝑃 𝑠, 𝑎, 𝑠′ : führt die Umwelt in
ihrem Zustand 𝑠 aufgrund der Handlung 𝑎 des
Agenten zu einem neuen möglichen
Nachfolgezustand 𝑠′.
• 𝑅(𝑠, 𝑎, 𝑠′
): Belohnungsfunktion, Feedback, das der
Agent aufgrund seiner Handlung erhält.
• Diskontierungsfaktor 𝛾 mit 0 ≤ 𝛾 ≤ 1 lässt sich dazu
verwenden, um das Lernverhalten des Agenten
feinzujustieren. Dient dazu, künftige Belohnungen
gegenüber zeitnahen Belohnungen abzuschwächen.
46. Mehrarmiges-Banditen-Problem: UCB1 (Auer et al. 1995)
𝑋𝑗: durchschnittliche Auszahlung des Automatenarmes 𝑗; 𝑛𝑗:
Anzahl, wie häufig der Arm 𝑗 gespielt wurde
𝑛 : Gesamtzahl der bereits gespielten Spiele.
Browne et al. 2012: Belohnungsterm 𝑋𝑗: Exploitation
2 ln(𝑛)
𝑛 𝑗
: Exploration bislang vernachlässigter Strategiewahlen.
47. Upper Confidence Bounds applied to Trees (Kocsis und Szepesvári 2006)
𝑛 𝑝 : Besuchshäufigkeit des Elternknotens 𝑝
𝑛𝑖 : Besuchsfrequenz des Kindknotens 𝑖
𝑣𝑖 : Wert des Knotens 𝑖 (durchschnittliche Gewinnhäufigkeit des
betrachteten Kindknotens
𝐶 im Intervall [0,1] dient dem Zweck, den Grad der Erkundung
(exploration) noch nicht betrachteter Strategien feinzujustieren
UCT wählt den Kindknoten 𝑘 des aktuell betrachteten Knotens 𝑝
aus, der den folgenden Ausdruck maximiert:
51. SpoookyJS
„A JavaScript Multiagent Board Game Framework
Based On Monte Carlo Methods”
http://www.spoookyjs.de
https://github.com/janwieners/SpoookyJS
Hierbei signifiziert 𝑤𝑖𝑗𝑜𝑗 die Ausgabe 𝑜𝑗 des Knotens 𝑗, die das betrachtete Neuron 𝑖 durch eine gewichtete Verbindung 𝑤𝑖𝑗 erreicht. Ist ℎ𝑖 berechnet, wird anschließend die Aktivierungsfunktion 𝑔(ℎ𝑖) ausgeführt, die das Aktivierungsmaß 𝑎𝑖 des Neurons 𝑖 kalkuliert:
Netztopologien
Ein vorwärtsgerichtetes künstliches neuronales Netz mit einer Eingabe-, einer versteckten- und einer Ausgabeschicht.
NeuroEvolution of Augmenting Topologies (NEAT)
NeuroEvolution of Augmenting Topologies (NEAT)
Andrei Andrejewitsch Markow
Als endlicher Markov-Entscheidungsprozess ist ein Verlauf von Entscheidungen signifiziert, bei dem die Belohnung des Agenten einzig von dem Zustand der Umwelt und der Aktion des Agenten abhängt und ist definiert als Tupel (𝑆, 𝐴, 𝑃, 𝑅, 𝛾). Hierbei beizeichnet Vgl. Ertel 2013, S. 291.
Andrei Andrejewitsch Markow
Als endlicher Markov-Entscheidungsprozess ist ein Verlauf von Entscheidungen signifiziert, bei dem die Belohnung des Agenten einzig von dem Zustand der Umwelt und der Aktion des Agenten abhängt und ist definiert als Tupel (𝑆, 𝐴, 𝑃, 𝑅, 𝛾). Hierbei beizeichnet Vgl. Ertel 2013, S. 291.
Andrei Andrejewitsch Markow
Als endlicher Markov-Entscheidungsprozess ist ein Verlauf von Entscheidungen signifiziert, bei dem die Belohnung des Agenten einzig von dem Zustand der Umwelt und der Aktion des Agenten abhängt und ist definiert als Tupel (𝑆, 𝐴, 𝑃, 𝑅, 𝛾). Hierbei beizeichnet Vgl. Ertel 2013, S. 291.
Verstärkendes Lernen intendiert, den Agenten aufgrund seiner Erfahrungen mit der Umwelt eine optimale Strategie 𝜋 ∗ (𝑠)→ 𝑎 ∗ |𝑠 identifizieren und lernen zu lassen. Eine Strategie – in der Literatur zumeist mit dem Begriff policy bezeichnet und häufig auch als Politik oder Taktik übersetzt – ist optimal, wenn sie die Belohnung des Agenten auf lange Sicht maximiert. Die an Verfahren des verstärkenden Lernens gestellte Herausforderung besteht darin, eine optimale Strategie 𝜋 ∗ für beliebige Agentenumgebungen zu lernen.
Das Ziel des Agenten besteht darin, möglichst schnell den Ausgang (Raum F) zu erreichen. Wüsste der Agent erfahrungsunabhängig von der Anordnung und Verknüpfung der Räume miteinander, könnte er mit der Aktionsfolge D C F das Problem optimal lösen. Der Agent weiß zu Beginn des Verfahrens jedoch nichts von seiner Umwelt und muss den Weg zum Ausgang durch Ausprobieren der verschiedenen Aktionsmöglichkeiten zuallererst lernen, um in späteren Erfahrungsepisoden von seinem gespeicherten Umweltwissen zu profitieren. Das Q-Lernverfahren, wie es im Folgenden beispielhaft vorgestellt wird, ermöglicht es dem Agenten, aus vergangenen Erfahrungen zu lernen und implementiert das verhaltenssteuernde Gedächtnis des Agenten.
Umweltzustände – d.h. im vorliegenden Falle der Raum, in dem sich der Agent befindet – und Aktionen, die Zustandstransformationen bewirken, lassen sich darstellen in einer Matrix, die über die ganzzahligen Belohnungen (positive Werte) und Bestrafungen (negative Werte) informiert, die der Agent bei jeder seiner Aktionen von der Umwelt erhält.
Wie am Rande der Belohnungsmatrix angemerkt, verzeichnet die Matrix das Umweltfeedback, das der Agent erhält, wenn er sich durch seine ausgeführte Handlung von einem Umweltzustand (im vorliegenden Beispiel ein Raum) in einen anderen Zustand seiner Umwelt bewegt. Querstriche in der Matrix signifizieren hierbei, dass keine Zustandsübergänge möglich sind – so ist es im obigen Beispiel nicht möglich, auf direktem Wege von Raum B nach Raum D, wohl aber nach Raum A zu gelangen.
Zu Beginn des Verfahrens verzeichnet das Gedächtnis des Agenten keine verarbeiteten Erfahrungen – die Q-Wertetabelle des Agenten ist folglich leer bzw. alle Q-Werte werden mit Zufallswerten belegt oder mit Null initialisiert, wie mit der folgenden Q-Wertematrix veranschaulicht
Im ersten Schritt des Algorithmus‘ wird ein zufälliger Initialzustand ausgewählt, der Agent im vorliegenden Beispiel somit in Raum C platziert. Ausgehend von Raum C bieten sich dem Agenten zwei Aktionsmöglichkeiten: Entweder er wechselt in den Raum D oder er erreicht den Zielzustand F. Das unmittelbare Umweltfeedback beträgt im einen Falle 0, im anderen Falle 100, wie in der folgenden Matrix veranschaulicht
Sei die Lernrate 𝛼=1 und der Diskontierungsfaktor 𝛾=0.5 und sei jede Aktionswahl des Agenten in den folgenden Erfahrungsepisoden vollständig dem Zufall anheimgestellt, wählt der Agent zufallsbasiert den Zielzustand F als seinen nächsten Schritt. Im Zielzustand F angelangt, bietet sich dem Agenten die Möglichkeit, zu Raum C zurückzukehren oder im Zielraum F zu bleiben. Basierend auf dem Umweltfeedback aktualisiert der Agent den Q-Wert der von Raum C nach Raum F führenden Aktion basierend auf der Q-Lernregel
Lernegel
Diskontierungsfaktor
Im ersten Schritt des Algorithmus‘ wird ein zufälliger Initialzustand ausgewählt, der Agent im vorliegenden Beispiel somit in Raum C platziert. Ausgehend von Raum C bieten sich dem Agenten zwei Aktionsmöglichkeiten: Entweder er wechselt in den Raum D oder er erreicht den Zielzustand F. Das unmittelbare Umweltfeedback beträgt im einen Falle 0, im anderen Falle 100, wie in der folgenden Matrix veranschaulicht
Sei die Lernrate 𝛼=1 und der Diskontierungsfaktor 𝛾=0.5 und sei jede Aktionswahl des Agenten in den folgenden Erfahrungsepisoden vollständig dem Zufall anheimgestellt, wählt der Agent zufallsbasiert den Zielzustand F als seinen nächsten Schritt. Im Zielzustand F angelangt, bietet sich dem Agenten die Möglichkeit, zu Raum C zurückzukehren oder im Zielraum F zu bleiben. Basierend auf dem Umweltfeedback aktualisiert der Agent den Q-Wert der von Raum C nach Raum F führenden Aktion basierend auf der Q-Lernregel
In der neuen Episode startet der Agent in Raum A und entscheidet sich zwischen den beiden Räumen B und D. Die Aktionswahl fällt auf Raum D, so dass sich der Agent in den Raum bewegt und anschließend den entsprechenden Q-Wert bestimmt: 𝑄 𝐴,𝐷 =𝑅 𝐴,𝐷 +0.5×𝑀𝑎𝑥 𝑄 𝐷,𝐴 ,𝑄 𝐷,𝐶 , 𝑄 𝐷,𝐸 =0+0.5×0=0. Anschließend entscheidet sich der Agent dafür, in den benachbarten Raum C zu wechseln. Der Q-Wert für den Zustandsübergang bestimmt sich nun als 𝑄 𝐷,𝐶 =𝑅 𝐷,𝐶 +0.5×𝑀𝑎𝑥 𝑄 𝐶,𝐹 ,𝑄 𝐶,𝐷 =0+0.5×100=50 und die Q-Wertematrix des Agenten findet sich wie folgend dargestellt ergänzt: