画地为牢的智慧:Policy Constraint 方法全解 (BCQ & BEAR)

摘要
Offline RL 的核心恐惧在于“未知”——当策略试图评估一个数据集中从未见过的动作(OOD Action)时,Q 值往往会爆炸(Overestimation)。既然外面的世界很危险,那我们能不能不出门?这就是 Policy Constraint(策略约束) 的核心思想:强行把学习到的策略 π ( a ∣ s ) \pi(a|s) π(as) 限制在行为策略 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as) 的分布范围内。本文将深入剖析这一流派的两大开山之作:BCQ(通过生成模型过滤动作)和 BEAR(通过 MMD 距离匹配支持集),带你理解这种“带着镣铐跳舞”的艺术。


目录 (Table of Contents)

  1. 核心思想:不走出数据的边界
    • 从 Trust Region 到 Policy Constraint
    • 数学目标:带约束的优化
  2. BCQ:生成与过滤 (Generation & Filtering)
    • 第一个深度 Offline RL 算法
    • VAE 的作用:只在“菜单”里点菜
    • Perturbation Model:微调的艺术
  3. BEAR:支持集匹配 (Support Matching)
    • 分布匹配 vs 支持集匹配
    • MMD 距离的直观解释
  4. 这一类方法的优缺点总结
    • 成也保守,败也保守
  5. 总结与预告

1. 核心思想:不走出数据的边界

1.1 直觉

上一篇提到,Offline RL 的根本问题是 Q 网络对 OOD 动作产生了“幻觉”。
Policy Constraint 的逻辑非常直接:既然 Q 网络对 OOD 动作的打分不靠谱,那我就禁止策略去选择那些 OOD 动作。

只要我保证新策略 π \pi π 产生的动作,也是原数据集(行为策略 π β \pi_\beta πβ)里经常出现的动作,那么 Q 值的估计就是准确的,算法就是安全的。

1.2 数学形式

这本质上是一个带约束的优化问题

π n e w = argmax ⁡ π E s ∼ D [ Q ( s , π ( s ) ) ] s.t. D ( π , π β ) ≤ ϵ \pi_{new} = \underset{\pi}{\operatorname{argmax}} \mathbb{E}_{s \sim \mathcal{D}} [Q(s, \pi(s))] \quad \text{s.t.} \quad D(\pi, \pi_\beta) \le \epsilon πnew=πargmaxEsD[Q(s,π(s))]s.t.D(π,πβ)ϵ

其中:

  • Q ( s , π ( s ) ) Q(s, \pi(s)) Q(s,π(s)) 是我们要最大化的目标(想变强)。
  • D ( π , π β ) D(\pi, \pi_\beta) D(π,πβ) 是两个分布的距离(KL 散度、MMD 等)。
  • ϵ \epsilon ϵ 是允许偏离的程度。

这听起来很像 PPO 的 Trust Region,但目的不同:PPO 是为了训练稳定(步子别迈太大),Offline RL 是为了安全(别踩进未知的深渊)。


2. BCQ:生成与过滤 (Generation & Filtering)

BCQ (Batch-Constrained deep Q-learning) [Fujimoto et al., ICML 2019] 是现代深度 Offline RL 的开山之作。它的思路非常工程化且有效。

2.1 核心痛点

在连续动作空间中,直接计算 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as) 的概率密度并加以限制是很困难的(我们不知道数据集背后的概率分布公式)。

BCQ 提出:我们不需要算概率,我们只需要一个生成器 (Generator),让它帮我们生成“看起来像数据集里”的动作。

2.2 算法流程

BCQ 训练了一个 CVAE (Conditional VAE) 作为生成模型 G ω ( s ) G_\omega(s) Gω(s),模仿数据集的分布。

在做决策时(Inference):

  1. 采样 (Sampling):给定状态 s s s,让 CVAE 生成 N N N 个候选动作 { a 1 , a 2 , … , a N } \{a_1, a_2, \dots, a_N\} {a1,a2,,aN}。因为 CVAE 是在数据上训练的,所以这些动作大概率是 In-Distribution 的。
  2. 微调 (Perturbation):为了让动作更精准,训练一个小网络 ξ ( s , a ) \xi(s, a) ξ(s,a) 对生成的动作加一点点扰动(范围限制在 [ − Φ , Φ ] [-\Phi, \Phi] [Φ,Φ] 内),得到 a i + ξ ( s , a i ) a_i + \xi(s, a_i) ai+ξ(s,ai)
  3. 过滤 (Filtering):把这 N N N 个微调后的动作扔给 Q 网络打分,选分最高的那个。

π ( s ) = argmax ⁡ a i ∈ { G ( s ) } Q ( s , a i + ξ ( s , a i ) ) \pi(s) = \underset{a_i \in \{G(s)\}}{\operatorname{argmax}} Q(s, a_i + \xi(s, a_i)) π(s)=ai{G(s)}argmaxQ(s,ai+ξ(s,ai))

2.3 比喻:在菜单里点菜

  • 普通的 DDPG/SAC:是一个想自创菜式的大厨,结果经常造出黑暗料理(OOD)。
  • BCQ:是一个拿着菜单(CVAE)的食客。即使他想吃最好吃的菜(Max Q),他也只能从菜单上现有的菜(Sampled Actions)里选,顶多让厨师少放点盐(Perturbation)。这保证了绝对不会吃到菜单以外的东西。

3. BEAR:支持集匹配 (Support Matching)

BEAR (Bootstrapping Error Accumulation Reduction) [Kumar et al., NeurIPS 2019] 对“约束”提出了更深刻的看法。

3.1 分布匹配 vs 支持集匹配

BCQ 或者基于 KL 散度的约束,倾向于分布匹配 (Distribution Matching)

  • 如果数据集里 90% 的动作是向左,10% 是向右。分布匹配会强迫你的新策略也必须 90% 向左。
  • 但是,只要向右这个动作在数据里出现过(有 Support),Q 值的估计就是准的。哪怕它概率低,如果它 Q 值高,我们依然应该选它!

BEAR 认为:我们不应该限制策略的概率分布完全拟合原数据,而应该限制策略只在原数据有支持(Support)的范围内活动。这叫 Support Matching

3.2 MMD 距离的直观解释

为了实现 Support Matching,BEAR 抛弃了 KL 散度,选用了 MMD (Maximum Mean Discrepancy)

  • 直觉:把两个分布看作两堆沙子。MMD 就是把一堆沙子铲到另一堆形状所需的“平均距离”。
  • 关键特性:MMD 对采样数量不敏感,且能很好地衡量两个样本集合之间的相似性。

3.3 算法逻辑

BEAR 在 Actor-Critic 的更新中加入约束:
Maximize  Q ( s , a ) s.t. MMD ( train_batch , policy_sample ) < ϵ \text{Maximize } Q(s, a) \quad \text{s.t. } \text{MMD}(\text{train\_batch}, \text{policy\_sample}) < \epsilon Maximize Q(s,a)s.t. MMD(train_batch,policy_sample)<ϵ

这样,BEAR 允许策略在数据覆盖的范围内自由寻找最优解,而不必死板地模仿数据的频次。


4. 这一类方法的优缺点总结

BCQ 和 BEAR 代表了 Offline RL 的第一代辉煌(Explicit Policy Constraint)。

4.1 优点 ✅

  1. 理论保证强:通过限制动作空间,从根源上消除了 Extrapolation Error。
  2. 极度稳定:相比于直接跑 DQN/SAC,这两种方法几乎不会发散。
  3. 直观:逻辑符合人类直觉——“不懂的别碰”。

4.2 缺点 ❌

  1. 过于保守 (Too Conservative)
    • 尤其是 BCQ,基本就是在模仿数据。如果数据里全是平庸的轨迹,BCQ 很难通过“缝合”不同轨迹来获得超人表现。
  2. 实现复杂
    • BCQ 需要训练 CVAE。
    • BEAR 需要计算 MMD 核函数。
    • 引入了额外的生成模型,增加了训练开销和调参难度。
  3. 对超参数敏感
    • 约束的力度 ϵ \epsilon ϵ 很难调。松了就炸(OOD),紧了就变成 BC(行为克隆)。

5. 总结与预告

Policy Constraint 流派的核心哲学是:显式地(Explicitly)限制策略网络,让它不要输出 OOD 动作。

  • BCQ:用生成模型(VAE)作为过滤器。
  • BEAR:用 MMD 距离作为软约束。

虽然它们很有效,但训练额外的生成模型总让人觉得有点“重”。有没有一种方法,不需要训练 VAE,不需要算复杂的 MMD,直接在 Q 函数上做文章,就能达到同样的效果?

下一篇,我们将介绍目前 Offline RL 最流行、最简洁的流派——Value Regularization(价值正则化),以及它的代表作 CQL (Conservative Q-Learning)。它通过修改 Loss 函数,隐式地实现了策略约束,极其优雅。


Policy Constraint 是 Offline RL 的安全带。下一篇,我们将看看如何用“悲观主义”的魔法(CQL)来实现更优雅的约束。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值