强化学习Reinforcement Learning

什么是强化学习?

在这里插入图片描述
强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是平级关系。但强化学习和监督学习、无监督学习 最大的不同就是不需要大量的“数据喂养”。而是通过自己不停的尝试来学会某些技能。
强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。
强化学习的主要元素:
在这里插入图片描述
在这里插入图片描述

强化学习的主流算法

在这里插入图片描述

免模型学习(Model-Free) vs 有模型学习(Model-Based)

这2个分类的重要差异是:智能体是否完整了解或学习到所在环境的模型

有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如果模型跟真实世界不一致,那么在实际使用场景下会表现的不好。

免模型学习(Model-Free)放弃了模型学习,在效率上不如前者,但是这种方式更加容易实现,也容易在真实场景下调整到很好的状态。所以免模型学习方法更受欢迎。

Model-Free 学习对象

根据学习的对象可分为Policy Optimization(对象是策略),和Q-Learning(对象是Q(s,a))的。

(1) Policy Optimization

基于策略的强化学习就是参数化策略本身,获得策略函数πθ(a|s)。 我们训练策略函数的目标是获得最大奖励,因此优化策略函数就是优化目标函数J(πθ).
Policy Optimization 通常是on-policy的,也就是每次更新策略采用最新策略产生的数据。

(2) Q-Learning

Q-Learning 就是通过学习参数化Q函数Qθ(s,a)从而得* 到最优Q*(s,a)的。
典型地方法是优化基于Bellman方程的目标函数。
Q-Learning 通常是Off-Policy的,这就意味着训练的数据可以是训练期间任意时刻的数据。

Policy Optimization和Q-Learning 的权衡与融合

Policy Optimization直接了当地优化想要的对象(策略),因此Policy Optimization稳定性和可信度都较好。

Q-learning是采用训练 Q θ Q_θ Qθ的方式间接优化策略,会遇到不稳定的情况。但是Q-learning的优点是利用数据的效率较高(Off-policy的原因?)。

Policy Optimization和Q-Learning并非水火不相容,有些算法就融合和平衡了两者的优缺点:

DDPG, 同时学出一个确定性策略和Q函数,并用他们互相优化。

SAC 是一种变体,它使用随机策略、熵正则化和一些其它技巧来稳定学习,同时在 benchmarks 上获得比 DDPG 更高的分数

Model-Based RL学习对象

Model-Based RL不像Model-Free RL那样容易分类,很多方法都有交叉。

这种最基础的方法,从来不显示的表示策略,而是纯使用规划技术来选择行动,例如 模型预测控制 (model-predictive control, MPC)。在模型预测控制中,智能体每次观察环境的时候,都会计算得到一个对于当前模型最优的规划,这里的规划指的是未来一个固定时间段内,智能体会采取的所有行动(通过学习值函数,规划算法可能会考虑到超出范围的未来奖励)。智能体先执行规划的第一个行动,然后立即舍弃规划的剩余部分。每次准备和环境进行互动时,它会计算出一个新的规划,从而避免执行小于规划范围的规划给出的行动。

MBMF 在一些深度强化学习的标准基准任务上,基于学习到的环境模型进行模型预测控制

(1) 纯动态规划(Pure Planning)

Pure Planning 是一个基础的算法,其策略并不显示的表达出来,而是使用规划技术来选择行动。比如 模型预测控制 (model-predictive control, MPC)。
在MPC中:

  • 第一步:Agent首先观察环境,并通过模型预测出所有可以行动的路径(路径包含多连续个行动)。
  • 第二步:Agent执行规划的第一个行动,然后立即舍去规划剩余部分。
  • 第三步:重复第一、二步。

例如,MBMF 在一些深度强化学习的标准基准任务上,基于学习到的环境模型进行模型预测控制

(2) Expert Iteration(专家迭代)

纯规划的后来之作,使用、学习策略的显示表示形式: \pi_{\theta}(a|s) 。智能体在模型中应用了一种规划算法,类似蒙特卡洛树搜索(Monte Carlo Tree Search),通过对当前策略进行采样生成规划的候选行为。这种算法得到的行动比策略本身生成的要好,所以相对于策略来说,它是“专家”。随后更新策略,以产生更类似于规划算法输出的行动。

ExIt 算法用这种算法训练深层神经网络来玩 Hex

AlphaZero 这种方法的另一个例子

(3) 免模型方法的数据增强

这个方法是将模型采样中生成的数据用来训练Model-Free的策略或者Q函数。训练的数据可以单纯是模型采样生成的,也可以是真实经历的数据与模型采样数据的结合。

MBVE 用假数据增加真实经验

World Models 全部用假数据来训练智能体,所以被称为:“在梦里训练”

(4) 将规划嵌入策略

该算法是将规划(Planning)嵌入策略中作为策略的一个子程序,这样在用任意Model-Free训练的过程中,如何和何时规划也被学习到了。这个算法的优点就是当模型与现实环境存在较大的偏差,策略也可以选择忽略规划。

附录:

  • 部分算法全名及论文
    A2C / A3C (Asynchronous Advantage Actor-Critic): Mnih et al, 2016
    PPO (Proximal Policy Optimization): Schulman et al, 2017
    TRPO (Trust Region Policy Optimization): Schulman et al, 2015

    DDPG (Deep Deterministic Policy Gradient): Lillicrap et al, 2015
    TD3 (Twin Delayed DDPG): Fujimoto et al, 2018
    SAC (Soft Actor-Critic): Haarnoja et al, 2018

    DQN (Deep Q-Networks): Mnih et al, 2013
    C51 (Categorical 51-Atom DQN): Bellemare et al, 2017
    QR-DQN (Quantile Regression DQN): Dabney et al, 2017
    HER (Hindsight Experience Replay): Andrychowicz et al, 2017

    World Models: Ha and Schmidhuber, 2018
    I2A (Imagination-Augmented Agents): Weber et al, 2017
    MBMF (Model-Based RL with Model-Free Fine-Tuning): Nagabandi et al, 2017
    MBVE (Model-Based Value Expansion): Feinberg et al, 2018

    AlphaZero: Silver et al, 2017

  • 除了免模型学习和有模型学习的分类外,强化学习还有其他几种分类方式:

    • 基于概率 VS 基于价值
    • 回合更新 VS 单步更新
    • 在线学习 VS 离线学习
      详细请查看《强化学习方法汇总

参考:
强化学习-Reinforcement learning | RL
强化学习——强化学习的算法分类

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值