强化学习离线评估:Off-Policy 评估方法

FreeGuideOnline 最新 2026-06-24

什么是强化学习离线评估?

强化学习离线评估(Offline Evaluation)是指在不直接与环境交互的情况下,仅利用已有的静态数据集,评估新策略性能的技术。由于在线测试成本高、风险大(如医疗、自动驾驶),离线评估成为策略迭代和安全验证的关键环节。

核心挑战在于分布偏移:数据由行为策略(Behavior Policy)产生,而我们要评估目标策略(Target Policy)。两者采样动作的概率不同,导致直接用数据集平均回报估计会产生系统性偏差。离线评估的目标就是修正这一偏差。

重要性采样方法

重要性采样(Importance Sampling, IS)是最经典的 off-policy 评估手段,通过对回报加权来消除分布差异。

普通重要性采样

设数据集由行为策略 $ \mu $ 生成,包含 $ n $ 条完整轨迹 $ \tau = (s_0, a_0, r_0, \dots, s_T) $。目标策略 $ \pi $ 的价值估计为:

$$ V_{\text{IS}} = \frac{1}{n} \sum_{i=1}^{n} \left( \prod_{t=0}^{T-1} \frac{\pi(a_t|s_t)}{\mu(a_t|s_t)} \right) G_i $$

其中 $ G_i = \sum_{t=0}^{T-1} \gamma^t r_t $ 是折扣累积回报。由于每一步的概率比连乘,方差随轨迹长度呈指数级增长,长轨迹中实用性极差。

加权重要性采样

为降低方差,常使用加权重要性采样(WIS),对权重做归一化:

$$ V_{\text{WIS}} = \frac{\sum_{i=1}^{n} w_i G_i}{\sum_{i=1}^{n} w_i}, \quad w_i = \prod_{t=0}^{T-1} \frac{\pi(a_t|s_t)}{\mu(a_t|s_t)} $$

WIS 有偏但一致性,通常方差远小于普通 IS,更适合实践。

逐决策点重要性采样

忽略轨迹联合分布,只在每一步决策点加权,称为 Per-Decision IS (PDIS):

$$ V_{\text{PDIS}} = \frac{1}{n} \sum_{i=1}^{n} \sum_{t=0}^{T-1} \gamma^t \left( \prod_{k=0}^{t} \frac{\pi(a_k|s_k)}{\mu(a_k|s_k)} \right) r_t $$

同样有加权版本 PDWIS。它利用了每个时间步的权重,能更充分地使用数据,方差通常低于普通 IS。

直接方法与模型依赖方法

当重要性采样权重过大导致方差失控时,可以借助值函数估计来稳定评估。

直接方法

直接方法(Direct Method, DM)先用行为数据学一个环境模型Q函数近似,然后用它预测目标策略的价值:

$$ V_{\text{DM}} = \frac{1}{n} \sum_{i=1}^{n} \sum_{a} \pi(a|s_0) \hat{Q}(s_0, a) $$

或者通过学得的转移模型 $ \hat{P} $ 和奖励模型 $ \hat{r} $ 进行蒙特卡洛 rollout。DM 完全避免了重要性权重的尺度问题,但偏差完全取决于模型误差,模型不准确时偏差不可控。

双重稳健估计

双重稳健(Doubly Robust, DR)结合了 IS 和 DM 的优点。它将回报写成基准项加修正项:

$$ V_{\text{DR}} = \frac{1}{n} \sum_{i=1}^{n} \left[ \hat{V}(s_0) + \sum_{t=0}^{T-1} \gamma^t \rho_t \big( r_t + \gamma \hat{V}(s_{t+1}) - \hat{Q}(s_t, a_t) \big) \right] $$

其中 $ \rho_t = \prod_{k=0}^t \frac{\pi(a_k|s_k)}{\mu(a_k|s_k)} $,$ \hat{V}, \hat{Q} $ 是学到的值函数。只要模型或重要性权重二者之一正确,估计就是无偏的,因此称为“双重稳健”。实际中常用加权 DR 降低方差。

基于值函数拼接的方法

对于大型或连续状态空间,直接估计状态价值比较困难。常见的现代离线评估方法聚焦于拟合Q迭代评估

拟合Q评估

拟合Q评估(Fitted Q Evaluation, FQE)是一种基于 off-policy 数据的迭代算法,无需重要性权重。算法流程:

  1. 用行为数据集 $ \mathcal{D} $ 初始化 $ \hat{Q}_0 $(例如随机初始化)。
  2. 对每次迭代 $ k = 0,1,\dots,K-1 $:
    • 对每个转移样本 $ (s, a, r, s') $,构建监督学习目标 $ y = r + \gamma \sum_{a'} \pi(a'|s') \hat{Q}_k(s', a') $
    • 使用回归器拟合 $ \hat{Q}_{k+1} $ 最小化均方误差 $ \mathbb{E}[(Q(s,a) - y)^2] $
  3. 最终策略价值估计为 $ V_{\text{FQE}} = \frac{1}{n_0} \sum_{s_0} \sum_a \pi(a|s_0) \hat{Q}_K(s_0, a) $

FQE 有效避免了重要性权重的方差问题,且理论上当函数逼近器足够灵活时能收敛到真实价值。它是当前离线评估的强基线,尤其适合与神经网络结合(Neural FQE)。

评估方法的评价与选择

离线评估本身也需要评估好坏,常用指标是均方误差(MSE)区间覆盖率

方差与偏差的权衡

  • IS类方法:无偏或低偏,但方差爆炸,适应性差。
  • DM方法:方差低,但偏差不可控。
  • DR方法:在模型部分正确时可平衡方差与偏差,但它对值函数误差敏感。
  • FQE:低方差,偏差依赖于函数逼近质量,通常比 DR 更稳定。

在实践中,若无绝对可靠的模型,推荐优先使用FQE加权DR,并结合多种评估器交叉验证。

评估器诊断技巧

由于无法获得真实环境回报,需通过以下线索判断评估可靠性:

  • 权重幅值分析:若重要性权重 $ \rho_t $ 出现极大值或方差爆炸,IS/DR 结果不可信。
  • 模型预测误差:如果学到的 $ \hat{Q} $ 在数据上的损失很大,DM/DR 偏差可能显著。
  • 策略间排序一致性:多个不同策略,如果 IS、DR、FQE 给出的优劣排序一致,则结果更可信。
  • 自助法(Bootstrap)置信区间:通过重采样计算估计量的分布,区间过宽说明方差过高。

完整实践示例(Python伪代码)

假设已有离线数据集 buffer,包含 transitions (s, a, r, s'),行为策略 mu,待评估目标策略 pi。用 FQE 评估的简化流程如下:

# 伪代码
Q = init_network()  # Q函数
for k in range(K):
    batch = buffer.sample(B)
    # 计算目标值
    with torch.no_grad():
        next_q = sum([pi(a|s') * Q(s', a) for a in action_space])
        y = r + gamma * next_q
    # 更新Q网络
    loss = mean((Q(s, a) - y)**2)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# 评估初始状态价值
V_eval = mean([sum(pi(a|s0) * Q(s0, a) for a in action_space) for s0 in initial_states])

若用加权DR,可结合预训练的V函数:

# 对每条轨迹
for tau in trajectories:
    w = 1.0
    dr_reward = 0.0
    for t, (s, a, r, s_next) in enumerate(tau):
        rho = pi(a|s) / mu(a|s)
        w *= rho
        # DR修正项
        correction = r + gamma * V(s_next) - Q(s, a)
        dr_reward += gamma**t * w * correction
    dr_estimate += V(s0) + dr_reward
V_dr = dr_estimate / n_trajectories

总结与进阶路径

离线评估是强化学习落地的核心基础设施。掌握以下方法即可覆盖多数场景:

  • 短轨迹、小动作空间:加权重要性采样(WIS)足够。
  • 模型可靠:直接方法(DM)计算最快。
  • 鲁棒性优先:双重稳健(DR)或加权DR。
  • 通用且稳定:拟合Q评估(FQE)是目前工业界首选。

进阶方向包括:面向部分可观测环境的离线评估、批量约束的保守Q学习评估、以及基于博弈的 minimax 稳健评估。始终牢记,离线评估的最终目标是安全可信地代替在线试错,方法的选择必须与数据规模、模型质量和风险容忍度相匹配。