第 37 天|BCQ:离线学习时,先别选择数据从没支持过的动作
原论文与版本:Off-Policy Deep Reinforcement Learning without Exploration,2018。原论文。
先接住前作的问题
DDPG虽然离策略,却仍能在线试错并收集新证据。LSPI已暴露固定数据覆盖会限制贪心改进。BCQ把这个限制推进到没有在线纠错的连续控制:动作选择必须受现有证据约束。
五个前置概念
- 离线RL:只从既有数据学习控制。
- 外推误差:对数据外状态动作的错误估计。
- 条件VAE:按状态生成类似数据的动作。
- 扰动网络:在有限范围微调候选动作。
- 支持集:数据分布有概率覆盖的区域。
一、问题设定:没有新交互纠错时,怎样阻止Actor追逐数据外高Q
离线学习只能重用给定转移,无法为了核实一个高Q动作再去环境试一次。若Actor仍在全动作空间自由最大化,最高值可能恰好出现在最没证据的位置。BCQ因此先限制候选来自数据行为附近,再允许小范围改进。
| 要素 | 本文设定 |
|---|---|
| 研究场景 | 离线、连续动作、batch-constrained Q-learning |
| 状态/观测 | 固定数据中的状态 |
| 动作 | 行为生成器候选加有界扰动 |
| 奖励或学习信号 | 数据记录奖励 |
| 终止/边界 | 数据终止标志决定自举 |
二、用行为生成器和有界扰动限制候选
离策略不等于可直接离线。在线DDPG选到错误高Q动作后还能用真实交互纠错;固定数据训练时,这个纠错通道不存在。未知动作的高估被放进Bellman目标,再传染到数据内动作,形成外推误差循环。
BCQ用条件生成模型产生接近数据的候选,再以有界扰动做局部改进,最后按Critic挑选。生成模型控制搜索范围,扰动控制离开行为的程度,Q决定更偏好哪个候选。Φ=0也不等于纯行为克隆,因为仍可在多次生成的行为候选里挑高价值动作。
约束越紧越少利用数据外漏洞,也越可能排除更好的行为;生成器漏掉罕见好动作则会直接限制上限。双Critic的min/max加权目标还与TD3纯min不同,阅读代码时要把候选限制和目标保守性分开。
分清候选索引、扰动动作与实际输出
Φ控制允许偏离数据的范围;生成器通常用条件VAE,需同时优化重构与潜变量正则。
候选索引与实际执行动作要分开:上式是受限候选搜索的简写。严格地说,先抽 ,再形成 ,选择 ,实际输出 ,不是未扰动的 。 近似行为动作分布, 是有界扰动, 是允许偏移尺度;原实现按动作分量限制扰动,还要遵守动作合法范围。有限候选的最大值只在这些候选中比较,没有解决全动作空间的精确最大化。见原文§4及Algorithm 1。
候选数控制有限搜索而不是数据覆盖
从同一行为模型多抽候选,会更容易抽到它已经赋予正概率的好动作;对生成器概率为零的动作,候选再多仍抽不到。增大候选数与改善生成模型覆盖必须分开评估。
让虚假高值动作10退出候选集合
以下是可手算的教学构造,不是论文实验。
数据在某状态只支持动作0和1,真实奖励分别0和1;Critic却误把从未见过的动作10估为100。无约束Actor会被吸引到10。BCQ生成候选0、1,即使Φ=0,也会选1而非按行为频率随机复制。
若真正最优动作是2,Φ=0.1且生成器从不接近2,BCQ也无法发现它。这是离线证据边界,不是再训练更久必能突破的问题。
三、生成候选、扰动并输出被评分的实际动作
输入:固定数据D,不新增环境训练数据
训练条件VAE G(a|s)
每批转移:
从G(s_next)采多个候选动作
用目标扰动网络做有界修正
用原文双Q组合评分并取最好候选
构造停止梯度的TD目标,训练Critic
更新扰动网络以提高Q且保持幅度约束
更新目标网络
评价时同样生成、扰动、挑选
实现要点:受限动作集可能排除更优行为,生成模型有覆盖误差。
四、读不同数据来源及行为回报参照
| 实验要素 | 原文设定与证据范围 |
|---|---|
| 环境与任务 | 原文Hopper等离线连续控制 |
| 数据来源与规模 | 专家、回放或不同质量固定批数据 |
| 对比基线 | DDPG等离线应用与相关方法 |
| 训练预算与资源 | 固定数据规模和更新次数按场景;本文未完整核实 |
| 指标及其含义 | 真实回报及预测Q与Monte Carlo回报差 |
| 随机性与不确定性 | 图2阴影为半个标准差;完整种子数量未逐项复核 |
| 实际验证的假设 | 限制动作是否避免离线自举外推 |
实验解读(本文分析):原文§3分别分析缺数据、经验转移偏差与训练权重不匹配。图2比较不同数据来源,黑线是数据中行为回报,阴影是半个标准差,不能写成95%区间。行为回报水平与数据覆盖不同,应避免用单一“高质量数据”标签概括两者。
阴影半个标准差不是95%置信区间

图2选取的上排是固定缓存训练,下排是并发获得行为数据的条件;三列依次HalfCheetah、Hopper、Walker2d。纵轴均为真实评估平均回报,黑线给相应数据行为的平均回报参照。横轴虽统一标“Time steps”,上排的训练进度并不表示BCQ每一步都新增真实探索数据;下排数据随行为采集增长,黑线也随之变化。比较蓝色BCQ与黑线可问“有没有超过可见行为”,比较蓝色与其他学习器才是在问同一数据协议下的算法差异。
图1上下两排分别为实际回报和估值,细线为单次试验、粗线为平均,点线给Monte Carlo价值参照;它显示离线DDPG可以高Q而低收益。BCQ用生成候选和小扰动限制动作搜索,图2在不同批数据来源下检验控制效果,阴影为半个标准差。约束成功的前提仍包括生成器覆盖,离线“更保守”也可能排除数据外的真正好动作。 查看原文。

读图提示:此处补齐完整四行:(a)固定缓存、(b)并发数据、(c)模仿数据、(d)不完美示范;每行三列均为HalfCheetah、Hopper、Walker2d。黑线是行为回报参照,阴影为半个标准差。

读图提示:上排为实际回报,下排为估计价值;三列依次对应固定缓存、并发数据和模仿数据。下排价值增长而上排回报不改善,才是需要警惕的外推误差现象。
五、约束保护证据边界也限制改进上限
Φ太小会限制改进,太大又可能引入未知动作;行为生成器的覆盖误差与未见状态泛化也仍在。增加候选数有推理成本,不能用更长离线训练代替缺失的真实纠错证据。
六、继续追问:生成覆盖、扰动与离线评估
1. Φ如何在保守与改进间权衡?
扰动半径 小时,动作接近生成模型候选,能减少外推却限制超出数据的改进;较大时更有机会优化,但更容易离开可靠支持。即使 ,生成模型也可能生成数据之外的动作,因此不是硬支持保证。应按数据质量、动作尺度和候选覆盖选取,并报告真实收益与Q膨胀的折中。
2. 生成器遗漏少数好动作怎么办?
若好动作被生成器漏掉,后续有限候选搜索与小扰动通常无法恢复,保守算法便会锁在较差支持内。可增加候选数、改进多模态生成模型、对稀有高值样本分层训练,并在保留集检验覆盖;但不能用仅提高生成似然证明保留了关键少数动作。若数据本身完全没有这些行为,则需新数据或额外假设。
3. 为何离线Q增大可能是坏信号?
离线没有持续真实交互来纠正未知动作,Actor 可以追逐Q的错误高峰,自举再把这些值传播到数据内。于是预测Q不断上升、真实评测收益却下降。应同时追踪数据内 Bellman 误差、分布外动作比例和独立离线评价或允许的真实测试;只用训练Q作为模型选择指标会奖励估值漏洞。
七、比较动作约束与价值保守化
自测两题
第一题考查核心机制,第二题考查边界与辨析。建议先自行作答,再对照参考答案。以下数值小例子均为教学构造。
问题 1:离线学习为什么特别害怕数据外动作获得高 Q?
参考答案:网络可以给未见动作任意高分,Bellman 最大化又会选中它,并把高估向前传播。在线学习尚可能通过尝试发现错误,离线学习无法主动补数据。BCQ 用生成的候选动作与受限扰动,减少这种查询。
问题 2:限制动作接近数据,为什么可能阻止进一步改善?
参考答案:数据支持范围不一定包含最优动作,生成模型还可能漏掉少见好动作。限制越强,越难利用数据之外的潜在机会;限制太弱,又会恢复外推风险。这是可靠性与改进空间之间的取舍。