强化学习
分类
value-based and policy-based:
value-based:基于状态价值和动作价值来更新策略(不是直接学习策略),原理类似于先求出每个状态-动作对的价值,据此来选择最佳策略,有点类似动态规划(DP)。又分为value iterationn和policy iteration。对于value iteration,先进行policy update,将状态价值迭代至收敛即最优并更新策略,再进行value update,根据更新后的策略来更新状态价值。
对于policy iteration,先进行policy evalution,一般利用蒙特卡罗方法MC和时序差分方法TD(SARSA,Q-Learning)来求出策略的状态价值,再进行policy improvement对当前策略进行更新,一般都会使用ε-贪婪探索
policy-based:直接基于策略更新,将策略看成函数,最优策略就是一个使用使得损失函数最小的参数的函数,一般使用策略梯度更新。常见算法:REINFORCE,Actor-Critic,TRPO,PPO,TD3等
off-online and on-line:
off-online:学习的策略和采样的行为策略不一样,高效(经验池回放,重复性采样)但分布不一致(需要重要性采样),有Q-Learning,DQN
on-online:学习的策略和采样的行为策略一样,稳定但信息利用率低,有SARSA,REINFORCE,PPO
针对四足的强化学习项目
项目框架
基于现成框架,可以更好进行二次开发
- legged_gym基于Isaac_Gym,提供四足机器人的环境,包括模拟和真实环境
- rsl_rl基于legged_gym,提供强化学习算法的实现,包括PPO,TRPO,TD3等
强化学习算法
目前大都基于PPO,TRPO的Actor-Critic框架
学习感受
- 对于强化学习的理论知识要求不高,只需要知道大体的算法原理及其基本特点,尤其是PPO之类的AC算法
- 需要学习对应的强化学习框架,目前比较流行的框架是legged_gym和rsl_rl(基于Isaac_gym),可以去尝试跑通开源项目,理清框架,方便进行二次开发