Learning Reinforcement Learning (with Code, Exercises and Solutions)
来源:互联网 发布:比特币挖矿软件最新版 编辑:程序博客网 时间:2024/05/21 10:27
Why Study Reinforcement Learning
Reinforcement Learning is one of the fields I’m most excited about. Over the past few years amazing results like learning to play Atari Games from raw pixelsand Mastering the Game of Go have gotten a lot of attention, but RL is also widely used in Robotics, Image Processing and Natural Language Processing.
Combining Reinforcement Learning and Deep Learning techniques works extremely well. Both fields heavily influence each other. On the Reinforcement Learning side Deep Neural Networks are used as function approximators to learn good representations, e.g. to process Atari game images or to understand the board state of Go. In the other direction, RL techniques are making their way into supervised problems usually tackled by Deep Learning. For example, RL techniques are used to implement attention mechanisms in image processing, or to optimize long-term rewards in conversational interfaces and neural translation systems. Finally, as Reinforcement Learning is concerned with making optimal decisions it has some extremely interesting parallels to human Psychology and Neuroscience (and many other fields).
With lots of open problems and opportunities for fundamental research I think we’ll be seeing multiple Reinforcement Learning breakthroughs in the coming years. And what could be more fun than teaching machines to play Starcraft and Doom?
How to Study Reinforcement Learning
There are many excellent Reinforcement Learning resources out there. Two I recommend the most are:
- David Silver’s Reinforcement Learning Course
- Richard Sutton’s & Andrew Barto’s Reinforcement Learning: An Introduction (2nd Edition) book.
The latter is still work in progress but it’s ~80% complete. The course is based on the book so the two work quite well together. In fact, these two cover almost everything you need to know to understand most of the recent research papers. The prerequisites are basic Math and some knowledge of Machine Learning.
That covers the theory. But what about practical resources? What about actually implementing the algorithms that are covered in the book/course? That’s where this post and the Github repository comes in. I’ve tried to implement most of the standard Reinforcement Algorithms using Python, OpenAI Gym and Tensorflow. I separated them into chapters (with brief summaries) and exercises and solutions so that you can use them to supplement the theoretical material above. All of this is in the Github repository.
Some of the more time-intensive algorithms are still work in progress, so feel free to contribute. I’ll update this post as I implement them.
Table of Contents
- Introduction to RL problems, OpenAI gym
- MDPs and Bellman Equations
- Dynamic Programming: Model-Based RL, Policy Iteration and Value Iteration
- Monte Carlo Model-Free Prediction & Control
- Temporal Difference Model-Free Prediction & Control
- Function Approximation
- Deep Q Learning (WIP)
- Policy Gradient Methods (WIP)
- Learning and Planning (WIP)
- Exploration and Exploitation (WIP)
List of Implemented Algorithms
Dynamic Programming Policy Evaluation
Dynamic Programming Policy Iteration
- Dynamic Programming Value Iteration
- Monte Carlo Prediction
- Monte Carlo Control with Epsilon-Greedy Policies
- Monte Carlo Off-Policy Control with Importance Sampling
- SARSA (On Policy TD Learning)
- Q-Learning (Off Policy TD Learning)
- Q-Learning with Linear Function Approximation
- Deep Q-Learning for Atari Games
- Double Deep-Q Learning for Atari Games
- Deep Q-Learning with Prioritized Experience Replay (WIP)
- Policy Gradient: REINFORCE with Baseline
- Policy Gradient: Actor Critic with Baseline
- Policy Gradient: Actor Critic with Baseline for Continuous Action Spaces
- Deterministic Policy Gradients for Continuous Action Spaces (WIP)
- Deep Deterministic Policy Gradients (DDPG) (WIP)
- Asynchronous Advantage Actor Critic (A3C) (WIP)
- Learning Reinforcement Learning (with Code, Exercises and Solutions)
- Learning Reinforcement Learning (with Code, Exercises and Solutions)
- 《reinforcement learning:an introduction》第八章《Planning and Learning with Tabular Methods》总结
- Reinforcement Learning
- reinforcement learning
- Reinforcement Learning
- Reinforcement Learning
- Reinforcement Learning
- Playing Atari with Deep Reinforcement Learning
- Playing Atari with Deep Reinforcement Learning
- Continuous control with deep reinforcement learning
- Continuous control with Deep Reinforcement Learning
- learning to communicate with deep multi-agent reinforcement learning
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- reinforcement learning,增强学习:Exploration and Exploitation
- Resources for Reinforcement Learning: Theory and Practice
- 欢迎使用CSDN-markdown编辑器
- 非常可乐 HDU1495
- 10.1 test solution.
- 2016-2017 ACM-ICPC, NEERC, Central Subregional Contest【9/11】
- SparkStreaming maxmind-GeoLite2 第三方对象序列化问题
- Learning Reinforcement Learning (with Code, Exercises and Solutions)
- 多表连接
- Scrapy学习笔记(1)
- BZOJ2118: 墨墨的等式 思维建图
- servlet的重定向(response.sendRedirect())
- 【机房收费系统】——任务启动
- loadrunner Lr_类函数之lr_abort()
- spring-aop---AspectJ注解式切面编程。
- HDU-4455 Substrings DP递推