摘要:
在离线强化学习(Offline RL)中,训练出一个模型只是万里长征的第一步。真正的挑战在于:我怎么知道这个模型好不好?在推荐系统中,上线一个烂模型意味着亏损几百万;在自动驾驶中,意味着车祸。离线策略评估 (Offline Policy Evaluation, OPE)就是为了解决这个问题——利用历史数据,预测新策略的表现。本文将详解IS (重要性采样)和FQE (拟合 Q 值评估)两大流派,剖析偏差与方差的权衡,并揭秘工业界是如何通过 OPE 决定模型生死的。
目录 (Table of Contents)
- 为什么不能直接 Rollout?
- 线上测试的代价
- OPE 的定义
- 统计学流派:IS 与 WIS
- 重要性采样 (Importance Sampling) 的直觉
- 数学推导:ρ t \rho_tρt的连乘灾难
- WIS (Weighted IS):用偏差换方差
- 动态规划流派:FQE (Fitted Q Evaluation)
- 把评估变成监督学习
- 深度学习时代的 OPE 首选
- 核心难题:偏差-方差权衡 (Bias-Variance Tradeoff)
- 谁更准?不同场景的选型
- 工业界如何用 OPE?🏭
- 排名优于估值 (Rank > Value)
- OPE + A/B Test 的黄金流程
- 总结
1. 为什么不能直接 Rollout?
1.1 线上测试的代价
在 Gym 或 Atari 游戏中,评估模型很简单:跑 10 个 episode,算平均分就行。但在现实世界,Environment 是昂贵的。
- 医疗:你不能为了测试一个新的给药策略,把病人当小白鼠。
- 金融:你不能为了测试新的量化交易策略,把公司的资金亏光。
- 推荐:流量就是金钱,烂模型会导致用户流失。
1.2 OPE 的定义
我们的目标是估计目标策略 (Target Policy,π \piπ)的期望回报J ( π ) J(\pi)J(π),但我们只有行为策略 (Behavior Policy,π β \pi_\betaπβ)产生的历史数据D \mathcal{D}D。
Goal: Estimate V π using τ ∼ π β \text{Goal: Estimate } V^{\pi} \text{ using } \tau \sim \pi_\betaGoal: EstimateVπusingτ∼πβ
这本质上是一个反事实推理 (Counterfactual Reasoning)问题:“如果当时我用了新策略,会发生什么?”
2. 统计学流派:IS 与 WIS
这是最经典、最数学化的方法,源自统计学。
2.1 重要性采样 (IS) 的直觉
假设历史数据里有一条轨迹,获得了很高分。
- 如果新策略π \piπ产生这条轨迹的概率比旧策略π β \pi_\betaπβ大,那说明新策略很棒,我们要加权 (Up-weight)。
- 如果新策略π \piπ产生这条轨迹的概率比旧策略π β \pi_\betaπβ小,说明新策略不太可能走出这条路,我们要降权 (Down-weight)。
2.2 连乘灾难
权重(重要性比率)计算公式如下:
ρ t = π ( a t ∣ s t ) π β ( a t ∣ s t ) \rho_t = \frac{\pi(a_t|s_t)}{\pi_\beta(a_t|s_t)}ρt=πβ(at∣st)π(at∣st)
整条轨迹的权重是每一步权重的连乘:
w ( τ ) = ∏ t = 0 T ρ t = π ( a 0 ∣ s 0 ) π β ( a 0 ∣ s 0 ) × π ( a 1 ∣ s 1 ) π β ( a 1 ∣ s 1 ) × … w(\tau) = \prod_{t=0}^T \rho_t = \frac{\pi(a_0|s_0)}{\pi_\beta(a_0|s_0)} \times \frac{\pi(a_1|s_1)}{\pi_\beta(a_1|s_1)} \times \dotsw(τ)=t=0∏Tρt=πβ(a0∣s0)π(a0∣s0)×πβ(a1∣s1)π(a1∣s1)×…
V ^ I S ( π ) = 1 N ∑ i = 1 N w ( τ i ) R ( τ i ) \hat{V}_{IS}(\pi) = \frac{1}{N} \sum_{i=1}^N w(\tau_i) R(\tau_i)V^IS(π)=N1i=1∑Nw(τi)R(τi)
问题:
只要有一步的ρ t \rho_tρt很大(例如旧策略极少做这个动作,但新策略很喜欢做),连乘之后w ( τ ) w(\tau)w(τ)就会变成天文数字。
这导致 IS 估计器是无偏的 (Unbiased),但方差极高 (High Variance)。
2.3 WIS (Weighted IS)
为了解决方差爆炸,我们对权重进行归一化:
V ^ W I S ( π ) = ∑ w ( τ i ) R ( τ i ) ∑ w ( τ i ) \hat{V}_{WIS}(\pi) = \frac{\sum w(\tau_i) R(\tau_i)}{\sum w(\tau_i)}V^WIS(π)=∑w(τi)∑w(τi)R(τi)
- 优点:方差大幅降低,数值更稳定。
- 缺点:引入了偏差 (Bias),不再是无偏估计。
- 现状:在短序列任务(如推荐系统,T=1)中,IS/WIS 是绝对主流。
3. 动态规划流派:FQE (Fitted Q Evaluation)
在深度强化学习(长序列)中,IS 方法基本不可用(连乘爆炸)。此时我们转向FQE。
3.1 核心思想
FQE 不去算概率的比值,而是直接训练一个 Q 网络来评估新策略π \piπ。
这其实就是 DQN 或 Actor-Critic 中 “Critic Update” 的离线版。
3.2 算法流程
- 初始化一个 Q 网络Q θ Q_\thetaQθ。
- 从数据集采样( s , a , r , s ′ ) (s, a, r, s')(s,a,r,s′)。
- 计算 Target:y = r + γ Q θ ( s ′ , π ( s ′ ) ) y = r + \gamma Q_\theta(s', \pi(s'))y=r+γQθ(s′,π(s′))。
- 注意:这里用的是新策略π ( s ′ ) \pi(s')π(s′)来选择下一步动作,而不是数据里的a ′ a'a′。
- 最小化 MSE Loss:( Q θ ( s , a ) − y ) 2 (Q_\theta(s, a) - y)^2(Qθ(s,a)−y)2。
- 训练收敛后,E s 0 [ Q θ ( s 0 , π ( s 0 ) ) ] \mathbb{E}_{s_0}[Q_\theta(s_0, \pi(s_0))]Es0[Qθ(s0,π(s0))]就是 OPE 的评分。
3.3 优缺点
- 优点:方差很小,非常稳定。适合长序列任务(T > 20)。
- 缺点:有偏差。因为计算 Target 时用到了π ( s ′ ) \pi(s')π(s′),如果这是一个 OOD 动作,Q 值估计会不准(这与 Offline Training 的难点一样)。
4. 核心难题:偏差-方差权衡 (Bias-Variance Tradeoff)
| 维度 | IS / WIS (统计学) | FQE (深度学习) |
|---|---|---|
| 偏差 (Bias) | 低 (IS 无偏, WIS 低偏) | 高(受 OOD 误差影响) |
| 方差 (Variance) | 极高(随时间 T 指数爆炸) | 低 (训练稳定) |
| 适用 T (时间步) | 短 (T < 5,如推荐、广告) | 长 (T > 20,如机器人、游戏) |
| 依赖项 | 需要知道行为策略概率π β ( a ∣ s ) \pi_\beta(a|s)πβ(a∣s) | 不需要π β \pi_\betaπβ,只要数据 |
| 准确性 | 数据量大时准 | 神经网络拟合好时准 |
还有一个结合体:Doubly Robust (DR)
试图结合 IS 和 FQE 的优点。公式比较复杂,但在工业界(尤其是广告推荐)应用广泛。
5. 工业界如何用 OPE?🏭
在现实业务中,没有一种 OPE 方法是 100% 准确的。工业界有一套实用的生存法则。
5.1 场景一:推荐系统 (RecSys) / 广告
- 特点:单步决策 (T=1),数据量巨大。
- 首选:IS / WIS / Doubly Robust。
- 做法:因为 T=1,没有连乘灾难,IS 非常准。只要记录下当时推荐该商品的概率π β \pi_\betaπβ,就可以精确算出新策略的收益提升。
5.2 场景二:机器人 / 自动驾驶 / 游戏
- 特点:长序列 (T >> 100),连续动作。
- 首选:FQE。
- 做法:训练一个独立的 FQE 网络给不同 checkpoints 打分。
5.3 黄金法则:排名优于估值 (Rank > Value)
不要相信 OPE 算出来的绝对分数(例如“预期收益 100 万”),大概率是不准的。
但是,OPE 擅长排序 (Ranking)。
- 模型 A 得分 80,模型 B 得分 60,模型 C 得分 40。
- 真实情况可能是:A 赚了 50,B 赚了 30,C 亏了 10。
- 相对顺序是对的,这就足够了。我们只需要 OPE 帮我们选出最好的那个模型去上线。
5.4 OPE + A/B Test 的流程
- 离线训练:跑 5 种算法,每个算法存 10 个 Checkpoints。
- OPE 初筛:用 FQE 或 WIS 给这 50 个模型打分,选出 Top 3。
- 小流量测试 (Canary Deployment):把 Top 3 模型放到线上,给 1% 的流量。
- A/B Test:观察 1% 流量下的真实表现,选出最终冠军,推全。
OPE 的作用不是替代 A/B Test,而是减少 A/B Test 的试错成本(避免把垃圾模型推上线)。
6. 总结
OPE 是 Offline RL 闭环中不可或缺的一环。
- IS/WIS:适合短序列,数学上优美但方差大。
- FQE:适合长序列,是 Deep RL 的好伙伴,但要警惕 OOD 误差。
- 工业界:不仅看 OPE 的绝对值,更看重它对不同模型的相对排序能力。
至此,关于 Offline RL 从原理(BC/CQL/IQL)到实践(实验/D4RL)再到评估(OPE)的完整知识体系已构建完毕。愿这些知识能成为你炼丹路上的护身符!🛡️
全系列完结撒花!🌸 如果这系列文章对你有帮助,请点赞收藏关注,这是我持续分享的动力!