在离线强化学习中,一个常见的情况是使用在某个行为策略 $\pi_b$ 下收集的静态数据集 $D = { (s_i, a_i, r_i, s'i) }{i=1}^N$ 来训练一个新的目标策略 $\pi_e$。在将 $\pi_e$ 部署到实际系统之前(这可能成本高昂、存在风险,或者在开发阶段根本不可行),需要一种方法来评估其预期表现。如果智能体遵循 $\pi_e$,可以预期获得多少累积奖励?这是离线设置中离策略评估(OPE)所处理的主要问题。在这里,直接运行 $\pi_e$ 进行评估是不可行的。我们必须完全依赖由 $\pi_b$ 生成的数据 $D$。如前所述,主要困难在于 $\pi_b$ 和 $\pi_e$ 之间可能存在的分布差异。数据集 $D$ 中出现的状态和动作可能无法准确反映在 $\pi_e$ 下会遇到的情况。除非 $\pi_e$ 恰好与 $\pi_b$ 完全相同,否则简单地对数据集中奖励取平均值将无法给出 $\pi_e$ 表现的无偏估计。使用重要性采样校正分布差异离策略评估最根本的方法是重要性采样(IS)。其思路源于一个普遍的统计学原理:我们可以使用从另一个分布 ($q$) 中抽取的样本来估计一个函数在某个分布 ($p$) 下的期望值,前提是我们对样本进行适当的加权。具体而言,如果 $x$ 是从 $q(x)$ 中采样的,那么: $$ \mathbb{E}{x \sim p}[f(x)] = \mathbb{E}{x \sim q}\left[ \frac{p(x)}{q(x)} f(x) \right] $$ 术语 $p(x)/q(x)$ 被称为重要性权重或重要性比率。在强化学习中,我们希望估计评估策略 $\pi_e$ 的预期总折扣回报,记作 $J(\pi_e)$。一条轨迹(或一个情节)是一个序列 $\tau = (s_0, a_0, r_0, s_1, a_1, r_1, \dots, s_{T-1}, a_{T-1}, r_{T-1})$。在策略 $\pi$ 下观察到特定轨迹 $\tau$ 的概率由初始状态概率 $p(s_0)$、转移概率 $p(s_{t+1}|s_t, a_t)$ 和策略概率 $\pi(a_t|s_t)$ 的乘积给出: $$ P(\tau | \pi) = p(s_0) \prod_{t=0}^{T-1} \pi(a_t|s_t) p(s_{t+1}|s_t, a_t) $$ 设 $R(\tau) = \sum_{t=0}^{T-1} \gamma^t r_t$ 为轨迹 $\tau$ 的总折扣回报。我们希望计算 $J(\pi_e) = \mathbb{E}{\tau \sim \pi_e}[R(\tau)]$。使用重要性采样,我们可以通过在行为策略 $\pi_b$ 下采样的轨迹来估计它: $$ J(\pi_e) = \mathbb{E}{\tau \sim \pi_b}\left[ \frac{P(\tau | \pi_e)}{P(\tau | \pi_b)} R(\tau) \right] $$ 请注意,环境动态 $p(s_{t+1}|s_t, a_t)$ 和初始状态分布 $p(s_0)$ 在比率中被抵消了: $$ \frac{P(\tau | \pi_e)}{P(\tau | \pi_b)} = \frac{p(s_0) \prod_{t=0}^{T-1} \pi_e(a_t|s_t) p(s_{t+1}|s_t, a_t)}{p(s_0) \prod_{t=0}^{T-1} \pi_b(a_t|s_t) p(s_{t+1}|s_t, a_t)} = \prod_{t=0}^{T-1} \frac{\pi_e(a_t|s_t)}{\pi_b(a_t|s_t)} $$ 此乘积是轨迹重要性比率,通常表示为 $\rho_{\tau}$: $$ \rho_{\tau} = \prod_{t=0}^{T-1} \frac{\pi_e(a_t|s_t)}{\pi_b(a_t|s_t)} $$ 给定一个包含 $N$ 条使用 $\pi_b$ 收集的轨迹 ${\tau_i}{i=1}^N$ 的数据集 $D$,用于估计 $J(\pi_e)$ 的标准重要性采样估计器是: $$ \hat{J}{IS}(\pi_e) = \frac{1}{N} \sum_{i=1}^N \rho_{\tau_i} R(\tau_i) $$ 这个估计器是无偏的,这意味着它的期望值等于真实值 $J(\pi_e)$,前提是我们准确了解 $\pi_b$ 并且当 $\pi_e(a_t|s_t) > 0$ 时有 $\pi_b(a_t|s_t) > 0$。重要性采样中的方差问题尽管在理论上是可靠的,但基本的重要性采样估计器在实际应用中经常面临方差过高的问题。轨迹重要性比率 $\rho_{\tau}$ 是轨迹长度上的乘积。如果策略 $\pi_e$ 和 $\pi_b$ 在每一步哪怕只有细微差异,这些差异也会累积。对于长轨迹(大 $T$),比率 $\rho_{\tau}$ 很容易变得异常大或微不足道。考虑一个长度为 $T=100$ 的轨迹。如果,在每一步,概率比率 $\pi_e(a_t|s_t) / \pi_b(a_t|s_t)$ 仅为 $1.1$,那么最终的轨迹比率 $\rho_{\tau}$ 将是 $(1.1)^{100} \approx 13,780$。如果比率是 $1.2$,那么 $\rho_{\tau} = (1.2)^{100} \approx 8.3 \times 10^7$。相反地,如果比率是 $0.9$,那么 $\rho_{\tau} = (0.9)^{100} \approx 2.6 \times 10^{-5}$。这意味着估计值 $\hat{J}_{IS}(\pi_e)$ 可能会被一小部分具有巨大权重的轨迹所主导,使得估计结果非常不可靠且不稳定。单个数据集可能产生与在完全相同条件下收集的另一个数据集截然不同的估计结果。{ "data": [ { "x": [0.1, 0.2, 0.5, 0.8, 1.0, 1.1, 1.2, 1.5, 2.0, 5.0, 0.3, 0.7, 0.9, 1.3, 1.8, 4.0, 8.0, 15.0, 50.0, 100.0, 0.4, 0.6, 1.4, 3.0], "type": "histogram", "name": "IS 权重", "marker": {"color": "#339af0"} }, { "x": [0.8, 0.9, 1.0, 1.1, 1.2, 0.85, 0.95, 1.05, 1.15], "type": "histogram", "name": "WIS 权重", "marker": {"color": "#20c997"}, "xaxis": "x2", "yaxis": "y2" } ], "layout": { "title": "重要性权重的分布", "xaxis": {"title": "重要性权重 (rho)", "type": "log", "range": [-1, 2.5]}, "yaxis": {"title": "频率"}, "xaxis2": {"title": "归一化权重 (WIS)", "anchor": "y2", "domain": [0.55, 0.95]}, "yaxis2": {"title": "频率", "anchor": "x2", "domain": [0.55, 0.95]}, "legend": {"traceorder": "reversed"}, "autosize": true, "height": 450 } }重要性采样(IS)权重的分布与加权重要性采样(WIS)权重的视图比较。基本IS中高方差通常表现为存在极高权重的长尾,而WIS倾向于产生更集中的权重。基本IS的另一个重要要求是准确了解数据集中所有状态-动作对的行为策略 $\pi_b(a|s)$。在许多实际情况下,用于收集数据的策略可能未知,或者只能获得近似值,这又增加了另一层潜在误差。实际的离策略评估方法:解决方差问题已经开发出几种重要性采样的变体来缓解方差问题,这通常是以引入一些偏差为代价的:逐决策重要性采样(PDIS): PDIS 不对整个轨迹计算一个比率,而是逐步计算累积比率,并将其应用于在该步骤获得的奖励。该估计器如下所示: $$ \hat{J}{PDIS}(\pi_e) = \frac{1}{N} \sum{i=1}^N \sum_{t=0}^{T_i-1} \gamma^t \left( \prod_{k=0}^{t} \frac{\pi_e(a_{i,k}|s_{i,k})}{\pi_b(a_{i,k}|s_{i,k})} \right) r_{i,t} $$ PDIS 通常比标准IS估计器表现出更低的方差,因为应用于早期奖励的权重不涉及整个轨迹长度上的乘积。加权重要性采样(WIS): 这可能是最常见的实用变体。WIS 不使用简单的平均值,而是利用重要性权重来归一化估计值: $$ \hat{J}{WIS}(\pi_e) = \frac{\sum{i=1}^N \rho_{\tau_i} R(\tau_i)}{\sum_{i=1}^N \rho_{\tau_i}} $$ 或者,使用逐决策权重: $$ \hat{J}{WPDIS}(\pi_e) = \sum{i=1}^N \sum_{t=0}^{T_i-1} \frac{w_{i,t}}{\sum_{j=1}^N \sum_{k=0}^{T_j-1} w_{j,k}} \gamma^t r_{i,t} $$ (注意:WPDIS存在不同的归一化方案。)WIS估计器是有偏的(因为分母是随机的),但它们通常比其未加权对应物具有明显更低的方差。在实践中,方差的降低通常比引入的偏差更具优势。双重鲁棒(DR)估计器: 这些方法将学习到的环境动态模型或价值函数与重要性采样相结合。它们通常采用以下形式: $$ \hat{J}{DR}(\pi_e) \approx \text{模型估计} + \text{IS校正} $$ 其思路是,如果学习到的模型准确或者重要性权重准确(具体而言是无偏的),那么估计器就会准确。这为任一组件中的误差提供了一定的鲁棒性。一种常见形式是使用学习到的Q函数 $\hat{Q}(s,a)$ 和价值函数 $\hat{V}(s) = \mathbb{E}{a \sim \pi_e}[\hat{Q}(s,a)]$: $$ \hat{J}{DR}(\pi_e) = \frac{1}{N} \sum{i=1}^N \sum_{t=0}^{T_i-1} \gamma^t \left( \rho_{i,t} (r_{i,t} + \gamma \hat{V}(s'{i,t})) - \rho{i,t-1} \hat{Q}(s_{i,t}, a_{i,t}) \right) + \hat{V}(s_{i,0}) $$ 其中 $\rho_{i,t} = \prod_{k=0}^t \frac{\pi_e(a_{i,k}|s_{i,k})}{\pi_b(a_{i,k}|s_{i,k})}$ 且 $\rho_{i,-1}=1$。尽管DR估计器可能提供更低的方差和偏差,但它们需要拟合额外的模型($\hat{Q}$ 或 $\hat{V}$),增加了复杂性。局限性与实际做法尽管进行了这些改进,离线设置中的离策略评估仍然具有挑战性:权重裁剪: 一种常见的启发式方法是限制权重不超过某个最大值,以控制极端权重。这直接降低了方差,但引入了偏差。行为策略估计: 如果 $\pi_b$ 未知,则必须从数据中对其进行估计(例如,使用最大似然估计)。这引入了另一个误差来源。支持不匹配: 最根本的局限是数据覆盖范围。如果 $\pi_e$ 在数据集中采取了 $\pi_b$ 从未(或很少)访问或采取动作的状态,那么相应的重要性权重 $\pi_e(a|s)/\pi_b(a|s)$ 将会非常大或趋于无限。无论多巧妙的加权方法都无法可靠地估计数据集没有提供信息的区域中的表现。离策略评估技术,特别是WIS及其变体,是从离线数据中获取策略表现估计的宝贵工具。然而,它们的可靠性与数据集的质量和覆盖范围以及行为策略和评估策略之间的相似性直接相关。IS方法的高方差和敏感性强调了纯粹离线学习的难度,并推动了后续将讨论的算法的研发,这些算法明确限制学习到的策略或对价值估计进行正则化,以应对可用数据的局限。