Reinforcement Learning: Eine Einführung
Python-Replikation für Sutton & Bartos Buch Reinforcement Learning: An Introduction (2. Auflage)
Wenn Sie Unklarheiten über den Code haben oder einen Fehler melden möchten, öffnen Sie bitte ein Problem, anstatt mir direkt eine E-Mail zu senden. Leider habe ich keine Übungsantworten für das Buch.
Inhalt
Kapitel 1
- Tic-Tac-Toe
Kapitel 2
- Abbildung 2.1: Ein beispielhaftes Banditenproblem aus dem 10-armigen Prüfstand
- Abbildung 2.2: Durchschnittliche Leistung von Epsilon-Greed-Action-Value-Methoden auf dem 10-armigen Testbed
- Abbildung 2.3: Optimistische anfängliche Schätzungen des Aktionswerts
- Abbildung 2.4: Durchschnittliche Leistung der UCB-Aktionsauswahl auf dem 10-armigen Prüfstand
- Abbildung 2.5: Durchschnittliche Leistung des Gradientenbandit-Algorithmus
- Abbildung 2.6: Eine Parameterstudie der verschiedenen Bandit-Algorithmen
Kapitel 3
- Abbildung 3.2: Rasterbeispiel mit Zufallsrichtlinie
- Abbildung 3.5: Optimale Lösungen für das Gridworld-Beispiel
Kapitel 4
- Abbildung 4.1: Konvergenz der iterativen Richtlinienbewertung auf einer kleinen Gitterwelt
- Abbildung 4.2: Jacks Problem mit der Autovermietung
- Abbildung 4.3: Die Lösung des Spielerproblems
Kapitel 5
- Abbildung 5.1: Ungefähre Zustandswertfunktionen für die Blackjack-Richtlinie
- Abbildung 5.2: Die von Monte Carlo ES gefundene optimale Richtlinien- und Zustandswertfunktion für Blackjack
- Abbildung 5.3: Gewichtete Wichtigkeitsstichprobe
- Abbildung 5.4: Gewöhnliche Wichtigkeitsstichprobe mit überraschend instabilen Schätzungen
Kapitel 6
- Beispiel 6.2: Random Walk
- Abbildung 6.2: Stapelaktualisierung
- Abbildung 6.3: Sarsa angewendet auf die windige Gitterwelt
- Abbildung 6.4: Die Klippenwanderaufgabe
- Abbildung 6.6: Zwischen- und asymptotische Leistung von TD-Kontrollmethoden
- Abbildung 6.7: Vergleich von Q-Learning und Double Q-Learning
Kapitel 7
- Abbildung 7.2: Leistung von n-stufigen TD-Methoden beim Random Walk mit 19 Zuständen
Kapitel 8
- Abbildung 8.2: Durchschnittliche Lernkurven für Dyna-Q-Agenten mit unterschiedlicher Anzahl an Planungsschritten
- Abbildung 8.4: Durchschnittliche Leistung von Dyna-Agenten bei einer Blockierungsaufgabe
- Abbildung 8.5: Durchschnittliche Leistung von Dyna-Agenten bei einer Verknüpfungsaufgabe
- Beispiel 8.4: Priorisiertes Kehren verkürzt die Lernzeit für die Dyna-Labyrinth-Aufgabe erheblich
- Abbildung 8.7: Vergleich der Effizienz von erwarteten und Beispielaktualisierungen
- Abbildung 8.8: Relative Effizienz verschiedener Update-Distributionen
Kapitel 9
- Abbildung 9.1: Gradienten-Monte-Carlo-Algorithmus für die 1000-Zustands-Random-Walk-Aufgabe
- Abbildung 9.2: Halbgradienter n-Schritte-TD-Algorithmus für die 1000-Zustands-Random-Walk-Aufgabe
- Abbildung 9.5: Fourier-Basis vs. Polynome bei der 1000-Zustände-Random-Walk-Aufgabe
- Abbildung 9.8: Beispiel für die Auswirkung der Merkmalsbreite auf die anfängliche Generalisierung und die asymptotische Genauigkeit
- Abbildung 9.10: Einzelne Kacheln und mehrere Kacheln bei der 1000-Zustände-Random-Walk-Aufgabe
Kapitel 10
- Abbildung 10.1: Die Cost-to-go-Funktion für die Mountain-Car-Aufgabe in einem Durchgang
- Abbildung 10.2: Lernkurven für die Halbgradienten-Aufgabe „Sarsa on Mountain Car“.
- Abbildung 10.3: Einstufige vs. mehrstufige Leistung von Semigradient Sarsa bei der Mountain Car-Aufgabe
- Abbildung 10.4: Auswirkung von Alpha und n auf die frühe Leistung von n-stufigem Halbgradienten-Sarsa
- Abbildung 10.5: Differential-Semigradient-Sarsa bei der Warteschlangenaufgabe der Zugangskontrolle
Kapitel 11
- Abbildung 11.2: Bairds Gegenbeispiel
- Abbildung 11.6: Das Verhalten des TDC-Algorithmus auf Bairds Gegenbeispiel
- Abbildung 11.7: Das Verhalten des ETD-Algorithmus im Erwartungswert auf Bairds Gegenbeispiel
Kapitel 12
- Abbildung 12.3: Offline-λ-Return-Algorithmus beim 19-Zustands-Random Walk
- Abbildung 12.6: TD(λ)-Algorithmus beim 19-Zustands-Random Walk
- Abbildung 12.8: Echter Online-TD(λ)-Algorithmus bei der 19-Zustands-Zufallswanderung
- Abbildung 12.10: Sarsa(λ) mit Ersatzspuren auf Mountain Car
- Abbildung 12.11: Zusammenfassender Vergleich der Sarsa(λ)-Algorithmen auf Mountain Car
Kapitel 13
- Beispiel 13.1: Kurzer Korridor mit geschalteten Aktionen
- Abbildung 13.1: VERSTÄRKUNG in der Welt des Kurzkorridor-Gitters
- Abbildung 13.2: VERSTÄRKEN mit Basislinie auf der Kurzkorridor-Gitterwelt
Umfeld
- Python 3.6
- Numpy
- matplotlib
- seegeboren
- tqdm
Verwendung
Alle Dateien sind in sich geschlossen
python any_file_you_want.py
Beitrag
Wenn Sie fehlende Beispiele beisteuern oder Fehler beheben möchten, können Sie gerne ein Issue eröffnen oder eine Pull-Anfrage stellen.