深度教堂

  • 榜单数据10-16 17:00
  • 论文数据10-16 13:30
  • 周报10-17 11:22

离线强化学习

未发布阅读约 43 分钟人工撰写已核查审核人 ai-fact-check

CS285

本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。

第 09 讲核心模块离线 RL 与探索

学习目标

  • 精确说出离线 RL 的核心困难:外推误差(extrapolation error)与"离线无纠错回路";
  • 解释为什么直接把 DQN/SAC 跑在固定数据上会发散/性能崩塌;
  • 掌握三条解法族的思想与代表:策略约束(BCQ/BEAR/TD3+BC)、保守价值(CQL)、回避 OOD(IQL);
  • 说明 CQL 下界保证的理想条件、期望/策略值口径,并掌握 IQL 的 expectile 回归 + advantage-weighted regression;
  • 了解模型化离线 RL(MOReL/COMBO)、何时用离线 RL、以及离线到在线微调的坑。

离线强化学习(Offline RL,也叫 Batch RL) 问一个极具现实意义的问题:只给你一个固定的历史数据集、完全不允许与环境交互,你能学出比数据里更好的策略吗? 这对医疗、自动驾驶、推荐、机器人等”试错代价高昂或危险”的领域至关重要。看似只是把 off-policy 算法拿来跑在固定数据上,实则暗藏一个致命难题——分布漂移导致对分布外(OOD)动作的 Q 值系统性过高估计,而在线 RL 赖以纠错的”试一下发现不好”机制在离线场景彻底失效。本模块剖析这个难题,并系统讲解三条解法:策略约束(BCQ/BEAR/TD3+BC)、价值保守(CQL)、以及回避 OOD 查询(IQL),最后触及模型化离线 RL 与离线到在线微调。

学习目标

  • 精确说出离线 RL 的核心困难:外推误差(extrapolation error) 与”离线无纠错回路”;
  • 解释为什么直接把 DQN/SAC 跑在固定数据上会发散/性能崩塌;
  • 掌握三条解法族的思想与代表:策略约束(BCQ/BEAR/TD3+BC)、保守价值(CQL)、回避 OOD(IQL);
  • 说明 CQL 下界保证的理想条件、期望/策略值口径,并掌握 IQL 的 expectile 回归 + advantage-weighted regression;
  • 了解模型化离线 RL(MOReL/COMBO)、何时用离线 RL、以及离线到在线微调的坑。

编者按 · 批判性视角

CQL / IQL 在算法上很优雅,本模块也值得认真学。但对其必要性要保持怀疑:在很多真实(尤其 LLM)场景里,比一整套离线 RL 机器更好用的,往往是朴素得多的 filtered-SFT(按分数筛选后监督微调)、拒绝采样(rejection sampling)、best-of-nn——它们没有 Bellman 自举、没有 OOD 高估,实现和调参都简单,效果却常常不输甚至更好。更根本的一击来自 Decision Transformer / RvS:它们把离线 RL 重述为”以回报为条件的序列建模”(即监督学习),直接绕开价值自举,逼问”是否还需要一整套离线 RL 机器”。诚实地说,离线 RL 在真实世界的落地其实相当薄:学它贡献的”悲观""缝合""反事实”等思想是值得的,但对”必须用 CQL/IQL 这类专用算法”这一点,请保持批判(对照 模块 13 的 DPO / 拒绝采样讨论)。

1. 什么是离线 RL 与为什么重要

三种学习范式的对比框定了离线 RL 的位置:

  • on-policy RL(PPO):用当前策略采集数据、更新、再采集,数据始终”新鲜”。
  • off-policy RL(DQN/SAC):从回放池学习,数据由历史策略混合而来,但仍可持续与环境交互、补充新数据。
  • offline RL:给定一个由未知行为策略(behavior policy) πβ\pi_\beta 收集的固定数据集 D={(s,a,r,s′)}\mathcal D=\{(s,a,r,s')\},训练全程零交互,目标是学出尽可能好的 π\pi。

动机:在很多真实场景里,“试错”要么危险(自动驾驶撞车、机器人损坏)、要么昂贵/缓慢(医疗试验、真实推荐流量)、要么有伦理/法律约束。但历史数据往往已大量存在(病历、驾驶日志、点击流)。离线 RL 的承诺是:像监督学习利用大数据那样,让 RL 也能”从既有数据里榨出好策略”,并且理想情况下能超过数据里任何单一策略(通过”缝合” stitching:把不同轨迹的好片段组合出更优路径)。

本质 Insight

离线 RL 想要的”缝合(stitching)“能力,正是它区别于行为克隆(BC) 的关键:BC 只直接拟合数据里的示范动作,通常缺少显式回报优化与可靠的策略改进保证;而 RL 的 Bellman 自举原则上能把”A→B 的好片段”和”B→C 的好片段”拼成 A→C 的更优策略。但也正是这个”自举 + 外推”的组合,埋下了下一节的祸根。

批判性追问:“离线 RL 能从固定数据学好策略”——好到哪、又凭什么相信?

这句承诺要打两个折扣。其一,能力天花板被数据支撑锁死。“缝合”只是把数据里已出现的好片段重新拼接(A→B 与 B→C 拼成 A→C),它无法凭空发现数据里从未出现、却更优的动作——那是一个反事实问题,数据对此永远沉默(第 2 节)。所以”超越数据”仅限于”超越任何单条轨迹”,而非”超越数据的支撑”。其二,就算产出了候选策略,也很难可信地确认它更好。 离线策略评估(OPE,第 10 节)要估的正是”策略在数据外会怎样”,与学习难题同根同源:π\pi 越偏离 πβ\pi_\beta(越是我们期待”缝合出更优策略”之时),所有 OPE 越不准。于是有个尴尬闭环:越想突破数据,越无法验证是否真的突破了。诚实的结论是——离线 RL 学到的”好”,是”在数据支撑内、且可被粗略评估的范围内”的好;把它当成”能可靠地无中生有出超越数据的策略”,是对这门方法的高估(呼应编者按)。

2. 核心难题:分布漂移与外推误差

离线 RL 的一切困难都归结为一件事:训练时会查询数据集里未覆盖的动作(OOD 动作,即某状态下数据没见过的动作)的 Q 值,而这些查询是纯外推,可能任意离谱——尤其是被 max/argmax 系统性地偏向高估的那些。

回顾 Q-learning / actor-critic 的 Bellman 目标:

y=r+γ Qθˉ(s′, a′),a′=arg⁡max⁡a′Qθˉ(s′,a′)  (或 a′∼π(⋅∣s′)).(9.1)y = r + \gamma\, Q_{\bar\theta}(s',\,a'),\qquad a'=\arg\max_{a'}Q_{\bar\theta}(s',a')\ \ (\text{或 } a'\sim\pi(\cdot|s')). \tag{9.1}

问题在于:a′a' 是由当前正在学习的策略挑的,它很可能落在数据集没有覆盖的动作区域(out-of-distribution, OOD)。神经网络在 OOD 处的 QQ 是外推、无监督约束,可能虚高。而 max⁡\max/arg⁡max⁡\arg\max 是一个正偏差放大器:它专门挑出被高估的动作。这个虚高的 yy 又被回灌进 Bellman 目标,自我强化、越滚越高。

举例

想象一个只有历史点单记录的外卖推荐。数据里大家反复点过宫保鸡丁、鱼香肉丝,评分稳定在 4 分上下;而”香菜冰淇淋盖饭”从来没人点过。模型对这道零数据的菜纯靠外推,可能凭空打出 9 分的高估,然后 max⁡\max 一挑就挑中它、还越学越自信地把它顶到推荐首位。现实里这道菜大概率难吃——可离线时谁也不会真去点一口,这个幻觉便永远不会被戳穿。

推导:为什么外推误差在离线下会自我放大(online 能纠、offline 不能)

关键假设

函数逼近的 QθQ_\theta 在数据支撑外无约束;bootstrapping 目标含 max⁡a′\max_{a'};离线下数据分布固定为 dπβd^{\pi_\beta}。

第 1 步:高估的产生。 设某 OOD 动作 a~\tilde a 处 Qθ(s′,a~)Q_\theta(s',\tilde a) 因外推而偏高(误差 δ>0\delta>0)。由于目标取 max⁡a′\max_{a'},只要存在某个 OOD 动作被高估,max⁡\max 就会选中它:y=r+γmax⁡a′Q≥r+γ(Q⋆+δ)y=r+\gamma\max_{a'}Q\ge r+\gamma(Q^\star+\delta)。

第 2 步:回灌与自举。 把这个偏高的 yy 作为回归目标训练 Qθ(s,a)Q_\theta(s,a),于是 ss 处的 Q 也被抬高;下一轮它又作为别处的 bootstrap 目标……高估沿 Bellman 备份传播并累积。

第 3 步:online vs offline 的分水岭。 在在线设定下,策略若因高估而去执行 a~\tilde a,环境会返回真实(通常很差)的奖励与后继,TD 误差为负,Q(s′,a~)Q(s',\tilde a) 被拉回——这是一个自我纠正的负反馈回路。但在离线设定下,a~\tilde a 从不会被真正执行、永远拿不到真实反馈,纠错回路被切断。高估只增不减,最终策略去追逐这些幻觉动作,性能崩塌。

结论:离线 RL 的病根 = OOD 动作的乐观外推 × max 的正偏差 × 无纠错回路。局限:这不是”更多数据/更大网络”能解决的——只要策略被允许查询数据外的动作,问题就在。

本质 Insight:困难本质上是”反事实推理”

离线 RL 在问一个反事实(counterfactual) 问题:“如果当初采取了数据里没出现的动作,会怎样?“——但数据对此沉默。任何声称知道答案的 Q 值都是外推臆测。因此离线 RL 的所有成功方法,本质上都在贯彻同一条戒律:不要相信数据没告诉你的东西。它们只是把这条戒律实现在不同层面——约束策略别偏离数据(策略约束)、压低没见过的动作的价值(保守)、或干脆不查询数据外的动作(IQL)。理解了这一条,三大方法族就统一了。

图 1:在数据覆盖区外,学到的 Q 可能任意虚高;\max 恰好挑中这些点,导致 Bellman 目标被系统性抬高。

图 1:在数据覆盖区外,学到的 Q 可能任意虚高;max⁡\max 恰好挑中这些点,导致 Bellman 目标被系统性抬高。

3. 为什么 naive off-policy 失败

一个自然的想法:DQN/SAC 本来就是 off-policy 的,直接把它们的回放池换成固定数据集不就行了?实践中会性能崩塌。关键区别在于:普通 off-policy 训练中,回放池由不断更新的策略持续补充,数据分布会跟着策略走(尤其会包含策略实际执行动作后的真实后果);而离线数据分布被冻结在 πβ\pi_\beta 上,策略与数据分布之间的鸿沟只会随训练越拉越大,第 2 节的外推-自举正反馈得不到任何真实反馈的制衡。

举例

好比只靠看别人的行车记录仪录像来学开车,却永远不许自己上路。在线 RL 像有教练陪练:你猛打方向、车差点蹭墙,教练一句”错了”当场把你纠回来——这是自我纠正的负反馈。离线 RL 没有这一步:你脑补”这个急转弯肯定很爽”,但既然从不真的开出去,就永远收不到”其实会翻车”的反馈,错误的自信只会越滚越大。这就是”离线不能纠错”的要害。

局限 / 陷阱:常见误解

「加更多数据就好了」——不一定。除非新数据覆盖策略想查询的 OOD 动作,否则未必解决问题。「用更保守的网络/更小学习率」可能只是延缓朴素方法的崩塌,不改病根。覆盖不足时,朴素 DQN/SAC 的自举可能随训练加剧高估;保守或只用数据内动作的方法则不必如此。真正需要的是显式地把策略/价值约束在数据支撑内。

4. 策略约束法:BCQ / BEAR / TD3+BC

第一条解法族:策略约束(policy constraint)——强制学到的策略 π\pi 别离行为策略 πβ\pi_\beta 太远,从而只在数据覆盖的动作上做备份。形式上给策略优化加约束:

max⁡π Es∼D, a∼π[Q(s,a)]s.t.D(π(⋅∣s) ∥ πβ(⋅∣s))≤ε.(9.2)\max_\pi\ \mathbb{E}_{s\sim\mathcal D,\,a\sim\pi}\big[Q(s,a)\big]\quad \text{s.t.}\quad D\big(\pi(\cdot|s)\,\|\,\pi_\beta(\cdot|s)\big)\le\varepsilon. \tag{9.2}

4.1 BCQ(Batch-Constrained Q-learning)

BCQ(Fujimoto et al. 2019):先用一个 CVAE(条件变分自编码器) 学行为策略 π^β(a∣s)\hat\pi_\beta(a|s)(回顾模块 07 的 VAE),备份时只在”由 CVAE 生成、再经一个小扰动网络微调”的候选动作里取 max。这样 max⁡\max 永远只在数据似然高的动作里挑,杜绝 OOD 查询。它是系统研究并缓解”外推误差”的早期代表工作。

4.2 BEAR(Bootstrapping Error Accumulation Reduction)

BEAR(Kumar et al. 2019):把”硬约束在 πβ\pi_\beta 支撑内”放宽为支撑集匹配(support matching)——只要求 π\pi 的支撑落在 πβ\pi_\beta 支撑内(允许在支撑内自由重新分配概率),用 最大均值差异(Maximum Mean Discrepancy, MMD) 约束实现。比 BCQ 的分布匹配更灵活。

4.3 TD3+BC:极简却强

TD3+BC(Fujimoto & Gu 2021) 把策略约束简化到极致:在 TD3 的策略损失上直接加一个行为克隆正则项:

π=arg⁡max⁡π E(s,a)∼D[ λ Q(s,π(s)) − (π(s)−a)2 ].(9.3)\pi=\arg\max_\pi\ \mathbb{E}_{(s,a)\sim\mathcal D}\Big[\ \lambda\,Q(s,\pi(s))\ -\ \big(\pi(s)-a\big)^2\ \Big]. \tag{9.3}

其中第二项是 BC(把策略拉向数据里的动作),λ\lambda 平衡”追 Q”与”像数据”。λ\lambda 用 QQ 的平均绝对值做归一化以适配不同奖励尺度。就这么一行改动 + 状态归一化,性能媲美复杂得多的方法——成为强基线。

本质 Insight

策略约束的哲学是”别乱走”。但它有个内在张力:约束太紧 → 退化成行为克隆、失去”缝合”带来的提升;约束太松 → 又回到 OOD 高估。而且它需要显式估计 πβ\pi_\beta(BCQ 的 CVAE、BEAR 的 MMD),当 πβ\pi_\beta 是多模态或本身次优时,估计不准会误导约束。这些张力促成了下面两族更精巧的方法。

5. 保守法:CQL 及其条件性下界

第二条解法族:不约束策略,而是直接把 OOD 动作的 Q 值压低,让价值函数变”保守(conservative)“,从根上消除高估。代表作 CQL(Conservative Q-Learning, Kumar et al. 2020)。

CQL 在标准 Bellman 误差之上,加一个正则项:压低”策略/OOD 动作”的 Q、同时抬高”数据里动作”的 Q:

min⁡Q  α(Es∼D, a∼μ[Q(s,a)]⏟压低(尤其 OOD)−E(s,a)∼D[Q(s,a)]⏟抬高(数据内))+12ED[(Q−BπQ)2],(9.4)\min_Q\ \ \alpha\Big(\underbrace{\mathbb{E}_{s\sim\mathcal D,\,a\sim\mu}[Q(s,a)]}_{\text{压低(尤其 OOD)}}-\underbrace{\mathbb{E}_{(s,a)\sim\mathcal D}[Q(s,a)]}_{\text{抬高(数据内)}}\Big)+\tfrac12\mathbb{E}_{\mathcal D}\big[(Q-\mathcal{B}^\pi Q)^2\big], \tag{9.4}

其中 μ(a∣s)\mu(a|s) 是一个”要压低的分布”(常取当前策略 π\pi 或对 Q 做 softmax)。第一项把 μ\mu 采样到的动作(可能 OOD)的 Q 往下拉,第二项把数据里真实动作的 Q 托住,差值即”保守惩罚”。

式中系数 α>0\alpha>0 是保守系数(conservatism coefficient),也就是这条保守惩罚的”力度旋钮”:α\alpha 越大,OOD 动作的 Q 被压得越狠、价值越保守;α→0\alpha\to0 则整项消失、退回不保守的普通 Bellman 拟合。它是 CQL 最关键、也最需要调的超参(太大会过度保守,连数据内的好动作也一起被压),在讨论课 D9.1 的实现伪码里改记作 βcql\beta_{\text{cql}}——请注意别和 IQL 里 AWR 的温度 β\beta(式(9.10))、以及模块 07 的熵温度 α\alpha 混淆:三处名字撞车,含义各不相同。

举例

接着上面那道”香菜冰淇淋盖饭”:CQL 的态度是”没人点过的菜,一律先按普通甚至偏差记账,别乱推荐”。它专门把这些没数据支撑的动作的 QQ 往下压(例如把凭空的 9 分压回 3 分上下),同时把数据里真被点过、有据可依的菜的分数托住不动。于是 max⁡\max 再也挑不到那道幻觉神菜,只能在”确实有人验证过好吃”的菜里选。这种“没尝过就别高估”的记账方式,是理解 CQL 保守压力的直觉;下界结论还需要下节列出的分布、表达力、采样与 α\alpha 条件。

推导:CQL 在什么条件与口径下给出下界

关键假设

表格式或满足论文所列函数逼近条件;对状态边缘分布 d(s)d(s) 取期望;式 (9.6) 的策略价值下界要求压低分布 μ(a∣s)=π(a∣s)\mu(a|s)=\pi(a|s);还需覆盖、有限样本集中界与足够大的 α\alpha 等条件。

第 1 步:对 Q 求极值。 只看正则项(先不含 Bellman 拟合),对每个 (s,a)(s,a) 的 QQ 求导并令为零,可解出使目标最小的 Q^\hat Q。加入 Bellman 项后,其不动点相比标准解多了一个逐点的下压量,正比于 μ\mu 与 πβ\pi_\beta 的密度比之差:

Q^(s,a) ≈ BπQ^(s,a) − α μ(a∣s)−πβ(a∣s)πβ(a∣s).(9.5)\hat Q(s,a)\ \approx\ \mathcal B^\pi\hat Q(s,a)\ -\ \alpha\,\frac{\mu(a|s)-\pi_\beta(a|s)}{\pi_\beta(a|s)}. \tag{9.5}

第 2 步:读出符号。 对 OOD 动作,πβ(a∣s)→0\pi_\beta(a|s)\to 0 而 μ(a∣s)>0\mu(a|s)>0,密度比差为正且很大 → Q^\hat Q 被大幅下压;对数据内动作,μ≈πβ\mu\approx\pi_\beta,下压量小。于是虚高被针对性地打掉。

第 3 步:期望意义下的下界。 Kumar 等证明:当式 (9.4) 中的压低分布取 μ=π\mu=\pi,并满足其余采样与表达条件时,虽然逐点 Q 不保证是下界,但在策略 π\pi 下的期望价值上,CQL 给出真实价值的下界 [1]:

Ea∼π(⋅∣s)[Q^(s,a)] ≤ Ea∼π(⋅∣s)[Qπ(s,a)](当 μ=π 且 α 足够大等条件成立).(9.6)\mathbb{E}_{a\sim\pi(\cdot|s)}\big[\hat Q(s,a)\big]\ \le\ \mathbb{E}_{a\sim\pi(\cdot|s)}\big[Q^\pi(s,a)\big]\quad\text{(当 }\mu=\pi\text{ 且 }\alpha\text{ 足够大等条件成立)}. \tag{9.6}

为什么下界是好事? 因为它把优化从”最大化一个可能虚高的量”变成”在上述条件下最大化一个悲观的、不高估的量”,减少策略追逐虚高 Q 的风险。局限:α\alpha 太大 → 过度保守、连数据内的好动作也被压、性能受限;下界仅在 μ=π\mu=\pi 时的策略期望意义及相应采样、覆盖和表达条件下成立;实际深网训练是近似。

推导:CQL(H) 的 logsumexp 保守项——为何能”针对性”压 OOD(逐步)

关键假设

连续/大动作空间,压低分布 μ\mu 不再固定、而是内层取最坏并加熵正则;对每个 ss 求解内层 max⁡μ\max_\mu。

第 1 步:把”压谁”也变成优化。 CQL 的完整形式对压低分布 μ\mu 取 max(最保守),并给 μ\mu 加熵正则 H(μ)\mathcal H(\mu) 防止坍缩到单点:

min⁡Q α Es∼D ⁣[max⁡μ(Ea∼μ[Q(s,a)]+H(μ))−Ea∼πβ[Q(s,a)]]+12ED[(Q−BπQ)2].(9.7)\min_Q\ \alpha\,\mathbb E_{s\sim\mathcal D}\!\left[\max_\mu\Big(\mathbb E_{a\sim\mu}[Q(s,a)]+\mathcal H(\mu)\Big)-\mathbb E_{a\sim\pi_\beta}[Q(s,a)]\right]+\tfrac12\mathbb E_{\mathcal D}\big[(Q-\mathcal B^\pi Q)^2\big]. \tag{9.7}

第 2 步:解内层 max⁡μ\max_\mu。“线性目标 + 熵正则”的最大化解是 Boltzmann 分布(同模块 07 的软策略):μ⋆(a∣s)∝exp⁡(Q(s,a))\mu^\star(a|s)\propto\exp\big(Q(s,a)\big)。把它代回式(9.7),第一项的 Ea∼μ⋆[Q]\mathbb E_{a\sim\mu^\star}[Q] 恰好化成 log-sum-exp:

Ea∼μ⋆[Q(s,a)]+H(μ⋆)=log⁡∫Aexp⁡(Q(s,a)) da = logsumexp⁡aQ(s,a).(9.8)\mathbb E_{a\sim\mu^\star}[Q(s,a)]+\mathcal H(\mu^\star)=\log\textstyle\int_{\mathcal A}\exp\big(Q(s,a)\big)\,da\ =\ \operatorname{logsumexp}_a Q(s,a). \tag{9.8}

于是保守项变成 logsumexp⁡aQ(s,a)−Ea∼πβ[Q(s,a)]\operatorname{logsumexp}_a Q(s,a)-\mathbb E_{a\sim\pi_\beta}[Q(s,a)]——这正是 CQL(H)(讨论课 D9.1 里用重要性采样估计的那个量)。

第 3 步:为什么它针对高估施加压力。logsumexp⁡\operatorname{logsumexp} 是软 max,被较大的 QQ 主导。哪个动作被网络高估得更厉害,它的 eQe^{Q} 对 logsumexp 的贡献就更大,因而承受更强的下压。第二项 Eπβ[Q]\mathbb E_{\pi_\beta}[Q] 相对减少对数据动作的下压,但在有限样本和函数逼近下仍可能改变甚至低估这些 Q 值,并无“不伤数据内价值”的逐点保证。局限:logsumexp 在连续动作下要用重要性采样估计(混合均匀 + 策略样本去偏),估计噪声大;α\alpha 仍需调(或用 Lagrange 版对保守程度设阈值自动调)。

图 2(启发式示意):CQL 正则倾向下压高值动作、托住数据动作。原论文的下界是理想假设下的策略期望价值口径,不是现实深网中每个 (s,a) 的逐点真值下界。

图 2(启发式示意):CQL 正则倾向下压高值动作、托住数据动作。原论文的下界是理想假设下的策略期望价值口径,不是现实深网中每个 (s,a)(s,a) 的逐点真值下界。

本质 Insight

把三大解法族并排看,会发现它们其实都是同一条原则的不同实现——悲观(pessimism):CQL 在 μ=π\mu=\pi 等理想条件下给出策略期望价值口径的下界;TD3+BC 用 BC 项把策略钉在数据附近;双 Q 取 min⁡\min 则在自举时倾向抑制高估。而”约束新策略贴近行为策略”这件事,正是 模块 06 那个 KL 母题在离线场景的化身:把 max⁡πE[r]−β KL(π∥πref)\max_\pi\mathbb{E}[r]-\beta\,\mathrm{KL}(\pi\|\pi_{\text{ref}}) 里的 πref\pi_{\text{ref}} 取成行为策略 πβ\pi_\beta,就得到策略约束型离线 RL;其闭式解 π∝πβ eA/β\pi\propto\pi_\beta\,e^{A/\beta} 与 IQL 里 AWR(式(9.10))的加权行为克隆形式相呼应。于是”悲观”与”贴近参考分布”在离线 RL 里形成统一视角(见模块 15)。

5.1 保守系数 α\alpha 的定量刻度:下压量、下界松紧与安全的三角

式(9.5)、式(9.6) 已给出”α\alpha 越大越保守”的定性结论。下面用局部近似刻画 α\alpha 的作用;这不是额外的 CQL 定理。

下压量随 α\alpha 线性。 由式(9.5),每个 (s,a)(s,a) 的价值相对标准 Bellman 解被下压

δ(s,a) = BπQ^(s,a)−Q^(s,a) ≈ α μ(a∣s)−πβ(a∣s)πβ(a∣s),(9.8a)\delta(s,a)\ =\ \mathcal B^\pi\hat Q(s,a)-\hat Q(s,a)\ \approx\ \alpha\,\frac{\mu(a|s)-\pi_\beta(a|s)}{\pi_\beta(a|s)}, \tag{9.8a}

它正比于 α\alpha,且正比于”目标分布 μ\mu 相对行为分布 πβ\pi_\beta 的密度比过剩量”。对深 OOD 动作(πβ→0\pi_\beta\to0)下压量急剧变大,对数据内动作(μ≈πβ\mu\approx\pi_\beta)几乎为零——这就是”针对性打击”的定量来源。

期望下界的”欠估幅度”也随 α\alpha 线性。 对策略 π\pi 取期望,真实值与保守估计之差约为

Ea∼π[Qπ−Q^] ≈ α⋅Ea∼π ⁣[μ−πβπβ]⏟  =: Dπ,(9.8b)\mathbb E_{a\sim\pi}\big[Q^\pi-\hat Q\big]\ \approx\ \alpha\cdot\underbrace{\mathbb E_{a\sim\pi}\!\Big[\tfrac{\mu-\pi_\beta}{\pi_\beta}\Big]}_{\;=:\,D_\pi}, \tag{9.8b}

这是从式(9.5)读出的局部启发式。DπD_\pi 的符号并非对任意 μ,π\mu,\pi 自动非负;只有当压低分布在目标策略重视的动作上相对 πβ\pi_\beta 过重,使 Dπ>0D_\pi>0 时,它才表示随 α\alpha 线性增加的平均下压。真正的 CQL 下界还依赖原论文中的分布、采样误差与函数表达假设,不能由这一行单独推出。

启发式“盖住外推误差”的阈值。 若在所考察分布下确有 Dπ>0D_\pi>0,并把外推 + 采样带来的平均正向误差记为 ϵ^\hat\epsilon,则要求下压量至少覆盖它,会得到调参尺度:

α ≳ αscale := ϵ^Dπ(Dπ>0, 仅作局部调参尺度).(9.8c)\alpha\ \gtrsim\ \alpha_{\mathrm{scale}}\ :=\ \frac{\hat\epsilon}{D_\pi}\qquad(D_\pi>0,\ \text{仅作局部调参尺度}). \tag{9.8c}

三条读法:(i) α→0\alpha\to0 时保守正则消失;(ii) 在上述局部近似与 Dπ>0D_\pi>0 下,式(9.8c)只是“可能够用”的量级,不是普适保证;(iii) α\alpha 过大仍会造成过度保守。实践应联合看数据动作 Q、OOD 采样 Q、Bellman 残差与 OPE/少量在线验证,不能直接算出一个“理论正确”的 α\alpha。

6. IQL:expectile 回归 + AWR

第三条解法族最激进:干脆完全不查询数据外的动作。既然 OOD 高估来自”对 OOD 动作求 max/评估 Q”,那就只用数据里出现过的动作来做价值学习。代表作 IQL(Implicit Q-Learning, Kostrikov et al. 2021)。

6.1 用 expectile 回归隐式逼近 max

IQL 的核心技巧:不显式 max⁡aQ(s,a)\max_a Q(s,a)(那会碰 OOD 动作),而是训练一个状态价值 V(s)V(s) 去估计数据条件分布下的上 expectile,用 **expectile regression(非对称平方回归)**实现 [2]。定义 expectile 损失:

L2τ(u)=∣τ−1(u<0)∣ u2,τ∈(0.5,1).(9.9)L_2^\tau(u)=\big|\tau-\mathbb{1}(u<0)\big|\,u^2,\qquad \tau\in(0.5,1). \tag{9.9}

价值网络最小化 E(s,a)∼D[L2τ(Qθˉ(s,a)−Vϕ(s))]\mathbb{E}_{(s,a)\sim\mathcal D}\big[L_2^\tau\big(Q_{\bar\theta}(s,a)-V_\phi(s)\big)\big]。当 τ→1\tau\to1,V(s)V(s) 趋近于”在行为策略支撑内的动作上 QQ 的上确界”,即隐式地实现了”只在数据内取 max”。

为什么这样 · 能不能不这样

为什么用 expectile 回归把 V(s)V(s) 推向数据内 QQ 的上端,而不直接取经验 max⁡\max、或退一步取均值? 直接对数据内动作取经验 max⁡\max 看似最贪婪,但每个状态在数据里往往只有寥寥几个(甚至一个)动作样本,经验 max⁡\max 会死死咬住其中偶然偏高的那个、方差极大、追噪声;而取均值(等价 τ=0.5\tau=0.5)又太保守。expectile 用一个连续可调的 τ∈(0.5,1)\tau\in(0.5,1) 在两者之间平滑滑动:τ\tau 越接近 1,越重视上尾正残差;在有界支持等正则条件下才逼近数据内本质上确界。它始终只在数据样本上加权、从不外推到 OOD 动作。

推导:expectile 为何偏向数据内上尾(逐步)

关键假设

QθˉQ_{\bar\theta} 固定为目标网络;对每个 ss,aa 服从数据条件分布 πβ(⋅∣s)\pi_\beta(\cdot|s);τ∈(0.5,1)\tau\in(0.5,1)。

第 1 步:expectile 的定义。 随机变量 XX 的 τ\tau-expectile mτm_\tau 是 arg⁡min⁡mE[L2τ(X−m)]\arg\min_m\mathbb E[L_2^\tau(X-m)]。τ=0.5\tau=0.5 时就是均值;τ→1\tau\to1 时对“超出 mm 的正残差”赋更大权重,于是 mτm_\tau 被推向 XX 的上端;对有界支持等常见正则条件,有 mτ→ess sup⁡Xm_\tau\to\operatorname{ess\,sup}X。令导数为零给出一阶条件 τ E[(X−mτ)+]=(1−τ) E[(mτ−X)+]\tau\,\mathbb E[(X-m_\tau)_+]=(1-\tau)\,\mathbb E[(m_\tau-X)_+]。逼近上确界的具体速率取决于上尾分布,不能仅用 (1−τ)(1-\tau) 与取值跨度给出普适的线性误差率;τ\tau 越接近 1,也越易追逐偶然高值。

第 2 步:套到 X=Q(s,a), a∼πβ(⋅∣s)X=Q(s,a),\ a\sim\pi_\beta(\cdot|s)。 于是 V(s)V(s) 学到的是该条件分布下 QQ 的上 expectile——它只用了 (s,a)∈D(s,a)\in\mathcal D 的样本,从不评估 OOD 动作。这就把“对所有动作取 max”替换成对数据内样本做上尾非对称平方回归。

第 3 步:Q 的更新只用数据转移。Qθ(s,a)←r+γVϕ(s′)Q_\theta(s,a)\leftarrow r+\gamma V_\phi(s'),其中 s′s' 是数据里的真实后继、Vϕ(s′)V_\phi(s') 又只由数据内动作算出。整个回路闭合在数据支撑内,OOD 动作从头到尾没被查询过。局限:τ\tau 太接近 1 会放大 QQ 的估计噪声(追逐数据里偶然的高值);VV 只能反映数据覆盖的动作,若最优动作根本不在数据里,IQL 也无能为力。

统计意义:expectile 与 quantile 不同

分位数(quantile) 由非对称绝对值损失 ∣τ−1(u<0)∣ ∣u∣|\tau-\mathbb 1(u<0)|\,|u| 定义(pinball loss);expectile 由非对称平方损失 ∣τ−1(u<0)∣ u2|\tau-\mathbb 1(u<0)|\,u^2 定义。二者不是同一统计量:τ=0.5\tau=0.5 时 expectile 是均值,而 quantile 是中位数。对有界支持等正则条件,τ→1\tau\to1 时 expectile 才趋向本质上确界。关键性质是它始终只在数据内 a∼πβa\sim\pi_\beta 上计算,不外推到 OOD 动作。

6.2 用 advantage-weighted regression 抽取策略

IQL 学完 Q,VQ,V 后,并不对 Q 求 argmax(又会碰 OOD),而是用 advantage-weighted regression(AWR,优势加权回归) 从数据里抽取策略——本质是加权行为克隆:

π=arg⁡max⁡π E(s,a)∼D[exp⁡ ⁣(β (Q(s,a)−V(s))) log⁡π(a∣s)].(9.10)\pi=\arg\max_\pi\ \mathbb{E}_{(s,a)\sim\mathcal D}\Big[\exp\!\big(\beta\,(Q(s,a)-V(s))\big)\,\log\pi(a|s)\Big]. \tag{9.10}

解读:对数据里的每个 (s,a)(s,a),按其优势 A=Q−VA=Q-V 的指数加权做行为克隆——优势高(比该状态平均更好)的动作被大力模仿,优势低的被忽略。温度 β\beta 控制”多贪婪”。这与模块 07 的 MaxEnt/加权后验一脉相承,且只模仿数据里的动作,绝不外推。

图 3:expectile 损失对 u=Q-V>0 的正残差赋予更高权重(\tau\to1),把 V 拉向数据内 Q 的上端。

图 3:expectile 损失对 u=Q−V>0u=Q-V>0 的正残差赋予更高权重(τ→1\tau\to1),把 VV 拉向数据内 QQ 的上端。

本质 Insight

IQL 把离线 RL 的戒律执行到极致:价值学习与策略抽取全程只碰数据里的 (s,a)(s,a)。它不需要估计 πβ\pi_\beta(省去 BCQ 的 CVAE),也不需要显式保守惩罚(省去 CQL 的调 α\alpha),只用两个回归 + 一个加权 BC,简单、稳定、强。代价:策略被”锁”在数据支撑内,缝合能力来自 VV 的自举而非对新动作的探索——它擅长”从好数据里挑好片段拼起来”,但无法凭空造出数据里没有的更优动作。

7. 模型化离线 RL:MOReL / COMBO

还可以把模块 08的模型思想搬到离线场景:用离线数据学一个动力学模型,在模型里做规划/生成数据。但模型在数据外同样会幻觉,所以必须与”保守/悲观”结合。

为什么这样 · 能不能不这样

为什么把模块 08 的动力学模型搬到离线,还必须再叠一层”悲观”(MOReL 的悲观 MDP、COMBO 的 CQL 式下压),不能直接照搬在线那套 MBRL? 因为离线的病根——数据外没有真实反馈——对”学出来的模型”同样致命:模型在数据覆盖区外只会幻觉,而规划器 / 策略又是对抗性优化器,会专门跑去模型最乐观的幻觉区(正是模块 08 第 2 节那个分布漂移,但这次连”上线跑一下把模型拉回真实”的机会都没有)。能不能不加悲观、直接用在线的 PETS / MBPO? 可以,但没有真实交互纠偏,模型误差会被无制衡地放大,最终重演第 3 节 naive off-policy 的崩溃。加悲观的代价是多一套不确定性估计 / 保守正则要调,好处是把”这个模型敢不敢信”显式管起来。

  • MOReL(Model-based Offline RL):学模型 + 构造一个悲观 MDP(pessimistic MDP)——在模型不确定性高(用 ensemble 分歧度量)的状态-动作处,把奖励设成一个大负值/引入吸收的”惩罚”状态。策略在这个悲观世界里优化,自然不敢去模型没把握的地方。
  • COMBO(Conservative Offline Model-Based):把 CQL 的保守正则与 model-based 数据生成结合——对模型 rollout 生成的(可能 OOD 的)状态-动作施加 CQL 式的 Q 值下压,无需显式估计不确定性即可保守。

本质 Insight

无论 model-free 还是 model-based,离线 RL 的解法都收敛到同一个词:悲观(pessimism)。在线 RL 靠乐观驱动探索(“没试过的可能很好,去试试”,见模块 10);离线 RL 反过来靠悲观保命(“没数据的地方假设很差,别去”)。乐观与悲观的对偶,是理解 online/offline RL 分野的一把钥匙。

8. 方法对比与选型

方法族代表核心机制要不要估 π_β会否查询 OOD优点 / 局限
策略约束BCQ, BEAR, TD3+BC限制 π 靠近 π_βBCQ/BEAR 要;TD3+BC 用 BC 项受限直观、TD3+BC 极简强;约束松紧难调、依赖 π_β 估计
保守价值CQL, COMBO下压高值/OOD 动作 Q(条件性下界)否会(但被压)μ=π\mu=\pi 等理想条件下有策略期望值下界;深网实践是近似,α 过大过度保守
回避 OODIQLexpectile+AWR,只用数据内动作否不查询简单稳定强、无需调保守项;被锁在数据支撑内
模型化MOReL, COMBO悲观 MDP / 模型+保守否模型内会(受惩罚)可缝合、样本效率高;依赖模型质量与不确定性估计

选型经验:需要强基线且实现简单,可比较 TD3+BC 或 IQL;数据质量差、分布窄、追求稳健,可评估 CQL(保守正则)或 IQL;数据充足且希望增强缝合、可接受模型开销时,可考虑模型化方法。选择仍取决于数据覆盖、动作空间、评估预算和部署风险,不存在跨领域的默认算法。

8.1 逐条对照:BCQ / BEAR(策略约束)vs CQL / IQL(保守 / 回避)

把四个最常被并列讨论的算法拉到同一张表上,能看清”约束策略”与”保守价值 / 回避 OOD”两条路线在作用位置、代价、失效模式上的差异:

算法作用在哪如何限制 OOD要不要估 π_β关键超参主要弱点
BCQ动作生成(备份的 argmax 候选)只在 CVAE 生成 + 微扰的动作里取 max要(CVAE)扰动幅度 Φ、候选数受限于 CVAE 对 π_β 的拟合质量
BEAR策略约束(支撑集匹配)MMD 约束 π 支撑 ⊆ π_β 支撑要(MMD 需 π_β 样本)MMD 阈值、核带宽MMD 调参敏感、支撑估计难
CQL价值(critic 正则)logsumexp 施加保守压力;μ=π\mu=\pi 等条件下给策略期望值下界否保守系数 β_cqlβ_cql 过大过度保守;logsumexp 估计噪声
IQL价值 + 策略抽取(全程数据内)expectile 隐式取”数据内 max”,AWR 加权 BC否expectile τ、AWR 温度 β被锁在数据支撑内、无法造新动作

一句话对照

策略约束(BCQ/BEAR)在动作端设卡、需要显式建模 πβ\pi_\beta,因此 πβ\pi_\beta 估不准就会误导;CQL 在价值端下压、无需估 πβ\pi_\beta 但要调保守强度;IQL 干脆不查询数据外动作、把价值学习与策略抽取全闭合在数据内,超参较少且通常较稳定。三者是”同一条戒律(别信数据没告诉你的)“在动作端 / 价值端 / 查询端的三种落点。

9. 离线到在线微调

离线 RL 常作为起点:先用海量离线数据学一个不错的初始策略,再用少量在线交互微调(offline-to-online fine-tuning) 突破数据天花板。这一步有个反直觉的坑:

局限 / 陷阱:微调初期的性能骤降

离线阶段学到的策略/价值是保守的(尤其 CQL 压低了 OOD 动作)。一旦切到在线、开始遇到新数据,过度保守的价值会导致策略更新方向混乱,甚至出现初期性能暴跌再回升。缓解:在线阶段逐步放松保守约束、用平衡的回放(离线+在线数据混合)、或用天然适合微调的算法(IQL 因不显式保守、切换更平滑,常作为 offline-to-online 的良好起点;也有 Cal-QL 等专门校准初始价值以稳住微调的方法)。

推导直觉:微调初期骤降的两重分布漂移机制(逐步)

关键假设

离线阶段学到保守价值 Q^\hat Q(对 OOD 动作系统性低估)与相应策略;切到在线后策略开始与真实环境交互、收集新数据。

漂移一:价值的”保守欠账”被在线数据揭穿。 离线 CQL 把 OOD 动作的 Q^\hat Q 压到真实值以下。在线后,策略一旦真的执行某个曾被压低的动作、拿到真实(往往更高) 的回报,TD 误差为大正值 → Q^\hat Q 被猛拉高。这批剧烈修正会短暂打乱 actor 的更新方向(原本”以为不好”的动作突然变好),造成策略震荡。

漂移二:状态分布从 dπβd^{\pi_\beta} 移向 dπd^{\pi}。 价值网络在离线数据的状态分布 dπβd^{\pi_\beta} 上训练;策略一改进,访问的状态分布就变,新状态对旧价值网络是分布外的,估计不可靠 → 又一轮修正。两重漂移叠加,就是”先崩后升”的来源。

对策的统一逻辑:别让在线初期的修正太剧烈。(1) 平衡回放:batch 里混入离线数据,锚住已学到的东西、稀释新数据的冲击;(2) 退火保守:让 CQL 的 βcql\beta_{\text{cql}} 随在线步数衰减,逐步交还乐观;(3) Cal-QL:离线阶段就把下界校准到不低于一个参考策略的真实价值,使”欠账”不至于过深,微调时无需大修正;(4) 用 IQL 起手:它不显式施加 CQL 式保守正则,切换通常更平滑。局限:退火/混合比例本身又是超参,调不好会重新引入高估或拖慢提升。

图 4:offline-to-online 微调曲线。过度保守的价值在切到在线后引发剧烈修正、初期骤降再回升;IQL / Cal-QL / 平衡回放让过渡更平滑。

图 4:offline-to-online 微调曲线。过度保守的价值在切到在线后引发剧烈修正、初期骤降再回升;IQL / Cal-QL / 平衡回放让过渡更平滑。

前沿实践

  • 离线 RL ↔ LLM 偏好优化:DPO 从带 KL 正则的奖励最大化目标推导,但实际训练损失是在偏好回答对上比较相对参考策略的对数概率比,并不显式优化一个 βDKL\beta D_{\mathrm{KL}} 项 [3]。偏好数据可以固定,也可以迭代重采;两者的共同点是都需关注训练策略相对数据或参考策略的分布偏移。
  • 决策 Transformer / RvS:把离线 RL 重铸为”以回报为条件的序列建模”,用监督学习范式绕开 Bellman 自举与 OOD 高估,是离线 RL 与大模型的另一交汇点。
  • 真实世界应用:机器人操作、推荐和医疗决策都存在使用历史数据学习策略的研究,但公开证据不足以把专用离线 RL 概括为这些领域的“主力范式”或把离线预训练加在线微调称为统一标准配方。

前沿实验室视角

用自己的话概括工业界对离线 RL 的现实态度:一方面,推荐 / 广告系统很早就在用海量交互日志做 off-policy 学习与反事实纠偏(如 Google/YouTube 的 Top-K off-policy 推荐用倾向权重修正日志偏差,Chen 等 2019),这与离线 RL 同源;另一方面,真正把”纯离线 RL”(完整的价值自举 + 悲观正则那一整套)搬上生产线却相当谨慎——因为第 10 节说的”无法在线可信验证”在高风险业务里是硬伤。顶级实验室在 LLM 后训练里的经验也指向同一方向:比起复杂的离线 RL 机器,按分数筛选的监督微调(filtered-SFT)、拒绝采样、以及 Decision Transformer 式”以回报为条件的序列建模” 往往更实用、更稳——例如 Meta 在 Llama 2 的后训练里就把拒绝采样微调作为常规一环。这些机构公开取向可归纳成一句:离线数据要用,但优先用监督式、能小步验证的朴素做法,把重型离线 RL 留给确有必要的场景。出处:Chen et al., Top-K Off-Policy Correction for a REINFORCE Recommender System(2019);Touvron et al., Llama 2(Meta,2023,拒绝采样微调);Chen et al., Decision Transformer(2021)。

10. 离线策略评估(OPE)

训练出策略之后,一个在离线设定下格外棘手的问题浮现:怎么知道它好不好? 在线 RL 跑几个 episode 一看便知;离线全程零交互,我们只有一批由行为策略 πβ\pi_\beta 收集的数据。离线策略评估(Off-Policy Evaluation, OPE) 就是这门”只用离线数据估计目标策略 π\pi 真实回报 Vπ=Eπ[∑tγtrt]V^\pi=\mathbb E_\pi[\sum_t\gamma^t r_t]“的手艺,主要用于模型选择与早停(回顾第 9 节图 4 与讨论课 D9.3 那个”Q 涨、真实回报崩”的陷阱——正是缺乏可信 OPE 的直接后果)。

10.1 重要性采样(IS)及其方差灾难

重要性采样(Importance Sampling, IS) 用两策略的概率比对数据回报重加权,把”在 πβ\pi_\beta 下采到的轨迹”纠正成”在 π\pi 下的期望”:

V^IS=1N∑i=1N(∏t=0Tπ(ati∣sti)πβ(ati∣sti)⏟轨迹重要性比 ρi)∑t=0Tγtrti.(9.11)\hat V_{\mathrm{IS}}=\frac1N\sum_{i=1}^N\Big(\underbrace{\prod_{t=0}^{T}\frac{\pi(a_t^i|s_t^i)}{\pi_\beta(a_t^i|s_t^i)}}_{\text{轨迹重要性比 }\rho^i}\Big)\sum_{t=0}^{T}\gamma^t r_t^i. \tag{9.11}

当行为策略概率已知(或正确估计)、目标策略满足绝对连续/覆盖条件 π(a∣s)>0⇒πβ(a∣s)>0\pi(a|s)>0\Rightarrow\pi_\beta(a|s)>0,且样本独立时,它是无偏的;任一条件破坏都会引入偏差或令比值不可定义。代价是重要性比为 T+1T{+}1 个比值的连乘:在常见的持续分布错配下,其方差可随 TT 指数增长(并非每个问题都必然恰好指数爆炸)。加权 IS(WIS / self-normalized) 以有限样本偏差换较低方差;逐决策 IS只给每项奖励乘到该时刻为止的比值,通常进一步降方差。

10.2 拟合 Q 评估(FQE)与双稳健(DR)

FQE(Fitted Q Evaluation) 换个思路:不重加权,而是为待评策略 π\pi 专门拟合一个 QπQ^\pi——用数据反复回归 Qϕπ(s,a)←r+γ Qϕˉπ(s′,a′), a′∼π(⋅∣s′)Q^\pi_\phi(s,a)\leftarrow r+\gamma\,Q^\pi_{\bar\phi}(s',a'),\ a'\sim\pi(\cdot|s'),再估 V^FQE=Es0[ Ea∼πQϕπ(s0,a) ]\hat V_{\mathrm{FQE}}=\mathbb E_{s_0}[\,\mathbb E_{a\sim\pi}Q^\pi_\phi(s_0,a)\,]。它方差低、目前较常用,但因为要在 a′∼πa'\sim\pi 上自举,同样受 OOD 外推之苦(π\pi 偏离数据越远越不准)。

双稳健(Doubly Robust, DR) 把两者的长处合一:以 FQE 的价值模型为基线(低方差),再用 IS 比值对基线的误差做纠偏(保无偏):

V^DR=V^FQE(s0)+1N∑i∑t=0Tγt ρ0:ti(rti+γV^(st+1i)−Q^(sti,ati)).(9.12)\hat V_{\mathrm{DR}}=\hat V_{\mathrm{FQE}}(s_0)+\frac1N\sum_i\sum_{t=0}^{T}\gamma^t\,\rho_{0:t}^i\big(r_t^i+\gamma \hat V(s_{t+1}^i)-\hat Q(s_t^i,a_t^i)\big). \tag{9.12}

名字里的“双”指:在相应正则、覆盖与序列估计条件下,价值模型或行为概率/比值模型有一方正确即可获得一致性(具体有限样本无偏性取决于所用 DR 变体与估计方式);当 Q^\hat Q 大致准确时,TD 残差较小,IS 纠偏项通常方差更低。它不是无条件“兼得无偏与低方差”:覆盖差、比值截断、两套模型同时错都会破坏保证。

图 5:OPE 方法的偏差-方差权衡。满足覆盖且概率比正确时,普通轨迹 IS 无偏但可能有极高方差;加权 IS 以偏差换方差;FQE/DR 受模型偏差与 OOD 外推之限。

图 5:OPE 方法的偏差-方差权衡。满足覆盖且概率比正确时,普通轨迹 IS 无偏但可能有极高方差;加权 IS 以偏差换方差;FQE/DR 受模型偏差与 OOD 外推之限。

局限 / 陷阱:OPE 与学习难题同根同源

别指望 OPE 能”免费”给你可信的验证。OPE 要估计的正是”策略在数据外的行为会怎样”——而这恰恰是离线 RL 学习难题的同一个问题:数据没覆盖的地方无法可信外推。因此当 π\pi 显著偏离 πβ\pi_\beta(正是我们希望”缝合出更优策略”的时候),所有 OPE 都最不准。诚实的现实做法:留一个小的在线 / 仿真预算做最终验证,训练中用 FQE + 保守指标做粗筛,绝不凭 Q 值绝对大小选模型。

本质 Insight

OPE 把离线 RL 的”评估困境”讲透了:学习靠悲观兜底,评估却无处兜底。你可以在学习时用保守/约束避免被幻觉带偏,但评估时若也”保守”就失去了区分好坏策略的分辨率。这种”无法在线验证”的结构性困难,是离线 RL 在真实世界落地偏薄的重要原因之一(呼应编者按),也是为什么工业界更青睐”能小步在线验证”的 filtered-SFT / 拒绝采样等朴素做法。

讨论课 · Section 9:Offline RL(CQL / IQL 实现与评估陷阱)

本节把第 5–6 节的 CQL 与 IQL 落到可照抄的实现要点伪代码,再讲离线特有的评估陷阱(为什么”训练曲线好”骗不得、OPE 是什么),最后给一份超参与失败排查清单。核心戒律仍是那一条:不要相信数据没告诉你的东西。

D9.1 CQL 实现要点:在 SAC 上加一个 logsumexp 保守正则

CQL 通常构建在 SAC 之上:critic 损失 = 标准 Bellman 误差 + 一个把 OOD 动作 Q 压下去、把数据内动作 Q 托起来的保守正则。连续动作下那个”压低所有动作”的项用 logsumexp 近似(对动作采样估计),这正是式(9.4) 里 Ea∼μ[Q]\mathbb E_{a\sim\mu}[Q](经式(9.8) 化成 logsumexp)的可算版本。

# CQL(H):在 SAC critic 上加保守项(每个 Q_θi 都加)
# 1) 标准 Bellman 目标(与 SAC 一致,含熵项/双 Q min)
y   = r + γ(1−done)·( min_i Q_θ̄i(s',a') − α·logπ(a'|s') )
L_bellman = mean( (Q_θi(s,a) − y)**2 )
# 2) 保守正则:logsumexp_a Q(s,a) − Q(s, a_data)
#    第一项“压低所有(尤其OOD)动作”,第二项“托起数据内动作”
a_unif ~ Uniform(A)              [M 个]     # 重要性采样估 logsumexp
a_pi   ~ π_φ(·|s)                [M 个]
logsumexp_Q = logmeanexp( cat[ Q(s,a_unif)−log_u,  Q(s,a_pi)−logπ ] )  # 去偏
L_cql = mean( logsumexp_Q − Q(s, a) )        # a 为数据里的真实动作
# 3) 合并;β_cql 即第5节的 α,控制保守强度(可用 Lagrange 自动调)
L_critic = L_bellman + β_cql · L_cql
# actor / 温度更新与 SAC 相同

要点:(1) logsumexp 用重要性加权(减去提议分布对数密度 log_u / logπ)去偏,混合”均匀动作 + 当前策略动作”两组样本更稳;(2) βcql\beta_{\text{cql}}(=第 5 节的 α\alpha)是最关键超参——太小压不住高估、太大过度保守连数据内好动作也被压;(3) CQL 有 Lagrange 版:给保守项设一个目标阈值,自动调 βcql\beta_{\text{cql}},省去手调。

D9.2 IQL 实现要点:expectile 回归 + AWR 三步

IQL 全程只碰数据里的 (s,a,s′)(s,a,s'),三步各管一件事:VV 用 expectile 回归隐式取”数据内的 max”、QQ 只用数据转移自举、策略用 AWR 加权 BC 抽取。

# 超参:expectile τ∈(0.5,1)(如 0.7~0.9);AWR 温度 β;折扣 γ
# --- 步骤 1:V 网络(expectile 回归,把 V 推向数据内 Q 的上端)---
u   = Q_θ̄(s,a) − V_φ(s)                       # 用目标 Q(停梯度)
L_V = mean( |τ − 1(u<0)| · u**2 )             # 非对称平方损失(expectile)
# --- 步骤 2:Q 网络(只用数据里的真实后继 s',绝不评估 OOD 动作)---
y   = r + γ(1−done)·V_φ(s')                    # 目标里没有任何 max/π 采样!
L_Q = mean( (Q_θ(s,a) − y)**2 );  软更新 Q_θ̄
# --- 步骤 3:AWR 抽策略(优势加权行为克隆,只模仿数据内动作)---
adv = Q_θ̄(s,a) − V_φ(s)
w   = min( exp(β · adv), w_max )               # 指数优势权重,裁剪防爆
L_π = mean( −w · logπ_φ(a|s) )                 # 加权 BC

要点:(1) τ\tau 越接近 1,VV 越贪婪地逼近数据内 QQ 上确界,但太接近 1 会放大 QQ 噪声(追偶然高值);(2) Q 目标里没有 max⁡\max / 没有对 π\pi 采样——这是 IQL 回避 OOD 的关键,整条回路闭合在数据支撑内;(3) AWR 的权重要裁剪(w_max,如 100)防止个别高优势样本主导;(4) IQL 不需要估 πβ\pi_\beta、不需要保守项,超参少、切换到在线微调也平滑。

D9.3 离线评估的陷阱

局限 / 陷阱:训练指标会骗人

离线 RL 最危险的坑是评估:训练时你能看到的 Q 值、Bellman 损失、甚至”策略在数据集上的似然”都不能可靠反映真实性能。典型病态——Q 值一路飙升(高估)但真实回报早已崩溃;由于全程零交互,你在训练中拿不到任何真实回报信号来发现这件事。这与在线 RL”跑几个 episode 一看便知”形成鲜明对比。

OPE(Off-Policy Evaluation,离线策略评估) 就是试图”只用离线数据估计新策略真实回报”的一类方法,用于在无法在线测试时做模型选择/早停:

  • 普通轨迹重要性采样(IS):用 ∏tπ(at∣st)/πβ(at∣st)\prod_t \pi(a_t|s_t)/\pi_\beta(a_t|s_t) 重加权数据回报;在覆盖、概率比正确等条件下无偏,但持续分布错配时方差可随时域指数增长。
  • 加权 IS(WIS)与双稳健(DR):WIS 以有限样本偏差换取较低方差;DR 的无偏性或一致性取决于具体变体、覆盖条件,以及价值模型或行为概率模型至少一方正确等假设。
  • 拟合 Q 评估(FQE):为待评策略单独拟合一个 QπQ^\pi 再估 E[Qπ(s0,π)]\mathbb E[Q^\pi(s_0,\pi)]——目前较常用、相对稳的 OPE,但同样受 OOD 外推之苦。
  • 模型化 OPE:学动力学模型 rollout 估回报,受模型误差限制。

本质 Insight

离线 RL 的评估难题和它的学习难题同根同源:都是”数据没覆盖的地方无法可信外推”。所以现实里常见的稳妥做法是——留一个小的在线/仿真预算专门做最终验证,训练中则依赖保守指标(如 CQL 的 Q 是否被压住、策略是否偏离数据太远)+ FQE 做粗筛,而绝不凭 Q 值绝对大小选模型。

D9.4 常见超参与失败排查

症状可能原因排查 / 对策
Q 值爆炸式增长、回报崩OOD 高估未被压住CQL 调大 βcql\beta_{\text{cql}} / 用 Lagrange;或换 IQL;检查双 Q min 是否开
性能被”锁”在数据水平、无提升约束/保守过强,退化成 BCCQL 减小 βcql\beta_{\text{cql}};IQL 提高 τ\tau、增大 AWR 温度 β\beta
IQL 的 VV 抖动大 / 追高τ\tau 太接近 1,放大 Q 噪声把 τ\tau 降到 0.7~0.8;检查 AWR 权重是否裁剪
训练后期越训越差过拟合到虚高目标早停(用 FQE/保守指标);减小 UTD;奖励/状态归一化
offline→online 微调初期骤降保守价值与在线数据冲突逐步放松保守;混合回放;用 IQL / Cal-QL

默认起手式

数据质量参差、追求稳健:先上 IQL(τ=0.7\tau{=}0.7、AWR β=3\beta{=}3 附近)或 CQL(Lagrange 版);务必做状态归一化与奖励缩放;模型选择靠 FQE + 少量在线验证,不看 Q 绝对值。

图 6:离线训练中"估计 Q"可能一路上升(高估),而无法观测的真实回报早已见顶回落;这正是不能凭 Q 值选模型、需要 OPE 或少量在线验证的原因。

图 6:离线训练中”估计 Q”可能一路上升(高估),而无法观测的真实回报早已见顶回落;这正是不能凭 Q 值选模型、需要 OPE 或少量在线验证的原因。

方法溯源:动机 · 启发 · 局限

离线 RL 的整部历史,是围绕同一个病根——OOD 动作的乐观外推被自举放大——反复换角度下药的过程。下表把这条谱系串起来:每一行的”关键局限”往往正是下一行”要解决的问题”,而它们全都在贯彻同一条戒律——不要相信数据没告诉你的东西。

方法 / 代表作(年代)要解决什么问题(动机)受什么启发 / 技术脉络关键局限(→ 引出谁)
批量 RL / naive off-policy(把 DQN/SAC 直接跑在固定数据上)希望像监督学习那样从既有数据里榨出好策略off-policy 的回放机制、Bellman 自举OOD 动作过估计 × max⁡\max 正偏差 × 无纠错回路 → 自我放大而崩(→ 策略约束)
BCQ(Fujimoto 等 2019)系统研究并缓解”外推误差”用 CVAE 建模行为策略 πβ\pi_\beta,只在数据似然高的动作里取 max受限于 CVAE 对 πβ\pi_\beta 的拟合质量、约束偏硬(→ BEAR 放宽为支撑匹配)
BEAR(Kumar 等 2019)把”硬分布匹配”放宽为支撑集匹配,允许支撑内自由重分配概率用最大均值差异(MMD)约束 π\pi 的支撑 ⊆πβ\subseteq\pi_\beta 支撑MMD 调参敏感、仍需估 πβ\pi_\beta(→ 更极简的 TD3+BC / 换到价值端)
TD3+BC(Fujimoto & Gu 2021)要一个免复杂 πβ\pi_\beta 建模的极简强基线TD3 + 一项行为克隆正则 (π(s)−a)2(\pi(s)-a)^2 + 状态归一化约束松紧仍要平衡 λ\lambda、本质仍是策略约束(“别乱走”的张力还在)
CQL(Kumar 等 2020)不约束策略,直接从价值端抑制高估保守正则:logsumexp⁡aQ\operatorname{logsumexp}_a Q 下压 OOD、托起数据内 QQ;在 μ=π\mu=\pi 等条件下给策略期望意义的下界α\alpha 过大过度保守、logsumexp 估计噪声、微调时”保守欠账”(→ IQL 回避、Cal-QL 校准)
IQL(Kostrikov 等 2021)干脆完全不查询数据外的动作expectile 回归隐式取”数据内的 max” + advantage-weighted regression 加权 BC被锁在数据支撑内、无法造出数据里没有的更优动作
Decision Transformer(Chen 等 2021)绕开 Bellman 自举与 OOD 高估这一整套麻烦把离线 RL 重述为”以回报为条件的序列建模”(监督学习 + Transformer)缝合能力弱、依赖的”目标回报”条件本身要外推(逼问是否还需专用离线 RL 机器)
MOReL / COMBO(2020–2021)把模块 08 的模型思想搬到离线以增强缝合悲观 MDP(MOReL)/ 模型 rollout + CQL 式保守(COMBO)依赖模型质量与不确定性估计(模型在数据外同样会幻觉)

演进故事线 ①:同一个病,从动作端一路治到价值端、再到”干脆不查询”

起点是一个诱人却致命的想法:off-policy 本就从回放池学,直接把回放池换成固定数据集不就行了? 结果崩溃——因为 Bellman 目标里的 max⁡a′\max_{a'} 会专挑被网络乐观外推的 OOD 动作,而离线下没有真实反馈把它拉回,高估自我放大。三族解法就是对这条因果链的三处不同下刀:策略约束(BCQ 用 CVAE 只在数据内取 max → BEAR 放宽为支撑匹配 → TD3+BC 用一行 BC 正则极简化)在动作端设卡,但都要显式建模 πβ\pi_\beta、且面临”约束太紧退化成 BC、太松又回到高估”的张力;CQL 转到价值端,用 logsumexp⁡\operatorname{logsumexp} 对高值动作施加更强保守压力,并在理想条件下给出策略期望价值口径的下界,无需估 πβ\pi_\beta 但要调保守强度 α\alpha;IQL 最激进——从头到尾不查询数据外动作,用 expectile 回归把危险的“对所有动作取 max”换成对数据内样本做上尾非对称平方回归。作用点从动作端 → 价值端 → 查询端,一步步把病根堵死。

演进故事线 ②:一条戒律的三种落点,与”乐观 / 悲观”的对偶

把所有方法并排看,会发现它们其实是同一条戒律的不同实现——悲观(pessimism):CQL 在限定条件下给策略期望值下界、TD3+BC 用 BC 把策略钉在数据附近、双 Q 取 min⁡\min 系统性往低了估、MOReL 直接构造悲观 MDP。这与在线 RL 靠乐观驱动探索(“没试过的可能很好,去试试”)恰成对偶:离线 RL 靠悲观保命(“没数据的地方假设很差,别去”)。而”约束新策略贴近参考分布”这件事,正是那个 KL 母题在离线场景的化身——把 max⁡πE[r]−β DKL(π∥πref)\max_\pi\mathbb{E}[r]-\beta\,D_{\mathrm{KL}}(\pi\|\pi_{\text{ref}}) 里的 πref\pi_{\text{ref}} 取成行为策略 πβ\pi_\beta,其闭式解 π∝πβ eA/β\pi\propto\pi_\beta\,e^{A/\beta} 就是 IQL 里 AWR 那个加权行为克隆。于是”悲观”与”贴近参考分布”在离线 RL 里合流为同一件事(统一视角见 模块 15)。

贯穿线:Decision Transformer 的”反问”与 LLM 时代的落地

谱系的最后出现了一记釜底抽薪:既然价值自举 + OOD 高估这么麻烦,Decision Transformer / RvS 干脆把离线 RL 重述为”以回报为条件的序列建模”(即监督学习),绕开 Bellman 自举——直接逼问”是否还需要一整套专用的离线 RL 机器?“在 LLM 后训练中,DPO 可以直接在固定偏好对上训练;它由 KL 正则化奖励目标推导,并通过相对参考策略的对数概率比隐式体现约束 [3]。这可类比为限制策略偏离参考策略,但并不等同于 TD3+BC 的 BC 正则。典型 RLHF 则先拟合奖励模型,再由当前策略生成样本并做 RL 优化,不能一概归为固定数据上的离线策略优化。更朴素的 filtered-SFT、拒绝采样、best-of-nn 提供了绕开价值自举的替代路线;离线 RL 最值得学习的是”悲观 / 缝合 / 反事实”这些思想,而非预设必须使用 CQL/IQL(呼应编者按,详见模块 13)。

图 7:离线 RL 的方法谱系。上排是"naive 崩溃 → 策略约束(动作端)→ 保守价值(价值端)→ 回避 OOD(查询端)"的主线,绿色支线是 Decision Transformer 把问题重述为序列建模;所有方法共享"悲观"这一贯穿主题。

图 7:离线 RL 的方法谱系。上排是”naive 崩溃 → 策略约束(动作端)→ 保守价值(价值端)→ 回避 OOD(查询端)“的主线,绿色支线是 Decision Transformer 把问题重述为序列建模;所有方法共享”悲观”这一贯穿主题。

11. 小结

  • 定义:固定数据集、零交互,目标是学出(理想上超越数据的)好策略,靠”缝合”取胜。
  • 核心难题:OOD 动作的 Q 值乐观外推 × max⁡\max 正偏差 × 无纠错回路 → 高估自我放大;本质是反事实推理难题。
  • naive off-policy 失败:数据分布冻结、策略与数据鸿沟越拉越大,得不到真实反馈制衡。
  • 三大解法:策略约束(BCQ/BEAR/TD3+BC,“别乱走”)、保守价值(CQL,下压高值/OOD 动作;在 μ=π\mu=\pi 等条件下给策略期望值下界)、回避 OOD(IQL,expectile 回归隐式 max + AWR 加权 BC,全程不碰数据外动作)。
  • 模型化:MOReL(悲观 MDP)、COMBO(模型 + CQL 保守);统一主题是悲观(与在线 RL 的乐观探索对偶)。
  • 微调:offline-to-online 有两重分布漂移(保守欠账被揭穿 + 状态分布迁移),要逐步放松保守 / 校准 / 混合回放以避免初期骤降;DPO 的参考策略约束与离线策略约束可作功能类比,但典型 RLHF 并非固定数据上的离线优化。
  • 评估(OPE):满足覆盖且概率比正确时,普通轨迹 IS 无偏但可能有极高方差;WIS 以偏差换方差,DR 保证依赖具体变体与模型条件;“无法在线验证”与学习难题同根同源,需留小额在线/仿真预算做最终验证。

参考来源

  1. [1]Conservative Q-Learning for Offline Reinforcement Learning(在新窗口打开)arXiv · 2020-06-08 · Theorem 3.2 · 访问于 2026-10-17↩
  2. [2]Offline Reinforcement Learning with Implicit Q-Learning(在新窗口打开)arXiv · 2021-10-12 · Section 4 · 访问于 2026-10-17↩
  3. [3]Direct Preference Optimization Your Language Model is Secretly a Reward Model(在新窗口打开)arXiv · 2023-05-29 · Equations 3–7 · 访问于 2026-10-17↩
  4. [4]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)UC Berkeley · Course homepage · 访问于 2026-10-17