离线强化学习(Offline RL)系列3: (算法篇) Onestep 算法详解与实现

[更新记录]

论文信息: David Brandfonbrener, William F. Whitney, Rajesh Ranganath, Joan Bruna: “Offline RL Without Off-Policy Evaluation”, 2021; arXiv:2106.08909.

本论文由纽约大学(NYU)的David Brandfonbrener以第一作者提出,发表在NeurIPS 2021 顶会上【Accept (Spotlight)】,接收意见: While the method is very simple, the message is clear and the authors have done excellent job on concise and thorough writing and experimentation. As offline RL + D4RL benchmark are becoming mainstream, such work can likely guide the community to explore more impactful research *directions.

摘要:迭代方法(Iterative)相对较差主要是由于在执行off-policy评估时固有的高方差的结果,且因这些估计的重复优化策略而放大,本文提出的基于On-policy的Onestep方法通过一步约束/规则化的策略改进,解决了基于off-policy的multi-step/interative中遇到的iterative error exploitation等问题,在连续(continous)任务达到了SOTA的效果。

1. 问题 & Preliminaries

1.1 Preliminaries

经典的BCQ、CQL、BRAC、CRR、AWR等算法都依赖off-policy去评估学习Critic,通过对这些算法进行分析,发现效果不佳的原因大多是由于对 Q Q Q 函数的错误估计所导致,即使在论文 IQL中,也对OOD之外的state-action不例外,因此对基于Off-policy的迭代算法总结得出如下两个问题:

  • Distribution shift: 学习策略与行为策略之间
  • iterative error exploitation:策略优化引入了偏差,而动态规划则在整个状态空间中传播了这种偏差。 之前在BCQ中提出了外延误差。

目前经典的解决方法主要包括以下三种:

  • policy constraints/regularization: 其目标通过学习参数让行为策略和学习策略how close, 本质是iterative & offpolicy, 比如BCQ、CQL等
  • modifications of imitation learning:本质是iterative, 如ABM、CRR、BAIL等
  • Q regularization: 防止学习策略选择未知动作方法是加入某种形式的正规化,以鼓励学习策略呆在行为策略附近。比如BRAC、CQL、R_BVE等

1.2 迭代算法的问题

迭代会让误差不断累积放大,之前在Double Q learning中说明过这个问题,作者在这里重新分析了该过程

在论文Error Propagation for API中有明确的定义:

那么有没有办法避免这种问题呢?作者提出只要数据集足够大、行为策略有一个好的状态空间可以确保收敛就都可以的。

但这种很难满足,于是作者提出了Onestep RL方法 (其实Caglar Gulcehre等人之前就研究过Onestep算法在离散动作上的应用,只不过他们称为:行为值估计(Regularized Behavior Value Estimation,R_BVE)), 作者在此处提出的Onestep主要是去解决continous任务,这里面最大的不同在于:

  • 连续任务中存在actor-critic的方法,而在离散任务中,策略改进可以 Q Q Q 函数精确地计算出来。
  • Caglar Gulcehre等人将迭代(iterative)算法的性能不佳归因于“高估(overestimate)”,而作者重新定义和区分了distribution shift和迭代iterative误差利用的问题,这些问题结合起来会导致高估。

2. 理论原理方法

在sutton的圣经书中明确解释了1-step和n-step的含义,包含了n-step sarsa等算法的执行过程,在这里多了一个multi-step,这里首先阐述一下One-step、multi-step以及n-step之间的关系,

2.1 One-step和Multi-step区别

从图中我们可以明显看到,onestep在safe policy范围内一次就可以,而multi-step则通过不断地iterative直到最优,这里补充一张R-BVE论文中关于该概念的阐述(更加清晰),后文将从代码角度分析。接着我们看作者提出的template。

2.2 原理 and 算法模板

在这里,作者给结合2.1 中第二幅图得出了一个通用的算法模板(algorithmic template),如下所示:

这里有几个关键变量: K K K E \mathcal{E} E 以及 I \mathcal{I} I

2.2.1 One-step

如果 K = 1 K=1 K=1 ,我们就认为是Onestep 操作, 同时通过最大似然法(maximum
likelihood)来学习 β ^ \hat{\beta} β^ ,并训练策略去估计 Q β Q^{\beta} Qβ (备注:作者解释这个时候可以用任意策略去更新 π 1 \pi_{1} π1 ,且不涉及任何off-policy操作)

2.2.2 Multi-step

如果 K > 1 K>1 K>1 , 我们成称之为 Multi-step 操作, 由于 β \beta β 是从数据 D N D_{N} DN 中收集,所以evaluation operator必须去评估off-policy, 且当 K > 2 K>2 K>2 时,评估策略 π k ≠ β \pi_{k} \neq \beta πk=β ,每次在估计和改进步骤中去训练直至收敛性。

2.2.3 Iterative actor-critic

Actor-critic 方法看起来有点像Multi-step算法,但不会在每次迭代时训练收敛,而是使用更大的 K K K 。这里每次迭代都包含一个更新 Q Q Q 估计的梯度step和一个改进 Q Q Q 估计值的梯度步骤策略。 由于所有evaluation和improvement operator都是基于梯度的,因此该算法可以采用与multi-step算法相同的评估和改进operator。

2.3 策略优化操作符( Policy improvement Operators)

2.3.1 Behavior clone

π ← β ^ \pi \gets \hat{\beta} πβ^

2.3.2 Constraint policy updates

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@RichardWang

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值