想象一下,我们正在训练一个机器人来做饭。在强化学习 (RL) 中,传统的方法是试错法。机器人可能会尝试捡起一个鸡蛋——有时成功,有时失手摔落弄得一团糟。经过数千次尝试,它最终学会了。但如果我们已经拥有一个人类厨师做饭的海量数据集呢?机器人能否仅仅通过观察就学会,而无需自己打碎任何一个鸡蛋?

这就是**离线强化学习 **(也称为批量强化学习,Batch RL) 的愿景。它旨在完全依靠静态、预先收集的数据集来学习有效策略——从而无需进行成本高昂、缓慢甚至可能有危险的真实世界交互。这可能会为强化学习在机器人、自动驾驶或药物研发等复杂领域的应用带来巨大变革,因为这些领域拥有大量的历史数据日志,但无法进行无休止的实时实验。


离线学习的风险: 分布偏移

要理解为何离线强化学习如此困难,我们先来回顾一下 Q 学习的基础。在强化学习中,智能体会学习一个Q 函数 \(Q(s, a)\),它估计在状态 \(s\) 下采取动作 \(a\),并在此后始终以最优方式行动时所能获得的总未来奖励。智能体的策略 \(\pi(a|s)\) 则是在状态 \(s\) 下选择能最大化该 Q 值的动作方案。

在 Actor-Critic (演员-评论家) 框架中,这一过程通常是一个两步循环:

  1. 策略评估 (Policy Evaluation): 更新 Q 函数,以反映当前策略的表现。
  2. 策略提升 (Policy Improvement): 更新策略,使其倾向于选择更高 Q 值的动作。

Actor-Critic 算法中标准的策略评估和策略提升步骤。

图: 标准的 Actor-Critic 循环: Q 函数评估当前策略;策略更新以偏好高价值的行动。

当智能体可以自由探索时,这套机制运行良好。如果它高估了某个糟糕动作的价值,它可以尝试该动作,看到不理想的结果,然后修正自己。

但在离线强化学习中,智能体无法进行探索。它只能使用由某个行为策略 \(\pi_\beta\) 收集的固定数据集。随着学习到的策略 \(\pi\) 不断优化,它会逐渐偏离 \(\pi_\beta\)。这种现象被称为分布偏移 (distributional shift)

智能体可能会开始相信某个从未见过的动作非常出色——例如,一个机械臂觉得用最大速度去抓积木是最佳方法。如果数据集中不存在这种高速动作 (因为数据是由人类谨慎地收集的) ,那么由具备泛化能力的神经网络驱动的 Q 函数就会在缺乏证据的情况下进行外推。这种外推往往会极度乐观。

这可能造成一个危险的反馈循环:

  1. Q 函数给某个分布外 (out-of-distribution, OOD) 的动作赋予很高的价值。
  2. 策略更新倾向于选择这种“极佳”但从未出现过的动作。
  3. 随后的评估包含这些 OOD 动作,进一步强化了错误的乐观估计。

没有真实环境的反馈,价值估计就可能失控,最终导致灾难性的策略。早期的一些方法试图约束学习到的策略,使其与 \(\pi_\beta\) 保持“接近”。而保守 Q 学习 (Conservative Q-Learning, CQL) 则直击问题根源——直接处理错误的 Q 值。


核心思想: 保守的 Q 值

CQL 的关键思想是让 Q 函数在面对未知动作时保持悲观。CQL 并不只是最小化贝尔曼误差,还会引入一个正则化项来主动调整 Q 值的形态。

初次尝试: 统一下界

作者最初的方法是在优化目标中增加一项,用以最小化从某个选定分布 \(\mu(a|s)\) 中采样的动作的 Q 值:

论文中的公式 1,展示了贝尔曼误差项加上一个新项,该项用于最小化在分布 μ 下的 Q 值。

公式 1: 标准的贝尔曼误差加上一个惩罚项,用于压低来自 \(\mu\) 的动作的 Q 值。

其中,\(\alpha\) 控制正则化的强度。惩罚项会将 Q 值压低;贝尔曼项则将 Q 值拟合到观测数据。这会产生真实 Q 函数的一个逐点下界 (pointwise lower bound) ——但它过于保守,因为它在惩罚未知动作的同时,也惩罚了数据集中已有的好动作,从而削弱了策略提升效果。

改进: 更紧的下界

CQL 的改进方法是在最小化 \(\mu(a|s)\) 动作的 Q 值的同时,最大化来自数据集分布 (\(\hat{\pi}_\beta\)) 的动作的 Q 值:

论文中的公式 2,该公式增加了一个项,用于最大化来自行为策略分布的动作的 Q 值。

公式 2: 压低 \(\mu\) 动作的 Q 值,但提升数据集中动作的 Q 值——以收紧下界。

解读: “压低不在数据集中的动作的价值,同时推高数据集中的动作价值。” 这样既避免了对已知良好动作的过度惩罚,又依然能防御 OOD 动作的乐观偏差。


从评估走向完整算法

为了构建一个完整的强化学习算法,CQL 选择 \(\mu\) 来反映当前策略最有可能采取的动作——也就是我们最需要保持谨慎的那些动作。作者将这一过程表述为一个最小-最大优化 (min-max optimization) 问题:

通用的 CQL(R) 框架,展示了最小-最大优化问题。

图: CQL 作为 Q 函数和 \(\mu\) 选择器之间的最小-最大博弈,\(\mu\) 选择器通过最大化 Q 值来检验保守性。

一个实用的变体是 CQL(H),它使用熵正则化器。求解内层的最大化问题得到:

CQL(H) 的实用目标函数,包含一个 log-sum-exp 项。

公式 4: Log-sum-exp 项近似状态下所有动作的最大 Q 值;数据集项则锚定价值估计。

  • Log-sum-exp: 状态下 Q 值的软最大值 (soft maximum) ——当任何一个动作的 Q 值被异常抬高时,该项就会增大。
  • 数据集平均项: 将 Q 值固定在与数据中动作匹配的水平。

最小化它们的差值可以强制实现保守性: 如果一个 OOD 动作的 Q 值飙升,log-sum-exp 项上升,损失函数就会将其压低。

作者提供了理论保证,证明 CQL 的更新是安全的,即根据其保守价值下界,每次学到的策略至少不逊于之前的策略。


实验: 保守性是否有效?

CQL 在 D4RL 基准上进行了评估,这是一组多样且具有挑战性的离线强化学习任务。

Gym 运动控制任务

在标准的连续控制任务中,CQL 表现与强基线相当。但在混合数据集 (专家+随机+中等质量) 上,它表现优异:

表 1 – Gym 控制任务性能。

表 1: CQL 在异构数据集上表现突出,例如 walker2d-medium-experthopper-random-expert

多模态数据在现实中很常见,而 CQL 能够稳健地应对。

更具挑战的真实领域

CQL 还测试了:

  • Adroit: 使用人类演示数据的 24 自由度机械手。
  • AntMaze: 需要拼接轨迹的迷宫导航。
  • Franka Kitchen: 顺序化的机器人操控。

表 2 – 在 AntMaze、Adroit 和 Kitchen 领域的性能。

表 2: CQL 是唯一在 Adroit 人类数据上优于行为克隆 (BC) ,并在困难的 AntMaze 任务中获得非零分数的方法。

亮点:

  • Adroit (人类数据) : 大多数强化学习方法不如 BC;CQL 得分可达 BC 的 9 倍。
  • AntMaze (中/大型) : 其他方法得分为零;CQL 学会了非平凡的导航策略。
  • Franka Kitchen: 唯一得分高于 BC 的方法,完成任务超过 40%。

Franka Kitchen 环境。

图: Franka Kitchen 中的长时程、稀疏奖励操控挑战。

数据稀缺下的 Atari

为了测试离散动作与图像领域,CQL 的 Q 学习变体被应用于 Atari,仅使用来自在线智能体 1% 或 10% 的数据:

表 3 – 在数据稀缺条件下的 Atari 性能。

表 3: 仅用 1% 数据时,CQL 在 Q*bert 上得分 14,012,而之前方法约为 350 —— 提升了 36 倍

CQL 真的保守吗?

作者比较了预测回报与实际回报。负值差异意味着估计保守:

表 4 – 预测偏差。

表 4: 只有 CQL 始终预测的回报低于实际回报;基线往往过度乐观,有时偏差可达数百万。

CQL 的差距扩展行为 (gap-expanding behavior) 会扩大分布内与 OOD 动作的价值差:

图 2 – 数据集内动作与随机动作的 Q 值差距扩展情况。

图: CQL (橙色) 始终保持数据集内动作的价值高于随机动作 (负 \(\Delta\)) ,而 BEAR (蓝色) 会随时间转向偏好随机动作。


结论: 面向复杂数据的优雅保守主义

离线强化学习有望为无数场景释放强化学习的潜能——但分布偏移让标准方法在面对未见过动作时危险地过度自信。

保守 Q 学习通过直接正则化 Q 值来解决这一问题:

  • 保持数据集动作的价值较高;
  • 压低所有其他动作的价值。

这个简单的原则带来了安全的策略提升,并在处理复杂、真实的数据集时获得了显著优势。CQL 标志着从策略约束价值正则化的转变,带来了可跨领域扩展的鲁棒性——从机器人操控到稀缺数据的视频游戏皆如此。

挑战依旧存在: 如何将理论保证推广到深度网络,以及如何设计可靠的离线验证方法。但凭借简洁性、强性能与坚实理论基础,CQL 无疑是仅利用历史数据即可学习有效策略的一大进步