Section 1: Introduction
-
- What You Will Learn In This Course
-
- Required Background, software, and hardware
-
- How to Succeed in this Course
Section 2: Fundamentals of Reinforcement Learning
-
- Agents, Environments, and Actions
-
- Markov Decision Processes
-
- Value Functions, Action Value Functions, and the Bellman Equation
-
- Model Free vs. Model Based Learning
-
- The Explore-Exploit Dilemma
-
- Temporal Difference Learning
Section 3: Deep Learning Crash Course
-
- Dealing with Continuous State Spaces with Deep Neural Networks
-
- Naive Deep Q Learning in Code: Step 1 - Coding the Deep Q Network
-
- Naive Deep Q Learning in Code: Step 3 - Coding the Main Loop and Learning
-
- Naive Deep Q Learning in Code: Step 4 - Verifying the Functionality of Our Code
-
- Naive Deep Q Learning in Code: Step 5 - Analyzing Our Agent's Performance
-
- Dealing with Screen Images with Convolutional Neural Networks
Section 4: Human Level Control Through Deep Reinforcement Learning, From Paper to Code
-
- How to Read Deep Learning Papers
-
- Analyzing the Paper
-
- How to Modify the OpenAI Gym Atari Environments
-
- How to Preprocess the OpenAI Gym Atari Screen Images
-
- How to Stack the Preprocessed Atari Screen Images
-
- How to Combine All the Changes
-
- How to Add Reward Clipping, Fire First, and No Ops
-
- How to Code the Agent's Memory
-
- How to Code the Deep Q Network
-
- Coding the Deep Q Agent: Step 1 - Coding the Constructor
-
- Coding the Deep Q Agent: Step 2 - Epsilon-Greedy Action Selection
-
- Coding the Deep Q Agent: Step 3 - Memory, Model Saving and Network Copying
-
- Coding the Deep Q Agent: Step 4 - The Agent's Learn Function
-
- Coding the Deep Q Agent: Step 5 - The Main Loop and Analyzing the Performance
Section 5: Deep Reinforcement Learning with Double Q Learning
-
- Analyzing the Paper
-
- Coding the Double Q Learning Agent and Analyzing Performance
Section 6: Dueling Network Architectures for Deep Reinforcement Learning
-
- Analyzing the Paper
-
- Coding the Dueling Deep Q Network
-
- Coding the Dueling Deep Q Learning Agent and Analyzing Performance
-
- Coding the Dueling Double Deep Q Learning Agent and Analyzing Performance
Section 7: Improving On Our Solutions
-
- Implementing a Command Line Interface for Rapid Model Testing
-
- Consolidating Our Code Base for Maximum Extensability
-
- How to Test Our Agent and Watch it Play the Game in Real Time
Section 8: Conclusion
-
- Summarizing What We've Learned
Section 9: Bonus Lecture
-
- Bonus Video: Where to Go From Here
- Python 3.6
wget https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tar.xz
tar -xvf Python-3.6.13.tar.xz && rm -v Python-3.6.13.tar.xz && cd Python-3.6.13
apt-get install build-essential sqlite3 libsqlite3-dev libbz2-dev zlib1g-dev
./configure && make && make altinstall
- venv
mkdir venv && python3.6 -m venv venv/
source venv/bin/activate
deactivate
- zlib1g-dev, cmake, ffmpeg
sudo apt-get install zlib1g-dev cmake ffmpeg
- torch, torchvision, numpy, matplotlib, gym, box2d-py, atari-py, opencv-python
(venv) pip3 install torch torchvision numpy matplotlib gym box2d-py atari-py opencv-python