有回放缓冲区(replay buffer)不等于在做离线强化学习(offline RL)。Online off-policy 算法还能出去采新数据;offline RL 只能用固定日志。模型想试一个日志没覆盖的动作时,没有新反馈来纠正它的想象。
先检查 support,再谈算法
假设日志里某个状态 $s$ 只试过“保守”,没试过“激进”。Q 网络仍可能给“激进”打很高分,Bellman 的 max 再把这个分数传播回去。这个高分没有实际反馈支持,不能据此说模型发现了更好的策略(policy)。
同一分布下多收数据,能降低已覆盖区域的估计方差(variance);但行为策略(behavior policy)从不做的动作,重复记录原来的行为一百万次也补不出它的结果。
这里的支持集(support)问题,指的就是目标策略(target policy)需要的状态或动作在行为分布中没有覆盖。有限日志里没见过某个动作,不等于行为策略选择它的概率为零;但概率很小、样本很少,也会让估计不可靠。还要检查观测是否漏掉了同时影响动作选择和结果的变量。
OPE:不部署,估计新策略的结果
离策略评估(OPE)是在估计一个给定策略的表现,而 offline RL 要学习策略,两者不同。最简单的轨迹(trajectory)重要性采样(IS)为:
$$ \hat J_{\rm IS}=\frac1N\sum_{i=1}^Nw_iR_i,\qquad w_i=\prod_t\frac{\pi(a_t^i\mid s_t^i)}{\mu(a_t^i\mid s_t^i)}. $$
这里 $R_i$ 是第 $i$ 条完整轨迹的回报(return)。目标策略和日志必须对应同一初始分布与环境,行为概率 $\mu$ 要可信,目标轨迹也要被行为分布覆盖。自归一化版本不是再把上面的均值除一次,而是用权重总和替换 $N$:
$$ \hat J_{\rm SNIS}=\frac{\sum_iw_iR_i}{\sum_iw_i},\qquad \sum_iw_i>0. $$
它在有限样本下一般有偏,但可能减少方差。剪裁权重同样是在用偏差换稳定性。
对于有限、非负且至少一个为正的权重,可以用有效样本量(ESS)检查权重是否过于集中:
$$ {\rm ESS}=\frac{(\sum_iw_i)^2}{\sum_iw_i^2}. $$
3 条轨迹的权重若是 $[1,1,8]$,ESS 约为 1.52,不是 3。它提示估计可能被少数轨迹控制;不证明估计无偏,更不证明没有隐藏混杂。
所有权重同乘一个正常数,ESS 不变。因此代码可以先除以最大权重,再求和与平方,避免大数溢出或小数平方下溢。如果从 log-weight 开始,就先减去最大的有限 log-weight 再取指数;已经溢出为无穷大或全部下溢为零的权重,无法靠事后缩放救回来。若所有权重本来就为零,ESS 和 SNIS 都未定义,不能把它们当成有效的零分估计。这是数值处理,不会补足缺失的行为覆盖。
先用一个 bandit 把权重算清楚
只有左、右两个动作,奖励(reward)分别固定为 1、3。旧策略以 90% 概率选左、10% 选右;想评估的新策略两边各 50%。假设一份 100 条日志恰好有 90 次左、10 次右:
| 动作 | 日志条数 | 奖励 | $\pi/\mu$ | 加权奖励总和 |
|---|---|---|---|---|
| 左 | 90 | 1 | $0.5/0.9$ | 50 |
| 右 | 10 | 3 | $0.5/0.1=5$ | 150 |
原始平均奖励是 1.2,IS 估计为 $(50+150)/100=2$,刚好等于新策略真实期望。不是把右边奖励变大了,而是让这 10 条代表新策略下更常见的右动作。这里恰好使用期望计数,真实有限日志的结果会波动。
若旧策略从不选右,右奖励就没有数据。把分母加一个很小的数,不会凭空生成那 10 条观察。多步时权重还要连乘:同一条罕见轨迹可能控制整个估计;这也是为什么支持集和权重分布必须先查。怎样少乘几项、怎样用估值模型抵消噪声,见逐步权重与双重稳健。
CQL 与 IQL,先抓住各自避开什么
| 方法 | 核心想法 | 仍然依赖什么 |
|---|---|---|
| CQL | 对不受数据支持的高 Q 加保守压力 | 正则强度、覆盖与函数逼近(function approximation)质量 |
| IQL | 用数据内动作学习,再用 advantage-weighted regression 提取策略 | 数据里确实有可学的好行为 |
| Behavior cloning | 直接学日志动作 | 示范质量与部署分布相近 |
IQL 的 expectile value 回归给正、负 residual 不同权重。若 $u=Q(s,a)-V(s)$,其权重为 $|\tau-\mathbf1(u<0)|$;$\tau>0.5$ 更强调较好的数据内动作。Expectile 不是 quantile:这里惩罚的是加权平方误差,不是 pinball loss。
这不是“只要保守就安全”。过度保守也可能无法改善基线(baseline);数据没有的知识,算法不能凭空保证。
把“保守”和“数据内学习”各写成一小步
在离散动作、固定状态的简化 CQL 中,保守正则的一种形式是:
$$ \alpha\left[\log\sum_a\exp Q(s,a)-\mathbb E_{a\sim\mathcal D(\cdot\mid s)}Q(s,a)\right]. $$
它和 Bellman 拟合项一起优化。第一部分压高 Q,第二部分相对扶住数据动作;不是直接把所有 Q 都减一个常数。若只观察到动作 A,$Q(A)=1,Q(B)=5$,括号约为 4.018;把未观察动作 B 降到 0,约为 0.313。这个例子展示正则压力,不声称未知动作真的很差。
IQL 换一种处理:先从数据动作的 Q 拟合 expectile value。两个等权 Q 值为 0、4,取 $\tau=0.8$,最优 $V$ 位于两者之间,满足 $0.8(4-V)=0.2V$,所以 $V=3.2$。均值是 2,而这个离散分布的 0.8 分位数是 4:expectile 确实不是 quantile。
然后拟合 $Q(s,a)$ 到 $r+\gamma V(s')$,并以 advantage 的指数权重做行为克隆(behavior cloning, BC),偏向数据中更好的动作。实际还要固定 target、处理终止、限制极端权重。这些设计避免了训练时直接对所有未知动作取最大值,但并不保证参数化策略部署时永远不会走出数据分布。
没有可靠行为概率时,可以直接估 Q 吗?
Fitted Q Evaluation(FQE)固定要评估的策略 $\pi$,用回归反复拟合:
$$ y=r+\gamma(1-d)\mathbb E_{a'\sim\pi(\cdot\mid s')}Q_{\rm old}(s',a'). $$
这里 $d=1$ 表示任务真正终止,此时 $y=r$。若只是采集时间上限截断、原任务仍会继续,就不能把它当成终止;应从截断前最后一次转移得到的 $s'$ 自举(bootstrapping),而不是从 reset 后的新初态自举。
它与 FQI 的关键区别是对固定策略取平均,不是对动作取 max。学到 Q 后,对初始状态和策略动作求平均来估计表现。省去了显式轨迹权重,却增加了函数逼近和外推风险;缺失支持集并没有因此消失。两种 OPE 方法如果共享同一盲区,即使数值一致,也不代表已经得到独立验证。
一个可用的评估顺序
先做时间或主体隔离的 train / validation / test split,防止同一轨迹泄漏;再检查行为覆盖、权重尾部与有效样本量;然后比较多种 OPE 或模型估计,看排序是否稳;最后在允许时做小范围、受控的真实验证。
不能在同一批日志上反复挑策略,然后把最高的 OPE 分数当成独立证据。估计器也会被选优过程过拟合(overfitting)。
这里讲到哪里为止
这一篇建立 support、importance weighting、保守学习和数据内学习的直觉;逐步重要性采样、双重稳健(doubly robust)估计和 LSTD 在下一篇展开。两篇都不提供完整 OPE 置信界或 offline RL 收敛证明。继续精读:CQL,第 3.2 节、式 (4) · IQL,第 4.1–4.3 节 · OPE 与权重归一化,第 2–5 节 · FQE,第 3.2 节、算法 3。基本重要性采样推导可回到 Policy Gradient。
本页术语 19
- 回放缓冲区 replay buffer
- 存储交互样本、供后续更新重新采样的数据结构
- 离线强化学习 offline reinforcement learning
- 只用固定数据学习策略,训练期间不能再与环境交互收集新反馈
- 策略 policy
- 给定状态,规定怎样选动作;可以输出一个动作,也可以输出动作的概率分布
- 方差 variance
- 估计量的波动幅度;重要性加权最容易在这里爆炸
- 行为策略 behavior policy
- 实际产生这批状态和动作数据的策略
- 支持集 support
- 分布实际覆盖的区域;离散情形中可理解为概率非零的状态或动作
- 目标策略 target policy
- 这次希望评估或改进的策略,不一定是收集数据的那个策略
- 离策略评估 off-policy evaluation, OPE
- 用其他策略产生的数据估计目标策略的表现;需要覆盖与可信的统计假设
- 轨迹 trajectory
- 与环境交互得到的一串状态、动作和奖励;采样时也可能只保存其中一段
- 重要性采样 importance sampling
- 用目标分布与采样分布的概率比重新加权;采样分布必须覆盖目标分布需要的区域
- 回报 return
- 从某一步开始,把后续奖励按约定累加;有折扣时还要乘上相应的折扣权重
- 有效样本量 effective sample size, ESS
- 重要性权重下的一种信息集中度诊断,不是独立观测数,也不保证估计准确
- 奖励 reward
- RL 里指导策略更新的标量信号
- 函数逼近 function approximation
- 用一个受限的函数族表示价值或策略,例如用神经网络代替逐状态查表
- 基线 baseline
- 用来比较新方法的参考方法或配置
- 行为克隆 behavior cloning, BC
- 用示范中的状态与动作做监督学习;不自动处理自己行动后遇到的新状态
- 自举 bootstrapping
- 用已有估值补上尚未完整观察到的未来;这里不是统计学中有放回重采样的 bootstrap
- 过拟合 overfitting
- 训练集越来越好,没见过的数据反而变差
- 双重稳健 doubly robust
- 结合倾向性加权和结果模型,降低 IPS 的方差