RL个人入门路径分享

个人强化学习的学习路径参考(使用RL解决机器人控制问题的学习导向)

建议学习之前需要有的基础:

  • 线性代数基础
  • 微积分基础
  • 概率论与随机过程基础
  • python基础
  • 机器学习基本算法了解
  • 深度学习基本了解
  • linux基本熟悉(如果需要代码工程实践)

本文包括:

  • 学习资料与课程推荐
  • 个人学习路径(具体学习了哪些内容)

注意,本文不提供教材电子版,有需要请自行购买正版书籍

一.基础理论的学习书目与参考教材推荐:

1.传统强化学习的数学原理:从 MDP 出发,理解算法的底层数学原理:

推荐教材与课程:西湖大学《强化学习的数学原理》-赵世钰老师

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算法
为了快速入门上手,推荐结合上面的资料,根据以下路径学习:

  1. 基本理论方面:
    1. 第一步:《强化学习的数学原理》:
      1. 直接过一遍课本就够了
      2. 可以覆盖大部分理论基础
      3. 一到十章是递进的关系,教材写的很清晰,同时表明的哪些部分是拓展的数学推导,可以略过不看
    2. 第二步:PPO 拓展
      1. 《强化学习的数学原理》只讲到 A2C 算法,PPO 以及 TPRO 就是 A2C 的改进,需要补充一下知识点
      2. 这部分的基本思想(置信域策略优化)可以参考**《深度强化学习》9.1 **的内容
      3. TPRO 只需要知道基本思想,不需要关心代码实现与具体的数学推导(过于复杂导致难以求解)
      4. PPO 需要知道数学公式是怎么来的,也要会写代码,参考**《动手学强化学习》第 12 章**
  2. 代码实现:

目前项目代码中的强化学习实现大多数使用封装好的包,(例如 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 算法