Kurs in Deep Reinforcement Learning
Entdecken Sie die Kombination aus neuronalem Netzwerk und verstärkendem Lernen. Algorithmen und Beispiele in Python und PyTorch
Haben Sie schon von den erstaunlichen Ergebnissen gehört, die Deepmind mit AlphaGo Zero und OpenAI in Dota 2 erzielt haben? Es geht um tiefe neuronale Netze und Reinforcement Learning. Möchten Sie mehr darüber erfahren?
Dies ist die richtige Gelegenheit für Sie, Deep RL endlich zu erlernen und es für neue und spannende Projekte und Anwendungen einzusetzen.
Hier finden Sie eine ausführliche Einführung in diese Algorithmen. Darunter lernen Sie Q-Learning, Deep-Q-Learning, PPO und Schauspielerkritik und implementieren diese mit Python und PyTorch.
Das ultimative Ziel besteht darin, diese Allzwecktechnologien zu nutzen und sie auf alle möglichen wichtigen Probleme der realen Welt anzuwenden. Demis Hassabis
Dieses Repository enthält:
Vorträge (und andere Inhalte) hauptsächlich von DeepMind und dem YouTube-Kanal von Berkley.
Algorithmen (wie DQN, A2C und PPO) in PyTorch implementiert und auf OpenAI Gym getestet: RoboSchool und Atari.
Bleiben Sie dran und folgen Sie mir auf #60DaysRLChallenge
Jetzt haben wir auch einen Slack-Kanal . Um eine Einladung zu erhalten, senden Sie mir eine E-Mail an [email protected]. Senden Sie mir außerdem eine E-Mail, wenn Sie eine Idee, einen Vorschlag oder eine Verbesserung haben.
Um Deep Learning, Computer Vision oder Natural Language Processing zu lernen, schauen Sie sich meine 1-Jahres-ML-Reise an
Bevor Sie beginnen. Voraussetzungen
- Grundkenntnisse in Python und PyTorch
- Maschinelles Lernen
- Grundkenntnisse in Deep Learning (MLP, CNN und RNN)
Kurzer Hinweis: Mein NEUES BUCH ist erschienen!
Um Reinforcement Learning und Deep RL ausführlicher zu lernen, schauen Sie sich mein Buch Reinforcement Learning Algorithms with Python an !!
Inhaltsverzeichnis
- Die Landschaft des Reinforcement Learning
- Implementierung von RL Cycle und OpenAI Gym
- Probleme mit dynamischer Programmierung lösen
- Q-Learning und SARSA-Anwendungen
- Tiefes Q-Netzwerk
- Lernen der stochastischen und DDPG-Optimierung
- TRPO- und PPO-Implementierung
- DDPG- und TD3-Anwendungen
- Modellbasiertes RL
- Imitationslernen mit dem DAgger-Algorithmus
- Black-Box-Optimierungsalgorithmen verstehen
- Entwicklung des ESBAS-Algorithmus
- Praktische Umsetzung zur Lösung von RL-Herausforderungen
Index – Reinforcement Learning
- Woche 1 – Einführung
- Woche 2 – RL-Grundlagen
- Woche 3 – Wertbasierte Algorithmen – DQN
- Woche 4 – Policy-Gradienten-Algorithmen – REINFORCE & A2C
- Woche 5 – Fortgeschrittene Richtlinienverläufe – PPO
- Woche 6 – Evolutionsstrategien und genetische Algorithmen – ES
- Woche 7 – Modellbasiertes verstärkendes Lernen – MB-MF
- Woche 8 – Fortgeschrittene Konzepte und Projekt Ihrer Wahl
- Letzte 4 Tage – Überprüfen + Teilen
- Beste Ressourcen
- Zusätzliche Ressourcen
Woche 1 – Einführung
- Warum Reinforcement Learning eine so wichtige Lernmethode ist – Eine einfache Erklärung
- Einführung und Kursübersicht – CS294 von Levine, Berkley
- Deep Reinforcement Learning: Pong von Pixels von Karpathy
Andere Ressourcen
- Die „Bibel“ des Reinforcement Learning: Kapitel 1 – Sutton & Barto
- Tolles Einführungspapier: Deep Reinforcement Learning: An Overview
- Beginnen Sie mit dem Codieren: Von Grund auf: KI-Balanceakt in 50 Zeilen Python
Woche 2 – RL-Grundlagen: MDP, dynamische Programmierung und modellfreie Steuerung
Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen – George Santayana
Diese Woche lernen wir die grundlegenden Blöcke des verstärkenden Lernens kennen, angefangen bei der Definition des Problems bis hin zur Schätzung und Optimierung der Funktionen, die verwendet werden, um die Qualität einer Richtlinie oder eines Staates auszudrücken.
Vorlesungen - Theorie
- Markov-Entscheidungsprozess – David Silver (DeepMind)
- Markov-Prozesse
- Markov-Entscheidungsprozesse
- Planung durch dynamische Programmierung – David Silver (DeepMind)
- Richtlinieniteration
- Wertiteration
- Modellfreie Vorhersage – David Silver (DeepMind)
- Monte-Carlo-Lernen
- Zeitdifferenzlernen
- TD(λ)
- Modellfreie Kontrolle – David Silver (DeepMind)
- Ɛ-gierige Richtlinieniteration
- GLIE Monte Carlo Suche
- SARSA
- Wichtigkeitsstichprobe
Projekt der Woche – Q-Learning
Auf FrozenLake angewendetes Q-Learning – Zur Übung können Sie das Spiel mit SARSA lösen oder Q-Learning selbst implementieren. Im ersteren Fall sind nur wenige Änderungen erforderlich.
Andere Ressourcen
- Die „Bibel“ des Reinforcement Learning: Kapitel 3 und 4 – Sutton & Barto
- Einführung in Wertfunktionen – DRL UC Berkley von Sergey Levine
Woche 3 – Wertbasierte Algorithmen – DQN
Diese Woche lernen wir fortgeschrittenere Konzepte kennen und wenden tiefe neuronale Netzwerke auf Q-Learning-Algorithmen an.
Vorlesungen - Theorie
- Wertfunktionennäherung – David Silver (DeepMind)
- Differenzierbare Funktionsnäherungen
- Inkrementelle Methoden
- Batch-Methoden (DQN)
- Fortgeschrittene Q-Learning-Algorithmen – Sergey Levine (UC Berkley)
- Wiedergabepuffer
- Doppeltes Q-Learning
- Kontinuierliche Aktionen (NAF,DDPG)
- Praktische Tipps
Projekt der Woche – DQN und Varianten
DQN und einige auf Pong angewendete Varianten – Diese Woche besteht das Ziel darin, einen DQN-Algorithmus zum Spielen eines Atari-Spiels zu entwickeln. Um es interessanter zu machen, habe ich drei Erweiterungen von DQN entwickelt: Double Q-Learning , Multi-Step Learning , Dueling Networks und Noisy Nets . Spielen Sie mit ihnen, und wenn Sie sich sicher fühlen, können Sie Priorisierte Wiedergabe, Duellnetzwerke oder Verteilungs-RL implementieren. Um mehr über diese Verbesserungen zu erfahren, lesen Sie die Artikel!
Papiere
Muss gelesen werden
- Atari spielen mit Deep Reinforcement Learning – 2013
- Kontrolle auf menschlicher Ebene durch tiefgreifendes Reinforcement Learning – 2015
- Rainbow: Kombination von Verbesserungen im Deep Reinforcement Learning – 2017
Erweiterungen von DQN
- Deep Reinforcement Learning mit Double Q-Learning – 2015
- Priorisierte Erlebniswiederholung – 2015
- Duellierende Netzwerkarchitekturen für Deep Reinforcement Learning – 2016
- Laute Netzwerke zur Erkundung – 2017
- Verteilungsverstärkendes Lernen mit Quantilregression – 2017
Andere Ressourcen
- Die „Bibel“ des Reinforcement Learning: Kapitel 5 und 6 – Sutton & Barto
- Deep Reinforcement Learning im Unternehmen: Überbrückung der Lücke von Spielen zur Industrie
Woche 4 – Policy-Gradienten-Algorithmen – REINFORCE & A2C
In Woche 4 werden Policy-Gradient-Methoden vorgestellt, eine Klasse von Algorithmen, die die Richtlinie direkt optimieren. Außerdem erfahren Sie mehr über Actor-Critic-Algorithmen. Diese Algorithmen kombinieren sowohl den Richtliniengradienten (den Akteur) als auch die Wertefunktion (den Kritiker).
Vorlesungen - Theorie
- Richtliniengradientenmethoden – David Silver (DeepMind)
- Gradient der Finite-Differenzen-Politik
- Gefälle der Monte-Carlo-Politik
- Akteur-kritischer Politikgradient
- Einführung in den Richtlinienverlauf – Sergey Levine (RECAP, optional)
- Policy Gradient (REINFORCE und Vanilla PG)
- Varianzreduktion
- Schauspieler-Kritiker – Sergey Levine (Detaillierter)
- Schauspieler-Kritiker
- Diskontfaktor
- Akteur-kritischer Algorithmusentwurf (Batch-Modus oder online)
- zustandsabhängige Basislinie
Projekt der Woche – Vanilla PG und A2C
Vanilla PG und A2C angewendet auf CartPole – Die Übung dieser Woche besteht darin, eine Policy-Gradienten-Methode oder einen anspruchsvolleren Akteur-Kritiker zu implementieren. Im Repository finden Sie eine implementierte Version von PG und A2C. Bug-Alarm! Beachten Sie, dass A2C seltsame Ergebnisse liefert. Wenn Sie die Implementierung von PG und A2C einfach finden, können Sie es mit der asynchronen Version von A2C (A3C) versuchen.
Papiere
- Policy-Gradient-Methoden für verstärktes Lernen mit Funktionsnäherung
- Asynchrone Methoden für Deep Reinforcement Learning
Andere Ressourcen
- Die „Bibel“ des Reinforcement Learning: Kapitel 9 und 10 – Sutton & Barto
- Intuitives RL: Einführung in Advantage-Actor-Critic (A2C)
- Asynchrone schauspielerkritische Agenten (A3C)
Woche 5 – Fortgeschrittene Richtlinienverläufe – PPO
In dieser Woche geht es um fortgeschrittene Policy-Gradient-Methoden, die die Stabilität und Konvergenz der „Vanilla“-Policy-Gradient-Methoden verbessern. Sie lernen und implementieren PPO, einen RL-Algorithmus, der von OpenAI entwickelt und in OpenAI Five übernommen wurde.
Vorlesungen - Theorie
- Fortgeschrittene politische Gradienten – Sergey Levine (UC Berkley)
- Probleme mit „Vanilla“-Policy-Gradient-Methoden
- Richtlinienleistungsgrenzen
- Monotone Verbesserungstheorie
- Algorithmen: NPO, TRPO, PPO
- Naturpolitische Gradienten, TRPO, PPO – John Schulman (Berkey DRL Bootcamp) – (RECAP, optional)
- Einschränkungen der „Vanilla“-Policy-Gradient-Methoden
- Naturpolitischer Gradient
- Optimierung der Trust-Region-Richtlinie, TRPO
- Proximale Richtlinienoptimierung, PPO
Projekt der Woche – PPO
PPO auf BipedalWalker angewendet – Diese Woche müssen Sie PPO oder TRPO implementieren. Aufgrund seiner Einfachheit (im Vergleich zu TRPO) empfehle ich PPO. Im Projektordner Week5 finden Sie eine Implementierung von PPO, mit der Sie lernen, BipedalWalker zu spielen . Darüber hinaus finden Sie im Ordner weitere Ressourcen, die Sie bei der Entwicklung des Projekts unterstützen. Viel Spaß!
Um mehr über PPO zu erfahren, lesen Sie den Artikel und schauen Sie sich das Video von Arxiv Insights an
Papiere
- Optimierung der Trust-Region-Richtlinie – 2015
- Proximale Richtlinienoptimierungsalgorithmen – 2017
Andere Ressourcen
- Um PPO und TRPO besser zu verstehen: Das Streben nach (Roboter-)Glück
- Schrauben und Muttern von Deep RL
- PPO-Best Practice: Schulung mit Proximal Policy Optimization
- Erklärung des PPO-Algorithmus durch Arxiv Insights
Woche 6 – Evolutionsstrategien und genetische Algorithmen – ES
Im letzten Jahr wurde gezeigt, dass Evolutionsstrategien (ES) und genetische Algorithmen (GA) vergleichbare Ergebnisse wie RL-Methoden erzielen. Es handelt sich um ableitungsfreie Black-Box-Algorithmen, die zum Lernen mehr Daten als RL benötigen, sich aber auf Tausende von CPUs skalieren lassen. Diese Woche werden wir uns diese Black-Box-Algorithmen ansehen.
Vorträge & Artikel - Theorie
- Evolutionsstrategien
- Einführung in ES: Ein visueller Leitfaden für Evolutionsstrategien
- ES für RL: Entwicklung stabiler Strategien
- Derivatfreie Methoden – Vorlesung
- Evolutionsstrategien (Papierdiskussion)
- Genetische Algorithmen
- Einführung in genetische Algorithmen – einschließlich Beispielcode
Projekt der Woche – ES
Auf LunarLander angewendete Evolutionsstrategien – Diese Woche besteht das Projekt darin, einen ES oder GA zu implementieren. Im Week6-Ordner finden Sie eine grundlegende Implementierung des Papiers Evolution Strategies as a Scalable Alternative to Reinforcement Learning zur Lösung von LunarLanderContinuous. Sie können es ändern, um schwierigere Umgebungen zu spielen, oder Ihre Ideen hinzufügen.
Papiere
- Deep Neuroevolution: Genetische Algorithmen sind eine wettbewerbsfähige Alternative zum Training tiefer neuronaler Netze für Reinforcement Learning
- Evolutionsstrategien als skalierbare Alternative zum Reinforcement Learning
Andere Ressourcen
- Evolutionäre Optimierungsalgorithmen – Dan Simon
Woche 7 – Modellbasiertes verstärkendes Lernen – MB-MF
Die bisher untersuchten Algorithmen sind modellfrei, das heißt, sie wählen nur die bessere Aktion bei gegebenem Zustand aus. Diese Algorithmen erzielen eine sehr gute Leistung, erfordern jedoch viele Trainingsdaten. Stattdessen lernen modellbasierte Algorithmen die Umgebung kennen und planen die nächsten Aktionen entsprechend dem gelernten Modell. Diese Methoden sind stichprobeneffizienter als modellfreie Methoden, erzielen aber insgesamt die schlechteste Leistung. In dieser Woche lernen Sie die Theorie hinter diesen Methoden kennen und implementieren einen der letzten Algorithmen.
Vorlesungen - Theorie
- Model-Based RL, David Silver (DeepMind) (kurze Version)
- Lernen und Planen integrieren
- Modellbasierte RL-Übersicht
- Integrierte Architekturen
- Simulationsbasierte Suche
- Model-Based RL, Sergey Levine (UC Berkley) (ausführliche Version)
- Dynamische Systeme aus Daten lernen
- Überblick über modellbasiertes RL
- Globale und lokale Modelle
- Lernen mit lokalen Modellen und Vertrauensregionen
- Lernrichtlinien durch Nachahmung optimaler Controller
- Backpropagation in eine Richtlinie mit erlernten Modellen
- Geführter Richtliniensuchalgorithmus
- Nachahmung der optimalen Kontrolle mit DAgger
- Erweitertes Modelllernen und Bilder
- Modelle im latenten Raum
- Modelle direkt im Bildraum
- Inverse Modelle
Projekt der Woche – MB-MF
MB-MF angewendet auf RoboschoolAnt – Diese Woche habe ich mich für die Implementierung des in diesem Artikel beschriebenen modellbasierten Algorithmus entschieden. Meine Umsetzung finden Sie hier. NB: Anstatt es wie in der Arbeit auf Mujoco zu implementieren, habe ich RoboSchool verwendet, einen Open-Source-Simulator für Roboter, der in OpenAI Gym integriert ist.
Papiere
- Imagination-Augmented Agents für Deep Reinforcement Learning – 2017
- Verstärkungslernen mit unbeaufsichtigten Hilfsaufgaben – 2016
- Dynamik neuronaler Netze für modellbasiertes Deep-Reinforcement-Learning mit modellfreier Feinabstimmung – 2018
Andere Ressourcen
- Die „Bibel“ des Reinforcement Learning: Kapitel 8 – Sutton & Barto
- Weltmodelle – Können Agenten aus ihren eigenen Träumen lernen?
Woche 8 – Fortgeschrittene Konzepte und Projekt Ihrer Wahl
In dieser letzten Woche geht es um fortgeschrittene RL-Konzepte und ein Projekt Ihrer Wahl.
Vorlesungen - Theorie
- Sergey Levine (Berkley)
- Zusammenhang zwischen Schlussfolgerung und Kontrolle
- Inverses Verstärkungslernen
- Erkundung (Teil 1)
- Exploration (Teil 2) und Transferlernen
- Multitasking-Lernen und -Transfer
- Meta-Lernen und Parallelität
- Fortgeschrittenes Nachahmungslernen und offene Probleme
- David Silver (DeepMind)
Das Abschlussprojekt
Hier finden Sie einige Projektideen.
- Pommerman (Mehrspieler)
- KI für die Prothetik-Herausforderung (Herausforderung)
- Word-Modelle (Papierimplementierung)
- Forschungsanfrage OpenAI (Forschung)
- Retro-Wettbewerb (Transferlernen)
Andere Ressourcen
- AlphaGo Zero
- Papier
- DeepMind-Blogbeitrag: AlphaGo Zero: Von Grund auf lernen
- Arxiv Insights-Video: So funktioniert AlphaGo Zero – Google DeepMind
- OpenAI Fünf
- OpenAI-Blogbeitrag: OpenAI Five
- Arxiv Insights-Video: OpenAI Five: Gegenüber menschlichen Profis in Dota II
Letzte 4 Tage – Überprüfen + Teilen
Herzlichen Glückwunsch zum Abschluss der 60-Tage-RL-Challenge!! Lassen Sie mich wissen, ob es Ihnen gefallen hat, und teilen Sie es!
Wir sehen uns!
Beste Ressourcen
Reinforcement Learning: Eine Einführung – von Sutton & Barto. Die „Bibel“ des Reinforcement Learning. Hier finden Sie den PDF-Entwurf der zweiten Version.
Deep Reinforcement Learning Hands-On – von Maxim Lapan
Deep Learning – Ian Goodfellow
Deep Reinforcement Learning – UC Berkeley-Kurs von Levine, sehen Sie sich hier ihre Website an.
Reinforcement Learning-Kurs – von David Silver, DeepMind. Tolle Einführungsvorträge von Silver, einem leitenden Forscher bei AlphaGo. Sie folgen dem Buch Reinforcement Learning von Sutton & Barto.
Zusätzliche Ressourcen
Tolles verstärkendes Lernen. Eine kuratierte Liste von Ressourcen zum Thema Reinforcement Learning
GroundAI auf RL. Aufsätze zum Reinforcement Learning
Eine Tasse Kaffee ☕
Jeder Beitrag wird sehr geschätzt! Prost!