图解 RL/IL 问题范式(On-Policy、Off-policy、Offline/Batch、IL...)

因为想申请 CSDN 博客认证需要一定的粉丝量,而我写了五年博客才 700 多粉丝,本文开启关注才可阅读全文,很抱歉影响您的阅读体验


1. 从 Online RL 到 Offline/Batch RL

1.1 Online RL

  • 传统RL是online的,agent一边和环境交互生成轨迹样本数据,一边使用这些数据优化探索策略 π \pi π

  • 这个过程中,如果交互策略和最终学到的策略是相同的,则称为 on-policy,示意图如下
    在这里插入图片描述

  • on-policy 方法具循环依赖(价值估计->策略->transition->价值估计)、训练数据相关性强(i.i.d 性质差)、样本利用率低(样本仅使用一次)三大问题。更常见的情况是:用于和环境交互生成轨迹的策略(行动策略) π b \pi_b πb 和最终得到的策略(目标策略) π t \pi_t πt 是不同的,这类方法称为 off-policy 方法。off-policy 设定破除了对优化数据来源的限制,过去的 transition 数据可以存下来重复利用,这样可以同时缓解 on-policy 方法的三个问题,于是就出现了 replay buffer 机制和 experience replay 经验重放的概念。示意图如下
    在这里插入图片描述

    注意,off-policy 设定中,策略更新还是 online 地进行,即每步交互都从 replay buffer 中抽取若干 transition 更新价值/策略

1.2 Imitation Learning (IL)

  • 强化学习奖励函数设置困难,样本效率低,于是有了模仿学习,其问题设定中取消了奖励函数,增加了专家。专家依照其策略 π E \pi_E πE 和环境交互,给出高质量的示教轨迹数据,然后学习者使用这些数据优化自身策略 π L \pi_L πL学习者也可以和环境交互采集新的轨迹数据,但是不能获取任何形式的奖励信号。注意,我们通常将专家策略视为此环境下唯一的最优策略,因此专家只有一个。示意图如下
    在这里插入图片描述

1.3 Offline/Batch RL

  • Off-policy RL 通过增加 replay buffer 提升样本效率,Offline RL 则更加激进,它禁止和环境进行任何交互,直接通过固定的数据集来训练得到一个好的策略,相当于把 “探索” 和 “利用” 完全分开了。在更加 general 的情况下,我们对于给出示范数据的策略不做任何要求,示意图如下
    在这里插入图片描述
    可以从两个角度理解它

    1. 从 online RL 角度看,相当于只能用某时刻的 replay buffer 训练策略,禁止交互补充新数据
    2. 从 IL 的角度看,相当于禁止 Learner 和环境交互,且获取的示范数据不一定来自专家(可以来自任意策略,包括随机策略和非平稳策略),可以来自多个策略,也不一定是完整轨迹(一堆离散的 transition 即可)
  • Offline/Batch RL 的任务阶段图如下
    在这里插入图片描述

  • Offline/Batch RL 的优势和劣势

    1. 优势:最大限度利用交互数据,样本效率较高适用于不能直接用训练中的策略去收集数据的场景(这个主要是从安全角度考虑,比如自动驾驶任务,只能使用人类收集的固定数据集)
    2. 劣势:数据集限制了性能上限,准确地讲,数据集中状态分布对性能的影响非常大。这和模仿学习中的分布便宜 & 级联错误问题非常相似,如果数据无法覆盖到状态空间中的一些重要部分(比如目标状态附近的状态),Learner 无法对这些区域的状态转移有大致的了解,就很难学到一个好的策略

1.4 Growing Offline/Batch RL

  • 注意到,online RL 相当于任意两次策略更新之间都进行一次交互数据采集,offline RL 相当于任意两次策略更新之间进行无限多次交互数据采集,因此自然地得到另一种介于二者之间的问题设定,即任意两次策略更新之间都进行若干次交互数据采集,这称为 Growing batch RL。和 batch RL 相比,这时允许增加交互数据,而且学习过程会提升收集交互数据的策略。可见,这种问题设定和原先的 online on-policy RL 十分接近,区别在于 “探索” 的粒度变粗了,且策略更新是 offline/batch 的形式。示意图如下
    在这里插入图片描述
    这种 Growing batch RL 也可以看作数据分阶段扩增的 batch RL,也就是说它可以实现为以下两个过程的交替迭代

    1. 根据策略 π \pi π 收集收集一批交互数据,并入交互数据集中
    2. 在整个交互数据集上使用 batch RL 方法,提升策略 π \pi π
  • Growing offline/batch RL 的任务阶段图如下
    在这里插入图片描述
    可见,通过引入 “探索” 部分,这种方法避免了数据分布导致的问题,因此在研究中比较热门。

2. RL 框架分类

  • 根据 Batch reinforcement learning 这篇文章,RL 框架主要可以分成以下几类

    分类允许交互区分目标策略重用数据更新策略使用数据量更新策略后丢弃数据
    Online (On-policy)××single transition
    Online (Off-policy)mini-batch×
    Semi-batch×mini-batch
    Growing-batch-entire-batch×
    Offline/batch×-entire-batch×
  • 分类图如下
    在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端FFF

所有博文免费阅读,求打赏鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值