强化学习——强化学习的算法分类
from:
回顾了强化学习的核⼼概念,这⾥继续通过Open AI 的 项⽬总结强化学习(RL)的算法,通过分类和对⽐的⽅法系统介绍强化学习的算法。
1. 算法分类
现代强化学习算法分类
---图⽚来⾃---
由于强化学习是⼀个更新速度⾮常快的领域,所以准确地全⾯地分类是相当困难的,Spinning up 项⽬组给出的这个分类虽然并不全⾯,但是对初学者来说是⾮常有⽤了。
可以看出强化学习可以分为Model-Free(⽆模型的) 和 Model-based(有模型的) 两⼤类。Model-Free ⼜分成基于Policy Optimization(策略优化)和Q-learning。Model-based ⼜分为模型学习(Learn the Model)和给定模型(Given the Model)两⼤类。部分算法的全名和论⽂链接见⽂末附录
2. Model-Free vs Model-Based
在之前的也阐述过两者的区别,当时主要是以引⼊Model-based的算法的⾓度简略地⽐较了两者的优劣。Spinning up 项⽬组也对两者的区别和优劣做了系统的⽐较。
两个算法的区别主要是Agent是否知道或要计算出环境的模型 。
拥有模型的好处是:Agent可以根据模型看到会发⽣什么,并提前规划(Planning)⾏动路径。
拥有模型的坏处是,真实模型和学习到带模型是有误差的,这种误差会导致Agent虽然在模型中表现很好,但是在真实环境中可能打不到预期结果。
Model-Free的算法往往更易于实现和调整,截⽌到⽬前(2018年9⽉),Model-Free的算法更受欢迎。
3. 要学习什么(学习对象)
RL学习的内容⽆⾮是如下⼏个⽅⾯
策略,不管是随机的还是确定性的⾏动价值函数(Q (s,a))值函数(V(s))环境模型
3.1. Model-Free 学习对象
Spinning Up 项⽬组就是根据学习的对象分成Policy Optimization(对象是策略),和Q-Learning(对象是Q(s,a))的。
(1) Policy Optimization
基于策略的强化学习就是参数化策略本⾝,获得策略函数πθ(a|s), 我们训练策略函数的⽬标是什么呢?是获得最⼤奖励。优化策略函数就是优化⽬标函数可以定义为J(πθ).
Policy Optimization 通常是on-policy的,也就是每次更新策略采⽤最新策略产⽣的数据。Policy Optimization的经典例⼦包含,和。(2) Q-Learning
Q-Learning 就是通过学习参数化Q函数Qθ(s,a)从⽽得* 到最优Q*(s,a)的。典型地⽅法是优化基于Bellman⽅程的⽬标函数。
Q-Learning 通常是Off-Policy的,这就意味着训练的数据可以是训练期间任意时刻的数据。Q-Learning 的经典例⼦包含和。
3.2. Policy Optimization和Q-Learning 的权衡与融合
Policy Optimization直接了当地优化你想要的对象(策略),因此Policy Optimization稳定性和可信度都较好,⽽Q-learning是采⽤训练Qθ的⽅式间接优化策略,会遇到不稳定的情况。但是Q-learning的优点是利⽤数据的效率较⾼(Off-policy的原因?)Policy Optimization和Q-Learning并⾮⽔⽕不相容,有些算法就融合和平衡了两者的优缺点:
, 同时学出⼀个确定性策略和Q函数,并⽤他们互相优化。
是⼀种变体,它使⽤随机策略、熵正则化和⼀些其它技巧来稳定学习,同时在 benchmarks 上获得⽐ DDPG 更⾼的分数。
4. Model-Based RL学习对象
Model-Based RL不像Model-Free RL那样容易分类,很多⽅法都有交叉。Spinning up 项⽬组给出了⼏个例⼦,但他们也声称这些例⼦是⽆法全部覆盖Model-Based强化学习的,这些例⼦中模型要么是已知给定的,要么是通过学习得到的。
4.1 纯动态规划(Pure Planning)
Pure Planning 是⼀个基础的算法,其策略并不显⽰的表达出来,⽽是使⽤规划技术来选择⾏动。⽐如 (model-predictive control, MPC)。在MPC中:
第⼀步:Agent⾸先观察环境,并通过模型预测出所有可以⾏动的路径(路径包含多连续个⾏动)。第⼆步:Agent执⾏规划的第⼀个⾏动,然后⽴即舍去规划剩余部分。第三步:重复第⼀、⼆步。
例如, 在⼀些深度强化学习的标准基准任务上,基于学习到的环境模型进⾏模型预测控制
4.2 Expert Iteration(专家迭代)
这个算法是Pure Planing 的升级版,它将策略显⽰地表达出来,并通过学习得到这个最优策略π*θ(a|s)
Agent⽤规划算法(类似于MT树搜索)在模型中通过采样⽣成候选⾏动。通过采样⽣成的⾏动⽐单纯通过策略本⾝⽣成的⾏动要好,所以它是\"专家\"。通过\"专家\"指导,迭代更新并优化策略。
算法⽤这种算法训练深层神经⽹络来玩 Hex 这种⽅法的另⼀个例⼦
4.3 免模型⽅法的数据增强
这个⽅法是将模型采样中⽣成的数据⽤来训练Model-Free的策略或者Q函数。训练的数据可以单纯是模型采样⽣成的,也可以是真实经历的数据与模型采样数据的结合。
⽤假数据增加真实经验
全部⽤假数据来训练智能体,所以被称为:“在梦⾥训练”
4.4 将规划嵌⼊策略
该算法是将规划(Planning)嵌⼊策略中作为策略的⼀个⼦程序,这样在⽤任意Model-Free训练的过程中,如何和何时规划也被学习到了。这个算法的优点就是当模型与现实环境存在较⼤的偏差,策略也可以选择忽略规划。
更多例⼦,参见
附录:部分算法全名及论⽂链接
(Asynchronous Advantage Actor-Critic): Mnih et al, 2016 (Proximal Policy Optimization): Schulman et al, 2017 (Trust Region Policy Optimization): Schulman et al, 2015 (Deep Deterministic Policy Gradient): Lillicrap et al, 2015 (Twin Delayed DDPG): Fujimoto et al, 2018 (Soft Actor-Critic): Haarnoja et al, 2018 (Deep Q-Networks): Mnih et al, 2013
(Categorical 51-Atom DQN): Bellemare et al, 2017 (Quantile Regression DQN): Dabney et al, 2017
(Hindsight Experience Replay): Andrychowicz et al, 2017: Ha and Schmidhuber, 2018
(Imagination-Augmented Agents): Weber et al, 2017
(Model-Based RL with Model-Free Fine-Tuning): Nagabandi et al, 2017 (Model-Based Value Expansion): Feinberg et al, 2018: Silver et al, 2017
因篇幅问题不能全部显示,请点此查看更多更全内容