论文分享:The In-Sample Softmax for Offline …
本文分享的是一篇ICLR 2023的投稿,目前得分8 6 8。该论文主要关注离线RL算法中support constraint的做法,通过定义in-sample softmax操作符,结合最大熵强化学习框架,实现一种具有理论保证的support constraint,达到比IQL要好的效果。Motivation
众所周知,Offline RL中最关键的issue是外推误差,也即对于OOD的数据可能会有较大的估计误差,而这个估计误差随着Bootstrapping的过程会被不断传播,导致对整体估值造成影响。为了解决这一问题,现有的算法大致可以分为两类:
1. 策略约束:约束学习的策略和数据集策略相近
2. 悲观值估计:学习悲观的值估计,然后在悲观值估计上做bootstrap,从值估计上规避对OOD data的高估
其中,策略约束的做法又可以分为两类:
1. 约束分布相似,如通过最小化KL散度,这种做法保证了学习到的策略在分布上是相似的。
2. 约束support匹配,也即确保学习过程产生的action是在数据集中相应的support set上的,保证了学习到的action都是数据集中的action。(constrain the set of actions considered for bootstrapping to the support of the dataset D)
显然,support constraint的做法更加细粒度,而分布约束的做法仍然会存在用到OOD action、或者是无法逼近一个多峰分布的行为策略等问题。因此,本论文就关注于support constraint的做法。
作者提到,support constraint的做法可以追溯到BCQ算法, 其使用了一个生成模型来估计和sample 行为策略所产生的action,以此来实现学习到的动作和数据集support相匹配。但显然,BCQ这种做法精度也不高,并且也没有理论保证。较新的一篇Implicit Q-learning (IQL)算法,通过定义in-sample max操作符,来实现在in-sample(也即满足support constraint)前提下的RL学习。但是,IQL仍然很依赖于action distribution,且没有理论保证。
因此,本文就提出了in-sample softmax,在最大熵强化学习理论框架基础上,求解了最优策略的闭式解,并且给出了理论保证。
Background
这里主要介绍离线强化学习中基于策略约束(或support约束)的算法。
基于策略约束的算法往往需要拟合出行为策略,然后可以通过在优化目标上加一个正则化项来实现:
在这种优化目标下,最优策略即:
此外,基于support约束的做法,以IQL为例,考虑一种in-sample策略优化,也即动作是和support相match的约束上的策略优化:
这种做法因为直接限制了所学策略输出的动作,所以更能保证在bootstrapping中避免OOD数据的利用。
In-sample Softmax Optimality
针对上述in-sample策略优化问题,利用传统RL(DQN)的解决思路,最优值函数可以写作以下形式,而值迭代过程可以理解为不断取能够在support集上q的最大值(max),因而这种操作被称为in-sample max operator:
以SAC/SQL算法为代表的最大熵强化学习理论框架中,最优值函数可以写作如下形式:
其可以理解成将DQN中的max操作符替换成softmax操作符(Log-sum-exp)(等价于在原始优化目标Q值上加熵正则化项)
本文提出了in-sample softmax operator,简单来讲,就是将in-sample max操作符中的max换成了softmax,也即如下形式:
In-sample softmax operator首先保证了support constraint,同时其softmax操作符的形式也有助于进行更深入的理论分析。在论文中,作者证明了使用in-sample softmax的Bellman更新是收敛的,当temperature 降低到零时,得到的in-sample softmax最优策略接近于in-sample最优策略。
作者对Log-sum-exp的形式进行了推导优化:
并求解出其闭式解:
Lemma 1指出,在in-sample softmax这种策略优化下,策略迭代过程中的不断提升是可以被保证的,且其和行为策略与exp项成正比。该式与背景部分中介绍的基于KL的策略约束下的策略迭代形式唯一的区别就在于在exp中有一项-log π 这一项的作用,在论文中作者解读为保守探索,也即在满足support constraint约束(第一项),和策略与q值成正比(exp项中的第一项)的前提下,也需要策略分布上适当的进行探索(exp项中的-log π),来实现更好的性能,突破策略分布的约束限制。
In-sample Actor Critic (InAC)
在有了理论基础后,接下来介绍in-sample softmax如何付诸实践。因为In-sample softmax operator核心就是借助最大熵强化学习框架实现了softmax的表示,所以这里将In-sample AC和SAC的过程列出来做一对比。
首先,SAC中策略更新目标就是一个Boltzmann policy,而在InAC中,in-sample softmax最优策略的解析解形式已经在Lemma 1 中给出。策略优化目标都是最小化KL散度。对KL散度展开推导,就得到了Loss的计算形式,具体如下图所示。
Experiment
作者通过大量实验验证说明了InAC的性能,这里主要介绍正文中提到的三方面实验验证:
1. InAC收敛到由oracle方法发现的策略,该方法在bootstrapping时精确地消除了分布外(OOD)操作
在第一个toy实验验证中,作者定义了Oracle-Max策略,其代表在策略学习过程中手动地去除所有OOD actions,然后通过传统值迭代过程得到的策略。通过实验,作者发现InAC可以在不同数据集上都收敛到Oracle-Max策略,而其他算法无法表现出这种统一的优势,因此说明了InAC可以避免OOD data的能力。
此外,random数据集数据分布最广,因此普通的Q学习方式(FQI)也可以表现得很好,而在数据分布窄的数据集上,FQI由于受到外推误差影响而无法学到一个好策略。除了expert数据集,IQL表现得也并不好,文章认为这是由于受到策略分布约束的影响,在含有次优行为策略产生的数据集上,IQL就会表现得差一些。
2. 在Mujoco(D4RL)数据集上,InAC表现得较好,普遍好于IQL算法,体现出InAC这种in-sample softmax相比于in-sample max的优势。
3. 而在Off2On设定下,作者发现InAC在online阶段几乎没有发生drop,而且可以进行较稳定的学习。
相比较下,IQL算法由于受到次优行为策略分布等的影响,在online学习阶段可能会出现较大的drop,AWAC算法尽管在online阶段提升很大,但其offline学习效果较差。因此,InAC算法是一个在offline学习和online fine-tuning阶段表现都很稳定的算法。
Summary
max操作符到softmax操作符在online下有较多研究。在offline下,本文作者发现其不但有效,还可以借助最大熵强化学习框架实现理论上的保证,算得上是一种simple yet efficient的方法。
编辑:刘金毅 陈海燕
审核:郝建业 非常棒的介绍,想问一下为什么现在的很多offline rl paper不跟sac-n这一类方法做对比呢 可能是emseble network这种方法用到多个网络,比较是不公平的,所以一般不比 您好,新的paper也很少是在SAC-N/EDAC这种ensemble上做改进的。从实践的角度,ensemble的训练cost较大也算是一个比较关键的limitation吧。
页:
[1]