Offline RL Survey
Offline Reinforcement Learning
Type and Notion of Offline RL
Notion of Offline RL
给定数据集D
在不能与环境交互的前提下学习最佳策略
Type of Offline RL problem
OPE
给定数据,评估一个策略的奖励期望
Offline RL Learning
学习最佳策略$\pi_\theta$
关键问题
- 找到数据集中有价值的经验
- 泛化:一个状态下的好动作在另一个状态下不一定好,或者对于没有见过的初始状态同一个算法能否给出好的结果
- 组合:将多个好动作合成为一个
离线强化学习中必须考虑没有见过的动作和状态(out-of-distribution),同时超越数据集中的数据
简单看看distribution shift问题
简单的监督回归任务
$,是否有$f(x^f(x^*)\approx E[y|x]$?这要分成两种情况考虑
- |p(x^x^*)$,则有大概率判断是真的
- |q(x^x^*)$,则可能结论为假
这启示我们如果用$f(x^*)$寻找$E[y|x]$最大值可能是不合理的
Offline RL with Q Learning
对于强化学习任务,TD error计算用到的奖励估算
优化目标是
Offline RL with Policy Gradient
RL计算梯度为
实际上是在环境上采样得到N条轨迹,代替期望,对于offpolicy policy gradient,需要importance sampling系数
假设轨迹$\tau = (s_0,a_0,s_1,a_1,\cdots,s_T,a_T,s_{T+1})$
我们记
最终梯度写成
基本思想是importance sampling系数由$\prod_{t}\frac{\pi_\theta(a_t|s_t)}{\pi_\beta(a_t|s_t)}$,使用$w(s,a) = \frac{d^{\pi_\theta}(s,a)}{d^{\pi_\beta}(s,a)}$,于是采样方法写成
$w(s,a)$具有的性质,假设$(s,a,s^\prime,a^\prime)$采样自D
Offline value function estimation
对于奖励存在
Distribution Shift in RL
约束当前策略和探索策略之间的距离
显式约束
要求
存在以下问题
- 不存在$\pi_\beta$(手工获得数据)
- 多个RL算法生成的数据
- 过于乐观/过于消极
分析KL散度
reward函数写成
直接将距离加入到奖励中
隐式约束
Advantage function根据Critic方法估算得到,采样来自D
Z(s)是啥?
在Q函数更新时避免OOD问题
Q函数根据如下范式更新
V函数根据如下方式更新
Implict Q-learning
每一步更新写为
Conservative Q-learning
更新参数是加入正则项(TD loss)
- $E_{s\in D,a\in \mu(a|s)}[Q(s,a)]$最大化$\mu$,选择带来最大奖励的动作
- $E_{(s,a,s^\prime)\in D}[(Q(s,a)-(r(s,a)+E_\pi(Q(s^\prime,a^\prime))))^2]$
选择损失函数
regular指的是从D中抽取$(s,a,s^\prime)$计算的TD loss
算法
- 在D上优化$\mathcal L_{CQL}(Q^\pi)$
- 策略函数$\pi(a|s)=\arg\max_a Q^(s,a)$
在此基础上增加一个评估项评估动作概率的entropy
因为$\mu(\cdot|s)$实际上是$Q(s,a)$softmax化的结果,也可以写成
Model Based Offline RL
有些类似reward shaping,奖励写成
$u(s,a)$称为uncertainty penalty,刻画model errror
Conservative Model-Based RL
最小化model状态-行为序列对应的Q值,同时增大其对数据集D中状态-动作序列的评估,损失函数分成三个部分
- $E_{s,a\in \rho(s,a)}[Q(s,a)]$,这里状态-动作序列由模型生成
- $-E_{s,a\in D}[Q(s,a)]$,这里状态-动作序列来自静态数据集
- $E_{s,a,s^\prime}[(Q(s,a)-\hat Q^k(s,a))^2]$,刻画TD error
轨迹转化
- 训练模型预测轨迹的联合概率分布$p(\tau) =p_\beta(s_1,a_2,\cdots,s_T,a_T)$(感觉像是学习行为策略产生某一轨迹的概率)
- 使用transformer建模序列信息
如何利用model做控制:模拟环境下计算累计奖励,从某个状态开始采样多个路径,选择累计奖励最大的路径