Tiefe Verstärkung Lernen Nanodegree

Dieses Repository enthält Material, das sich auf das NanodeGree -Programm von Udacity in Bezug auf das Tiefenverstärkungslernen bezieht.
Inhaltsverzeichnis
Tutorials
Die Tutorials führen Sie durch die Implementierung verschiedener Algorithmen im Verstärkungslernen. Der gesamte Code befindet sich in Pytorch (V0.4) und Python 3.
- Dynamische Programmierung: Implementieren Sie dynamische Programmieralgorithmen wie Richtlinienbewertung, Richtlinienverbesserung, Richtlinien -Iteration und Wert -Iteration.
- Monte Carlo: Implementieren Sie Monte Carlo -Methoden zur Vorhersage und Kontrolle.
- Temporal-Differenz: Implementieren Sie zeitliche Differenzmethoden wie Sarsa, Q-Learning und erwartete Sarsa.
- Diskretisierung: Erfahren Sie, wie kontinuierliche Zustandsräume diskretisiert werden können und die Umgebung für die Bergautos lösen können.
- Fliesencodierung: Implementieren Sie eine Methode zur diskretisierenden kontinuierlichen Zustandsräume, die eine bessere Verallgemeinerung ermöglichen.
- Deep Q-Network: Erforschen Sie, wie Sie ein tiefes Q-Network (DQN) verwenden, um ein Raumfahrzeug zu navigieren, ohne zu stürzen.
- Robotik: Verwenden Sie eine C ++ - API, um Verstärkungslernmittel aus virtueller Robotersimulation in 3D zu trainieren. ( Externer Link )
- Hill Climbing: Verwenden Sie Hill Climbing mit adaptiven Lärm, um eine Stange auf einem sich bewegenden Wagen auszugleichen.
- Cross-Entropy-Methode: Verwenden Sie die Cross-Entropy-Methode, um ein Auto zu trainieren, um in einem steilen Hügel zu navigieren.
- Verstärkung: Erfahren Sie, wie Sie mit Monte -Carlo -Richtliniengradienten eine klassische Kontrollaufgabe lösen.
- Proximale Richtlinienoptimierung : Erforschen Sie, wie die proximale Richtlinienoptimierung (PPO) verwendet wird, um eine klassische Verstärkungslernaufgabe zu lösen. ( Bald kommen! )
- Tiefe deterministische politische Gradienten : Erforschen Sie, wie tief deterministische Politikgradienten (DDPG) mit OpenAI -Fitnessumgebungen verwendet werden.
- Pendel: Verwenden Sie die Pendelumgebung von Openai Gym.
- Bipedalwalker: Verwenden Sie die Bipedalwalker -Umgebung von Openai Gym.
- Finanzierung: schulen Sie einen Agenten, um optimale Handelsstrategien zu entdecken.
Labors / Projekte
Die Labors und Projekte finden Sie unten. Alle Projekte verwenden reichhaltige Simulationsumgebungen von Einheits-ML-Agents. Im NanodeGree -Programm Deep verstärkten Lernen erhalten Sie eine Überprüfung Ihres Projekts. Diese Bewertungen sollen Ihnen ein personalisiertes Feedback geben und Ihnen sagen, was in Ihrem Code verbessert werden kann.
- Das Taxiproblem: In diesem Labor schulen Sie ein Taxi, um Passagiere abzuholen und abzugeben.
- Navigation: Im ersten Projekt schulen Sie einen Agenten, um gelbe Bananen zu sammeln und gleichzeitig blaue Bananen zu vermeiden.
- Kontinuierliche Kontrolle: Im zweiten Projekt trainieren Sie einen Roboterarm, um die Zielorte zu erreichen.
- Zusammenarbeit und Wettbewerb: Im dritten Projekt trainieren Sie ein Paar Agenten, um Tennis zu spielen!
Ressourcen
- Cheatsheet: Sie werden aufgefordert, diese PDF -Datei zu verwenden, um Ihr Studium des Verstärkungslernens zu leiten.
Openai Fitness -Benchmarks
Klassische Kontrolle
-
Acrobot-v1 mit Fliesencodierung und Q-Learning -
Cartpole-v0 mit Hügelklettern | in 13 Folgen gelöst -
Cartpole-v0 mit Verstärkung | in 691 Episoden gelöst -
MountainCarContinuous-v0 mit Cross-Entropy-Methode | in 47 Iterationen gelöst -
MountainCar-v0 mit einheitlicher Gitterdiskretisierung und Q-Learning | in <50000 Episoden gelöst -
Pendulum-v0 mit tiefen deterministischen Politikgradienten (DDPG)
Box2d
-
BipedalWalker-v2 mit tiefen deterministischen Politikgradienten (DDPG) -
CarRacing-v0 mit tiefen Q-Networks (DQN) | Bald kommen! -
LunarLander-v2 mit tiefen Q-Networks (DQN) | in 1504 Episoden gelöst
Spielzeugtext
-
FrozenLake-v0 mit dynamischer Programmierung -
Blackjack-v0 mit Monte-Carlo-Methoden -
CliffWalking-v0 mit Tempor-Differenzmethoden
Abhängigkeiten
Befolgen Sie die folgenden Anweisungen, um Ihre Python -Umgebung so einzustellen, dass der Code in diesem Repository ausgeführt wird.
Erstellen (und aktivieren) eine neue Umgebung mit Python 3.6.
conda create --name drlnd python=3.6
source activate drlnd
conda create --name drlnd python=3.6
activate drlnd
Wenn Sie in Windows ausgeführt werden, stellen Sie sicher, dass Sie über die von dieser Website installierten "Build -Tools für Visual Studio 2019" installiert sind. Dieser Artikel kann auch sehr hilfreich sein. Dies wurde bestätigt, dass dies in Windows 10 Home arbeitet.
Befolgen Sie die Anweisungen in diesem Repository, um eine minimale Installation des OpenAI -Fitnessstudios durchzuführen.
- Installieren Sie als nächstes die Gruppe der klassischen Steuerumgebung, indem Sie hier den Anweisungen folgen.
- Installieren Sie dann die Box2d -Umgebungsgruppe, indem Sie hier den Anweisungen folgen.
Klonen Sie das Repository (wenn Sie es noch nicht getan haben!) Und navigieren Sie zum python/ Ordner. Installieren Sie dann mehrere Abhängigkeiten.
git clone https://github.com/udacity/deep-reinforcement-learning.git
cd deep-reinforcement-learning/python
pip install .
Erstellen Sie einen Ipython -Kernel für die drlnd -Umgebung.
python -m ipykernel install --user --name drlnd --display-name " drlnd "
Ändern Sie vor dem Ausführen von Code in einem Notebook den Kernel in die drlnd -Umgebung mit dem Dropdown- Kernel .

Möchten Sie mehr lernen?
Kommen Sie mit uns im tiefen Verstärkungslernen -Nanodegree -Programm bei Udacity!
