SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Reinforcement Learning
Deutsch:VerstärkendesLernen
by Datamics, 2018
Reinforcement Learning
• Jetzt ist es an der Zeit, etwas über Reinforcement Learning zu lernen.
• Des weiteren werden wir besprechen, wie man OpenAI‘s Gym Library
benutzt.
Reinforcement Learning
by Datamics, 2018
Reinforcement Learning
OpenAI
• OpenAI ist ein gemeinnütziges KI-Forschungsunternehmen, das den Weg
zur sicheren künstlichen allgemeinen Intelligenz entdeckt und
beschreitet.
• Unterstützt von YCombinator, Elon Musk…
Reinforcement Learning
Reinforcement Learning
Übersicht
by Datamics, 2018
Was ist Reinforcement Learning?
• Reinforcement Learning ermöglicht es Maschinen und Software,
automatisch das ideale Verhalten in einem bestimmten Kontext zu
bestimmen, um seine Leistung zu maximieren.
Reinforcement Learning
by Datamics, 2018
Was ist Reinforcement Learning?
• Einfaches Belohnungsfeedback ist erforderlich, damit der Agent sein
Verhalten lernt, dies wird als Verstärkungssignal bezeichnet.
Reinforcement Learning
by Datamics, 2018
Was ist Reinforcement Learning?
• Es gibt viele verschiedene Arten von Algorithmen, die unter
Reinforcement Learning fallen.
• Nicht alle benötigen ein Framework wie TensorFlow.
Reinforcement Learning
by Datamics, 2018
Was ist Reinforcement Learning?
• Agent
• Umwelt
• Aktion
• Belohnung
Reinforcement Learning
by Datamics, 2018
Reinforcement Learning
Reinforcement Learning
Agent
Umwelt
Beobachtungen
Belohnung
Aktion
by Datamics, 2018
Agent
• Unser Programm oder Bot
• Empfang von Eingaben aus der Umgebung möglich
• Führt Aktionen aus
Reinforcement Learning
by Datamics, 2018
Umwelt
• Die tatsächliche Einstellung, mit der der Agent interagiert.
• Oft ein Spiel in Beispielen, aber es kann jede reale Welt oder künstliche
Umgebung sein.
Reinforcement Learning
by Datamics, 2018
Umwelt
• Denke daran, dass du in der Lage sein musst, diese Umgebung in einer
Weise darzustellen, die ein Agent verstehen kann (wahrscheinlich muss
es am Ende ein Array sein).
Reinforcement Learning
by Datamics, 2018
Umwelt
• Früher war es sehr schwierig, Umgebungen zu schaffen, die einfach zu
benutzen und zu teilen waren.
• Später werden wir herausfinden, wie die OpenAI Gym Library dies löst!
Reinforcement Learning
by Datamics, 2018
Aktion
• Die tatsächliche Interaktion deines Agenten mit der Umgebung.
• Sich in einer Umgebung bewegen, den nächsten Zug in einem Spiel
wählen, etc....
Reinforcement Learning
by Datamics, 2018
Belohnung
• Die Metrik, die es deinem Agenten ermöglicht, zu verstehen, ob die
bisherigen Aktionen in seinem Gesamtziel geholfen haben oder nicht.
Reinforcement Learning
by Datamics, 2018
Reinforcement Learning
• Diese vier Aspekte sind grundlegend für das Reinforcement Learning.
• Das OpenAI Gym arbeitet mit Variablen, die in dieses Framework
passen, das erlaubt es uns auf den Modellbau zu konzentrieren.
Reinforcement Learning
by Datamics, 2018
Reinforcement Learning
• Denke daran, dass Reinforcement Learning nicht nur für Spiele ist.
• Spiele sind nur ein einfacher Weg, um alle wichtigen Aspekte des
Verstärkungslernens deutlich zu machen.
Reinforcement Learning
OpenAI Gym
by Datamics, 2018
OpenAI
•OpenAI ist ein gemeinnütziges KI-
Forschungsunternehmen, das den Weg zur
sicheren künstlichen allgemeinen Intelligenz
entdeckt und beschreitet.
Open AI
by Datamics, 2018
OpenAI Gym
•Toolkit, das bei der Entwicklung und dem Vergleich
von Verstärkungs-Lernalgorithmen hilft.
Open AI
by Datamics, 2018
OpenAI Gym Library
•Python-Bibliothek mit einer Sammlung von
Umgebungen, die du mit ihren Verstärkungs-
Lernalgorithmen verwenden kannst.
Open AI
by Datamics, 2018
OpenAI Gym Service
•Eine Website und eine API, auf der Du die Leistung
von Algorithmen vergleichen können.
Open AI
by Datamics, 2018
OpenAI
•Schauen wir uns die offizielle Dokumentation an,
bevor wir in die Arbeit mit OpenAI Gym mit
Python eintauchen!
•gym.openai.com
Open AI
OpenAI Gym
Arbeiten mit der Umwelt
by Datamics, 2018
OpenAI
• OpenAI ist ein gemeinnütziges KI-Forschungsunternehmen, dass den
Weg zur sicheren künstlichen allgemeinen Intelligenz entdeckt und
beschreitet.
Open AI
by Datamics, 2018
OpenAI
Die Step-Funktion der Umgebung gibt genau das zurück, was wir brauchen. Tatsächlich gibt Step vier Werte
zurück. Diese sind es:
● Beobachtung (Objekt): ein umgebungsspezifisches Objekt, das Ihre Umweltbeobachtung repräsentiert. Zum
Beispiel Pixeldaten von einer Kamera, Gelenkwinkel und Gelenkgeschwindigkeiten eines Roboters oder der
Brettzustand in einem Brettspiel.
● reward (float): Betrag der Belohnung, die durch die vorherige Aktion erreicht wurde. Die Skala variiert
zwischen den Umgebungen, aber das Ziel ist immer, die Gesamtvergütung zu erhöhen.
● done (boolean): ob es Zeit ist, die Umgebung wieder zurückzusetzen. Die meisten (aber nicht alle) Aufgaben
sind in wohldefinierte Episoden aufgeteilt, und wenn Sie True sind, bedeutet das, dass die Episode beendet ist.
(Zum Beispiel, vielleicht ist die Stange zu weit gekippt, oder Sie haben Ihr letztes Leben verloren.)
● info (dict): Diagnoseinformationen, die für das Debugging nützlich sind. Es kann manchmal für das Lernen
nützlich sein (z.B. kann es die rohen Wahrscheinlichkeiten hinter der letzten Zustandsänderung der Umgebung
enthalten). Offizielle Bewertungen Ihres Agenten dürfen diese jedoch nicht zum Lernen verwenden.
Open AI
OpenAI Gym Setup
by Datamics, 2018
OpenAI
•Lass uns die Best Practices bei der Verwendung
von OpenAI mit Python anschauen.
Open AI
by Datamics, 2018
OpenAI
Empfohlene Umgebung
• Ein Texteditor (Sublime, Atom)
• IDE - PyCharm
• .py-Skripte im Editor codieren
• Code auf der Kommandozeile ausführen.
• Viele mögliche Plugins für Python!
Open AI
by Datamics, 2018
OpenAI
•OpenAI funktioniert technisch in Jupyter
Notebook, aber das Ausführen mehrerer
Renderings kann manchmal zum Einfrieren führen.
Open AI
by Datamics, 2018
OpenAI
•Lass uns schnell überprüfen, ob OpenAI Gym
installiert ist und wie man ein .py-Skript ausführt.
•Hinweis: Du kannst jede beliebige IDE-
Konfiguration verwenden die du bevorzugst.
Open AI
by Datamics, 2018
OpenAI
•Wir werden Atom für diese Vortragsreihe
verwenden, denke daran, dass du viele
Möglichkeiten hast, auch wenn du bei Jupyter
Notebooks bleibst.
•Gehe zu: atom.io
Open AI
Gym-Umgebungen
by Datamics, 2018
Gym-Umgebungen
• Lassen uns erforschen, wie man eine Beispielumgebung mit
OpenAI Gym erstellt.
Open AI
by Datamics, 2018
Gym-Umgebungen
• Ziel der CartPole-Umgebung ist es, die Stange auf dem Wagen
auszugleichen.
Open AI
by Datamics, 2018
Gym-Umgebungen
• Aktionen erlauben es uns, den Wagen nach links und rechts zu
bewegen, um zu versuchen, die Stange auszugleichen.
Open AI
0:Links 1:Rechts
by Datamics, 2018
Gym-Umgebungen
• Die Umgebung ist ein numpy Array mit 4 Fließkommazahlen
(Floats).
Open AI
by Datamics, 2018
OpenAI
[Horizontale Position, Horizontale Geschwindigkeit, Polwinkel,
Winkelgeschwindigkeit]
Open AI
Polwinkel
Winkelgeschwindigkeit Horizontale
Geschwindigkeit
0
by Datamics, 2018
OpenAI
• Du kannst nun diese Werte aus der Umgebung übernehmen
und für deinen Agenten verwenden.
Open AI
Polwinkel
Winkelgeschwindigkeit Horizontale
Geschwindigkeit
0
by Datamics, 2018
OpenAI
• Lass uns die Umgebung erstellen
Open AI
Gym Observationen
by Datamics, 2018
OpenAI
• Die environment step() Funktion, die wir zuvor gesehen haben,
gibt nützliche Objekte für unseren Agenten zurück:
• Observationen (Observation)
• Belohnung (Reward)
• Abgeschlossen (Done)
• Informationen (Info)
Gym Observationen
by Datamics, 2018
Observationen
• Umweltspezifische Informationen, die Umweltbeobachtungen
darstellen
• Beispiele:
• Winkel, Geschwindigkeiten, Spielstände, etc....
Gym Observationen
by Datamics, 2018
Belohnung
• Höhe der Belohnung, die durch die vorangegangene Aktion
erreicht wurde
• Skala variiert je nach Umgebung, aber der Agent sollte immer
das Belohnungsniveau erhöhen wollen.
Gym Observationen
by Datamics, 2018
Done
• Boolean gibt an, ob die Umgebung zurückgesetzt werden muss.
• Beispiel:
• Spiel ist verloren, die Pol ist umgekippt, etc....
Gym Observationen
by Datamics, 2018
Informationen
• Dictionary-Objekt mit Diagnoseinformationen, das
normalerweise zum Debuggen verwendet wird.
Gym Observationen
by Datamics, 2018
Gym Observationen
• Lass uns ausprobieren, wie das in der Praxis aussieht!
Gym Observationen
Gym-Aktionen
by Datamics, 2018
OpenAI
• Lass uns eine sehr einfache Policy (Richtlinie) erstellen. Bewege
den Wagen nach rechts, wenn die Stange nach rechts fällt und
umgekehrt.
Gym Aktionen
Einfaches Neuronales Netzwerk
by Datamics, 2018
Einfaches Neuronales Netzwerk
• Lass uns ein einfaches neuronales Netzwerk entwerfen, dass
das den Beobachtungsarray durch eine versteckte Schicht führt
und 2 Wahrscheinlichkeiten ausgibt, eine für links und eine für
rechts.
Einfaches Neuronales Netzwerk
by Datamics, 2018
Einfaches Neuronales Netzwerk
• Wir wählen dann eine zufällige Aktion, gewichtet mit den
Wahrscheinlichkeiten.
• Lass uns dieses Netzwerk schematisieren.
Einfaches Neuronales Netzwerk
by Datamics, 2018
Einfaches Neuronales Netzwerk
Einfaches Neuronales Netzwerk
Multinomiales
Sampling nach
Wahrscheinlichkeits-
gewichten
Aktion (0or 1)
Wahrschein-
lichkeiten
by Datamics, 2018
Einfaches Neuronales Netzwerk
• Beachte, dass wir nicht automatisch die höchste
Wahrscheinlichkeit für unsere Entscheidung wählen.
• Dies ist eine Balance zwischen dem Ausprobieren neuer
Aktionen und der ständigen Auswahl bekannter Aktionen.
Einfaches Neuronales Netzwerk
by Datamics, 2018
Einfaches Neuronales Netzwerk
• Sobald wir dieses Netzwerk verstanden haben, werden wir
untersuchen, wie wir historische Aktionen berücksichtigen
können, indem wir mehr über Policy Gradients erfahren.
Einfaches Neuronales Netzwerk
Einfaches Neuronales Netzwerk
Teil2
Policy Gradients
by Datamics, 2018
Policy Gradients
• Unser Netzwerk zuvor hat sich nicht sehr gut entwickelt.
• Das mag daran liegen, dass wir uns nicht mit der Geschichte
unseres Handelns beschäftigen, sondern nur mit einer einzigen
früheren Aktion.
Policy Gradients
by Datamics, 2018
Policy Gradients
• Dies wird oft als Problem der Zuordnung von Kredit
(assignment of credit) bezeichnet.
• Welche Aktionen sollten gutgeschrieben werden, wenn der
Agent zum Zeitpunkt t belohnt wird, nur Aktionen a t-1, oder
die Reihe der historischen Aktionen?
Policy Gradients
by Datamics, 2018
Discount
• Wir lösen dieses Problem, indem wir einen Discountsatz
(discount rate) anwenden.
• Wir bewerten eine Aktion auf der Grundlage aller
Belohnungen, die nach der Aktion kommen, nicht nur die erste
sofortige Belohnung.
Policy Gradients
by Datamics, 2018
Discount
• Wir wählen einen Discountsatz, typischerweise um 0,95-0,99.
• Dann verwenden wir dies, um die Aktion mit einer Formel zu
bewerten:
• R ist Belohnung, D ist Discountsatz
• Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn
Policy Gradients
by Datamics, 2018
Discount
• Je näher D bei 1 liegt, desto mehr Gewicht haben zukünftige
Belohnungen. Näher an 0, zukünftige Belohnungen zählen
nicht so viel wie unmittelbare Belohnungen.
• Score:
• R ist Belohnung, D ist Discountsatz
• Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn
Policy Gradients
by Datamics, 2018
Discount
• Die Wahl des Diskontierungssatzes hängt oft vom spezifischen
Umfeld und davon ab, ob Maßnahmen kurz- oder langfristige
Auswirkungen haben.
• Score:
• R ist Belohnung, D ist Discountsatz
• Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn
Policy Gradients
by Datamics, 2018
Discount
• Lass uns diese Formel schnell grafisch darstellen.
• Score:
• R ist Belohnung, D ist Discountsatz
• Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn
Policy Gradients
by Datamics, 2018
Discount Beispiel
Policy Gradients
Aktionen
Belohnung
Rechts 1
+10
Links 0
+10
Rechts 1
-100
Pol fälltPol geht
hoch
Pol Geht
hoch
by Datamics, 2018
Discount Beispiel
Policy Gradients
Aktionen
Belohnung
Rechts 1
+10
Links 0
+10
Rechts 1
-100
Pol fälltPol geht
hoch
Pol Geht
hoch
by Datamics, 2018
Discount Beispiel
Policy Gradients
Aktionen
Belohnung
Rechts 1
+10
Links 0
+10
Rechts 1
-100
Pol fälltPol geht
hoch
Pol Geht
hoch
Summe der Discount
Belohnungen
-70.75 = 10 + (0.95)*10 + (0.95)2(-100)
by Datamics, 2018
Discount Beispiel
• Wegen dieses verzögerten Effekts können gute Aktionen
manchmal schlechte Ergebnisse erhalten, die auf schlechte
Aktionen zurückzuführen sind, die nicht mit ihrer
ursprünglichen Aktion zusammenhängen.
• Um dem entgegenzuwirken, trainieren wir über viele Episoden.
Policy Gradients
by Datamics, 2018
Normalisierung
• Wir müssen dann auch die Aktionswerte normalisieren, indem
wir den Mittelwert subtrahieren und durch die
Standardabweichung dividieren.
• Diese zusätzlichen Schritte können die Zeit für das Training in
komplexen Umgebungen erheblich verlängern.
Policy Gradients
by Datamics, 2018
Implementierung
• Die Implementierung dieser Gradientenrichtlinien mit Python
und TensorFlow kann komplex sein, also gehen wir kurz die
Schritte durch, die wir durchführen werden!
Policy Gradients
by Datamics, 2018
Implementierung
• Neurale Netzwerke spielen mehrere Episoden durch
• Der Optimierer berechnet die Gradienten (statt Minimieren)
• Berechne die diskontierte und normalisierte Punktzahl jeder
Aktion
Policy Gradients
by Datamics, 2018
Implementierung
• Multipliziere dann den Gradientenvektor mit dem Ergebnis der
Aktion.
• Negative Werte erzeugen entgegengesetzte Steigungen, wenn
sie multipliziert werden.
• Berechne den Mittelwert des resultierenden Gradientenvektors
für Gradient Descent.
Policy Gradients
by Datamics, 2018
Implementierung
• Aufgrund der Komplexität der manuellen Implementierung von
Policy Gradient Techniken mit TensorFlow empfehle ich dir, die
zusätzlichen Ressourcen für zusätzliche Beispiele und
Erklärungen anzusehen.
• Fangen wir an!
Policy Gradients
Policy Gradients
Implementierung Teil 1
Policy Gradients
Implementierung Teil 2
by Datamics, 2018
Verwende den Gutschein „SLIDESHARE2018“ auf Udemy oder die Shortlinks
und erhalte unsere Kurse für nur 10,99€ (95% Rabatt).
Deep Learning Grundlagen mit TensorFlow und Python https://goo.gl/FqNoAe
Python für Data Science und Machine Learning: https://goo.gl/cE7TQ3
Original Python Bootcamp - Von 0 auf 100: https://goo.gl/gjn7pX
R für Data Science und Machine Learning: https://goo.gl/8h5tH7
Exklusive Gutscheine
Udemy-Kurse
by Datamics, 2018https://www.udemy.com/user/rene-brunner/

Weitere ähnliche Inhalte

Mehr von Datamics

Mehr von Datamics (10)

Die Data Science Toolbox
Die Data Science ToolboxDie Data Science Toolbox
Die Data Science Toolbox
 
Die Data Science Softskills
Die Data Science SoftskillsDie Data Science Softskills
Die Data Science Softskills
 
Slideshare Recurrent Neural Networks (RNN)
Slideshare Recurrent Neural Networks (RNN)Slideshare Recurrent Neural Networks (RNN)
Slideshare Recurrent Neural Networks (RNN)
 
Principal Component Analysis mit Python
Principal Component Analysis mit PythonPrincipal Component Analysis mit Python
Principal Component Analysis mit Python
 
K Means mit Python
K Means mit PythonK Means mit Python
K Means mit Python
 
Decision Trees und Random Forest mit Python
Decision Trees und Random Forest mit PythonDecision Trees und Random Forest mit Python
Decision Trees und Random Forest mit Python
 
K Nearest Neighbors mit Python
K Nearest Neighbors mit PythonK Nearest Neighbors mit Python
K Nearest Neighbors mit Python
 
Logistische Regression mit Python
Logistische Regression mit PythonLogistische Regression mit Python
Logistische Regression mit Python
 
Verzerrung Varianz Dilemma
Verzerrung Varianz DilemmaVerzerrung Varianz Dilemma
Verzerrung Varianz Dilemma
 
Lineare Regression mit Python
Lineare Regression mit PythonLineare Regression mit Python
Lineare Regression mit Python
 

Kürzlich hochgeladen (7)

Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!
 
1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 
1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf
 
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdfLAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
 
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 

Slideshare reinforcement learning

  • 2. by Datamics, 2018 Reinforcement Learning • Jetzt ist es an der Zeit, etwas über Reinforcement Learning zu lernen. • Des weiteren werden wir besprechen, wie man OpenAI‘s Gym Library benutzt. Reinforcement Learning
  • 3. by Datamics, 2018 Reinforcement Learning OpenAI • OpenAI ist ein gemeinnütziges KI-Forschungsunternehmen, das den Weg zur sicheren künstlichen allgemeinen Intelligenz entdeckt und beschreitet. • Unterstützt von YCombinator, Elon Musk… Reinforcement Learning
  • 5. by Datamics, 2018 Was ist Reinforcement Learning? • Reinforcement Learning ermöglicht es Maschinen und Software, automatisch das ideale Verhalten in einem bestimmten Kontext zu bestimmen, um seine Leistung zu maximieren. Reinforcement Learning
  • 6. by Datamics, 2018 Was ist Reinforcement Learning? • Einfaches Belohnungsfeedback ist erforderlich, damit der Agent sein Verhalten lernt, dies wird als Verstärkungssignal bezeichnet. Reinforcement Learning
  • 7. by Datamics, 2018 Was ist Reinforcement Learning? • Es gibt viele verschiedene Arten von Algorithmen, die unter Reinforcement Learning fallen. • Nicht alle benötigen ein Framework wie TensorFlow. Reinforcement Learning
  • 8. by Datamics, 2018 Was ist Reinforcement Learning? • Agent • Umwelt • Aktion • Belohnung Reinforcement Learning
  • 9. by Datamics, 2018 Reinforcement Learning Reinforcement Learning Agent Umwelt Beobachtungen Belohnung Aktion
  • 10. by Datamics, 2018 Agent • Unser Programm oder Bot • Empfang von Eingaben aus der Umgebung möglich • Führt Aktionen aus Reinforcement Learning
  • 11. by Datamics, 2018 Umwelt • Die tatsächliche Einstellung, mit der der Agent interagiert. • Oft ein Spiel in Beispielen, aber es kann jede reale Welt oder künstliche Umgebung sein. Reinforcement Learning
  • 12. by Datamics, 2018 Umwelt • Denke daran, dass du in der Lage sein musst, diese Umgebung in einer Weise darzustellen, die ein Agent verstehen kann (wahrscheinlich muss es am Ende ein Array sein). Reinforcement Learning
  • 13. by Datamics, 2018 Umwelt • Früher war es sehr schwierig, Umgebungen zu schaffen, die einfach zu benutzen und zu teilen waren. • Später werden wir herausfinden, wie die OpenAI Gym Library dies löst! Reinforcement Learning
  • 14. by Datamics, 2018 Aktion • Die tatsächliche Interaktion deines Agenten mit der Umgebung. • Sich in einer Umgebung bewegen, den nächsten Zug in einem Spiel wählen, etc.... Reinforcement Learning
  • 15. by Datamics, 2018 Belohnung • Die Metrik, die es deinem Agenten ermöglicht, zu verstehen, ob die bisherigen Aktionen in seinem Gesamtziel geholfen haben oder nicht. Reinforcement Learning
  • 16. by Datamics, 2018 Reinforcement Learning • Diese vier Aspekte sind grundlegend für das Reinforcement Learning. • Das OpenAI Gym arbeitet mit Variablen, die in dieses Framework passen, das erlaubt es uns auf den Modellbau zu konzentrieren. Reinforcement Learning
  • 17. by Datamics, 2018 Reinforcement Learning • Denke daran, dass Reinforcement Learning nicht nur für Spiele ist. • Spiele sind nur ein einfacher Weg, um alle wichtigen Aspekte des Verstärkungslernens deutlich zu machen. Reinforcement Learning
  • 19. by Datamics, 2018 OpenAI •OpenAI ist ein gemeinnütziges KI- Forschungsunternehmen, das den Weg zur sicheren künstlichen allgemeinen Intelligenz entdeckt und beschreitet. Open AI
  • 20. by Datamics, 2018 OpenAI Gym •Toolkit, das bei der Entwicklung und dem Vergleich von Verstärkungs-Lernalgorithmen hilft. Open AI
  • 21. by Datamics, 2018 OpenAI Gym Library •Python-Bibliothek mit einer Sammlung von Umgebungen, die du mit ihren Verstärkungs- Lernalgorithmen verwenden kannst. Open AI
  • 22. by Datamics, 2018 OpenAI Gym Service •Eine Website und eine API, auf der Du die Leistung von Algorithmen vergleichen können. Open AI
  • 23. by Datamics, 2018 OpenAI •Schauen wir uns die offizielle Dokumentation an, bevor wir in die Arbeit mit OpenAI Gym mit Python eintauchen! •gym.openai.com Open AI
  • 25. by Datamics, 2018 OpenAI • OpenAI ist ein gemeinnütziges KI-Forschungsunternehmen, dass den Weg zur sicheren künstlichen allgemeinen Intelligenz entdeckt und beschreitet. Open AI
  • 26. by Datamics, 2018 OpenAI Die Step-Funktion der Umgebung gibt genau das zurück, was wir brauchen. Tatsächlich gibt Step vier Werte zurück. Diese sind es: ● Beobachtung (Objekt): ein umgebungsspezifisches Objekt, das Ihre Umweltbeobachtung repräsentiert. Zum Beispiel Pixeldaten von einer Kamera, Gelenkwinkel und Gelenkgeschwindigkeiten eines Roboters oder der Brettzustand in einem Brettspiel. ● reward (float): Betrag der Belohnung, die durch die vorherige Aktion erreicht wurde. Die Skala variiert zwischen den Umgebungen, aber das Ziel ist immer, die Gesamtvergütung zu erhöhen. ● done (boolean): ob es Zeit ist, die Umgebung wieder zurückzusetzen. Die meisten (aber nicht alle) Aufgaben sind in wohldefinierte Episoden aufgeteilt, und wenn Sie True sind, bedeutet das, dass die Episode beendet ist. (Zum Beispiel, vielleicht ist die Stange zu weit gekippt, oder Sie haben Ihr letztes Leben verloren.) ● info (dict): Diagnoseinformationen, die für das Debugging nützlich sind. Es kann manchmal für das Lernen nützlich sein (z.B. kann es die rohen Wahrscheinlichkeiten hinter der letzten Zustandsänderung der Umgebung enthalten). Offizielle Bewertungen Ihres Agenten dürfen diese jedoch nicht zum Lernen verwenden. Open AI
  • 28. by Datamics, 2018 OpenAI •Lass uns die Best Practices bei der Verwendung von OpenAI mit Python anschauen. Open AI
  • 29. by Datamics, 2018 OpenAI Empfohlene Umgebung • Ein Texteditor (Sublime, Atom) • IDE - PyCharm • .py-Skripte im Editor codieren • Code auf der Kommandozeile ausführen. • Viele mögliche Plugins für Python! Open AI
  • 30. by Datamics, 2018 OpenAI •OpenAI funktioniert technisch in Jupyter Notebook, aber das Ausführen mehrerer Renderings kann manchmal zum Einfrieren führen. Open AI
  • 31. by Datamics, 2018 OpenAI •Lass uns schnell überprüfen, ob OpenAI Gym installiert ist und wie man ein .py-Skript ausführt. •Hinweis: Du kannst jede beliebige IDE- Konfiguration verwenden die du bevorzugst. Open AI
  • 32. by Datamics, 2018 OpenAI •Wir werden Atom für diese Vortragsreihe verwenden, denke daran, dass du viele Möglichkeiten hast, auch wenn du bei Jupyter Notebooks bleibst. •Gehe zu: atom.io Open AI
  • 34. by Datamics, 2018 Gym-Umgebungen • Lassen uns erforschen, wie man eine Beispielumgebung mit OpenAI Gym erstellt. Open AI
  • 35. by Datamics, 2018 Gym-Umgebungen • Ziel der CartPole-Umgebung ist es, die Stange auf dem Wagen auszugleichen. Open AI
  • 36. by Datamics, 2018 Gym-Umgebungen • Aktionen erlauben es uns, den Wagen nach links und rechts zu bewegen, um zu versuchen, die Stange auszugleichen. Open AI 0:Links 1:Rechts
  • 37. by Datamics, 2018 Gym-Umgebungen • Die Umgebung ist ein numpy Array mit 4 Fließkommazahlen (Floats). Open AI
  • 38. by Datamics, 2018 OpenAI [Horizontale Position, Horizontale Geschwindigkeit, Polwinkel, Winkelgeschwindigkeit] Open AI Polwinkel Winkelgeschwindigkeit Horizontale Geschwindigkeit 0
  • 39. by Datamics, 2018 OpenAI • Du kannst nun diese Werte aus der Umgebung übernehmen und für deinen Agenten verwenden. Open AI Polwinkel Winkelgeschwindigkeit Horizontale Geschwindigkeit 0
  • 40. by Datamics, 2018 OpenAI • Lass uns die Umgebung erstellen Open AI
  • 42. by Datamics, 2018 OpenAI • Die environment step() Funktion, die wir zuvor gesehen haben, gibt nützliche Objekte für unseren Agenten zurück: • Observationen (Observation) • Belohnung (Reward) • Abgeschlossen (Done) • Informationen (Info) Gym Observationen
  • 43. by Datamics, 2018 Observationen • Umweltspezifische Informationen, die Umweltbeobachtungen darstellen • Beispiele: • Winkel, Geschwindigkeiten, Spielstände, etc.... Gym Observationen
  • 44. by Datamics, 2018 Belohnung • Höhe der Belohnung, die durch die vorangegangene Aktion erreicht wurde • Skala variiert je nach Umgebung, aber der Agent sollte immer das Belohnungsniveau erhöhen wollen. Gym Observationen
  • 45. by Datamics, 2018 Done • Boolean gibt an, ob die Umgebung zurückgesetzt werden muss. • Beispiel: • Spiel ist verloren, die Pol ist umgekippt, etc.... Gym Observationen
  • 46. by Datamics, 2018 Informationen • Dictionary-Objekt mit Diagnoseinformationen, das normalerweise zum Debuggen verwendet wird. Gym Observationen
  • 47. by Datamics, 2018 Gym Observationen • Lass uns ausprobieren, wie das in der Praxis aussieht! Gym Observationen
  • 49. by Datamics, 2018 OpenAI • Lass uns eine sehr einfache Policy (Richtlinie) erstellen. Bewege den Wagen nach rechts, wenn die Stange nach rechts fällt und umgekehrt. Gym Aktionen
  • 51. by Datamics, 2018 Einfaches Neuronales Netzwerk • Lass uns ein einfaches neuronales Netzwerk entwerfen, dass das den Beobachtungsarray durch eine versteckte Schicht führt und 2 Wahrscheinlichkeiten ausgibt, eine für links und eine für rechts. Einfaches Neuronales Netzwerk
  • 52. by Datamics, 2018 Einfaches Neuronales Netzwerk • Wir wählen dann eine zufällige Aktion, gewichtet mit den Wahrscheinlichkeiten. • Lass uns dieses Netzwerk schematisieren. Einfaches Neuronales Netzwerk
  • 53. by Datamics, 2018 Einfaches Neuronales Netzwerk Einfaches Neuronales Netzwerk Multinomiales Sampling nach Wahrscheinlichkeits- gewichten Aktion (0or 1) Wahrschein- lichkeiten
  • 54. by Datamics, 2018 Einfaches Neuronales Netzwerk • Beachte, dass wir nicht automatisch die höchste Wahrscheinlichkeit für unsere Entscheidung wählen. • Dies ist eine Balance zwischen dem Ausprobieren neuer Aktionen und der ständigen Auswahl bekannter Aktionen. Einfaches Neuronales Netzwerk
  • 55. by Datamics, 2018 Einfaches Neuronales Netzwerk • Sobald wir dieses Netzwerk verstanden haben, werden wir untersuchen, wie wir historische Aktionen berücksichtigen können, indem wir mehr über Policy Gradients erfahren. Einfaches Neuronales Netzwerk
  • 58. by Datamics, 2018 Policy Gradients • Unser Netzwerk zuvor hat sich nicht sehr gut entwickelt. • Das mag daran liegen, dass wir uns nicht mit der Geschichte unseres Handelns beschäftigen, sondern nur mit einer einzigen früheren Aktion. Policy Gradients
  • 59. by Datamics, 2018 Policy Gradients • Dies wird oft als Problem der Zuordnung von Kredit (assignment of credit) bezeichnet. • Welche Aktionen sollten gutgeschrieben werden, wenn der Agent zum Zeitpunkt t belohnt wird, nur Aktionen a t-1, oder die Reihe der historischen Aktionen? Policy Gradients
  • 60. by Datamics, 2018 Discount • Wir lösen dieses Problem, indem wir einen Discountsatz (discount rate) anwenden. • Wir bewerten eine Aktion auf der Grundlage aller Belohnungen, die nach der Aktion kommen, nicht nur die erste sofortige Belohnung. Policy Gradients
  • 61. by Datamics, 2018 Discount • Wir wählen einen Discountsatz, typischerweise um 0,95-0,99. • Dann verwenden wir dies, um die Aktion mit einer Formel zu bewerten: • R ist Belohnung, D ist Discountsatz • Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn Policy Gradients
  • 62. by Datamics, 2018 Discount • Je näher D bei 1 liegt, desto mehr Gewicht haben zukünftige Belohnungen. Näher an 0, zukünftige Belohnungen zählen nicht so viel wie unmittelbare Belohnungen. • Score: • R ist Belohnung, D ist Discountsatz • Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn Policy Gradients
  • 63. by Datamics, 2018 Discount • Die Wahl des Diskontierungssatzes hängt oft vom spezifischen Umfeld und davon ab, ob Maßnahmen kurz- oder langfristige Auswirkungen haben. • Score: • R ist Belohnung, D ist Discountsatz • Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn Policy Gradients
  • 64. by Datamics, 2018 Discount • Lass uns diese Formel schnell grafisch darstellen. • Score: • R ist Belohnung, D ist Discountsatz • Rt=0+ Rt=1D +Rt=2D2 +Rt=3D3 +…..+Rt=nDn Policy Gradients
  • 65. by Datamics, 2018 Discount Beispiel Policy Gradients Aktionen Belohnung Rechts 1 +10 Links 0 +10 Rechts 1 -100 Pol fälltPol geht hoch Pol Geht hoch
  • 66. by Datamics, 2018 Discount Beispiel Policy Gradients Aktionen Belohnung Rechts 1 +10 Links 0 +10 Rechts 1 -100 Pol fälltPol geht hoch Pol Geht hoch
  • 67. by Datamics, 2018 Discount Beispiel Policy Gradients Aktionen Belohnung Rechts 1 +10 Links 0 +10 Rechts 1 -100 Pol fälltPol geht hoch Pol Geht hoch Summe der Discount Belohnungen -70.75 = 10 + (0.95)*10 + (0.95)2(-100)
  • 68. by Datamics, 2018 Discount Beispiel • Wegen dieses verzögerten Effekts können gute Aktionen manchmal schlechte Ergebnisse erhalten, die auf schlechte Aktionen zurückzuführen sind, die nicht mit ihrer ursprünglichen Aktion zusammenhängen. • Um dem entgegenzuwirken, trainieren wir über viele Episoden. Policy Gradients
  • 69. by Datamics, 2018 Normalisierung • Wir müssen dann auch die Aktionswerte normalisieren, indem wir den Mittelwert subtrahieren und durch die Standardabweichung dividieren. • Diese zusätzlichen Schritte können die Zeit für das Training in komplexen Umgebungen erheblich verlängern. Policy Gradients
  • 70. by Datamics, 2018 Implementierung • Die Implementierung dieser Gradientenrichtlinien mit Python und TensorFlow kann komplex sein, also gehen wir kurz die Schritte durch, die wir durchführen werden! Policy Gradients
  • 71. by Datamics, 2018 Implementierung • Neurale Netzwerke spielen mehrere Episoden durch • Der Optimierer berechnet die Gradienten (statt Minimieren) • Berechne die diskontierte und normalisierte Punktzahl jeder Aktion Policy Gradients
  • 72. by Datamics, 2018 Implementierung • Multipliziere dann den Gradientenvektor mit dem Ergebnis der Aktion. • Negative Werte erzeugen entgegengesetzte Steigungen, wenn sie multipliziert werden. • Berechne den Mittelwert des resultierenden Gradientenvektors für Gradient Descent. Policy Gradients
  • 73. by Datamics, 2018 Implementierung • Aufgrund der Komplexität der manuellen Implementierung von Policy Gradient Techniken mit TensorFlow empfehle ich dir, die zusätzlichen Ressourcen für zusätzliche Beispiele und Erklärungen anzusehen. • Fangen wir an! Policy Gradients
  • 76. by Datamics, 2018 Verwende den Gutschein „SLIDESHARE2018“ auf Udemy oder die Shortlinks und erhalte unsere Kurse für nur 10,99€ (95% Rabatt). Deep Learning Grundlagen mit TensorFlow und Python https://goo.gl/FqNoAe Python für Data Science und Machine Learning: https://goo.gl/cE7TQ3 Original Python Bootcamp - Von 0 auf 100: https://goo.gl/gjn7pX R für Data Science und Machine Learning: https://goo.gl/8h5tH7 Exklusive Gutscheine Udemy-Kurse by Datamics, 2018https://www.udemy.com/user/rene-brunner/