论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?

  • 标题:RvS: What is Essential for Offline RL via Supervised Learning?
  • 文章链接:RvS: What is Essential for Offline RL via Supervised Learning?
  • 发表:ICLR 2022
  • 领域:离线强化学习(offline/batch RL)—— Hindsight 监督思想
  • 代码:scottemmons/rvs

  • 摘要:最近的研究表明,仅仅使用不涉及 TD Learning 的监督学习,就能有效地解决 Offline RL 问题。(我们不禁要问)这在什么时候成立,哪些算法组件是必要的?通过大量实验,我们归结出 “针对 Offline RL 的监督学习” 的基本元素。在我们考虑的每一个环境套件中,简单地使用两层前馈 MLP 网络进行最大似然学习,就可以与基于 TD Learning 或 transformer 序列建模的更复杂方法给出的 SOTA 结果相竞争。(我们发现)仔细选择模型容量(如通过正则化或架构)和选择哪些信息作为条件(如目标或奖励)对性能至关重要。我们将这种方式定义为 RvS 学习(Offline RL via Supervised Learning),这些见解为从业者 “通过监督学习进行(离线)强化学习” 提供了一个实地指南。我们还探讨了现有的 RvS 方法的局限性,这些方法在随机数据上相对较弱,并提出了一些有待解决的问题

文章目录

  • 1. Offline RL 背景
  • 2. 本文方法
    • 2.1 动机
    • 2.2 方法
  • 3. 实验
    • 3.1 模型容量与性能
      • 3.1.1 隐层尺寸和 dropout
      • 3.1.2 输出层分布
    • 3.2 验证损失失效
    • 3.3 次优轨迹的拼接能力
    • 3.4 Condition 达成能力
  • 4. 总结

1. Offline RL 背景

  • Offline RL 是这样一种问题设定:Learner 可以获取由一批 episodes 或 transitions 构成的固定交互数据集,要求 Learner 直接利用它训练得到一个好的策略,而且禁止 Learner 和环境进行任何交互,示意图如下
    在这里插入图片描述
    关于 Offline RL 的详细介绍,请参考 Offline/Batch RL简介
  • Offline RL 是近年来 RL 领域非常火的一个方向,下图显示了 2019 年以来该领域的重要工作,本文出现在 21 年
    在这里插入图片描述

2. 本文方法

2.1 动机

  • 过去的 Model-free Offline RL 方法基本可以分成 RL-based 和 IL-based 两类
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第1张图片

    1. RL-based 方法大都涉及 TD learning,它们在各种约束下估计价值函数以避免外推错误问题(详见BCQ论文)。通过价值函数作为媒介,这类方法的优势在于通常能学到超过最优行为策略的性能(可以做次优轨迹拼接)
    2. IL-based 方法更偏向监督学习,早期方法大多有 BC 的影子,基本思想就是挑出 Offline Dataset 里好的 transition 进行行为克隆,但这种 Naive 的方法性能上限基本就是最优的行为策略了。晚一点的,如最近的一系列基于 GPT 模型的方法引入了来自 Hindsight Experience Replay(HER)论文的 Hindsight 思想,使得超越最优行为策略成为可能(可以做次优轨迹拼接)。作者把这类方法称为 RvS 方法(Offline RL via Supervised Learning)

      Note:Hindsight 原本适用于 Goal-conditioned RL,当显式地考虑 Agent 目标时,“目标A” 下的次优轨迹可以理解为 “Agent 真实达成目标” 下的最优轨迹,所以我们直接对目标做 relabel 就能将这条次优轨迹变形为 Goal-conditioned 情况下的最优轨迹了,这个思路很像自监督学习

  • 本文是一篇实证性质文章,它不是要提出一个新的 RvS 算法,而是针对引入 Hindsight 思想的 IL-based 方法,通过大量实验分析这类方法的特性,包括网络结构等设计决策,性能和局限性等。先说结论,作者发现

    1. 通过仔细调整模型容量,使用简单的 MLP 网络就能得到和复杂模型 SOTA 性能相媲美的结果。特别是用状态作为 goal 时,次优轨迹拼接的效果更好
    2. 监督学习通常使用验证损失来优化参数,但是作者发现在 Offline RL 数据集上使用时,验证损失指标并不可靠,调参困难是这类方法的局限性
    3. 使用 “未来到达状态” 作为 goal 时,即使使用纯随机收集的数据集,也能很好地完成 goal-conditioned 任务
    4. 使用 “即时 reward” 作为 goal 时,策略无法很好地实现目标 reward 的插值,因此方法性能对目标变量的设置很敏感,这也是一个问题

2.2 方法

  • 因为使用 Hindsight 思想,必须引入一个 Goal,根据这个目标的不同选择,文章对 “以状态作为 goal”“以每步平均 reward 作为 goal” 的两类 RvS 框架展开实验。如下图所示
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第2张图片
    两类方法唯一的区别就是对 Offline 轨迹 τ \tau τ relabel 的 Goal ω \omega ω 不同,分别用以下两个公式生成
    在这里插入图片描述
    我觉得这里 reward-conditioned (RvS-R) 那个式子写错了,我看文章意思和作者代码,这里都是以平均每步 reward 作为 goal,所以应该是 f ( ω ∣ τ t : H ) = 1 H − t + 1 ∑ t ′ = t H r ( s t ′ , a t ′ ) f\left(\omega \mid \tau_{t: H}\right)=\frac{1}{H-t+1} \sum_{t^{\prime}=t}^{H} r(s_{t^{\prime}}, a_{t^{\prime}}) f(ωτt:H)=Ht+11t=tHr(st,at) 这样(如果读者有不同看法欢迎评论区讨论)
    • 另外,作者特别说明 reward-conditioned 中 H H H 应该设置为最长轨迹长度,相当于对早停止的轨迹最后补一些 0 reward 的 noop 动作。这种操作是有一定道理的,因为这种 “归一化” 能消除轨迹长度导致的影响。
    • 举例来说,考虑尽在到达目标状态 D 时获取 reward 的环境,现有序列
      s A   a A   s B   a B   s C   a C   s D s A   a A   s B   a B   s C   a C s E   a E s F   a F   s D \begin{aligned} &s_A\space a_A \space s_B \space a_B \space s_C \space a_C \space s_D \\ &s_A\space a_A \space s_B \space a_B \space s_C \space a_C s_E\space a_E s_F\space a_F \space s_D \end{aligned} sA aA sB aB sC aC sDsA aA sB aB sC aCsE aEsF aF sD 这两条轨迹的 return 是一样的,如果不统一按照长轨迹长度计算平均 reward,那么两条轨迹在 s A s_A sA 处选择动作 a A a_A aA 的预期收益 reward 就不相等了。注意这时我们将 transition 样本 ( a A ∣ s A ) (a_A|s_A) (aAsA) relabel 成 ( a A ∣ s A , ω A ) (a_A|s_A, \omega_A) (aAsA,ωA),从语义上解释是 “在 s A s_A sA 位置,预期获取 ω A \omega_A ωA 的 reward,应该采取动作 s A s_A sA”,所以在 s A , a A s_A, a_A sA,aA 一致时,对应的 ω A \omega_A ωA 也应该是相同的
  • 下图以 goal-conditioned (RvS-G) 为例说明如何进行 relabel,并且给出了网络结构。注意为了分析关键因素,作者抛弃了所有复杂的网络结构,只使用了最朴素的两层 MLP 网络,注意可以通过 fc 层尺寸和 dropout 控制容量
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第3张图片
  • 优化目标就是最标准的监督学习目标,类似 BC 那样搞个策略网络,对 relabel 的样本做最大似然(等价于最小化交叉熵)
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第4张图片
  • 下面给出伪代码
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第5张图片
    方法上整体都是非常简单的

3. 实验

  • 本节对 2.1 节最后得到的结论进行进一步说明,相比方法,这篇的重点在于实验。先简单看下用到的环境
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第6张图片

3.1 模型容量与性能

  • 这里需要补充一点:要做好监督学习,关键就是使得模型容量(模型复杂度)和样本复杂度相匹配,详情说明请参考 从模型容量的视角看监督学习。作者在这里通过模型结构dropout 参数以及输出分布设置来控制模型容量,发现确实只要模型容量和样本复杂度匹配就能得到和 SOTA 相媲美的结果,说明这个规律在 Offline RL 设置中同样成立

3.1.1 隐层尺寸和 dropout

  • 作者通过 fc 层尺寸和 dropout 参数设置来控制容量,观察性能变化
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第7张图片
  • 两个发现
    1. 和过去的方法相比,最优模型的容量更大。这是好理解的,因为过去我们只要对最优策略进行建模,而现在要对所有质量的策略进行建模
    2. 引入正则化对模型性能的影响可好可坏,这也可以从容量角度解释
      1. 如果原本模型有点过拟合,那么引入正则化减少模型容量可以提高性能,但是引入得过多导致欠拟合的话,性能可能没什么变化甚至会下降
      2. 如果原本模型就欠拟合,那么引入正则化减少模型容量会降低性能

3.1.2 输出层分布

  • 过去的一些方法会把策略建模为高斯分布,策略网络只要输出分布的均值和方差。作者尝试把策略建模为分类分布,这种分布更复杂,能提升模型的容量。实验效果如下
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第8张图片
  • 两个发现
    1. 使用更复杂的分布可以提升性能,这可能是因为复杂的输出分布提升了模型容量,使其和数据复杂度更匹配了
    2. 过去的方法使用更简单的高斯分布但取得了一样良好的性能,作者认为这是因为过去的方法对样本进行了重加权来强调一些关键样本,这种重加权可以理解为 “降低数据复杂度”,是从另一个角度来匹配了模型复杂度和数据复杂度

3.2 验证损失失效

  • 监督学习中通常使用验证集损失作为优化指标,但这个指标在 Offline RL 设定下失效了,如下图所示
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第9张图片
    可见,虽然验证损失仍然和性能相关,但这种相关性非常弱,同一个验证损失下,模型性能可以有高达 1.4 倍的差异
  • 验证损失的失效导致调参非常困难,作者给出一个调参指南
    在这里插入图片描述

3.3 次优轨迹的拼接能力

  • Offline RL 设定下,模型对次优轨迹的拼接能力直接绝对了其性能上限,这种能力越强的模型,就能超过最优行为策略越多。实验结果如下所示
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第10张图片
    这两个环境都是对次优轨迹拼接要求比较高的环境,可见以 “未来可达状态” 作为目标的 RvS-G 方法性能最佳(红圈),说明其拼接轨迹的能力很强,这是个值得留意的结果,相比而言以 “即时 reward” 作为目标的 RvS-R 方法表现不太好
  • 在 Gym 的几个经典连续控制任务上,由于没有明确的 “状态划分”,无法使用 RvS-G 方法,RvS-R 方法未能超过传统 RL-based 的 TD learning 方法(红圈),只有在专家数据多的时候得到 SOTA
    论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第11张图片
    这说明 RvS-R 方法从次优 reward 数据泛化到高 reward 的好动作的能力较差,不及 TD Learning 那一套,这也可以理解,因为涉及价值估计,简单的监督模型缺乏针对性的归纳偏置,而这几个环境作为经典实验环境也被传统方法优化得比较好了

3.4 Condition 达成能力

  • 本节分析 RvS 模型对于到达指定 goal 的能力,这体现的是 goal 的泛化性
    1. 针对 RvS-G 模型,使用纯随机行为策略收集离线数据,GCSL 环境上实验结果如下
      论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第12张图片
      可见和过去的方法相媲美,说明仔细调优的 RvS-G 模型就能良好地完成 “到达指定状态” 的目标
    2. 针对 RvS-R 模型,使用混合和次优数据和专家数据的数据集,实验结果如下
      论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning?_第13张图片
      可见 RvS-R 模型未能成功地对目标 reward 进行插值,真正实现的 return 结果显示出基于数据集的跳变,就好像 RvS 在分别模仿数据集的两个子集。这说明 RvS-R 方法对条件设置可能非常敏感,在 target return 为 100 的位置附近,稍微变动一点性能就差很多。这也是一个缺点

4. 总结

  • 只要仔细设计网络宽度和深度,使模型复杂度合适,那么简单的 MLP 也能在各种问题中到达和复杂网络结构一样的效果,本文在 Offline RL 领域再次验证了这一点。这篇文章启发了我对监督学习中模型容量/复杂度和性能关系的进一步思考,具体内容我记录在 从模型容量的视角看监督学习 这篇文章中,相信也能给您带来一些启发
  • 以 “未来到达状态” 作为目标,监督学习方法可以较好地实现次优轨迹拼接,而以 “即时reward” 作为监督目标,可能因为缺乏 Bellman equation 带来的归纳偏置,无法得到很好的性能
  • 通过监督学习做 Offline RL 时,验证损失不能作为可靠的调参指标
  • 基于 Hindsight 思想做监督学习解决 Offline RL 问题时,模型性能可能关于条件变量取值很敏感,需要小心设计

你可能感兴趣的:(#,论文理解,离线强化学习,Offline,RL,RvS,监督学习)