个人强化学习的学习路径参考(使用RL解决机器人控制问题的学习导向)
建议学习之前需要有的基础:
- 线性代数基础
- 微积分基础
- 概率论与随机过程基础
- python基础
- 机器学习基本算法了解
- 深度学习基本了解
- linux基本熟悉(如果需要代码工程实践)
本文包括:
- 学习资料与课程推荐
- 个人学习路径(具体学习了哪些内容)
注意,本文不提供教材电子版,有需要请自行购买正版书籍
一.基础理论的学习书目与参考教材推荐:
1.传统强化学习的数学原理:从 MDP 出发,理解算法的底层数学原理:
推荐教材与课程:西湖大学《强化学习的数学原理》-赵世钰老师
-
中文版教材
强化学习的数学原理 (赵世钰) -
课程在 bilbil 强化学习的数学原理网课
2.深度强化学习:DeepMind 的AlphaGo、机器人最常用的 PPO 近端优化算法、高维状态空间
-
推荐参考教材:猫书《深度强化学习(王树森)》
-
配套代码库:https://github.com/DeepRLChinese/DeepRL-Chinese.git(貌似不全,部分代码缺失)
-
bilbil 参考课程视频:深度强化学习网课
-
RL 经典,但是由于内容过多同时大部分用不到,当作理论参考书即可:Reinforcement Learning An Introduction (Sutton)
-
一篇不错的 RL 综述,就算只是看看目录,也对了解强化学习的整体脉络帮助很大
《Reinforcement Learning: An Overview》 ——arxiv 2412.05265
二.代码实践资料推荐:
- 基础代码实践推荐使用《动手学强化学习》
三.快速入门学习路线建议:
机器人控制是强化学习的一个特殊的应用问题(连续动作空间与状态空间)
目前,WBC(人形机器人全身运动控制)的强化学习方法主要使用PPO算法
为了快速入门上手,推荐结合上面的资料,根据以下路径学习:
- 基本理论方面:
- 第一步:《强化学习的数学原理》:
- 直接过一遍课本就够了
- 可以覆盖大部分理论基础
- 一到十章是递进的关系,教材写的很清晰,同时表明的哪些部分是拓展的数学推导,可以略过不看
- 第二步:PPO 拓展
- 《强化学习的数学原理》只讲到 A2C 算法,PPO 以及 TPRO 就是 A2C 的改进,需要补充一下知识点
- 这部分的基本思想(置信域策略优化)可以参考**《深度强化学习》9.1 **的内容
- TPRO 只需要知道基本思想,不需要关心代码实现与具体的数学推导(过于复杂导致难以求解)
- PPO 需要知道数学公式是怎么来的,也要会写代码,参考**《动手学强化学习》第 12 章**
- 第一步:《强化学习的数学原理》:
- 代码实现:
目前项目代码中的强化学习实现大多数使用封装好的包,(例如 Beyondmimic 使用 RSL-RL),所以这里的代码实践只是为了帮助理解算法原理:
参考 《动手学强化学习》中的 9、10、12 章 就够了
如果能完全理解这些代码,那么至少弄懂了:
1. 蒙特卡洛(MC)方法
2. 时序差分(TD)算法
3. 值函数
4. REINFORCE 策略梯度、
5. QAC
6. A2C(带 baseline 的 Actor-Critic)
7. SA(随机近似理论)
8. 置信域策略梯度
9. PPO 算法