UIUC-CS542-统计强化学习笔记-全-

UIUC CS542 统计强化学习笔记(全)

001:马尔可夫决策过程基础 🎯

在本节课中,我们将要学习马尔可夫决策过程的基础知识,这是强化学习规划问题的核心。我们将从MDP的数学定义开始,逐步理解其核心概念,包括状态、动作、转移、奖励以及策略的价值函数。

MDP的数学定义

我们主要考虑无限时域折扣的马尔可夫决策过程。一个MDP通常由五个元素指定。

  • 状态空间 S:所有可能状态的集合。
  • 动作空间 A:所有可能动作的集合。为方便起见,我们通常假设一个均匀的动作空间,即在每个状态下,智能体都面临相同的可选动作集合。虽然实践中动作可能是状态相关的,但大部分理论可以自然地扩展到该情况。
  • 转移函数 P:它定义了状态转移的动态。P: S × A → Δ(S),其中 Δ(S) 表示状态空间 S 上的概率单纯形。对于任何状态-动作对 (s, a)P(·|s, a) 给出了转移到下一个状态的概率分布。
  • 奖励函数 RR: S × A → ℝ。对于任何状态-动作对 (s, a),它给出一个实数值奖励。为简化,我们通常假设奖励函数是确定性的。
  • 折扣因子 γ:一个介于0和1之间的数,用于确保无限累积奖励的总和是有限的。

关于状态和动作空间,我们有一个重要说明:在本课程的大部分内容中,我们将考虑离散且有限的状态和动作空间。这并非意味着我们不处理连续或大规模状态空间,而是为了规避复杂的测度论问题,同时不影响对实用算法的分析与理解。在后续的复杂度分析中,我们将设计算法,使其保证不显式依赖于巨大的状态空间大小。

轨迹生成与策略

有了MDP的规范,我们就可以生成一个随机轨迹。生成过程如下:

  1. 从初始状态 s1 开始。
  2. 在时间步 t,智能体根据当前状态 st 选择动作 at
  3. 环境给出奖励 rt = R(st, at)
  4. 环境根据转移概率 P(·|st, at) 采样下一个状态 st+1
  5. 重复步骤2-4。

为了完全定义轨迹的分布,我们需要指定两件事:起始状态 s1 和智能体的决策策略

最常用的策略形式是确定性平稳策略 π: S → A。它直接将状态映射到要执行的动作。更一般地,我们也可以使用随机性平稳策略 π: S → Δ(A),它给出在某个状态下选择各个动作的概率分布。

我们使用符号 E^(π)[· | s1 = s] 来表示在策略 π 下,从状态 s 开始生成轨迹所对应的期望。注意,上标 π 和条件 s1 = s 共同完全确定了轨迹的分布。

价值函数与回报

我们如何评估一个策略的好坏?我们关心的是期望回报(或称为价值、效用)。对于给定的策略 π 和起始状态 s,其状态价值函数 V^π(s) 定义为未来折扣奖励总和的期望:

V^π(s) = E^(π)[ Σ_(t=1)^∞ γ^(t-1) R_t | s1 = s ]

由于奖励被假设在 [0, R_max] 范围内,可以证明 V^π(s) 的值域也在 [0, R_max/(1-γ)] 之间。其中,项 1/(1-γ) 被称为有效时域,它在直觉上类似于有限时域问题中的步数 H

贝尔曼方程

价值函数满足一个非常重要的递归关系,称为贝尔曼方程(用于策略评估)。它表达了当前状态的价值与下一状态价值之间的关系。

对于确定性策略 π,贝尔曼方程为:
V^π(s) = R(s, π(s)) + γ Σ_(s‘∈S) P(s’|s, π(s)) V^π(s‘)

其直观含义是:当前状态 s 的价值等于立即获得的奖励,加上折扣后的、对所有可能下一状态 s‘ 的期望价值。这个方程体现了时间上的一致性。

我们可以将贝尔曼方程写成简洁的向量形式。将价值函数 V^π 视为一个 |S| 维列向量,奖励函数 R^π 也视为列向量(每个元素为 R(s, π(s))),并将转移概率矩阵 P^π 定义为 |S| × |S| 的矩阵(第 s 行是分布 P(·|s, π(s))),则贝尔曼方程可以写为:

V^π = R^π + γ P^π V^π

整理后得到线性方程组:
(I - γ P^π) V^π = R^π

其中 I 是单位矩阵。由于 P^π 是一个随机矩阵(行和为1,元素非负)且 γ < 1,可以证明矩阵 (I - γ P^π) 是可逆的。这意味着贝尔曼方程有唯一解,并且这个解就是价值函数 V^π。因此,贝尔曼方程不仅是价值函数满足的性质,也可以作为价值函数的等价定义。


本节课中我们一起学习了马尔可夫决策过程的基本框架。我们定义了MDP的核心五元组 (S, A, P, R, γ),介绍了策略如何与MDP交互生成轨迹,并定义了用于评估策略好坏的状态价值函数 V^π(s)。最后,我们推导了价值函数必须满足的贝尔曼方程,并展示了其向量形式,证明了该方程解的唯一性。这为后续研究如何计算价值函数以及寻找最优策略奠定了坚实的基础。

002:贝尔曼方程

在本节课中,我们将学习马尔可夫决策过程(MDP)中的核心方程——贝尔曼方程。我们将从策略评估的贝尔曼方程开始,探讨其性质和解的唯一性,然后介绍最优贝尔曼方程,并讨论最优策略的存在性和形式。课程内容将尽可能简单直白,确保初学者能够理解。

概述

上一讲我们介绍了MDP的基本框架和值函数的概念。本节我们将深入探讨贝尔曼方程,它是连接策略、值函数和MDP动态的核心数学工具。我们将看到,贝尔曼方程不仅为计算值函数提供了方法,也隐含着寻找最优策略的途径。

策略评估的贝尔曼方程

首先,我们回顾策略评估的贝尔曼方程。给定一个确定性策略 π,它将状态映射到动作,其值函数 V^π 满足以下方程:

V^π(s) = R(s, π(s)) + γ Σ_{s'} P(s' | s, π(s)) V^π(s')

其中:

  • R(s, a) 是即时奖励函数。
  • P(s' | s, a) 是状态转移概率。
  • γ 是折扣因子(0 ≤ γ < 1)。

这个方程的含义是:从状态 s 开始并遵循策略 π 的长期回报期望值,等于即时奖励加上所有可能下一状态 s' 的折扣后值函数的期望。

扩展到随机策略

上述方程可以自然地推广到随机策略。一个随机策略 π(a|s) 给出在状态 s 下选择动作 a 的概率。此时,贝尔曼方程变为:

V^π(s) = Σ_a π(a|s) [ R(s, a) + γ Σ_{s'} P(s' | s, a) V^π(s') ]

或者更简洁地写成期望形式:

V^π(s) = E_{a∼π(·|s), s'∼P(·|s,a)} [ R(s, a) + γ V^π(s') ]

为了简化记号,我们经常使用缩写 R^π(s)P^π(s'|s) 来表示在策略 π 下,从状态 s 出发的期望即时奖励和转移到状态 s' 的概率。这样,贝尔曼方程可以统一写作:

V^π(s) = R^π(s) + γ Σ_{s'} P^π(s'|s) V^π(s')

矩阵形式与解的唯一性

将贝尔曼方程写成所有状态的向量形式非常有用。令 V^π 为值函数向量,R^π 为奖励向量,P^π 为状态转移概率矩阵(其中第 i 行第 j 列元素是 P^π(s_j | s_i))。则贝尔曼方程的矩阵形式为:

V^π = R^π + γ P^π V^π

整理后得到:

(I - γ P^π) V^π = R^π

这里的关键问题是矩阵 (I - γ P^π) 是否可逆,从而保证方程有唯一解。由于 P^π 是一个随机矩阵(每行元素非负且和为1),并且 γ < 1,我们可以证明该矩阵总是可逆的。

证明思路是:对于任意非零向量 x,证明 (I - γ P^π)x 也不为零。我们使用无穷范数 ||x||_∞ = max_i |x_i|。通过三角不等式和随机矩阵的性质(P^π x 的每个分量都是 x 分量的凸组合),可以得出 ||P^π x||_∞ ≤ ||x||_∞。由此推导出 ||(I - γ P^π)x||_∞ ≥ (1 - γ) ||x||_∞ > 0,从而证明了矩阵的可逆性。

这个证明不仅保证了可逆性,也意味着贝尔曼方程的解是唯一的。因此,满足贝尔曼方程是值函数的等价定义:一个函数如果是某个策略的值函数,则它必然满足对应的贝尔曼方程;反之,贝尔曼方程的唯一解就是这个策略的值函数。

折扣状态占用率

方程的解可以显式地写为:

V^π = (I - γ Pπ) R^π

矩阵 (I - γ Pπ) 有重要的概率解释。考虑其第 s 行(对应起始状态 s),乘以系数 (1-γ) 后,该行向量实际上定义了一个概率分布,称为折扣状态占用分布 d^{π, s}

对于目标状态 s',该分布的分量为:

d^{π, s}(s') = (1-γ) Σ_{t=1}^{∞} γ^{t-1} P^π(S_t = s' | S_1 = s)

其中 P^π(S_t = s' | S_1 = s) 是从状态 s 开始,执行策略 π 经过 t 步后处于状态 s' 的概率。因此,d^{π, s} 是各时间步状态分布的、以 γ^{t-1} 为权重的混合分布。它衡量了在折扣回报的视角下,智能体访问各个状态的“频率”。

理解这个分布的一种方式是展开矩阵的逆:

(I - γ Pπ) = I + γ P^π + γ^2 (Pπ)2 + ...

其中 (Pπ)t 表示 t 步转移概率矩阵。将展开式代入值函数公式,并与值函数的原始定义(期望折扣回报之和)进行比较,即可得到上述折扣占用分布的解释。

在后续课程中,尤其是涉及函数逼近和大状态空间时,这个分布将扮演重要角色。

最优贝尔曼方程与最优策略

上一节我们介绍了如何评估一个给定策略的好坏。本节我们来看如何寻找最优策略。

最优策略的存在性

在无限视野折扣MDP的标准设定下,一个基本定理保证:总存在一个平稳的、确定性的马尔可夫策略 π*,它对于所有初始状态 s 同时是最优的。

这意味着存在一个策略,它仅根据当前状态选择动作(无需随机化,也无需记忆历史),并且对于任何起始状态,都能获得最大的可能期望回报。需要注意的是,最优策略可能不唯一,但最优值函数 V* 是唯一的。

最优贝尔曼方程

最优值函数 V* 满足最优贝尔曼方程

V(s) = max_{a ∈ A} [ R(s, a) + γ Σ_{s'} P(s' | s, a) V(s') ]

这个方程的直观解释是:在状态 s 下的最优值,等于对所有可能立即动作 a 进行评估后,能获得的最大长期回报。对于每个动作 a,其长期回报由两部分组成:

  1. 立即奖励 R(s, a)
  2. 以概率 P(s'|s, a) 转移到状态 s' 后,从该状态开始最优地行动所能获得的折扣后期望回报 γ V*(s')

与策略评估方程类似,可以证明这个方程也有唯一解,且该解就是最优值函数 V*。

Q函数与最优策略

为了更方便地从 V* 推导出最优策略,我们定义最优动作-值函数 Q*:

Q(s, a) = R(s, a) + γ Σ_{s'} P(s' | s, a) V(s')

Q*(s, a) 表示在状态 s 下先执行动作 a,然后在此之后一直采取最优行动所能获得的总期望回报。

有了 Q* 函数,最优策略就变得非常简单:在状态 s 下,选择使得 Q*(s, a) 最大的动作 a

π(s) = argmax_{a ∈ A} Q(s, a)

如果最大化的动作不唯一(出现并列),那么任意选择一个最大化动作(或在这些动作上的任意概率分布)都能构成一个最优策略。这也解释了为什么最优策略可能不唯一,且可能存在随机化的最优策略。然而,定理保证我们总能找到一个确定性的最优策略。

Q函数的贝尔曼方程

Q* 函数自身也满足一个自洽的贝尔曼方程。将 V(s) = max_{a'} Q(s, a') 代入 Q* 的定义式,我们得到:

Q(s, a) = R(s, a) + γ Σ_{s'} P(s' | s, a) max_{a' ∈ A} Q(s', a')

这个方程只涉及 Q,构成了一个完整的方程组。由于在强化学习的许多算法(尤其是在未知环境模型时)中,直接学习和使用 Q 比先学习 V* 再推导策略更为方便,因此 Q* 函数的贝尔曼方程在实践中使用得非常广泛。

关于奖励函数的讨论

在结束本节之前,我们简要讨论一个重要的技术细节:奖励函数的平移不变性。

标准无限视野折扣MDP中,如果我们将所有即时奖励 R(s, a) 都加上一个相同的常数 C,得到新的奖励函数 R'(s, a) = R(s, a) + C,那么新旧MDP的值函数关系为:

V'^π(s) = V^π(s) + C / (1 - γ)

对于最优值函数也有:V'(s) = V(s) + C / (1 - γ)

重要的是,最优策略集不会改变。因为所有策略的值函数都增加了相同的常数,它们之间的优劣顺序保持不变。基于此,我们通常可以假设奖励值在一个非负的范围内(例如 [0, R_max]),这为理论分析带来了便利。

然而,这个性质在不定视野的 episodic 任务(例如到达目标即终止的网格世界)中不一定成立。考虑一个最短路径问题:每走一步获得奖励 -1,到达目标获得奖励 0。最优策略是尽快到达目标。如果我们将所有奖励加 1,变成每步奖励 0,到达目标奖励 1,那么最优策略就变成了尽可能拖延以停留在获得奖励的步中,而不是尽快到达目标。奖励平移改变了策略的激励。

这种差异的原因在于,在不定视野任务中,轨迹长度是变量,且终止状态后的奖励序列被截断。平移常数奖励会改变不同长度轨迹的总奖励结构,从而影响策略偏好。若要将此类任务转化为等长的有限视野问题,通常需要引入一个吸收态的“虚拟状态”来填充时间步,并在填充步赋予特定奖励(如0),这使得奖励函数在整个状态空间不再是常数,因此平移不变性也就不复存在。

总结

本节课我们一起学习了贝尔曼方程,这是强化学习理论的基石。

  1. 我们首先介绍了策略评估的贝尔曼方程,它建立了策略与其值函数之间的递归关系,并证明了其解的存在唯一性。
  2. 我们探讨了方程解的矩阵形式,并引入了折扣状态占用分布的概念。
  3. 接着,我们转向最优贝尔曼方程,它定义了最优值函数,并指出了最优策略的存在性(确定性与平稳性)。
  4. 我们引入了至关重要的 Q 函数*,它直接给出了最优策略的选择方法,并且自身也满足一个贝尔曼方程。
  5. 最后,我们讨论了奖励函数的平移不变性及其在不同MDP设定下的适用性。

理解贝尔曼方程是理解后续动态规划、蒙特卡洛方法和时序差分学习等强化学习核心算法的基础。在下一讲中,我们将探讨如何利用这些方程来实际计算最优策略。

003:贝尔曼方程(视角2)📘

在本节课中,我们将继续学习贝尔曼方程,特别是其在策略评估中的应用,并深入探讨其矩阵形式、解的唯一性证明,以及如何将其推广到随机策略。我们还将介绍贝尔曼最优方程,并讨论最优值函数与最优策略之间的关系。


策略评估的贝尔曼方程回顾

上一节我们介绍了用于策略评估的贝尔曼方程。给定任意策略 π,其值函数 V^π 满足以下方程:
V^π(s) = R(s, π(s)) + γ Σ_{s'} P(s' | s, π(s)) V^π(s')

需要注意的是,之前的推导主要考虑了确定性策略,即策略将状态映射到具体的动作。然而,这个方程可以很直接地推广到随机策略的情况。

推广至随机策略

对于随机策略,策略 π 在给定状态 s 下会输出一个动作的概率分布。此时,贝尔曼方程的形式非常相似,唯一的区别在于,我们需要对策略给出的动作分布取期望。

具体而言,方程变为:
V^π(s) = E_{a~π(·|s)} [ R(s, a) ] + γ E_{a~π(·|s), s'~P(·|s,a)} [ V^π(s') ]

为了简化表示,我们经常使用统一的记号。例如,用 R(s, π) 表示在状态 s 下执行策略 π 的期望即时奖励,用 P(s' | s, π) 表示相应的状态转移概率。当策略是确定性策略时,这只是上述一般形式的一个特例。


矩阵形式与解的唯一性

我们可以将贝尔曼方程写成矩阵形式:
V^π = R^π + γ P^π V^π

通过移项,可以得到:
(I - γ P^π) V^π = R^π

因此,计算值函数 V^π 就转化为求解这个线性方程组。一个关键问题是,矩阵 (I - γ P^π) 是否总是可逆的?答案是肯定的。

可逆性证明

我们通过证明对于任何非零向量 x,矩阵 (I - γ P^π) 作用在 x 上得到的向量也是非零的,从而证明该矩阵可逆。

证明中使用了无穷范数 ||x||_∞ = max_i |x_i|。P^π 是一个转移概率矩阵,其每一行都是一个概率分布(元素非负且和为1)。

以下是证明的核心步骤:

  1. 考虑 ||(I - γ P^π) x||_∞
  2. 利用三角不等式,得到 ||(I - γ P^π) x||_∞ ≥ ||x||_∞ - γ ||P^π x||_∞
  3. 关键的一步是证明 ||P^π x||_∞ ≤ ||x||_∞。这是因为 P^π 的每一行都是对 x 各分量的凸组合(加权平均),而平均值永远不会超过最大值。
  4. 结合上述不等式,有 ||(I - γ P^π) x||_∞ ≥ (1 - γ) ||x||_∞ > 0(因为 γ < 1 且 x 非零)。
  5. 因此,(I - γ P^π) x ≠ 0,矩阵可逆。

这个证明不仅说明了矩阵可逆,也意味着贝尔曼方程有唯一解。因此,满足贝尔曼方程是值函数的等价定义。


折扣状态占用分布

在求解贝尔曼方程时,矩阵 (I - γ Pπ) 扮演了核心角色。这个矩阵具有重要的概率解释。

考虑矩阵 (1-γ)(I - γ Pπ) 的每一行。可以证明,每一行都是一个概率分布(元素非负且和为1)。具体来说,对于行索引对应的起始状态 s,这个分布 d^{π,s} 可以写成:
d^{π,s}(s') = (1-γ) Σ_{t=1}^{∞} γ^{t-1} [Pπ](s' | s)

其中,[Pπ](s' | s) 表示从状态 s 开始,执行策略 π 经过 t-1 步后到达状态 s‘ 的概率分布。

这个分布 d^{π,s} 被称为折扣状态占用分布。它混合了从状态 s 出发,在不同时间步 t 访问状态 s‘ 的概率,并以 γ^{t-1} 进行折扣加权。与马尔可夫链中通常关注的稳态分布不同,折扣占用分布更强调瞬态行为,因为越未来的状态获得的权重越小。


贝尔曼最优方程

策略评估告诉我们一个给定策略的好坏。我们的最终目标是找到最优策略。在无限视野折扣马尔可夫决策过程(MDP)中,一个基本结论是:总存在一个平稳的、确定性的马尔可夫策略,它对所有起始状态同时是最优的。

我们用 π* 表示这样一个最优策略,并用 V* 表示其对应的值函数,称为最优值函数。尽管最优策略可能不唯一,但最优值函数 V* 是唯一的。

最优方程的直观推导

最优值函数 V* 满足贝尔曼最优方程。其直观推导如下:
假设我们在状态 s,我们想知道从此刻开始最优行为能获得的最大期望总回报。我们可以这样思考:

  1. 立即,我们可以选择多个动作 a。
  2. 对于每个候选动作 a,假设我们执行它,然后从下一状态 s‘ 开始继续最优行为。
  3. 执行动作 a 的期望总回报是:R(s, a) + γ E_{s'~P(·|s,a)}[ V*(s') ]
  4. 为了在状态 s 获得最大回报,我们应选择能最大化上述表达式的动作 a。

因此,我们得到贝尔曼最优方程:
V(s) = max_{a ∈ A} [ R(s, a) + γ E_{s'~P(·|s,a)}[ V(s') ] ]

Q函数与最优策略

为了更方便地表示方程右边部分,我们定义最优Q函数
Q(s, a) = R(s, a) + γ E_{s'~P(·|s,a)}[ V(s') ]

Q(s, a) 表示在状态 s 采取动作 a,然后此后一直遵循最优策略所能获得的期望总回报。有了 Q,最优方程可以写为:
V(s) = max_{a ∈ A} Q(s, a)

更重要的是,最优策略可以通过 Q* 直接得到:在状态 s,选择使得 Q(s, a) 最大的动作 a,即 **π(s) = argmax_{a ∈ A} Q*(s, a)**。当最大值对应多个动作时,选择其中任何一个均可,这解释了最优策略可能不唯一的原因。

Q函数的贝尔曼方程

我们可以推导出 Q* 自身也满足一个贝尔曼方程。将 V(s') = max_{a'} Q(s', a') 代入 Q* 的定义式,得到:
Q(s, a) = R(s, a) + γ E_{s'~P(·|s,a)}[ max_{a' ∈ A} Q(s', a') ]

这是一个自包含的方程,仅涉及 Q。在规划场景中,由于我们知道模型(R 和 P),可以直接求解这个方程得到 Q,进而得到最优策略。在强化学习中,我们通常更常处理 Q 函数。


关于奖励函数的注记

奖励平移不变性

考虑一个MDP,其奖励函数为 R(s, a)。如果我们定义一个新的MDP,其奖励函数为 R'(s, a) = R(s, a) + C,其中 C 是一个常数。那么,对于任意策略 π,其在新旧MDP中的值函数满足:
V'^π(s) = V^π(s) + C / (1-γ)

这意味着,给所有奖励加上一个常数,不会改变不同策略之间的优劣顺序,也不会改变最优策略。因此,我们可以为了方便,总是假设奖励值在一个非负的范围内(例如 [0, R_max]),只需将原始奖励加上一个足够的常数即可。

有限视野与终止状态

有限视野问题中,轨迹长度固定为 H。此时,值函数和策略通常是时间依赖的。类似地,奖励平移不变性仍然成立,因为给每一步奖励加上常数 C,总回报增加 C * H,不改变策略间的相对优劣。

更常见的是不定视野问题(或“分幕式”任务),例如棋类游戏或导航到目标点。轨迹会在达到某个终止状态(如目标、游戏结束)时结束,轨迹长度 H 是一个随机变量,取决于策略和运气。

在这种设定下,奖励平移不变性不一定成立。一个经典例子是:在网格世界中,每走一步给予 -1 奖励,到达目标给予 0 奖励(或一个正的大奖励)。目标是最小化步数(最大化总奖励,即最小化负数和)。如果我们将所有奖励加上 +1,则每步奖励变为 0,到达目标奖励变为 +1。这完全改变了激励:智能体现在会尽可能拖延到达目标,以累积更多的 +1 奖励。因此,平移改变了最优策略。

然而,如果轨迹长度有一个上界 H0,我们可以通过添加“吸收状态”将不定视野问题转化为等价的有限视野问题。在转化后的问题中,奖励函数不再是一个简单的常数,此时奖励平移的性质又与标准有限视野问题一致了。


总结

本节课中,我们一起深入探讨了贝尔曼方程。

  • 我们首先回顾了策略评估的贝尔曼方程,并将其推广到随机策略。
  • 我们证明了贝尔曼方程矩阵形式解的唯一性,并介绍了折扣状态占用分布这一重要概念。
  • 接着,我们转向控制问题,介绍了贝尔曼最优方程,它定义了最优值函数 V* 和最优Q函数 Q*。
  • 我们了解到,最优策略可以通过对 Q* 取 argmax 获得,并且存在确定性的最优策略。
  • 最后,我们讨论了奖励函数的性质,特别是奖励平移在无限/有限视野问题中的不变性,以及在不定视野问题中的特殊性,这有助于我们理解不同MDP建模方式之间的细微差别。

在接下来的课程中,我们将探讨如何实际求解这些贝尔曼方程。

004:价值迭代 🧠

在本节课中,我们将要学习如何求解贝尔曼最优方程,并介绍一个核心算法——价值迭代。我们将从回顾贝尔曼最优方程开始,然后引入贝尔曼算子这一重要概念,并证明其收缩性质。最后,我们将利用这一性质来分析价值迭代算法的收敛性。

回顾贝尔曼最优方程

上一节我们介绍了状态价值函数的最优贝尔曼方程:
V*(s) = max_a [ R(s, a) + γ Σ_{s'} P(s'|s, a) V*(s') ]

为了直接得到最优策略,我们更常使用状态-动作价值函数 Q*,其定义为:
Q*(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) V*(s')

我们可以写出仅关于 Q* 的贝尔曼最优方程:
Q*(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) max_{a'} Q*(s', a')

一旦我们求解出 Q*,最优策略 π* 可以通过贪心策略轻松获得:
π*(s) = argmax_a Q*(s, a)

为了后续分析方便,我们引入一个简写符号 π_f,表示相对于某个函数 f 的贪心策略。

引入贝尔曼算子

为了求解贝尔曼最优方程,我们引入一个核心工具——贝尔曼算子 T

贝尔曼算子 T 是一个映射,它将一个定义在状态-动作对上的函数(例如 Q 函数)映射为另一个同类型的函数。更具体地说,对于任意输入函数 F ∈ ℝ^{|S||A|},算子 T 的输出函数在任意状态-动作对 (s, a) 上的值定义为:
(T F)(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) max_{a'} F(s', a')

这里需要特别注意,ℝ^{|S||A|} 应被视为一个长向量,其维度是所有可能状态-动作对的数量,而不是一个矩阵。

利用这个算子,贝尔曼最优方程可以被简洁地重写为一个不动点方程:
Q* = T Q*

这意味着 Q* 是算子 T 的一个不动点。类似地,我们也可以为状态价值函数 V* 定义相应的贝尔曼算子(虽然符号相同,但根据输入函数的类型可以区分)。

价值迭代算法

求解不动点方程的一个经典数值方法是迭代法。价值迭代算法正是基于这一思想。

以下是价值迭代算法的步骤:

  1. 初始化:任意选择一个初始函数 F_0,例如零函数 F_0 = 0
  2. 迭代更新:对于 k = 1, 2, ...,重复执行:
    F_k = T F_{k-1}

也就是说,我们从一个初始猜测开始,然后反复应用贝尔曼算子 T。我们将证明,当迭代次数 k 足够大时,F_k 会以指数级速度收敛到 Q*

贝尔曼算子的收缩性

价值迭代算法收敛性的关键,在于贝尔曼算子 T 是一个 γ-收缩映射(在无穷范数 L_∞ 下)。

收缩性的数学定义如下:对于任意两个函数 F,都有
||T F - T F̃||_∞ ≤ γ ||F - F̃||_∞

其中,函数 f 的无穷范数定义为:||f||∞ = max |f(s, a)|

这个性质意味着,应用算子 T 会缩小任意两个函数之间的距离(最多缩小 γ 倍)。直观上,这就像在空间中,T 会把两个点拉得更近。

收缩性证明

我们目标是证明上述不等式。证明思路如下:

  1. 固定任意状态-动作对 (s, a),考察 |(T F)(s, a) - (T F̃)(s, a)|
  2. 代入算子定义,消去相同的即时奖励 R(s, a),并提取公因子 γ 和期望。
  3. 利用绝对值不等式和期望的性质,将绝对值移到期望内部。
  4. 关键的一步是处理两个最大值函数之差:|max_{a'} F(s', a') - max_{a'} F̃(s', a')|
    我们可以证明,对于任意固定的 s',有:
    |max_{a'} F(s', a') - max_{a'} F̃(s', a')| ≤ max_{a'} |F(s', a') - F̃(s', a')|
  5. 结合上述不等式,并取所有 s'a' 上的最大值,最终得到:
    |(T F)(s, a) - (T F̃)(s, a)| ≤ γ max_{s', a'} |F(s', a') - F̃(s', a')| = γ ||F - F̃||_∞
  6. 由于上述不等式对任意 (s, a) 都成立,因此在整个无穷范数意义下也成立。

至此,我们证明了贝尔曼算子 T 是一个 γ-收缩映射

价值迭代的收敛性分析

现在,我们利用收缩性来证明价值迭代算法的收敛性。我们想要分析误差 ||Q* - F_k||_∞

证明过程如下:

  1. 因为 Q*T 的不动点(Q* = T Q*),而根据算法 F_k = T F_{k-1},我们有:
    ||Q* - F_k||∞ = ||T Q* - T F||_∞
  2. 应用收缩性引理:
    ||T Q* - T F_{k-1}||∞ ≤ γ ||Q* - F||_∞
  3. 这是一个递归关系。不断应用此关系,直到回溯到初始函数 F_0
    ||Q* - F_k||_∞ ≤ γ^k ||Q* - F_0||_∞

由于折扣因子 γ ∈ [0, 1),当 k → ∞ 时,γ^k → 0。因此,F_k 以指数速度(或称几何速率)收敛到 Q*。初始误差 ||Q* - F_0||_∞ 是一个有界常数(例如,若 F_0 = 0,则该误差上界为 R_max / (1 - γ)),它只影响收敛的常数项,而不影响指数衰减的速率。

此外,这个证明还隐含地表明了贝尔曼最优方程解的唯一性。因为迭代序列 {F_k} 只能收敛到一个极限点,所以不动点 Q* 是唯一的。

其他相关概念与扩展

以下是关于贝尔曼算子和迭代算法的一些重要扩展和说明:

  • 状态价值函数的VI:类似地,可以为 V* 定义贝尔曼算子和价值迭代算法,其收敛性分析和证明思路完全相同。
  • 策略评估的迭代法:对于给定的策略 π,其状态价值函数 V^π 满足的贝尔曼方程 V^π = R^π + γ P^π V^π 也可以写成不动点形式 V^π = T^π V^π。这里定义的算子 T^π 是一个仿射算子:T^π F = R^π + γ P^π FT^π 同样是一个 γ-收缩映射,这意味着我们也可以用迭代法(而非直接矩阵求逆)来求解策略评估问题。
  • 状态-动作价值函数 Q^π:为了概念的完整性,我们定义在策略 π 下的 Q^π。它表示从状态 s 开始,强制执行动作 a,之后一直遵循策略 π 所获得的期望折扣回报。它满足的贝尔曼方程为:
    Q^π(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) V^π(s') = R(s, a) + γ Σ_{s'} P(s'|s, a) Q^π(s', π(s'))
    同样可以为其定义算子并分析迭代求解的收敛性。
  • 方程形式的对比:比较贝尔曼最优方程和策略评估方程,核心区别在于前者包含 max 操作,这使得方程非线性,无法直接线性求解;而后者是线性的,其算子 T^π 是仿射变换。

总结

本节课中我们一起学习了以下核心内容:

  1. 我们回顾了贝尔曼最优方程,并引入了状态-动作价值函数 Q* 以方便直接推导最优策略。
  2. 我们定义了贝尔曼算子 T,将贝尔曼最优方程简洁地表达为不动点方程 Q* = T Q*
  3. 我们介绍了价值迭代算法:通过反复应用算子 T 来迭代更新函数估计值。
  4. 我们证明了贝尔曼算子 T 在无穷范数下是一个 γ-收缩映射,这是分析收敛性的关键。
  5. 利用收缩性,我们严格证明了价值迭代算法会以指数速率收敛到唯一的最优解 Q*
  6. 我们还将这一框架扩展到策略评估问题,指出其对应的算子 T^π 也具有收缩性,同样可用迭代法求解。

价值迭代是强化学习中最基础、最重要的规划算法之一,它为我们理解最优价值函数的结构和求解方法奠定了坚实的理论基础。

005:价值迭代(视角2)🎯

在本节课中,我们将学习如何求解贝尔曼最优方程。我们将引入一个重要的数学工具——贝尔曼算子,并基于它介绍价值迭代算法。我们将证明该算法能够快速收敛到最优状态-动作价值函数 Q*。

回顾贝尔曼最优方程

上一节我们介绍了贝尔曼最优方程。对于最优状态价值函数 V,其方程为:
**V
(s) = max_a [ R(s, a) + γ Σ_{s'} P(s'|s, a) V*(s') ]**

为了直接得到最优策略,我们更常使用最优状态-动作价值函数 Q,其方程为:
**Q
(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) max_{a'} Q*(s', a')**

一旦我们求解出 Q,最优策略 π 可以通过贪心策略轻松得到:
π(s) = argmax_a Q(s, a)

引入贝尔曼算子

为了分析和求解上述方程,我们引入一个核心概念:贝尔曼算子 T。

贝尔曼算子 T 是一个映射,它将一个定义在“状态-动作对”上的函数(例如 Q 函数)映射为另一个同类型的函数。具体定义如下:对于任意输入函数 F ∈ ℝ^(|S|×|A|),算子 T 的输出函数在任意状态-动作对 (s, a) 上的值为:
(T F)(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) max_{a'} F(s', a')

注意,这里的输入 F 是一个完整的函数(或向量),T 作用于整个函数后,再在具体的 (s, a) 处求值。这种写法强调了算子需要函数在所有状态上的信息。

利用这个算子,贝尔曼最优方程可以被简洁地重写为一个不动点方程:
Q = T Q**

这意味着 Q* 是算子 T 的一个不动点。我们的目标就是找到这个不动点。

价值迭代算法

求解不动点方程的一个经典方法是迭代法。价值迭代算法正是基于这一思想。

以下是价值迭代算法的步骤:

  1. 初始化:任意初始化一个函数 F_0,例如设为零函数:F_0(s, a) = 0。
  2. 迭代更新:对于 k = 1, 2, 3, ...,执行以下更新:
    F_k = T F_{k-1}
    即,将上一轮迭代得到的函数 F_{k-1} 代入贝尔曼算子 T,得到新的函数 F_k。

直观上,该算法不断将当前的 Q 值估计通过贝尔曼最优备份进行改进。我们将证明,当迭代次数 k 足够大时,F_k 会收敛到最优 Q* 函数。

收敛性证明

为了证明价值迭代的收敛性,我们需要一个关键引理:贝尔曼算子 T 是一个 γ-收缩映射。

收缩性引理

对于任意两个函数 F 和 F̃,贝尔曼算子 T 满足以下性质:
‖T F - T F̃‖_∞ ≤ γ ‖F - F̃‖_∞

这里 ‖·‖_∞ 表示无穷范数(L∞范数),对于一个函数 G,其定义为:
‖G‖∞ = max |G(s, a)|

这个引理意味着,对任意两个函数应用算子 T 后,它们之间的“最大差距”会至少缩小 γ 倍(γ < 1)。

引理证明概要

我们比较 (T F)(s, a) 和 (T F̃)(s, a) 的差。经过抵消奖励项和提取公因子后,核心在于证明对于任意状态 s‘,下式成立:
| max_{a'} F(s', a') - max_{a'} F̃(s', a') | ≤ max_{a'} | F(s', a') - F̃(s', a') |

这个不等式可以通过分析两个函数最大值点的关系来证明。不失一般性,假设 F 的最大值不小于 F̃ 的最大值。设 a* 是 F 的最大值点,则有:
左边 = F(s', a) - max_{a'} F̃(s', a') ≤ F(s', a) - F̃(s', a) ≤ |F(s', a) - F̃(s', a*)| ≤ 右边

由此,收缩性得证。

利用收缩性证明收敛

现在,假设收缩性引理成立,我们来分析价值迭代的误差。定义第 k 次迭代的误差为 ‖Q* - F_k‖_∞。

由于 Q* 是 T 的不动点(Q* = T Q),且 F_k = T F_{k-1},我们可以利用收缩性:
‖Q - F_k‖_∞ = ‖T Q - T F_{k-1}‖_∞ ≤ γ ‖Q
- F_{k-1}‖_∞**

这是一个递归关系。不断应用它,直到回溯到初始函数 F_0:
‖Q - F_k‖_∞ ≤ γ^k ‖Q - F_0‖_∞**

由于 γ < 1,当 k → ∞ 时,γ^k → 0,因此误差 ‖Q* - F_k‖_∞ → 0。这意味着 F_k 收敛到 Q*。收敛速度是指数级的(或几何级数),由 γ^k 控制,非常快。

此外,这个证明还隐含地说明了贝尔曼最优方程的解是唯一的。因为迭代算法从一个任意起点出发,总是收敛到同一个极限 Q*。

相关概念与扩展

上一节我们介绍了价值迭代的核心,本节我们来看看与之相关的其他重要算子和方程。

其他贝尔曼算子

贝尔曼算子的思想可以推广到其他场景:

  1. 最优状态价值算子:同样可以定义作用于状态价值函数 V 的算子 T,使得 V* = T V*。其价值迭代形式(在状态空间上迭代)具有完全类似的收敛性质。
  2. 策略评估算子 T_π:对于任意给定的策略 π,可以定义策略评估算子:
    (T_π V)(s) = R_π(s) + γ Σ_{s'} P_π(s'|s) V(s')
    其中 R_π(s) = Σ_a π(a|s) R(s, a), P_π(s'|s) = Σ_a π(a|s) P(s'|s, a)。策略的价值函数 V_π 满足不动点方程 V_π = T_π V_π。T_π 也是一个 γ-收缩映射,这意味着我们也可以用迭代法(而非矩阵求逆)来求解策略评估问题。
  3. 状态-动作价值函数 Q_π:为了概念的完整性,我们定义在策略 π 下的状态-动作价值函数:
    Q_π(s, a) = R(s, a) + γ Σ_{s'} P(s'|s, a) V_π(s')
    它表示在状态 s 下执行动作 a,之后一直遵循策略 π 所能得到的期望回报。它同样满足一个贝尔曼方程,并对应一个收缩算子。

方程对比

以下是不同贝尔曼方程的对比,有助于理解其联系与区别:

  • 策略评估方程 (V_π)V_π = R_π + γ P_π V_π
    • 性质:线性方程。
    • 求解:可直接线性求解,也可用迭代法。
    • 算子:T_π,是仿射变换(线性+平移)。
  • 最优性方程 (Q*)Q* = R + γ P (max Q*)
    • 性质:非线性方程(由于 max 操作)。
    • 求解:通常使用迭代法(如价值迭代)。
    • 算子:T,是非线性算子。

关键区别在于,最优性方程中包含了一个 max 操作,这使其变为非线性,但也正是这个操作使得它能够直接表征最优策略。

总结

本节课中我们一起学习了价值迭代算法及其理论基础。

  1. 我们首先通过引入贝尔曼算子 T,将贝尔曼最优方程 Q = T Q** 表示为不动点问题。
  2. 接着,我们介绍了价值迭代算法:通过反复应用算子 T(即 F_k = T F_{k-1})来逼近最优 Q* 函数。
  3. 我们证明了贝尔曼算子 T 是一个 γ-收缩映射,这是分析收敛性的关键。
  4. 利用收缩性,我们证明了价值迭代算法能以 指数级速度(γ^k) 收敛到唯一的最优解 Q*。
  5. 最后,我们扩展了算子的概念,简要介绍了用于策略评估的算子 T_π,并对比了不同贝尔曼方程的特点。

价值迭代是强化学习中最基础、最重要的规划算法之一,它为我们后面理解更复杂的算法(如Q-learning)奠定了坚实的基础。

006:价值迭代(续)🎯

概述

在本节课中,我们将继续探讨价值迭代算法。我们将学习一种分析价值迭代收敛性的全新视角,这种方法不依赖于收缩映射的概念,而是通过有限时域目标来理解无限时域问题。此外,我们还将初步介绍另一种基础规划算法——策略迭代。

价值迭代的另一种证明视角

上一节我们介绍了基于收缩映射的价值迭代证明。本节中,我们来看看一种完全不同的证明策略。这种证明虽然在某些步骤上不那么严格,但它非常直观且基础,甚至不需要引入收缩的概念。

算法回顾与有限时域解释

我们首先回顾价值迭代算法(针对V*版本)。我们从零初始化函数F0开始,对于任意k>0,迭代更新为:

F_k = T(F_{k-1})

其中,T算子定义为:对于任意定义在状态上的实值函数f,T(f)是另一个实值函数,其表达式为:

[T(f)](s) = max_a [ R(s, a) + γ * E_{s'~P(·|s,a)}[ f(s') ] ]

现在,我们写下前几次迭代的结果:

  • F0 = 0(零函数)。
  • F1(s) = max_a R(s, a)。
  • F2(s) = max_a [ R(s, a) + γ * E_{s'~P(·|s,a)}[ max_{a'} R(s', a') ] ]。

我们可以继续这个过程。在之前的收缩分析中,我们得到的中间函数序列本身没有明确的含义。然而,当我们以这种方式写出时,这些函数实际上在MDP中具有可解释的意义。

以下是其含义:
我们定义一个有限时域H下的策略π的价值函数:

V_π^H(s) = E[ Σ_{t=1}^{H} γ^{t-1} R_t | S1 = s, 遵循策略π ]

这个量表示从状态s开始,执行策略π,只累加前H步奖励的期望折扣回报。

接着,我们定义最优的有限时域价值函数:

V*^H(s) = max_{π} V_π^H(s)

这里的“所有策略π”包括非平稳策略。因为这是一个有限时域目标,最优策略通常是时间依赖的(非平稳的)。

核心主张:价值迭代过程中得到的第H个函数F_H,恰好等于最优有限时域价值函数V*^H。即:

F_H = V*^H

直观理解是:F0对应H=0(无步数剩余,价值为0)。F1对应H=1(只剩一步,选择能获得最大即时奖励的动作)。F2对应H=2,依此类推。这本质上是一种逆向归纳(动态规划)过程。

基于有限时域的收敛性分析

如果我们接受上述主张,就可以用初等数学轻松证明价值迭代的收敛性。

首先,对于任意平稳策略π(包括最优无限时域策略π*),我们有:

V_π^H ≤ V*^H = F_H

因为V*^H是有限时域目标下的最优值。

同时,由于π*是针对无限时域目标优化的,而对于有限时域目标H,它通常是次优的,因此:

V_{π*}^H ≤ V*^H = F_H

另一方面,我们希望将F_H与真正的无限时域最优价值V联系起来。我们知道V可以看作是H趋于无穷时的V*^H。由于奖励非负,增加步数总会让总回报增加(或不变),因此:

F_H = V*^H ≤ V*^∞ = V*

这给出了F_H的一个上界(F_H ≤ V*)。

接下来,我们寻找F_H的下界。我们利用最优无限时域策略π*:

F_H = V*^H ≥ V_{π*}^H

根据定义,V_{π}^H是策略π在有限时域H下的表现。我们可以将其写为无限时域价值减去一个尾部项:

V_{π*}^H = V_{π*}^∞ - E_{π*}[ Σ_{t=H+1}^{∞} γ^{t-1} R_t | S1 = s ]
        = V*(s) - γ^H * E_{π*}[ Σ_{t=1}^{∞} γ^{t-1} R_{t+H} | S1 = s ]

由于奖励有界(|R_t| ≤ R_max),尾部期望的绝对值不超过R_max / (1-γ)。因此,我们得到:

F_H(s) ≥ V*(s) - γ^H * [R_max / (1-γ)]

结论:三明治定理与收敛速率

综合上下界,我们得到对于任意状态s:

V*(s) - γ^H * [R_max / (1-γ)] ≤ F_H(s) ≤ V*(s)

这意味着F_H与V*的无穷范数距离(最大绝对误差)满足:

||F_H - V*||_∞ ≤ γ^H * [R_max / (1-γ)]

这个界限与之前收缩映射证明得到的收敛速率一致。当γ接近1时,所需迭代次数H与有效视界1/(1-γ)成正比。

这种证明方式揭示了价值迭代的本质:它是在逐步求解越来越精确的有限时域近似,以逼近无限时域最优解。当H足够大时,被忽略的远期奖励因折扣因子γ^H变得极小,因此近似误差可控。

从近似价值函数到策略

在规划中,我们的最终目标是得到一个好的策略,而不仅仅是价值函数。价值迭代给我们一个近似最优价值函数F ≈ Q*。最自然的做法是贪心地根据这个函数选择动作,即得到策略π_F:

π_F(s) = argmax_a F(s, a)

一个关键问题是:如果F接近Q*,那么策略π_F的性能接近最优吗?答案是肯定的。有以下性能保证引理:

引理:对于任意实值函数F(定义在状态-动作对上),如果其与最优Q函数的误差满足 ||F - Q*||_∞ ≤ ε,那么由此生成的贪心策略π_F的性能满足:

||V* - V_{π_F}||_∞ ≤ (2γ) / (1-γ) * ε

其中V_{π_F}是策略π_F在真实MDP中对应的状态价值函数。

这个引理表明,贪心化操作具有一定的鲁棒性。价值函数估计中的小误差,只会导致最终策略性能的有限程度衰减,而不会造成灾难性失败。

重要概念区分

这里必须清晰区分两类函数:

  1. MDP内生的价值函数:如V, Q, V_π。这些函数与MDP动态和奖励函数紧密相关,代表了在MDP中遵循某种行为所能获得的实际回报。它们满足特定的界限(例如,如果奖励在[0, R_max],则V*在[0, R_max/(1-γ)]内)。
  2. 任意的辅助函数:如价值迭代中的F,或引理中的F。它们只是定义在状态(或状态-动作对)上的任意实值函数,可能与MDP的真实回报范围无关(可以为负或非常大)。我们只是利用它们来生成策略。

当我们通过π_F = greedy(F)得到一个策略后,在真实MDP中评估该策略,得到的V_{π_F}就又变成了第一类函数——一个在MDP中有实际意义的价值函数。

策略迭代算法介绍

在规划部分,我们将介绍三种基础算法。价值迭代是其中之一。第二种基础算法是策略迭代

顾名思义,价值迭代产生一个价值函数序列,而策略迭代则产生一个策略序列。算法步骤如下:

  1. 初始化:任意选择一个初始策略π_0。
  2. 迭代:对于k = 1, 2, ...,执行以下两步:
    • 策略评估:计算当前策略π_{k-1}的Q函数,即Q_{π_{k-1}}。
    • 策略改进:通过贪心化上一步得到的Q函数,得到新策略:π_k = greedy( Q_{π_{k-1}} )。

策略迭代的性质

策略迭代算法有一个非常好的性质,称为单调策略改进

定理(单调策略改进):对于任意k ≥ 1,由策略迭代生成的新策略π_k,其性能在任何状态都不差于旧策略π_{k-1}。即:

V_{π_k}(s) ≥ V_{π_{k-1}}(s), 对于所有状态s

并且,只要π_{k-1}不是最优策略(即不属于最优策略集合),那么至少存在一个状态s,使得上述不等式严格成立(>)。

这意味着策略序列的性能是严格单调提升的,除非已经达到最优。

一个直接推论是:策略迭代会在有限步内收敛。因为可能的确定性马尔可夫策略总数是有限的(最多 |A|^{|S|} 个),而由于单调性,算法不会重复访问同一个策略,因此必然在有限步内停止。

作为简单验证,如果某次迭代的策略π_{k-1}已经是最优策略π,那么Q_{π_{k-1}} = Q,贪心化后得到的π_k = greedy(Q) = π。因此,最优策略是算法的一个不动点。

总结

本节课中我们一起学习了:

  1. 价值迭代的另一种证明:通过将价值迭代解释为求解一系列有限时域最优问题,并利用“三明治”定理,我们以一种更直观、初等的方式证明了其收敛性及指数收敛速率。
  2. 近似价值函数的策略化:我们讨论了如何从近似最优价值函数中提取策略,并给出了性能保证引理,强调了MDP内生价值函数与任意辅助函数之间的重要概念区别。
  3. 策略迭代算法:我们介绍了第二种基础规划算法——策略迭代。它通过交替进行策略评估和策略改进来直接优化策略序列,并具有单调策略改进的良好性质,确保在有限步内收敛。

下节课我们将深入分析策略迭代的收敛速率,并探讨其与价值迭代的内在联系。

007:价值迭代(续)(视角2)🎯

在本节课中,我们将继续探讨价值迭代算法,但会从一个全新的、更直观的视角来分析其收敛性。我们将看到,价值迭代可以被理解为求解一系列有限时域问题的过程,并利用这个视角给出一个不依赖于“收缩映射”概念的初等证明。最后,我们将简要介绍另一种核心规划算法——策略迭代。


算法回顾与证明动机 🔍

上一节我们介绍了价值迭代算法,它通过反复应用贝尔曼最优算子来求解贝尔曼最优方程。其核心在于利用算子的收缩性质来保证收敛。

本节中,我们来看看一个完全不同的证明策略。这个证明虽然在某些步骤上不那么严格,但它非常直观且基础,甚至不需要引入“收缩”的概念。我们将针对价值函数 \(V^*\) 的版本进行分析(\(Q^*\) 版本的证明类似)。

价值迭代算法(\(V^*\) 版本)定义如下:

  • 初始化:\(f_0 = 0\)(零函数)。
  • 迭代:对于 \(k \ge 1\),计算 \(f_k = T f_{k-1}\)

其中,贝尔曼最优算子 \(T\) 定义为:对于任意定义在状态上的实值函数 \(f\)

\[(T f)(s) = \max_{a} \left[ R(s, a) + \gamma \mathbb{E}_{s‘ \sim P(\cdot|s,a)}[f(s’)] \right] \]

我们的目标是证明 \(f_k\)\(L_\infty\) 范数下以指数速度收敛到 \(V^*\)


新视角:有限时域近似 🔬

为了理解这个新证明,我们首先写出前几次迭代的具体形式:

  • \(f_0(s) = 0\)
  • \(f_1(s) = \max_a R(s, a)\)
  • \(f_2(s) = \max_a \left[ R(s, a) + \gamma \mathbb{E}_{s’} [ \max_{a’} R(s‘, a’) ] \right]\)

观察这些表达式,它们实际上具有明确的含义。我们定义一个新的量:对于一个策略 \(\pi\),其 \(H\) 步有限时域价值 为:

\[V_\pi^H(s) = \mathbb{E}_\pi \left[ \sum_{t=1}^{H} \gamma^{t-1} R_t \mid S_1 = s \right] \]

即从状态 \(s\) 开始,执行策略 \(\pi\),只累计前 \(H\) 步的折扣奖励。

接着,定义 \(H\) 步最优价值

\[V^{*, H}(s) = \max_{\pi} V_\pi^H(s) \]

这里的 \(\pi\) 可以是非平稳策略(即策略可以随时间变化)。对于有限时域问题,最优策略通常是时间依赖的。

核心观察:价值迭代中得到的 \(f_H\) 恰好等于 \(H\) 步最优价值 \(V^{*, H}\)

  • \(f_0 = V^{*, 0}\):零步剩余,价值为0。
  • \(f_1 = V^{*, 1}\):一步剩余,最优选择是最大化即时奖励。
  • \(f_2 = V^{*, 2}\):两步剩余,需要考虑当前奖励和下一步的最优奖励,这正是动态规划(逆向归纳)的思想。

因此,价值迭代的过程可以解读为:依次求解 \(H=0,1,2,…\) 的有限时域问题,并将 \(H\) 步最优价值作为对无限时域最优价值 \(V^*\) 的近似。


收敛性证明 📈

基于上述观察,我们可以建立一个“夹逼”论证来证明收敛性。

首先,对于任意平稳策略 \(\pi\)(包括最优无限时域策略 \(\pi^*\)),显然有:

\[V_\pi^H \le V^{*, H} = f_H \]

因为 \(f_H\)\(H\) 步问题的最优价值。

其次,由于奖励的非负性(这是一个不失一般性的假设),增加累计步数不会减少价值,因此:

\[f_H = V^{*, H} \le V^* \]

这里 \(V^*\) 是无限时域最优价值。这给出了 \(f_H\) 的一个上界:\(f_H \le V^*\)

现在我们需要 \(f_H\) 的下界。考虑无限时域最优策略 \(\pi^*\)\(H\) 步目标下的表现:

\[f_H = V^{*, H} \ge V_{\pi^*}^H \]

因为 \(\pi^*\) 只是所有可能策略中的一个,不一定在 \(H\) 步目标下最优。

\(V_{\pi^*}^H\) 拆解:

\[V_{\pi^*}^H(s) = \mathbb{E}_{\pi^*} \left[ \sum_{t=1}^{\infty} \gamma^{t-1} R_t \mid S_1=s \right] - \mathbb{E}_{\pi^*} \left[ \sum_{t=H+1}^{\infty} \gamma^{t-1} R_t \mid S_1=s \right] \]

\[= V^*(s) - \gamma^H \mathbb{E}_{\pi^*} \left[ \sum_{t=1}^{\infty} \gamma^{t-1} R_{t+H} \mid S_1=s \right] \]

由于奖励有界 \(|R| \le R_{\text{max}}\),右边期望项的绝对值不超过 \(\frac{R_{\text{max}}}{1-\gamma}\)。因此我们得到下界:

\[f_H(s) \ge V^*(s) - \gamma^H \cdot \frac{R_{\text{max}}}{1-\gamma} \]

结合上下界,我们得到:

\[V^*(s) - \gamma^H \cdot \frac{R_{\text{max}}}{1-\gamma} \le f_H(s) \le V^*(s) \]

这意味着在 \(L_\infty\) 范数下:

\[\| f_H - V^* \|_\infty \le \gamma^H \cdot \frac{R_{\text{max}}}{1-\gamma} \]

这与之前收缩映射证明得到的收敛速率一致。这个证明的优点在于其直观性:价值迭代之所以有效,是因为当 \(H\) 很大时,有限时域最优价值 \(V^{*, H}\) 与无限时域最优价值 \(V^*\) 的差异仅来自于 \(H\) 步之后那些被严重折扣(因子为 \(\gamma^H\))的奖励,而这些奖励的总和是有限的。


从值函数到策略:性能保证 ⚙️

在实际应用中,我们运行有限 \(K\) 步价值迭代后,得到一个近似函数 \(f \approx Q^*\)。我们需要将其转化为策略。最自然的方式是“贪心化”:

\[\pi_f(s) = \arg\max_a f(s, a) \]

一个关键问题是:如果 \(f\) 接近 \(Q^*\),那么策略 \(\pi_f\) 的性能是否接近最优?

答案是肯定的。有以下性能保证引理:对于任意函数 \(f\),如果满足 \(\| f - Q^* \|_\infty \le \epsilon\),那么其贪心策略 \(\pi_f\) 的价值满足:

\[\| V^* - V^{\pi_f} \|_\infty \le \frac{2\gamma}{1-\gamma} \epsilon \]

这个引理表明,贪心化操作是“稳健”的:值函数估计中的小误差,只会导致策略性能有限程度的下降,而不会造成灾难性失败。这为价值迭代等算法提供了理论保障:我们可以在达到所需的精度 \(\epsilon\) 后停止迭代,并保证得到的策略是近似最优的。

重要概念区分:这里需要仔细区分两类函数:

  1. MDP 内在的价值函数:如 \(V^*, Q^*, V^\pi\)。它们是通过在 MDP 中执行某个策略所获得的期望回报,其值域受奖励和折扣因子约束。
  2. 任意的代理函数:如价值迭代中产生的 \(f_k\),或引理中的 \(f\)。它们只是对状态或状态-动作对的评分,可能没有任何策略能实现这个评分,其值也可以任意。

贪心化操作可以将任意代理函数 \(f\) 映射为一个合法的策略 \(\pi_f\)。当在 MDP 中执行 \(\pi_f\) 时,产生的是内在价值函数 \(V^{\pi_f}\)\(f\)\(V^{\pi_f}\) 通常是不同的对象。


策略迭代算法简介 🔄

除了价值迭代,策略迭代是另一种经典的规划算法。其核心思想是直接迭代改进策略,而非值函数。

策略迭代算法步骤如下:

  1. 初始化:任意选择一个初始策略 \(\pi_0\)
  2. 迭代(对于 \(k=1,2,…\)):
    • 策略评估:计算当前策略 \(\pi_{k-1}\)\(Q\) 函数 \(Q^{\pi_{k-1}}\)
    • 策略改进:通过贪心化得到新策略 \(\pi_k = \pi_{Q^{\pi_{k-1}}}\)(即在每个状态选择使 \(Q^{\pi_{k-1}}(s, a)\) 最大的动作)。

策略迭代具有 单调改进 的性质:对于所有状态 \(s\),有 \(V^{\pi_k}(s) \ge V^{\pi_{k-1}}(s)\)。只要旧策略不是最优的,至少在一个状态上会有严格改进。由于确定性马尔可夫策略的总数是有限的(\(|A|^{|S|}\)),策略迭代保证在有限步内收敛到最优策略。

策略迭代是许多现代强化学习算法(如 Actor-Critic 框架)的理论原型。其中,“策略评估”对应“评论家”(Critic)评估策略价值,“策略改进”对应“执行者”(Actor)更新策略。


总结 🎓

本节课中我们一起学习了:

  1. 价值迭代的新视角:将价值迭代理解为求解一系列有限时域问题,并利用这个视角给出了一个直观的收敛性证明,无需依赖收缩映射理论。
  2. 近似值函数的策略化:证明了即使值函数估计存在误差,其贪心策略的性能损失也是可控的,这为实际算法的停止准则提供了依据。
  3. 策略迭代算法:介绍了另一种通过交替进行策略评估和改进来直接优化策略的算法框架,并指出了其与后续高级算法的联系。

这两种算法——价值迭代和策略迭代——构成了解决马尔可夫决策过程规划问题的基础。在接下来的课程中,我们将深入探讨策略迭代的性质及其与价值迭代的联系。

008:策略迭代

在本节课中,我们将学习策略迭代算法,并深入探讨其核心性质——单调策略改进。我们还将证明一个非常重要的引理——性能差异引理,并利用它来理解策略迭代的收敛速度。

策略迭代算法回顾

上一节我们介绍了策略迭代算法。与价值迭代生成一系列价值函数不同,策略迭代生成一系列策略。

在策略迭代的每一步中,我们首先评估上一轮策略 π_k 的 Q 函数 Q_{π_k},然后根据这个 Q 函数采取贪心策略,从而得到一个新的策略 π_{k+1}

一个基本的验证是:如果我们已经到达了最优策略 π*,那么算法将永远停留在此处。因为当我们评估 π* 时,得到的就是最优 Q 函数 Q*,而对 Q* 取贪心策略得到的就是最优策略 π*

单调策略改进定理

策略迭代最重要的性质之一是单调策略改进。该性质指出:在迭代过程中,策略的性能永远不会变差。在达到最优策略 π* 之前,新策略在每一个起始状态下的性能都至少不比旧策略差,并且至少在某个起始状态下会严格更好。

我们将证明这个定理,这为策略迭代算法的合理性提供了依据。

性能差异引理

与证明其他基础算法定理的常用方法类似,我们首先引入一个非常有用的引理。这个引理不仅对当前的分析至关重要,在后续涉及函数逼近甚至策略梯度等更现代的算法中也非常有用。

这个引理被称为性能差异引理。它表述如下:对于任意两个策略 ππ‘,以及任意初始状态分布 d_0,定义策略 π 的性能 J(π) 为从 d_0 出发的期望回报:

J(π) = E_{s ~ d_0} [V_π(s)]

那么,两个策略的性能差异可以表示为:

J(π‘) - J(π) = 1/(1-γ) * E_{s ~ d_{π‘}} [A_π(s, π‘(s))]

以下是公式中各项的定义:

  • d_{π‘} 是策略 π‘ 下的折扣占用度分布。它表示从初始分布 d_0 出发,遵循策略 π‘ 时,各状态在折扣加权下的出现概率。其定义为:
    d_{π‘}(s) = (1-γ) * Σ_{t=0}^{∞} γ^t * Pr(s_t = s | s_0 ~ d_0, a_t ~ π‘)
  • A_π(s, a)优势函数,定义为:
    A_π(s, a) = Q_π(s, a) - V_π(s)
    它衡量了在状态 s 下采取特定动作 a 相对于遵循策略 π 的平均表现有多好。

利用引理证明单调改进

现在,我们利用性能差异引理来证明单调策略改进。

π 为旧策略 π_kπ‘ 为新策略 π_{k+1}。我们需要证明 J(π_{k+1}) ≥ J(π_k),即性能差异非负。

根据引理:
J(π_{k+1}) - J(π_k) = 1/(1-γ) * E_{s ~ d_{π_{k+1}}} [A_{π_k}(s, π_{k+1}(s))]

由于 1/(1-γ) > 0,我们只需证明对于所有状态 s,优势函数 A_{π_k}(s, π_{k+1}(s)) ≥ 0

根据优势函数的定义:
A_{π_k}(s, π_{k+1}(s)) = Q_{π_k}(s, π_{k+1}(s)) - V_{π_k}(s)

回顾策略迭代算法:π_{k+1} 是根据 Q_{π_k} 采取的贪心策略。因此,对于任意状态 sπ_{k+1}(s) 是使得 Q_{π_k}(s, a) 最大化的动作。

同时,V_{π_k}(s) 可以理解为当第一个动作也遵循 π_k 时的 Q 值,即 V_{π_k}(s) = Q_{π_k}(s, π_k(s))

因此:
A_{π_k}(s, π_{k+1}(s)) = max_a Q_{π_k}(s, a) - Q_{π_k}(s, π_k(s)) ≥ 0
这便证明了性能差异非负,从而完成了单调策略改进的证明。

性能差异引理的证明

性能差异引理的证明非常巧妙,它通过构造一系列中间策略来“桥接”两个目标策略。

我们考虑从初始分布 d_0 出发的轨迹。用黑色箭头表示遵循策略 π 的动作,红色箭头表示遵循策略 π‘ 的动作。那么,全部是黑色箭头的轨迹分布对应策略 π,全部是红色箭头的对应策略 π‘

我们构造一系列中间策略 π_i,其中 i=0,1,2,...

  • π_0: 所有动作都遵循 π(全黑)。
  • π_1: 第一步动作遵循 π‘(红),之后所有动作遵循 π(黑)。
  • π_2: 前两步动作遵循 π‘(红),之后所有动作遵循 π(黑)。
  • ……
  • π_∞: 所有动作都遵循 π‘(全红)。

这样,J(π‘) - J(π) = J(π_∞) - J(π_0) 就可以分解为相邻中间策略性能差的无穷和:
J(π_∞) - J(π_0) = Σ_{i=0}^{∞} [J(π_{i+1}) - J(π_i)]

现在,考察其中一项 J(π_{i+1}) - J(π_i)。这两个策略仅在时间步 i+1(从0开始计数)采取的动作不同:π_i 在这一步采取 π(黑),而 π_{i+1} 在这一步采取 π‘(红)。在此之前和之后的所有动作,两者完全相同。

由于前 i 步动作完全相同,两者在时间步 i+1 到达的状态分布也相同,记为 d_i。从这个时间点开始,两者后续都遵循策略 π(黑),但第一步动作不同。因此,从时间步 i+1 开始的期望回报差异,正好是优势函数 A_π(s, π‘(s)) 在状态 s 下的值。同时,我们需要考虑前 i 步累积的折扣因子 γ^i,以及状态 s 的分布 d_i

综合所有时间步 i,并对状态分布 d_i 进行加权求和(其本质就是折扣占用度分布 d_{π‘}),再乘以归一化因子 1/(1-γ),就得到了性能差异引理的表达式。

这个证明的关键洞见在于:长期的回报差异可以精确地分解为每个时间步上,由单步动作差异引起的瞬时优势的折扣加权和。引理中,折扣占用度 d_{π‘} 对应“红色箭头”部分决定的状态分布,而优势函数 A_π 中的下标 π 对应“黑色箭头”部分决定的长期评估。

策略迭代的收敛速度

单调改进性质告诉我们,策略迭代在有限状态和动作的MDP中最终会收敛到最优策略。然而,最坏情况下可能需要遍历所有确定性策略,数量是 |A|^{|S|},这是一个巨大的数字,因此这个保证在实践中意义不大。

一个更深刻且较少人知的结果是:策略迭代的价值函数也以几何速率收敛。具体来说,存在以下定理:

||Q* - Q_{π_{k+1}}||_∞ ≤ γ * ||Q* - Q_{π_k}||_∞

这意味着 ||Q* - Q_{π_k}||_∞ ≤ γ^k * ||Q* - Q_{π_0}||_∞,收敛速度与价值迭代相同。

这个定理的证明依赖于贝尔曼算子的性质,虽然推导过程有些繁琐,但它纠正了一个常见的误解:即认为价值迭代(快速收敛到近似最优)在实践中总是优于策略迭代(可能需极多轮迭代)。实际上,策略迭代在价值空间上也具有同样快的指数收敛速度。

总结

本节课我们一起深入学习了策略迭代算法。

  • 我们首先回顾了策略迭代的流程:策略评估与策略改进的交替进行。
  • 我们证明了其核心性质——单调策略改进,确保算法在迭代中性能不断提升。
  • 为了证明这一点,我们引入并证明了极其重要的性能差异引理。该引理将两个策略的长期性能差异,精确表达为单步优势函数在特定状态分布下的期望,是分析许多强化学习算法的基础工具。
  • 最后,我们指出了策略迭代算法同样具有几何级数的收敛速度,其价值函数会指数级地逼近最优价值函数。

性能差异引理的价值在于它是一个恒等式,而非基于无穷范数的宽松不等式。这使得它在处理大状态空间、函数逼近等复杂场景时,比传统的收缩性分析更为精确和有用。

009:策略迭代(视角2)🎯

在本节课中,我们将深入探讨策略迭代算法,并证明其核心性质——单调策略改进。我们将从一个重要的引理(性能差异引理)出发,理解其证明过程,并最终利用它来证明策略迭代的收敛性。

概述 📋

上一节我们介绍了策略迭代算法的基本框架。与值迭代生成一系列值函数不同,策略迭代生成一系列策略。在每次迭代中,我们评估当前策略的Q函数,然后基于该Q函数采取贪婪策略来生成新策略。本节课我们将证明,这个过程能保证策略性能单调提升,并最终以几何速率收敛到最优策略。

性能差异引理(PD Lemma)🔑

为了证明策略迭代的单调改进性质,我们首先需要引入并证明一个非常强大且通用的引理——性能差异引理。这个引理不仅对当前的分析至关重要,在后续涉及函数逼近和策略梯度等更现代的强化学习内容中也会反复用到。

性能差异引理描述了任意两个策略 ππ‘ 在性能上的差异。设初始状态分布为 d_0,策略 π 的性能 J(π) 定义为从 d_0 出发的期望回报:
J(π) = E_{s~d_0}[V^π(s)]

那么,两个策略的性能差异可以精确地表示为:
J(π‘) - J(π) = 1/(1-γ) * E_{s~d^{π‘}}[A^π(s, π‘(s))]

其中:

  • d^{π‘} 是策略 π‘ 下的折扣占用度分布。它表示从初始分布 d_0 出发,遵循策略 π‘ 时,各状态经过折扣加权后的访问频率。其定义为:
    d^{π‘}(s) = (1-γ) * Σ_{t=0}^{∞} γ^t * Pr(s_t = s | s_0 ~ d_0, a_t ~ π‘)
  • A^π(s, a) 是优势函数,定义为在状态 s 采取动作 a 相对于遵循策略 π 的“优势”:
    A^π(s, a) = Q^π(s, a) - V^π(s)
  • A^π(s, π‘(s)) 则表示在状态 s 下,遵循策略 π‘ 所选择的动作对应的优势值。

引理的证明思路 🧠

证明的核心思想是构造一系列中间策略,在原始策略 π 和目标策略 π‘ 之间架起桥梁。

我们定义策略序列 {π_i},其中 π_i 表示在前 i 个时间步遵循策略 π‘(红色动作),之后的所有时间步都遵循策略 π(黑色动作)。这样,π_0 就是 π(全黑),而 π_∞ 就是 π‘(全红)。

性能差异可以分解为这些相邻中间策略性能差异的无穷和:
J(π‘) - J(π) = Σ_{i=0}^{∞} [J(π_{i+1}) - J(π_i)]

现在,我们考察任意一对相邻策略 π_iπ_{i+1} 的性能差异。关键观察在于:

  1. 在前 i 个时间步,两个策略都遵循 π‘,因此产生的状态分布和累积折扣奖励完全相同,相互抵消。
  2. 在第 i+1 个时间步,π_i 采取 π 的动作(黑),而 π_{i+1} 采取 π‘ 的动作(红)。这是第一个产生差异的时间步。
  3. 从第 i+2 个时间步开始,两个策略又都恢复为遵循 π(黑)。但由于第 i+1 步的动作不同,导致从第 i+2 步开始的状态分布不同,因此后续的期望回报也不同。

然而,从第 i+2 步开始,两个策略都遵循相同的策略 π。因此,从第 i+1 步状态 s 开始的长期回报差异,恰好可以用优势函数来表达:
[未来回报差异 | s_{i+1}=s] = Q^π(s, π‘(s)) - V^π(s) = A^π(s, π‘(s))

此外,由于前 i 步两个策略行为一致,所以到达第 i+1 步状态 s 的概率分布,等同于完全遵循策略 π‘ 时到达该状态的概率分布,即 Pr^{π‘}(s_{i+1}=s)

考虑到从初始时刻到第 i+1 步的折扣因子 γ^i,以及对所有可能状态 s 和所有时间步 i 求和,并利用折扣占用度 d^{π‘} 的定义进行化简,最终即可得到性能差异引理的表达式。

这个证明的可视化图表(红黑动作图)是理解和记忆该引理的关键。它清晰地展示了哪个策略(π‘)决定了状态分布(“滚入”分布),哪个策略(π)决定了长期价值评估(“滚出”价值)。

单调策略改进定理的证明 ✅

现在,我们利用性能差异引理来证明策略迭代的单调改进性质。

设策略迭代生成的策略序列为 π_0, π_1, π_2, ...。我们希望证明对于任意状态 s,有 V^{π_{k+1}}(s) ≥ V^{π_k}(s),并且只要 π_k 不是最优策略,至少在一个状态上严格不等式成立。

根据性能差异引理,对于任意初始状态分布 d_0(特别地,我们可以取为集中在某个状态 s 的分布),有:
J(π_{k+1}) - J(π_k) = 1/(1-γ) * E_{s~d^{π_{k+1}}}[A^{π_k}(s, π_{k+1}(s))]

由于 1/(1-γ) > 0,我们只需证明右边的期望值非负。根据优势函数的定义:
A^{π_k}(s, π_{k+1}(s)) = Q^{π_k}(s, π_{k+1}(s)) - V^{π_k}(s)

回顾策略迭代的步骤:π_{k+1} 正是关于 Q^{π_k} 的贪婪策略,即:
π_{k+1}(s) = argmax_a Q^{π_k}(s, a)

因此,Q^{π_k}(s, π_{k+1}(s))Q^{π_k}(s, ·) 的最大值。另一方面,V^{π_k}(s) 可以写成 Q^{π_k}(s, π_k(s)),即遵循策略 π_k 本身所选动作对应的Q值。由于 π_{k+1} 选取的是最大Q值对应的动作,显然有:
Q^{π_k}(s, π_{k+1}(s)) ≥ Q^{π_k}(s, π_k(s)) = V^{π_k}(s)

因此,A^{π_k}(s, π_{k+1}(s)) ≥ 0 对所有状态 s 成立。代入性能差异公式,即得 J(π_{k+1}) ≥ J(π_k),从而证明了策略性能单调不降。如果 π_k 不是最优的,则至少存在一个状态 s 使得上述不等式严格成立,从而整体性能严格提升。

策略迭代的收敛速率 ⚡

单调改进性质保证了策略迭代不会循环,在有限状态和动作的MDP中,它最终会收敛到最优策略 π*。然而,仅凭这一点,最坏情况下的迭代次数可能高达 |A|^{|S|}(所有确定性策略的数量),这在实践中是不可接受的。

幸运的是,策略迭代实际上具有更快的几何收敛速率。我们可以证明以下定理:
||Q* - Q^{π_{k+1}}||_∞ ≤ γ * ||Q* - Q^{π_k}||_∞

这意味着策略序列对应的Q函数值以因子 γ 指数收敛到最优Q函数。由此可以立即推出,经过 k 次迭代后,有 ||Q* - Q^{π_k}||_∞ ≤ γ^k * ||Q* - Q^{π_0}||_∞

收敛性证明概要

证明依赖于贝尔曼算子的性质和一些巧妙的运算。核心步骤是建立两个不等式事实:

  1. 事实一:对于任意策略 π,有 T^{π_{k+1}} Q^{π_k} ≥ T^{π} Q^{π_k}

    • 这是因为 π_{k+1} 是关于 Q^{π_k} 的贪婪策略,而 T^{π} Q^{π_k}(s) 的值依赖于 Q^{π_k}(s‘, π(s‘))。贪婪策略 π_{k+1} 在每个后续状态 s‘ 都选择了最大化 Q^{π_k}(s‘, ·) 的动作,因此其值最大。
  2. 事实二T^{π_{k+1}} Q^{π_k} ≤ Q^{π_{k+1}}

    • 左边可以解释为:从状态 s 出发,第一步采取某个动作 a,第二步开始遵循 π_{k+1},但评估时使用 Q^{π_k}(即从第三步开始假设遵循 π_k)。右边 Q^{π_{k+1}} 则是从第二步开始都遵循 π_{k+1}。根据单调策略改进定理,π_{k+1} 不差于 π_k,因此在相同状态分布下,右边的期望回报不低于左边。

利用这两个事实和贝尔曼最优算子 T 的收缩性质,我们可以进行如下推导:

Q* - Q^{π_{k+1}} = T Q* - Q^{π_{k+1}}                (因为 Q* 是 T 的不动点)
                ≤ T Q* - T^{π_{k+1}} Q^{π_k}        (根据事实二)
                ≤ T Q* - T^{π*} Q^{π_k}             (根据事实一,令 π = π*)
                = T Q* - T Q^{π_k}                  (注意:T Q^{π_k} = max_π T^{π} Q^{π_k},当 π 取贪婪策略时等于 T^{π*} Q^{π_k})
                ≤ γ ||Q* - Q^{π_k}||_∞              (根据贝尔曼最优算子 T 的收缩性)

对两边取无穷范数,即得定理结论。这个证明虽然运算上有些技巧性,但它揭示了策略迭代高效收敛的理论基础。

总结 🎓

本节课我们一起深入学习了策略迭代算法。

  • 我们首先引入了性能差异引理(PD Lemma),它精确地将任意两个策略的性能差异,表达为目标策略下的状态分布与旧策略下的优势函数的期望乘积。其证明通过构造中间策略序列,提供了清晰的可视化理解。
  • 利用该引理,我们证明了策略迭代的单调策略改进性质:每次迭代得到的新策略,其性能都不差于旧策略,且除非已达到最优,否则至少在一个状态上严格改进。
  • 最后,我们探讨了策略迭代的收敛速率,证明了其Q函数值以几何速率(因子γ)收敛到最优Q函数,这比单纯基于策略空间有限性得出的结论要强得多,奠定了策略迭代算法高效性的理论基础。

性能差异引理是强化学习中的一个核心工具,其思想将在后续关于值函数近似、策略梯度等高级主题中反复出现。理解并掌握它,对于深入理解强化学习算法至关重要。

010:线性规划

在本节课中,我们将学习如何将马尔可夫决策过程(MDP)的求解问题转化为一个线性规划(LP)问题。这是一种在状态空间和动作空间较小时,计算最优策略和最优值函数的基础方法。我们将首先介绍线性规划的基本概念,然后展示如何将MDP问题表述为线性规划,并解释其背后的原理。

线性规划简介

线性规划是一种优化方法,其目标是最大化或最小化一个线性目标函数,同时满足一组线性等式或不等式约束。其标准形式可以表示为:

决策变量x ∈ ℝⁿ
目标:最小化 cᵀx(或最大化)
约束Ax ≤ bDx = ex ≥ 0

其中,cbe是已知向量,AD是已知矩阵。可行解空间是由这些线性约束定义的凸多面体。线性规划有成熟的算法(如单纯形法、内点法)可以在多项式时间内求解。

上一节我们介绍了求解MDP的迭代方法,本节中我们来看看如何将其转化为一个线性规划问题。

MDP的线性规划(原始形式)

我们的目标是找到最优值函数 V*。我们可以通过求解以下线性规划问题来得到它:

决策变量V ∈ ℝˢ,其中 S 是状态数量。
目标:最小化 d₀ᵀV
约束V ≥ T V, 其中 T 是最优贝尔曼算子。

这里,d₀ 是一个在所有状态上都为正的向量(例如,均匀分布)。T V 的定义是:对于每个状态 s(T V)(s) = maxₐ [ R(s, a) + γ Σ_{s'} P(s'|s, a) V(s') ]

这个形式看起来有些反直觉:我们是在最小化值函数,而不是最大化。此外,约束 V ≥ T V 包含 max 操作,是非线性的。我们需要解决这两个疑问。

为何这是线性规划?

约束 V ≥ T V 是非线性的,因为它包含了 max 算子。为了将其线性化,我们将每个状态 s 的单个约束展开为针对每个动作 a 的多个约束:

对于每个状态 s 和每个动作 a
V(s) ≥ R(s, a) + γ Σ_{s'} P(s'|s, a) V(s')

解释:如果 V(s) 大于等于每个动作 a 对应的右侧值,那么它自然就大于等于这些值中的最大值。经过这样展开后,所有约束都变成了 V 的线性函数(因为期望是 V 的线性组合)。此时,我们拥有 S 个决策变量和 S × A 个线性约束,构成了一个标准的线性规划。

为何最优解是 V*?

我们需要证明,上述线性规划的最优解确实是 V*。关键在于以下性质:

引理(单调性):贝尔曼算子 T 是单调的。即,如果 V ≥ V‘(逐点成立),那么 T V ≥ T V‘

现在,考虑任何满足约束 V ≥ T V 的可行解 V

  1. 根据单调性,对不等式两边应用算子 T,得到 T V ≥ T² V
  2. 结合原始约束 V ≥ T V,我们得到 V ≥ T² V
  3. 重复此过程,对于任意 n,有 V ≥ Tⁿ V
  4. n → ∞ 时,Tⁿ V 收敛于 V*(这是值迭代的收敛结果)。由于不等式在极限下仍然保持,我们得到 V ≥ V*

这意味着,所有可行解 V 都逐点大于或等于 V*。同时,V* 本身满足 V* = T V*,因此它也是一个可行解( 关系成立)。我们的目标函数是 d₀ᵀV,由于 d₀ > 0,为了最小化这个目标,我们会被“推动”去寻找尽可能小的 V。而在所有大于等于 V* 的可行解中,最小的那个正是 V* 本身。因此,线性规划的最优解就是 V*

对偶形式及其解释

在优化理论中,每个线性规划(原始形式)都有一个对应的对偶线性规划。通过对上述原始形式进行标准的对偶变换,我们可以得到 MDP 的对偶线性规划:

决策变量D(s, a) ≥ 0, 可以理解为状态-动作对的折扣占用度量。
目标:最大化 Σ_{s,a} D(s, a) * R(s, a)
约束:对于每个状态 sΣ_a D(s, a) = γ Σ_{s‘, a’} P(s|s‘, a’) D(s‘, a’) + (1-γ) d₀(s)

这个对偶形式有非常直观的解释:

  • 决策变量 D:表示在遵循某个策略时,各状态-动作对的折扣频率(占用度量)。
  • 目标函数D 与奖励函数 R 的点积,正是该策略下的期望折扣总回报。
  • 约束条件:被称为贝尔曼流方程。它确保了 D 确实是一个有效的折扣占用度量。方程左边 Σ_a D(s, a) 是状态 s 的折扣访问频率。右边第一项 γ Σ_{s‘, a’} P(s|s‘, a’) D(s‘, a’) 表示从所有前一状态 s‘ 通过动作 a’ 转移到 s 的频率。右边第二项 (1-γ) d₀(s) 是初始分布。

因此,对偶规划是在所有可能的(由某个策略产生的)折扣占用度量 D 中,寻找能使期望回报最大化的那个。最优解 D* 对应于最优策略 π* 的占用度量。

从对偶解恢复最优策略

一旦我们求解对偶线性规划得到最优的 D*(s, a),如何得到最优策略 π* 呢?由于 D*(s, a) 是在最优策略下状态-动作对的联合分布,最优策略就是该联合分布的条件分布:

π*(a|s) = D*(s, a) / Σ_{a’} D*(s, a‘)

这给出了一个确定性的或随机性的最优策略。

浓度不等式简介

从本节开始,我们将进入MDP的学习部分。在学习理论中,我们需要分析估计量的收敛性和误差界,这依赖于一个核心工具:浓度不等式。

为何需要浓度不等式?

在统计学中,大数定律和中心极限定理描述了样本均值收敛于真实均值。然而:

  • 大数定律是渐近的(n → ∞)。
  • 中心极限定理为有限样本提供的置信区间是基于正态近似的,并非严格精确。

在理论分析中,我们需要有限样本下严格成立的误差界。浓度不等式正是为此而生。

霍夫丁不等式

霍夫丁不等式是最常用的浓度不等式之一。设 X₁, ..., Xₙn独立的随机变量(不一定同分布),且每个 X_i 几乎必然落在区间 [a, b] 内。令 Sₙ = Σ_{i=1}^n X_i,则对于任意 t > 0,有:

P( |Sₙ/n - E[Sₙ]/n| ≥ t ) ≤ 2 exp( -2n t² / (b-a)² )

这个不等式说明,样本均值偏离其期望超过 t 的概率,随着样本量 nt 的增大而呈指数级衰减。

更常用的形式是将其表述为高概率陈述:
以至少 1 - δ 的概率,有:
|Sₙ/n - E[Sₙ]/n| ≤ (b-a) * sqrt( log(2/δ) / (2n) )

我们通过令 δ = 2 exp( -2n t² / (b-a)² ) 并反解出 t 来得到这个形式。

与并界的结合使用

在实际分析中,我们经常需要多个“好事件”同时发生。每个好事件由浓度不等式以高概率保证。为了分析所有好事件同时成立的概率,我们使用并界

并界指出,对于任意事件集合 A₁, A₂, ..., A_k,有:
P( A₁ ∪ A₂ ∪ ... ∪ A_k ) ≤ P(A₁) + P(A₂) + ... + P(A_k)

典型工作流程

  1. 定义我们需要的多个“好事件”。
  2. 对每个好事件,使用浓度不等式证明其对立面(“坏事件”)发生的概率很小,设为 δ_i
  3. 应用并界,所有坏事件中至少发生一个的概率至多为 Σ_i δ_i
  4. 因此,所有好事件同时发生的概率至少为 1 - Σ_i δ_i。通过设置 δ_i,我们可以控制总的失败概率。

在后续关于赌博机和多臂赌博机的学习中,我们将具体应用霍夫丁不等式和并界来分析算法的性能。


本节课中我们一起学习了:

  1. MDP的线性规划求解:将寻找最优值函数的问题转化为一个线性规划,包括其反直觉的原始形式(最小化值函数)和富有解释性的对偶形式(最大化占用度量的回报)。
  2. 浓度不等式基础:介绍了霍夫丁不等式,它提供了样本均值与真实均值之间误差的有限样本、非渐近的概率上界,这是后续分析学习算法理论保证的基石。
  3. 并界的使用:说明了如何将多个高概率事件结合起来,以支持复杂算法的整体性能分析。

这些工具为我们进入统计强化学习的学习部分奠定了坚实的理论基础。

011:线性规划(视角2)📊

在本节课中,我们将学习如何将马尔可夫决策过程(MDP)的求解问题转化为一个线性规划问题。这是一种计算上求解MDP的基础算法,虽然在实际应用中不如值迭代或策略迭代常见,但其对偶形式提供了深刻的洞见,并为一些现代算法提供了灵感。

线性规划简介

线性规划是一种优化方法,其目标是最大化或最小化一个线性目标函数,同时满足一组线性等式或不等式约束。其标准形式可以表示为:

最小化c^T x
约束条件A x ≤ bD x = e

其中,x 是决策变量向量,cbe 是已知向量,AD 是已知矩阵。可行解空间是由这些线性约束定义的凸多面体。线性规划是一个研究非常成熟的领域,存在多种多项式时间求解算法。

MDP的线性规划(原始形式)

我们的目标是将求解最优值函数 V* 的问题写成一个线性规划。其原始形式如下:

最小化d_0^T V
约束条件V ≥ T V

这里:

  • V 是我们的决策变量,是一个 |S| 维向量,代表状态值函数。
  • d_0 是一个在所有状态上严格为正的向量(例如,均匀分布),它提供了将 V 压缩为一个标量目标的权重。
  • T 是贝尔曼最优算子。

这个形式看起来有些反直觉:我们通常希望最大化长期回报,但这里却在最小化 V。此外,约束 V ≥ T V 是非线性的,因为它包含了 max 操作。

将约束线性化

为了解决非线性问题,我们将每个状态 s 的约束 V(s) ≥ max_a [ R(s,a) + γ Σ_{s'} P(s'|s,a) V(s') ] 展开。这等价于为每个状态 s 和每个动作 a 都写一个约束:

V(s) ≥ R(s,a) + γ Σ_{s'} P(s'|s,a) V(s'), 对所有 s, a 成立。

现在,约束的右边是 V 的线性函数(因为期望是 V 与转移概率向量的点积加上常数奖励)。这样我们就得到了一个真正的线性规划:有 |S| 个决策变量和 |S| * |A| 个线性约束。

为什么最优解是 V*?

我们需要证明,上述线性规划的最优解确实是 V*。关键在于以下单调性引理和约束条件。

引理(单调性):对于任意两个值函数向量 VV',如果 V ≥ V'(逐点大于等于),那么 T V ≥ T V'

证明T 算子由取 max、加常数奖励和与转移概率的线性期望组成,所有这些操作都保持顺序。

现在,对于任何满足约束 V ≥ T V 的可行解 V,我们可以应用单调性引理:

  1. V ≥ T V,应用 T 算子得到 T V ≥ T(T V)
  2. 结合 V ≥ T V,得到 V ≥ T^2 V
  3. 重复此过程,对于任意 n,有 V ≥ T^n V

n → ∞ 时,根据值迭代的收敛性,T^n V 收敛到 V*。由于不等式在极限下仍然成立,我们得到 V ≥ V*。这意味着所有可行解都逐点大于等于 V*。同时,V* 本身满足 V* = T V*,因此它也是一个可行解(取等号)。由于目标函数 d_0^T V 是求最小化(且 d_0 > 0),它会将 V 向下推,直到达到可行域的下界 V*。因此,最优解就是 V*

对偶形式及其解释

上一节我们介绍了求解MDP的原始线性规划形式。本节中,我们来看看它的对偶形式,这能提供更直观的理解。

每个线性规划都有一个对应的对偶规划。通过对原始形式应用标准的对偶变换,我们得到以下对偶线性规划:

最大化d^T r
约束条件Σ_a d(s,a) = (1-γ) d_0(s) + γ Σ_{s',a'} P(s|s',a') d(s',a'), 对所有 s 成立。
d(s,a) ≥ 0

这里:

  • d 是决策变量,是一个 |S| * |A| 维向量。
  • r 是将奖励函数 R(s,a) 向量化后的已知向量。

对偶变量的解释

d(s,a) 可以被解释为折扣状态-动作占用度量。具体来说,如果 d 是由某个策略 π 和初始状态分布 d_0 生成的折扣占用度量 d^π,那么:

  • d^T r 恰好是该策略 π 下的期望折扣总回报。
  • 约束条件被称为 贝尔曼流方程。它描述了占用度量的时间一致性:在状态 s 的占用(左边)必须等于从初始分布直接到达 s 的部分 (1-γ)d_0(s),加上从所有其他状态-动作对 (s',a') 转移过来的部分 γ Σ_{s',a'} P(s|s',a') d(s',a')

因此,这个对偶规划是在所有可能的(由任何策略产生的)折扣占用度量 d 中,寻找能使回报 d^T r 最大化的那个。而最优解 d* 就是最优策略 π* 下的占用度量 d^{π*}

从对偶解恢复最优策略

一旦我们求解对偶规划得到最优的 d*(s,a),如何得到最优策略 π* 呢?由于 d*(s,a) 代表了在最优策略下,访问状态 s 并采取动作 a 的折扣频率,最优策略可以通过简单的条件概率得到:

π*(a|s) = d*(s,a) / Σ_{a'} d*(s, a')

这给出了在状态 s 选择动作 a 的概率。

学习理论工具:集中不等式

在结束规划部分并开始学习部分之前,我们需要一个关键的理论工具来分析有限样本下的算法性能:集中不等式。

从渐近到有限样本

在统计学中,我们知道独立同分布随机变量的样本均值会收敛到真实均值(大数定律)。中心极限定理进一步描述了收敛的分布形状。然而,这些都是渐近结论。在强化学习的理论分析中,我们需要非渐近的、适用于有限样本的严格保证

霍夫丁不等式提供了这样的保证。设 X_1, ..., X_n 是独立的随机变量(不一定同分布),且对于每个 i,几乎必然有 a ≤ X_i ≤ b。令 S_n = Σ_{i=1}^n X_i 为其和。那么,对于任意 t > 0,有:

P( |S_n/n - E[S_n]/n| ≥ t ) ≤ 2 exp( -2n t^2 / (b-a)^2 )

高概率陈述

我们更常用的形式是所谓的“高概率”陈述。通过设定上述不等式右边等于 δ 并解出 t,我们可以说:

以至少 1 - δ 的概率,有 |S_n/n - E[S_n]/n| ≤ (b-a) * sqrt( log(2/δ) / (2n) )

这意味着,只要样本量 n 足够大,经验均值以极大的可能性接近真实均值。δ 被称为失败概率。

结合联盟界

在实际分析中,我们经常需要多个“好事件”同时发生。每个好事件可以由一个集中不等式以高概率保证。为了确保它们全部发生,我们使用联盟界

对于任意事件 AB,有 P(A ∪ B) ≤ P(A) + P(B)

应用方法是:

  1. 定义我们关心的多个好事件 G_1, G_2, ...
  2. 它们的补集(坏事件)B_1, B_2, ... 的概率可以由集中不等式分别界定为很小的 δ_1, δ_2, ...`。
  3. 那么,任何坏事件发生的概率 P(∪_i B_i) ≤ Σ_i δ_i
  4. 因此,所有好事件同时发生的概率至少为 1 - Σ_i δ_i

通过精心设置每个 δ_i(例如,令所有 δ_i = δ / k,其中 k 是好事件的数量),我们可以确保整体失败概率不超过 δ。这是后续分析学习算法样本复杂度的基础技术。


本节课中我们一起学习了:

  1. MDP的线性规划求解法:通过将贝尔曼最优不等式展开,可以将求解 V* 的问题转化为一个线性规划(原始形式)。
  2. 对偶形式的深刻洞见:对偶规划直接优化折扣状态-动作占用度量 d,其约束是贝尔曼流方程,最优解 d* 对应最优策略的占用,并可从中恢复出最优策略。
  3. 集中不等式基础:霍夫丁不等式为有限样本下的统计学习提供了非渐近的理论保证,结合联盟界,它是分析强化学习算法理论性能的基石工具。

至此,我们完成了MDP“规划”部分的内容。从下一次课开始,我们将正式进入“学习”部分,在未知环境模型的情况下探索最优策略。

012:集中不等式应用

在本节课中,我们将学习如何将集中不等式应用于两个核心场景:多臂老丨虎丨机和监督学习。我们将看到,通过结合集中不等式和并集界,可以推导出关于算法性能的理论保证。

多臂老丨虎丨机分析

上一节我们介绍了霍夫丁不等式,本节中我们来看看如何将其应用于多臂老丨虎丨机问题。多臂老丨虎丨机可以被视为一种简化的强化学习问题,其中每个“回合”只包含一个动作。

问题设定

我们面对 K 个不同的动作(或“臂”)。每个动作 i 对应一个奖励分布 R_i,其期望奖励为 μ_i = E[r ∼ R_i]。最优动作索引为 I* = argmax_i μ_i,其对应的最优奖励为 μ* = max_i μ_i。

学习设定中,我们不知道真实的 μ_i。我们只能通过“拉动”臂来收集数据。我们考虑一个简单的算法:为每个动作 i 收集 n 个独立同分布的奖励样本,然后计算经验均值作为估计值:

μ̂_i = (1/n) Σ_{j=1}^n r_{i,j}

最后,算法推荐经验估计值最高的动作:Î = argmax_i μ̂_i

我们的目标是分析最终推荐动作 Î 的质量,即评估其与最优奖励的差距:μ* - μ_Î

分析步骤

分析分为两步:首先建立所有动作估计值都准确的保证,然后将此保证转化为最终决策的损失。

步骤一:建立估计误差界

我们希望以高概率保证,对于所有动作 i,其估计误差都很小。这需要将霍夫丁不等式与并集界结合使用。

以下是推导的关键点:

  1. 对于单个固定的动作 i,霍夫丁不等式给出:
    P(|μ̂_i - μ_i| ≥ ε) ≤ 2 exp(-2nε²)
  2. 我们希望保证所有 K 个动作同时准确。其对立事件是“至少存在一个动作的估计不准确”。
  3. 应用并集界:
    P(∃ i s.t. |μ̂_i - μ_i| ≥ ε) ≤ Σ_{i=1}^K P(|μ̂_i - μ_i| ≥ ε) ≤ K * 2 exp(-2nε²)
  4. 我们希望这个失败概率小于 δ。因此,我们令 K * 2 exp(-2nε²) = δ
  5. 解出 ε,我们得到:ε = √( (1/(2n)) log(2K/δ) )

因此,我们得到以下高概率保证:以至少 1 - δ 的概率,对于所有动作 i,有 |μ_i - μ̂_i| ≤ √( (1/(2n)) log(2K/δ) )

步骤二:将估计误差转化为决策损失

现在,我们利用上述保证来界定最终决策的损失 μ* - μ_Î。

我们进行如下推导:
μ* - μ_Î = (μ* - μ̂_I) + (μ̂_I - μ̂_Î) + (μ̂_Î - μ_Î)
由于 Î 是 μ̂_i 的极大值点,有 μ̂_Î ≥ μ̂_I。因此,中间项 (μ̂_I - μ̂_Î) ≤ 0。
所以,μ* - μ_Î ≤ (μ* - μ̂_I) + (μ̂_Î - μ_Î)
根据步骤一的保证,这两项各自都以高概率小于 ε。
因此,最终得到:**μ
- μ_Î ≤ 2ε = 2√( (1/(2n)) log(2K/δ) )**。

直观理解:算法之所以会选择次优动作 Î,是因为高估了 μ_Î 或低估了 μ_I*。在最坏情况下,这两个误差都达到最大值 ε,导致决策损失最大为 2ε。

监督学习泛化分析

接下来,我们看看集中不等式如何用于分析监督学习的泛化误差。这将在我们后续处理函数逼近时非常有用。

问题设定

我们有一个输入空间 X 和输出空间 {0, 1}。假设空间 H 是所有可能映射 h: X → {0, 1} 的一个子集。数据由某个联合分布 P(X,Y) 独立同分布地生成:{ (x_i, y_i) }_{i=1}^n。

对于一个假设 h,定义其真实错误率为:L(h) = E_{(x,y)∼P} [1{h(x) ≠ y}]
假设空间中最好的假设为:h* = argmin_{h∈H} L(h)

我们通过经验风险最小化来选择假设:首先计算经验错误率 L̂(h) = (1/n) Σ_{i=1}^n 1{h(x_i) ≠ y_i},然后选择 ĥ = argmin_{h∈H} L̂(h)

我们的目标是界定泛化误差L(ĥ) - L(h*)

分析步骤

分析思路与老丨虎丨机问题类似:首先保证所有假设的经验错误率都接近其真实错误率,然后利用 ĥ 是最小化经验错误率这一事实。

步骤一:建立一致收敛界

我们首先需要以高概率保证,对于 H 中的所有假设 h,其经验错误率 L̂(h) 都接近真实错误率 L(h)。

以下是推导的关键点:

  1. 对于单个固定的假设 h,指示函数 1{h(x_i) ≠ y_i} 是 [0,1] 内的有界随机变量。应用霍夫丁不等式:
    P(|L̂(h) - L(h)| ≥ ε) ≤ 2 exp(-2nε²)
  2. 现在,我们希望保证整个有限假设空间 H 中的所有假设都满足此性质。我们假设 |H| 是有限的。
  3. 应用并集界来处理所有 |H| 个假设:
    P(∃ h∈H s.t. |L̂(h) - L(h)| ≥ ε) ≤ |H| * 2 exp(-2nε²)
  4. 令此失败概率小于 δ,即 |H| * 2 exp(-2nε²) = δ。
  5. 解出 ε,得到:ε = √( (1/(2n)) log(2|H|/δ) )

因此,以至少 1 - δ 的概率,对于所有 h ∈ H,有 |L(h) - L̂(h)| ≤ √( (1/(2n)) log(2|H|/δ) )。这个性质称为一致收敛

步骤二:界定泛化误差

现在,我们来界定 L(ĥ) - L(h)。
L(ĥ) - L(h
) = [L(ĥ) - L̂(ĥ)] + [L̂(ĥ) - L̂(h)] + [L̂(h) - L(h)]
由于 ĥ 是经验风险最小化器,有 L̂(ĥ) ≤ L̂(h
),所以中间项 [L̂(ĥ) - L̂(h)] ≤ 0。
因此,L(ĥ) - L(h
) ≤ [L(ĥ) - L̂(ĥ)] + [L̂(h) - L(h)]。
根据步骤一的一致收敛界,这两项各自都以高概率小于 ε。
最终得到:L(ĥ) - L(h*) ≤ 2ε = 2√( (1/(2n)) log(2|H|/δ) )

关于假设空间大小的讨论:界限中的 √log(|H|) 项解释了过拟合现象。假设空间 |H| 越大,模型越复杂,这个泛化误差界就越松,意味着过拟合风险越大。在实践中,即使对于参数空间连续的模型(如神经网络),也可以通过离散化参数空间来应用这个分析,此时 |H| 与参数数量 D 呈指数关系,但由于取了对数,最终界限与 √D 相关,这与“所需数据量应与模型参数数量成正比”的直觉相符。

重要注意事项:随机样本量

在应用集中不等式时,一个关键的细节是样本量 n 必须是确定的常数。如果 n 本身是一个随机变量(例如,一个依赖于观测数据本身的停止时间),那么标准的霍夫丁不等式不能直接应用。

例子:假设我们不断抛硬币 (X_i ∼ Bernoulli(0.5)),并计算当前的经验均值 X̄_t。如果我们定义停止时间 T 为“首次观察到 X̄_t > 0.5 的时刻”,那么在这个随机时间 T 停止后,X̄_T 总是大于 0.5。这与固定时间 t 的 X̄_t 的对称分布完全不同。

解决方法:为了保证对于这类随机停止时间也有浓度界,我们可以使用并集界的技巧。考虑一个最大时间范围 N。我们可以对每一个可能的时间 t = 1, 2, ..., N 分别应用浓度不等式,然后取并集。这样我们就能得到一个置信序列,它保证以高概率,对于所有时间 t ≤ N,浓度界都成立。无论停止策略 T 如何(只要 T ≤ N),这个界都适用。

总结

本节课中我们一起学习了集中不等式的两个经典应用:

  1. 多臂老丨虎丨机:我们分析了均匀采样算法,通过结合霍夫丁不等式和并集界,推导了最终推荐动作的次优性界限,展示了如何从估计误差推导出决策损失
  2. 监督学习:我们分析了经验风险最小化算法,通过一致收敛论证,推导了泛化误差界,并解释了假设空间大小与过拟合现象的理论联系。
  3. 关键技巧:并集界是将针对单个对象的高概率陈述,转化为针对整个集合的高概率陈述的核心工具。
  4. 注意事项:应用浓度不等式时必须注意样本量是确定性的,对于随机样本量需要更仔细的处理,如构建置信序列。

这些分析构成了统计学习理论的基础,后续在处理更复杂的强化学习函数逼近问题时,我们将反复运用类似的推理模式。

013:表格分析 📊

在本节课中,我们将学习如何分析一个基础的强化学习算法。这个算法在已知的“表格”环境中运行,即状态和动作的数量是有限且较小的。我们将看到如何利用数据来估计马尔可夫决策过程(MDP)的模型,并分析由此产生的策略的性能。


概述

我们将考虑一个具有状态空间、动作空间、转移概率、奖励函数和折扣因子的通用MDP。我们假设处于“表格”设置中,即状态和动作的数量是有限且较小的,并且不使用任何函数近似来跨状态和动作进行泛化。对于每个状态-动作对,我们通过从中抽取奖励和下一个状态样本来独立学习相关信息。

数据收集协议如下:对于状态-动作空间中的每个对,我们从其转移概率中独立同分布地抽取N个下一个状态样本。如果奖励是随机的,我们也抽取N个奖励样本。这有时被称为“模拟器”或“生成模型”设置,它规避了探索的挑战,使我们能够专注于估计和误差传播的分析。

算法非常简单:

  1. 使用收集到的数据构建一个估计的MDP。
  2. 在这个估计的MDP中计算最优策略。

我们的目标是分析这个输出策略在真实MDP中的性能,并给出其样本复杂度的理论保证。


算法与估计

算法分为两步:模型估计和策略计算。

模型估计

给定数据后,我们构建估计的MDP。它拥有相同的状态和动作空间。我们只需要定义估计的奖励函数和转移概率。

以下是具体的估计方法:

  • 奖励估计:对于每个状态-动作对,我们计算观测到的奖励样本的平均值。公式为:

    R_hat(s, a) = (1/N) * Σ_{i=1 to N} R_i
    

    其中 R_i 是从真实奖励分布 R(s, a) 中抽取的第 i 个样本。

  • 转移概率估计:对于每个状态-动作对,我们计算下一个状态的经验频率。公式为:

    P_hat(s' | s, a) = (1/N) * Σ_{i=1 to N} I[S'_i = s']
    

    其中 I 是指示函数,S'_i 是从真实转移分布 P(· | s, a) 中抽取的第 i 个下一个状态样本。这产生了一个有效的概率分布向量。

策略计算

一旦我们有了估计的MDP,我们就将其视为一个已知的、表格型的MDP,并使用任何规划算法(如值迭代或策略迭代)来计算其最优策略。在本次分析中,我们主要关注样本复杂度,因此假设可以精确地完成此计算。


理论保证与分析框架

我们想要保证,以至少 1 - δ 的概率,输出策略在真实MDP中的价值与最优价值之间的差距很小。这个差距应随着样本数量 N 的增加而减小。

分析将分为三个部分:

  1. 浓度不等式分析:将模型估计的一步误差(奖励和转移)与样本数量 N 联系起来。
  2. 误差传播分析:分析这些一步误差如何影响长期价值函数的估计。这通过一个模拟引理来完成。
  3. 最终性能保证:结合前两部分,得出关于策略次优性的最终界限。

上一节我们介绍了算法和估计方法,本节中我们来看看分析的核心框架和工具。

模拟引理

模拟引理是误差传播分析的关键。它量化了在真实MDP和估计MDP中,同一策略的价值函数之间的差异。

首先,我们定义一步估计误差:

  • 奖励误差ε_R = max_{s,a} | R_hat(s, a) - R_bar(s, a) |,其中 R_bar 是真实奖励的期望。
  • 转移误差ε_P = max_{s,a} || P_hat(· | s, a) - P(· | s, a) ||_1,即两个概率分布之间的L1距离(或总变差距离)。

模拟引理指出,对于任何策略 π,其价值函数在真实MDP (V_M^π) 和估计MDP (V_Mhat^π) 中的差异满足:

|| V_M^π - V_Mhat^π ||_∞ ≤ ε_R + (γ * ε_P * V_max) / (1 - γ)

其中 V_max = R_max / (1 - γ) 是任何可能回报或价值函数的上界。

这个引理告诉我们,长期价值误差被一步奖励误差和(经过折扣和放大后的)一步转移误差所限制。


经典证明方法

现在,我们来展示模拟引理的一种经典证明。这种证明依赖于贝尔曼方程的展开和霍尔德不等式。

我们希望证明对于任意状态 s,有 |V_M^π(s) - V_Mhat^π(s)| ≤ ε_R + (γ ε_P V_max)/(1-γ)

证明步骤:

  1. 应用贝尔曼方程:分别写出在真实MDP和估计MDP中,策略 π 的贝尔曼方程。

    V_M^π(s) = R(s, π(s)) + γ * Σ_{s'} P(s' | s, π(s)) * V_M^π(s')
    V_Mhat^π(s) = R_hat(s, π(s)) + γ * Σ_{s'} P_hat(s' | s, π(s)) * V_Mhat^π(s')
    
  2. 作差并重组:将两个等式相减,并引入中间项以分离误差。

    V_M^π(s) - V_Mhat^π(s) = [R - R_hat] + γ * [ (P - P_hat) · V_Mhat^π ] + γ * [ P · (V_M^π - V_Mhat^π) ]
    

    这里我们引入了 P · V_Mhat^π 作为中间项。

  3. 边界各项

    • 第一项 [R - R_hat] 直接由 ε_R 界定。
    • 第二项 γ * [ (P - P_hat) · V_Mhat^π ] 利用霍尔德不等式。对于向量 uv,有 |u·v| ≤ ||u||_1 * ||v||_∞。这里 u = P - P_hat,其L1范数以 ε_P 为界;v = V_Mhat^π,其无穷范数以 V_max 为界。因此该项以 γ * ε_P * V_max 为界。
    • 第三项 γ * [ P · (V_M^π - V_Mhat^π) ] 是期望形式,可以放缩为 γ * ||V_M^π - V_Mhat^π||_∞
  4. 递归求解:将上述边界结合起来,我们得到:

    |V_M^π(s) - V_Mhat^π(s)| ≤ ε_R + γ ε_P V_max + γ * ||V_M^π - V_Mhat^π||_∞
    

    这个不等式对任意状态 s 成立,因此也对无穷范数本身成立:

    ||V_M^π - V_Mhat^π||_∞ ≤ ε_R + γ ε_P V_max + γ * ||V_M^π - V_Mhat^π||_∞
    
  5. 移项求解:将右边的无穷范数项移到左边:

    (1 - γ) * ||V_M^π - V_Mhat^π||_∞ ≤ ε_R + γ ε_P V_max
    

    最终得到:

    ||V_M^π - V_Mhat^π||_∞ ≤ (ε_R + γ ε_P V_max) / (1 - γ)
    

    这就完成了经典证明。

评注:这个证明清晰地展示了误差如何通过动态系统的多步性质进行传播。每一步的误差(ε_R, ε_P)被累积起来,并通过因子 1/(1-γ) 放大,这大致对应于有效规划范围。


现代证明方法

现代证明方法采用一个更一般化的引理,它能更精确地处理分布,并且通常更简洁,特别适用于后续扩展到函数近似设置。

核心思想是使用一个性能差引理的变体。考虑任意一个用于预测价值函数 V_M^π 的函数 F。我们可以将 F 在初始状态分布下的预测误差,与其在策略 π 诱导的折扣占用分布下的贝尔曼误差联系起来。

具体地,有如下引理:对于任意函数 F: S -> R

| E_{s~d0}[F(s)] - J(π) | ≤ (1/(1-γ)) * E_{(s,a)~d_π}[ | F(s) - (R(s,a) + γ E_{s'~P}[F(s')]) | ]

其中 J(π) 是策略 π 在真实MDP中的期望回报,d_π 是策略 π 的折扣状态-动作占用分布。

如何用此证明模拟引理:

  1. 应用引理:在模拟引理中,我们想比较 V_M^πV_Mhat^π。我们令函数 F = V_Mhat^π。那么 E_{s~d0}[F(s)] 就是在估计MDP中策略 π 的(近似)性能 J_Mhat(π)。注意,在模拟引理中,我们通常比较从特定状态 s0 开始的价值,这对应于 d0 是集中在 s0 的分布。
  2. 计算贝尔曼误差:引理右边的项是 F 的贝尔曼误差。我们将这个误差在真实MDP和估计MDP的贝尔曼算子下展开。
    F(s) - (R + γ E_{s'~P}[F(s')]) = [V_Mhat^π(s) - (R_hat + γ E_{s'~P_hat}[V_Mhat^π(s')])] + [(R_hat - R) + γ (E_{s'~P_hat}[V_Mhat^π(s')] - E_{s'~P}[V_Mhat^π(s')])]
    
  3. 简化与边界
    • 第一项 [...] 根据估计MDP的贝尔曼方程,实际上等于0(因为 V_Mhat^πT_Mhat^π 的不动点)。
    • 第二项 [...] 正是我们的一步模型误差:奖励误差 (R_hat - R) 和转移误差与价值函数的内积 γ (P_hat - P) · V_Mhat^π
  4. 得到边界:因此,贝尔曼误差的绝对值以 ε_R + γ ε_P V_max 为界。代入原引理,并注意到我们关注的是从单一状态 s0 开始的差异(即 d0 为点质量),我们最终得到与经典证明相同的边界:
    |V_M^π(s0) - V_Mhat^π(s0)| ≤ (ε_R + γ ε_P V_max) / (1 - γ)
    

现代证明的优势:这个证明将多步误差传播的分析封装在一个独立的、更强大的引理中。在后续分析中,我们只需专注于分析一步的贝尔曼误差(即模型估计误差),而长期的误差累积已经由该引理处理妥当。这种方法在分析更复杂的、涉及函数近似的算法时尤为有用。


总结

本节课中,我们一起学习了对一个基础表格型强化学习算法的分析。

  • 我们首先介绍了在模拟器设置下的数据收集和简单的基于模型的算法:用经验均值估计奖励和转移概率,然后在估计的模型上进行规划。
  • 我们建立了分析框架,将最终的性能保证分解为两步:一是利用浓度不等式分析一步模型估计误差 ε_Rε_P;二是通过模拟引理分析这些误差如何传播并影响长期价值函数。
  • 我们详细讲解了模拟引理的两种证明方法:
    • 经典证明:通过贝尔曼方程展开,直接处理递归关系,直观展示了误差如何被折扣因子放大。
    • 现代证明:借助一个更一般的性能差引理,将长期价值误差与一步贝尔曼误差联系起来,结构更清晰,易于扩展到更复杂的设置。

这个分析模板是强化学习理论中的代表性方法。理解误差如何从一步模型估计传播到长期策略性能,是分析更高级算法(包括处理探索和函数近似的算法)的基础。在接下来的课程中,我们将以此为基础,深入探讨样本复杂度如何依赖于状态空间大小等参数,并将概念扩展到函数近似领域。

014:表格分析(视角2) 📊

在本节课中,我们将学习强化学习理论中最基础且最具代表性的分析之一:表格设定下的模型估计与分析。我们将从一个简单的数据收集协议开始,分析一个基于最大似然估计(MLE)的算法,并最终给出其性能保证。我们将重点关注样本复杂度,即性能如何随数据量增加而提升。


数据收集协议 📥

上一节我们介绍了集中不等式,它们是分析的核心工具。本节中,我们来看看如何将这些工具应用于一个具体的强化学习问题。

我们考虑一个具有有限状态和动作空间的马尔可夫决策过程(MDP)。为了专注于估计和规划本身的挑战,我们暂时规避探索的难题。我们假设一个非常理想化的数据收集协议,有时也称为“模拟器”或“生成模型”设定。

以下是数据收集过程:

  • 对于状态-动作空间中的每一个 (s, a) 对,独立地抽取 n 个样本。
  • 每个样本包含一个从真实奖励分布 R(s,a) 中抽取的奖励 r,以及一个从真实转移分布 P(s,a) 中抽取的下一状态 s‘

这样,我们为每个 (s, a) 对都获得了一个包含 n(奖励, 下一状态) 对的微型数据集 D_{s,a}。总样本数为 n * |S| * |A|。这个设定允许我们均匀地覆盖整个状态-动作空间。


算法:确定等价性估计 🧠

有了数据之后,我们需要一个算法来利用这些数据。我们将使用一个极其简单的算法,它被称为“确定等价性”估计,本质上就是表格设定下的最大似然估计(MLE)。

该算法分为两步:

  1. 构建估计的MDP (M_hat):利用数据估计奖励函数 R_hat 和转移概率 P_hat
  2. 规划:在估计的MDP M_hat 中,计算最优策略 π_M_hat^*,并将其作为输出。

我们假设规划步骤(例如,通过值迭代或策略迭代找到 M_hat 中的最优策略)是精确可行的。我们的主要兴趣在于分析第一步中估计的准确性如何影响最终策略在真实MDP中的性能。

接下来,我们具体定义估计量:

  • 奖励估计:对于每个 (s, a),估计的奖励是所观察到的 n 个奖励样本的均值。
    R_hat(s, a) = (1/n) * Σ_{i=1}^{n} r_i
  • 转移估计:对于每个 (s, a),估计的转移概率是所观察到的 n 个下一状态样本的经验频率。
    P_hat(s‘ | s, a) = (1/n) * Σ_{i=1}^{n} I(s‘_i == s‘)
    其中 I 是指示函数。P_hat 是一个有效的概率分布。

性能保证目标 🎯

我们的目标是证明,随着每个 (s,a) 对的样本数 n 增加,输出策略 π_M_hat^* 在真实MDP中的性能会接近最优性能。

我们想要的形式化陈述是:以至少 1 - δ 的概率,有
V_M^*(s) - V_M^{π_M_hat^*}(s) ≤ f(n, δ, |S|, |A|, γ)
其中函数 f 随着 n 增大而减小。我们不仅关心其随 n 衰减的速率(例如 1/√n),也关心其与状态数 |S|、动作数 |A| 等问题的关键参数之间的依赖关系。


分析蓝图:三步走战略 🗺️

整个分析可以分解为三个逻辑部分:

  1. 单步集中性分析:利用集中不等式(如Hoeffding不等式)来界定估计误差 R_hat - RP_hat - P
  2. 误差传播分析(模拟引理):证明单步的估计误差如何传播并影响长期价值函数的估计。这是MDP多步决策特性带来的独特挑战。
  3. 评估误差到决策损失的转换:将价值函数的估计误差最终转化为策略性能的次优性差距。

我们将使用一个关键的引理——模拟引理——来连接第1步和第3步。


步骤一:定义单步误差度量 📏

为了量化估计模型的准确性,我们定义两个误差项:

  • 奖励误差ε_R = max_{s,a} | R_hat(s,a) - R_bar(s,a) |
    其中 R_bar(s,a) 是真实奖励的期望。我们取所有状态-动作对上的最大绝对误差。
  • 转移误差ε_P = max_{s,a} || P_hat(·|s,a) - P(·|s,a) ||_1
    我们使用L1范数(或等价的Total Variation距离)来衡量两个概率分布之间的差异。在表格分析中,这是最合适的度量。

步骤二:模拟引理及其证明(经典方法) 🔧

模拟引理将单步误差与长期价值函数差异联系起来。其表述如下:
对于任意策略 π,有
|| V_M^π - V_{M_hat}^π ||_∞ ≤ ε_R + (γ * ε_P * V_max) / (1 - γ)
其中 V_max = R_max / (1 - γ) 是任何价值函数的上界。

证明(经典方法)
经典证明的核心是利用贝尔曼方程进行单步展开,然后递归处理。

  1. 固定一个状态 s,我们考察 V_M^π(s) - V_{M_hat}^π(s)
  2. 对两者分别应用贝尔曼方程:
    V_M^π(s) = R(s, π(s)) + γ * Σ_{s‘} P(s‘|s,π(s)) * V_M^π(s‘)
    V_{M_hat}^π(s) = R_hat(s, π(s)) + γ * Σ_{s‘} P_hat(s‘|s,π(s)) * V_{M_hat}^π(s‘)
  3. 将两式相减,并加减中间项 γ * Σ_{s‘} P(s‘|s,π(s)) * V_{M_hat}^π(s‘),得到:
    差值 = [R - R_hat] + γ * [ (P - P_hat) · V_{M_hat}^π ] + γ * [ P · (V_M^π - V_{M_hat}^π) ]
  4. 分别界定这三项:
    • 第一项由 ε_R 界定。
    • 第二项利用霍尔德不等式:|(P - P_hat) · V| ≤ ||P - P_hat||_1 * ||V||_∞ ≤ ε_P * V_max
    • 第三项可以放缩为 γ * ||V_M^π - V_{M_hat}^π||_∞
  5. 将不等式整理,得到关于 ||V_M^π - V_{M_hat}^π||_∞ 的递归关系:
    ||V_M^π - V_{M_hat}^π||_∞ ≤ ε_R + γ * ε_P * V_max + γ * ||V_M^π - V_{M_hat}^π||_∞
  6. 将右边的 γ * ||...||_∞ 项移到左边,解得:
    ||V_M^π - V_{M_hat}^π||_∞ ≤ (ε_R + γ * ε_P * V_max) / (1 - γ)
    通过更精细的分析(利用 PP_hat 都是分布,其与常数向量的点积之差为零),分母上的 γ 可以替换为 γ/2,从而得到引理中更紧的界。

这个证明清晰地展示了“误差传播”的过程:当前时刻的误差(前两项)会影响到下一时刻的价值估计(第三项),并通过折扣因子 γ 进行递归累积。


步骤三:从评估误差到决策损失 📉

现在我们利用模拟引理来最终界定我们关心的性能差距。

我们希望界定 V_M^* - V_M^{π_M_hat^*}。推导如下:

  1. 对于任意状态 s
    V_M^*(s) - V_M^{π_M_hat^*}(s) = [V_M^{π_M^*}(s) - V_{M_hat}^{π_M^*}(s)] + [V_{M_hat}^{π_M^*}(s) - V_M^{π_M_hat^*}(s)]
  2. 对于第一个中括号项,由于 π_M^*M 下的一个特定策略,我们可以直接应用模拟引理进行界定。
  3. 对于第二个中括号项,注意到在 M_hat 中,π_M_hat^* 是最优策略,因此 V_{M_hat}^{π_M_hat^*}(s) ≥ V_{M_hat}^{π_M^*}(s)。所以,
    V_{M_hat}^{π_M^*}(s) - V_M^{π_M_hat^*}(s) ≤ V_{M_hat}^{π_M_hat^*}(s) - V_M^{π_M_hat^*}(s)
    而这又可以应用模拟引理(将 MM_hat 角色互换,注意误差定义对称)进行界定。
  4. 结合两者,我们得到:
    V_M^*(s) - V_M^{π_M_hat^*}(s) ≤ 2 * [ε_R + (γ * ε_P * V_max) / (1 - γ)]
    这就是最终的决策损失界。其中的因子 2 是从评估误差转换到决策损失时,在没有额外假设下通常需要付出的代价。


步骤四:单步误差的集中性界定 🔬

最后,我们需要将 ε_Rε_P 与样本量 n 和置信参数 δ 联系起来。这通过集中不等式完成。

  • 奖励误差 ε_R:对于固定的 (s,a)R_hat(s,a)n 个独立有界随机变量(奖励)的均值。应用Hoeffding不等式和Union Bound(对所有 |S||A|(s,a) 对取最大),可以得到以高概率 1 - δ/2
    ε_R ≤ O( √( (R_max^2 * log(|S||A|/δ)) / n ) )
  • 转移误差 ε_P:对于固定的 (s,a)P_hat 是一个多项分布的经验频率。衡量其与真实分布 P 的L1误差更复杂,但可以利用类似的方法(例如,利用每个状态坐标上的Hoeffding bound再结合Union Bound)得到,以高概率 1 - δ/2
    ε_P ≤ O( √( (|S| * log(|S||A|/δ)) / n ) )

将这两个界代入最终的决策损失界,我们就得到了一个完整的样本复杂度保证:性能差距以 O( 1/√n ) 的速率下降,并且与状态空间大小 |S| 和动作空间大小 |A| 存在依赖关系(通常以 √(|S| log|S||A|) 的形式出现)。


现代证明方法简介 🚀

上述经典证明依赖于无穷范数(L_∞)和递归展开。在现代分析中,更流行使用一种基于性能差引理变体的方法,它更直接地关联了分布上的平均误差。

其核心思想是使用一个更一般的恒等式:对于任意函数 F,策略 π 在初始分布上的真实性能 J(π) 与用 F 预测的性能之差,等于 F 的贝尔曼误差在策略 π 的折扣占用度量下的期望,再乘以一个 1/(1-γ) 因子。

利用这个恒等式,并令 F = V_{M_hat}^π,我们可以将 V_M^π - V_{M_hat}^π 的差异直接表达为关于 R_hat - RP_hat - P 的期望形式,从而绕过递归展开,并自然地得到关于特定分布(占用度量)的误差界。这种方法在后续处理函数逼近的扩展时更为强大和灵活。


总结 📝

本节课中我们一起学习了表格强化学习的基础分析框架。

  1. 我们从一个理想化的均匀数据收集协议出发。
  2. 我们分析了基于最大似然估计的“确定等价性”算法。
  3. 分析分为三步:单步集中性分析、误差传播分析(模拟引理)、评估误差到决策损失的转换。
  4. 我们详细展示了经典版本的模拟引理证明,它通过贝尔曼方程展开和递归来处理多步误差累积。
  5. 我们最终得到了输出策略的次优性界,该界以 O(1/√n) 的速率收敛,并依赖于MDP的规模参数。
  6. 我们还简要介绍了更现代的证明方法,它通过性能差引理提供了另一种更分布敏感的视角。

这个分析是许多更高级强化学习理论的基础模板,后续关于函数逼近、在线探索等主题的分析都将建立在此基础之上。

015:表格分析(续) 🧮

在本节课中,我们将继续学习表格化强化学习的分析。我们将完成对“模拟引理”的证明,并深入探讨如何通过集中不等式来界定奖励和转移概率的估计误差。最后,我们将介绍一种不依赖于状态空间大小的替代分析方法。


上一节我们介绍了模拟引理,并讨论了如何利用它来界定策略在真实模型和估计模型中的性能差异。本节中,我们将首先完成该引理的证明。

模拟引理的证明

模拟引理是一个通用结果,它仅涉及一个单一的、真实的环境。其表述如下:对于任意函数 F,策略 π 在真实环境中的期望回报 J(π) 与其基于 F 的估计值之间的误差,可以表示为贝尔曼误差的期望。

公式
E_{s~d_0}[F(s)] - J(π) = (1/(1-γ)) * E_{(s,a)~d_π}[F(s) - (r + γ * F(s'))]

证明从等式右边开始,利用折扣占用度量 d_π 的定义进行展开。

证明步骤

  1. 将折扣占用度量 d_π 展开为各时间步状态分布 d_t^π 的加权和。
  2. 将期望重写为在由策略 π 生成的轨迹分布下的期望。
  3. 展开求和项,观察到其中存在巧妙的“望远镜”相消。
  4. 相消后,仅剩下初始状态分布下的 F(s) 期望和轨迹的折扣累计奖励期望,后者正是 J(π)

这个证明揭示了价值函数的贝尔曼方程与占用度量的流方程之间的对偶关系。该引理表明,评估误差本质上由函数 F 违反贝尔曼方程的程度决定。


在证明了模拟引理之后,我们的核心任务就转变为确定奖励误差 ε_R 和转移误差 ε_P。这主要依赖于集中不等式。

通过集中不等式界定 ε_R 和 ε_P

我们的目标是高概率地界定以下误差:
ε_R = max_{s,a} |R̂(s,a) - R̄(s,a)|
ε_P = max_{s,a} ||P̂(·|s,a) - P(·|s,a)||_1

其中, 是从 N 个样本中计算出的经验均值。

奖励误差 ε_R 的界定

对于固定的状态-动作对 (s,a),奖励估计是 N 个独立同分布随机变量的平均值。我们可以直接应用霍夫丁不等式。

公式
对于固定 (s,a),以至少 1-δ 的概率,有:
|R̂(s,a) - R̄(s,a)| ≤ R_max * √( (1/(2N)) * log(2/δ) )

这里 R_max 是奖励的取值范围,必须出现在界中以保证量纲正确。

转移误差 ε_P 的界定

转移误差的界定更为复杂,因为我们需要处理一个分布(向量)的估计。一个简单但宽松的方法是分别对每个下一个状态 s' 应用标量集中不等式,然后利用 L1 范数和 L∞ 范数的关系进行合并。

宽松的界
||P̂ - P||_1 ≤ |S| * ||P̂ - P||_∞,然后对每个 s' 分别界定 |P̂(s'|s,a) - P(s'|s,a)|。这会得到一个包含 √(|S|/N) 的界。

然而,这个界是宽松的,因为它忽略了 P 都是归一化分布这一事实。我们可以通过以下技巧获得一个更紧的界,且仅使用标量霍夫丁不等式:

关键技巧
利用 L1 范数的对偶表示:||P̂ - P||_1 = max_{u∈{-1,+1}^{|S|}} u^T (P̂ - P)

证明思路

  1. 固定一个向量 u(其每个分量为 +1 或 -1)。
  2. u^T P 可以解释为函数 u 在分布 P 下的期望。
  3. u^T P̂ 是同一函数在经验分布下的平均值,即 N 个独立同分布随机变量 u(s') 的平均值。
  4. 对固定的 u 应用霍夫丁不等式。
  5. 对所有可能的 2^{|S|}u 向量进行联合界处理。

通过这种方法,我们可以得到更紧的界,其形式约为 √(|S|/N),而不是之前宽松方法得到的 |S|/√N

最终联合界

我们需要将上述分析推广到所有状态-动作对。以下是最终误差界的主要依赖关系(忽略对数因子和常数):

最终性能界
以高概率,最优策略在估计模型中的价值与在真实模型中的最优价值之间的差距满足:
||V_M^* - V_M^{π_̂M^*}||_∞ ≤ O( ( √(|S|) * V_max ) / ( (1-γ) * √N ) )

其中 V_max = R_max / (1-γ)。注意,保持 R_max 显式出现有助于进行量纲检查,避免推导错误。


上述分析表明,为了准确估计转移分布本身,每个状态-动作对所需的样本数 N 需要与状态空间大小 |S| 相关。然而,下面的替代分析将展示,即使不精确估计整个分布,我们也能得到良好的策略。

替代分析:独立于状态空间大小的样本复杂度

这种分析的核心思想是直接比较估计模型的最优 Q 函数 Q_{M̂}^* 和真实模型的最优 Q 函数 Q_M^*。我们关心的策略 π_{M̂}^* 正是关于 Q_{M̂}^* 的贪婪策略。

关键引理(近似策略迭代)
对于任意函数 F,关于 F 的贪婪策略 π_F 的性能满足:
V_M^* - V_M^{π_F} ≤ (2/(1-γ)) * ||F - Q_M^*||_∞

因此,我们只需界定 ||Q_{M̂}^* - Q_M^*||_∞

证明概要

  1. 利用 Q_{M̂}^* 是估计模型贝尔曼最优算子 T_{M̂} 的不动点这一事实。
  2. 进行如下分解:
    Q_{M̂}^* - Q_M^* = T_{M̂}Q_{M̂}^* - T_{M}Q_M^*
  3. 通过加减 T_{M̂}Q_M^* 项,将上式拆分为两部分:
    = (T_{M̂}Q_{M̂}^* - T_{M̂}Q_M^*) + (T_{M̂}Q_M^* - T_{M}Q_M^*)
  4. 第一部分:由于 T_{M̂}γ-压缩的,因此 ||T_{M̂}Q_{M̂}^* - T_{M̂}Q_M^*||_∞ ≤ γ ||Q_{M̂}^* - Q_M^*||_∞
  5. 第二部分:T_{M̂}Q_M^* - T_{M}Q_M^*。对于特定的 (s,a),将其写出来:
    = [R̂(s,a) + γ * E_{s'~P̂(·|s,a)}[V_M^*(s')]] - [R̄(s,a) + γ * E_{s'~P(·|s,a)}[V_M^*(s')]]
    = (1/N) * Σ_{i=1}^N [r_i + γ * V_M^*(s'_i)] - Q_M^*(s,a)
  6. 这恰好是 N 个独立同分布随机变量 (r + γ * V_M^*(s')) 的均值与其真实期望 Q_M^*(s,a) 之间的差异。我们可以直接对其应用标量集中不等式。

结论
通过这种分析方法,对每个 (s,a) 进行界定时,我们只需要处理一个标量随机变量 r + γ * V_M^*(s') 的估计误差。因此,所需的样本数 N 不再依赖于状态空间大小 |S|,而主要与价值函数范围 V_max 和精度要求有关。这意味着,即使无法准确估计整个转移分布,只要能在“价值”层面上进行良好的估计,仍然可以学习到接近最优的策略。


本节课中我们一起学习了表格化强化学习的两种分析范式。第一种基于模拟引理和模型估计误差,需要样本数与状态空间大小相关以确保转移模型准确。第二种替代分析直接比较最优 Q 函数,其样本复杂度可以独立于状态空间大小,揭示了在价值空间进行估计的有效性。理解这两种视角有助于我们更全面地认识强化学习中的样本效率问题。

016:表格分析(续)(视角2)

在本节课中,我们将继续学习表格化强化学习的分析。我们将完成一个更现代的“模拟引理”的证明,并利用它来建立奖励和转移概率的估计误差边界。最后,我们将探讨一种不依赖于状态空间大小的替代分析方法。

模拟引理证明

上一节我们介绍了模拟引理,它用于分析在真实MDP和估计MDP中评估同一策略时的价值函数差异。本节中,我们来证明这个更现代的版本。

该引理陈述如下:对于任意策略 π 和任意函数 F(定义在状态空间上),有:

\[\mathbb{E}_{s \sim d_0}[F(s)] - J^\pi = \frac{1}{1-\gamma} \mathbb{E}_{(s,a) \sim d^\pi} [F(s) - r - \gamma F(s')] \]

其中,$ J^\pi $ 是策略 π 在真实MDP中的期望回报,$ d^\pi $ 是折扣占用度量。

以下是证明步骤:

  1. 我们从等式右边开始,利用折扣占用度量的定义将其展开为按时间步加权的期望和。
  2. 我们将每个时间步的期望重新解释为从初始分布 $ d_0 $ 开始、遵循策略 π 生成的轨迹上的期望。
  3. 将求和符号移入期望内部,我们得到一个关于轨迹的期望,其内部是时间步的求和。
  4. 展开这个求和,我们会发现一个漂亮的“望远镜”消去现象。
  5. 最终,只有初始状态的价值函数期望 $ \mathbb{E}_{s \sim d_0}[F(s)] $ 和轨迹上的累计折扣回报期望 $ J^\pi $ 保留下来,从而完成证明。

这个证明巧妙地利用了贝尔曼流方程的性质,展示了价值函数和占用度量之间的对偶关系。

通过集中不等式界定误差

证明了模拟引理后,我们的任务就简化为界定奖励误差 $ \epsilon_R $ 和转移概率误差 $ \epsilon_P $。这些误差定义为:

\[\epsilon_R = \max_{s,a} |\hat{r}(s,a) - \bar{r}(s,a)| \]

\[\epsilon_P = \max_{s,a} \|\hat{P}(\cdot|s,a) - P(\cdot|s,a)\|_1 \]

其中,$ \hat{r} $ 和 $ \hat{P} $ 是从数据中得到的最大似然估计(即样本平均和经验频率)。

奖励误差边界

对于固定的状态-动作对 (s, a),奖励估计是 N 个独立同分布随机变量的平均值。我们可以直接应用霍夫丁不等式:

\[|\hat{r}(s,a) - \bar{r}(s,a)| \leq R_{\text{max}} \sqrt{\frac{1}{2N} \log\left(\frac{2}{\delta}\right)} \]

这里 $ R_{\text{max}} $ 是奖励的取值范围,它必须出现在边界中以保证量纲正确。

转移概率误差边界

转移概率的估计更具挑战性,因为我们需要处理一个分布(向量)的估计。目标是界定 L1 范数误差。一个朴素的方法是针对每个下一个状态 $ s' $ 分别应用标量集中不等式,然后利用关系 $ | \cdot |1 \leq S \cdot | \cdot |\infty $ 进行合并。但这种方法会引入一个多余的 $ \sqrt{S} $ 因子。

更紧致的分析是将 L1 范数用其对偶范数(L∞ 范数)表示:

\[\|P - \hat{P}\|_1 = \max_{u \in \{\pm1\}^S} u^\top (P - \hat{P}) \]

这个最大值在所有由 +1 或 -1 组成的 S 维向量中取得。对于任意一个固定的向量 $ u $,点积 $ u^\top P $ 可以解释为函数 $ u $ 在分布 $ P $ 下的期望。而 $ u^\top \hat{P} $ 是同一函数在经验分布下的平均值。因此,对于每个固定的 $ u $,我们可以再次应用霍夫丁不等式来界定这个标量差。

为了得到一个一致的边界(对所有 $ u $ 同时成立),我们需要对所有可能的 $ 2^S $ 个 $ u $ 向量进行联合界。取对数后,这会在边界中引入一个 $ O(\sqrt{S}) $ 的因子,而不是朴素方法中的 $ O(S) $ 因子。

最后,我们需要对所有 $ S \times A $ 个状态-动作对进行联合界,将总的失败概率 $ \delta $ 合理分配。

最终边界

将上述所有部分组合起来,并代入模拟引理导出的策略次优性边界,我们可以得到最终的高概率边界:

\[\|V_M^* - V_M^{\hat{\pi}^*}\|_\infty \leq O\left( \frac{R_{\text{max}}}{1-\gamma} \sqrt{\frac{S}{N}} + \frac{R_{\text{max}}}{(1-\gamma)^2} \sqrt{\frac{S}{N}} \right) \]

(这里的大O符号隐藏了对数因子和常数。)

重要提示:在分析中显式保留 $ R_{\text{max}} $ 而非常规化奖励到 [0,1],有助于保持量纲清晰,并更容易发现推导错误(例如边界中不应出现 $ R_{\text{max}}^2 $ 这样的项)。

替代分析:独立于状态空间大小的样本复杂度

上述分析要求每个 (s,a) 对的样本数 N 与状态数 S 成比例,以确保能较好地估计整个转移分布。然而,存在一种更巧妙的替代分析,其样本复杂度可以独立于 S。

核心思想是直接分析最优策略的价值差异,而不是分析所有策略的模拟误差。我们考虑以下关系:

\[V_M^* - V_M^{\hat{\pi}^*} \leq \frac{2}{1-\gamma} \|Q_{\hat{M}}^* - Q_M^*\|_\infty \]

这里,$ \hat{\pi}^* $ 是在估计MDP $ \hat{M} $ 中的最优策略。因此,问题转化为界定两个不同MDP中最优Q函数的差异。

通过展开贝尔曼最优方程并利用收缩性质,我们可以将 $ Q_{\hat{M}}^(s,a) - Q_M^(s,a) $ 的误差,主要控制为以下“模型误差”项:

\[\left| \left( \hat{r}(s,a) + \gamma \hat{P}(\cdot|s,a)^\top V_M^* \right) - \left( r(s,a) + \gamma P(\cdot|s,a)^\top V_M^* \right) \right| \]

关键观察在于:对于每个 (s,a),括号内的表达式 $ r + \gamma V_M^(s') $ 是一个标量随机变量(其中 $ s' \sim P(\cdot|s,a) $)。我们的经验估计 $ \hat{r}(s,a) + \gamma \frac{1}{N} \sum_{i} V_M^(s_i') $ 正是这个标量随机变量样本的平均值。

因此,我们可以直接对这个标量应用霍夫丁不等式。由于 $ V_M^* $ 是固定的(虽然未知),每个样本 $ V_M^(s_i') $ 是独立同分布的。这样,我们得到的误差边界形式为 $ O(R_{\text{max}} / \sqrt{N}) $,其中没有显式依赖于状态数 S。S 的影响被隐含地吸收在 $ V_M^ $ 的方差中,但通过集中不等式,我们无需为恢复整个分布支付 $ O(S) $ 的样本成本。

这种分析表明,对于寻找一个近似最优策略这个目标而言,我们并不需要精确估计整个转移概率分布。我们只需要能够准确估计在真实最优价值函数 $ V_M^* $ 视角下的期望下一步回报即可。这是一种更高效、更专注于最终目标的学习方式。

总结

本节课中我们一起学习了:

  1. 完成了现代版“模拟引理”的证明,该引理将策略评估误差与单步贝尔曼误差联系起来。
  2. 通过集中不等式,详细推导了如何界定奖励和转移概率的估计误差,并讨论了获得紧致边界的技术细节。
  3. 介绍并剖析了一种替代分析方法,该方法表明,为了获得近似最优策略,所需的样本复杂度可以独立于状态空间的大小,这为我们设计更高效的强化学习算法提供了重要洞见。

017:状态抽象

在本节课中,我们将学习状态抽象的概念。这是一种介于表格化设定与一般函数逼近之间的中间学习设定。我们将探讨如何通过聚合或划分状态空间来实现泛化,并定义评估抽象好坏的多种标准。


上一节我们完成了表格化情况的分析。然而,理论与实践之间存在巨大鸿沟,因为实践中我们常面临复杂、大型甚至连续的状态空间。因此,我们需要处理复杂的函数逼近问题。

本节中,我们将介绍一个中间概念——状态抽象。从函数逼近的角度看,状态抽象是一种非常朴素和简单的泛化方案。但正是由于其简单性,它允许我们深入思考在不同状态间泛化的含义,这比监督学习中的分析问题要复杂得多。

我们考虑一个马尔可夫决策过程(MDP),其状态空间非常大,以至于无法在计算上枚举。因此,所有表格化方法都不再适用,这迫使我们必须进行某种形式的泛化。当我们收到一个状态的数据时,不能仅用该数据学习这个特定状态,而必须将知识泛化到与之相似的其他状态。

状态抽象就是一种非常原始和基础的泛化形式,本质上是进行聚合或划分。给定一个庞大的原始状态空间,我们将其划分为若干分区。在每个分区内,我们假设所有状态都是相同的。

一个重要的例子是连续状态空间。最朴素的做法是将其网格化,得到一个有限且数量较少的网格集合。每个网格内包含无限多个状态,但我们假设它们都是相同的。每当收到原始状态的数据时,我们将其映射到网格ID,并假装看到的是一个离散的网格状态。

这样做的好处是,经过这种简单的转换后,你可以假装自己面对的是一个表格化问题,并应用所有表格化算法。然而,关键问题是:如果我们任意地划分状态空间,就相当于声称被聚合在一起的状态是等价的或相似的,但这可能与实际MDP不符。

因此,我们需要问:一个任意的聚合方案(即状态抽象映射)是否真的是一个好的抽象?被聚合的状态是否真的彼此相似?

在监督学习中,例如回归问题,我们可以通过直方图回归来类比。如果函数在网格内变化不大,那么离散化就是好的。但如果函数在网格内变化很大,而你却将所有点视为相同,那么近似效果就会很差。在监督学习中,判断两个输入是否相似的标准很清晰:如果它们的输出值相似,则它们相似。

但在强化学习中,我们没有“输出值”这个概念。那么,对应的条件应该是什么?

以下是几个候选答案:

  1. 如果两个状态共享相同的最优动作,则它们是相似的。
  2. 如果两个状态共享相同的最优值函数(最优价值),则它们是相似的。
  3. 如果两个状态的奖励和转移动态(即转移函数)相似,则它们是相似的。

在强化学习中,由于我们拥有丰富而灵活的动态系统框架,这个看似简单的问题增加了许多复杂性层次。在本讲中,我们将首先把这些直观的答案形式化为精确的数学陈述,然后研究当提出的抽象满足不同标准时,学习算法的保证是什么。

本讲大致分为两部分:

  1. 定义各种抽象标准(对应上述想法),并研究它们之间的关系。实际上,它们形成了一个层次结构。
  2. 讨论当你实际使用不同概念的抽象、基于它们构建表格模型并输出策略时,会发生什么,以及关于该策略我们能说什么。

抽象层次结构定义

给定一个映射 φ: S → S_φ,它将原始状态空间 S 映射到抽象状态空间 S_φ。例如,在网格化例子中,S_φ 就是网格ID的集合。我们需要定义标准来判断一个给定的 φ 对于MDP是好是坏。

以下是三种不同的标准:

1. π 相关 (Pi-Star Relevance)*
这种抽象被认为是好的,只要所有被聚合的状态共享相同的最优动作。
数学上,存在一个对于原始真实MDP最优的策略 π_M,使得对于任意被映射到同一抽象状态的两个原始状态 s1, s2(即 φ(s1) = φ(s2)),都有 π_M(s1) = π_M*(s2)。

2. Q 相关 (Q-Star Relevance)*
这种抽象被认为是好的,如果对于任意动作,最优Q函数在被聚合的状态中总是给出相同的值。
数学上,对于任意动作 a,以及任意满足 φ(s1) = φ(s2) 的状态 s1, s2,都有 Q_M(s1, a) = Q_M(s2, a)。

3. 模型相关 / 双模拟 (Model Relevance / Bisimulation)
这种抽象要求保留奖励和转移动态。

  • 奖励:对于任意动作 a,以及任意满足 φ(s1) = φ(s2) 的状态 s1, s2,都有 R(s1, a) = R(s2, a)。
  • 转移:对于任意动作 a,以及任意满足 φ(s1) = φ(s2) 的状态 s1, s2,从 s1 和 s2 出发,在采取动作 a 后,转移到下一个抽象状态的概率分布是相同的。也就是说,对于任意抽象状态 x‘,有:
    ∑_{s' ∈ φ^{-1}(x')} P(s' | s1, a) = ∑_{s' ∈ φ^{-1}(x')} P(s' | s2, a)
    这相当于先将原始转移分布通过映射 φ “折叠”到抽象状态空间,然后比较这两个分布。

这三种标准形成了一个严格的层次结构,称为抽象层次结构

  • 模型相关(双模拟)是最严格的标准。
  • Q* 相关是较宽松的标准。
  • π* 相关是最宽松的标准。

具体关系是:模型相关 ⇒ Q* 相关 ⇒ π* 相关。也就是说,任何满足模型相关的抽象也必然满足Q相关和π相关;任何满足Q相关的抽象也必然满足π相关。

第二个箭头(Q相关 ⇒ π相关)是显而易见的,因为最优策略是关于Q的贪婪策略。只要在每个抽象状态内以一致的方式处理平局,就可以构造出一个满足π相关的最优策略。

第一个箭头(模型相关 ⇒ Q*相关)的证明则不那么平凡,我们稍后会进行证明。


为什么双模拟的定义如此特别?

我们可能会问,为什么在双模拟的定义中,转移条件要比较“折叠”后的抽象状态分布,而不是直接比较原始状态空间的转移概率 P(s' | s1, a)P(s' | s2, a)

考虑以下例子:假设我们有一个MDP,其状态变量为 X。我们人为地将其扩展为一个更大的MDP,状态空间为 S = (X, Z),其中 Z 是一个与任务完全无关的、独立演化的马尔可夫链(例如,房间清洁机器人任务中,电视上播放的图像)。直观上,为了获得最优奖励,我们应该能够完全忽略 Z 因子。

因此,一个自然的抽象是 φ(S) = φ(X, Z) = X,即丢弃 Z 因子。在这个扩展的MDP中,这看起来是一个完美的抽象。

然而,如果我们尝试使用直接的原始转移概率相等条件,它会失败。因为对于相同的 X 但不同的 Z1 和 Z2,原始转移概率 P((X', Z') | (X, Z1), a)P((X', Z') | (X, Z2), a) 通常是不同的(例如,电视图像不同,下一时刻的图像也可能不同)。

但如果我们使用双模拟的定义,我们比较的是转移到下一个抽象状态的概率。由于抽象状态只依赖于 X’,我们需要对 Z‘ 求和(即边缘化):
∑_{Z'} P((X', Z') | (X, Z1), a) = P(X' | X, a) * ∑_{Z'} P(Z' | Z1) = P(X' | X, a) * 1
∑_{Z'} P((X', Z') | (X, Z2), a) = P(X' | X, a) * ∑_{Z'} P(Z' | Z2) = P(X' | X, a) * 1
两者相等。因此,双模拟条件认可 φ(S)=X 是一个好的抽象。这个定义通过边缘化无关变量,捕捉了“状态中某些部分可以忽略”的直觉。


抽象MDP模型

如果一个抽象 φ 满足双模拟条件,那么它会隐含地诱导出一个定义在抽象状态空间 S_φ 上的抽象MDP模型 M_φ。

这个模型不仅概念上存在,而且可以在规划或学习设置中使用。

  • 规划:如果我们知道原始MDP并希望节省计算成本,可以利用双模拟映射计算这个抽象MDP,然后在这个更小的模型中进行动态规划等规划算法。
  • 学习:当我们从原始MDP获得转移数据 (s, a, r, s') 时,可以将其处理为 (φ(s), a, r, φ(s')),就像获得了来自抽象空间的表格化数据一样。随着数据量趋于无穷,所学到的模型将收敛于这个抽象MDP M_φ。

抽象MDP M_φ 的定义如下:

  • 状态空间: S_φ
  • 动作空间: A (与原始MDP相同)
  • 折扣因子: γ (与原始MDP相同)
  • 奖励函数: R_φ(x, a) = R(s, a),其中 φ(s) = x。由于双模拟条件保证所有映射到 x 的 s 其 R(s, a) 相同,所以这个定义是明确的。
  • 转移函数: P_φ(x' | x, a) = ∑_{s' ∈ φ^{-1}(x')} P(s' | s, a),其中 φ(s) = x。同样,双模拟条件保证对于所有映射到 x 的 s,这个值都是相同的。

关于双模拟的一个重要性质是,它保留了最优Q函数。也就是说,如果在抽象MDP M_φ 中计算最优Q函数 Q_{M_φ},那么将其“提升”回原始空间(即定义 Q_lifted(s, a) = Q_{M_φ}*(φ(s), a))后,得到的就是原始MDP M 的最优Q函数 Q_M。类似地,对于任何“抽象兼容”的策略 π(即其动作分布仅依赖于抽象状态 φ(s)),在抽象模型中进行策略评估得到的值函数,提升后等于在原始模型中的值函数。


扩展到动作抽象

有时,状态对称性可能涉及动作的重新标记。例如,在一个对角线对称的网格世界中,状态 A 和状态 B 是对称的。但从 A 点“向下”移动可能对应从 B 点“向左”移动。简单的状态抽象(双模拟)无法处理这种情况,因为它要求相同的动作符号具有相同的效果。

为此,存在双模拟的扩展,称为 MDP 同态 (MDP Homomorphisms)。它修改了双模拟的定义,允许在状态聚合的同时进行动作的排列和聚合。这使得识别和处理这类对称性成为可能。


近似抽象与层次结构证明

之前我们讨论的是精确的标准。在实践中,允许一定的近似容差更为有用。因此,我们可以定义这些标准的近似版本:

  • ε-近似 π 相关*:存在一个策略,它在每个聚合块内采取相同(或近似相同)的动作,并且该策略的值函数与最优值函数相差不超过 ε。
  • ε_Q-近似 Q 相关*:存在一个定义在抽象状态上的函数 F,将其提升到原始空间后,与真实 Q* 的无穷范数误差不超过 ε_Q。
  • (ε_R, ε_P)-近似双模拟:对于被聚合的状态,奖励差异不超过 ε_R,转移分布(折叠到抽象空间后)的 L1 距离不超过 ε_P。

我们可以证明,近似的双模拟意味着近似的 Q* 相关,并且近似误差是受控的。具体来说,如果 φ 是一个 (ε_R, ε_P)-近似双模拟,那么它也是一个 ε_Q-近似 Q* 相关的抽象,其中 ε_Q 是 ε_R 和 ε_P 的函数,并且当 ε_R, ε_P → 0 时,有 ε_Q → 0。这恢复了精确情况下的层次结构结果。

证明思路简述:

  1. 给定近似双模拟 φ,我们构造一个抽象MDP M_φ。由于奖励和转移只是近似相同,我们通过(例如)在每个抽象块内取原始状态的加权平均来定义 M_φ 的奖励和转移。
  2. 由于近似双模拟条件,这些平均值与任何块内原始状态的对应值都相差不大。
  3. 设 F 为抽象MDP M_φ 的最优Q函数 Q_{M_φ}。我们将证明,将 F 提升回原始空间得到的函数,与原始最优Q函数 Q_M 的差距是有限的。
  4. 证明的关键是利用贝尔曼方程,并引入提升后的值函数作为中间项进行误差分解。最终,误差项可以表达为包含 ε_R 和 ε_P 的几何级数,从而得到受控的误差上界。

本节课中,我们一起学习了状态抽象的核心概念。我们首先介绍了在大型状态空间中引入泛化的必要性,并提出了状态抽象这种基础的泛化形式。然后,我们定义了评估抽象质量的三种主要标准:π相关、Q相关和模型相关(双模拟),并阐明了它们之间严格的层次关系。我们探讨了双模拟定义的直观原因及其诱导出的抽象MDP模型。最后,我们概述了如何将标准扩展到近似情况,并证明了近似层次结构的关键结果。理解这些概念和关系,是迈向处理更复杂函数逼近问题的坚实基础。

018:状态抽象(视角2) 🧠

在本节课中,我们将学习状态抽象的核心概念。这是一种介于表格化设置与通用函数逼近之间的中间学习框架。我们将探讨如何通过聚合或划分状态空间来实现泛化,并深入研究在强化学习中定义“状态相似性”的复杂性。


课程概述 📋

上一讲我们完成了表格化情况的分析。然而,长期以来,强化学习理论分析大多集中于表格化方法,这在理论与实践之间造成了巨大鸿沟。在实践中,从2014-2015年左右开始,深度强化学习兴起,例如DeepMind、AlphaGo以及在Atari游戏上实现超人性能的《自然》论文等。

鉴于这一巨大差距,我们最终需要处理复杂函数逼近以及大型甚至可能是连续的状态空间(有时是动作空间)问题。因此,在接下来的几周里,我们将朝着这个方向前进,逐步深入,最终解决大型状态空间的问题。

本周,我们将讨论一个中间概念或学习设置,它介于表格化设置和通用函数逼近之间,即状态抽象


状态抽象:一种简单的泛化方案 🔄

从函数变换的角度来看,状态抽象是一种相当朴素和简单的泛化方案。但正是由于其简单性,它使我们能够深入思考在马尔可夫决策过程中,不同状态之间泛化的真正含义。与监督学习中可提出的分析问题相比,这个问题变得极其复杂和微妙。

我认为,这是许多其他强化学习课程不会教授的部分,但可能是你从强化学习理论中学到的最有价值的东西之一,即使你更关注应用方面。

问题设置

和往常一样,我们考虑一个MDP (S, A, P, R, γ)。现在,我们假设动作空间仍然是有限且可管理的。但从现在开始,默认情况下,我们将考虑非常大的状态空间,大到甚至无法通过计算枚举,例如连续状态空间或图像输入等。

因此,表格化方法将不再适用,尤其是在学习设置中。正如我们在介绍性幻灯片中提到的,这必然需要某种形式的泛化。每当你收到关于一个状态的数据时,你不能只使用这些数据来学习这个特定状态,你必须将这些知识泛化到在某种意义上与你所见到的确切状态相似的其他状态。

状态抽象的定义

状态抽象本质上是一种聚合或划分。给定原始状态空间 S 非常大,我们可以写下状态空间的一个划分。在每个部分内,我们假装所有状态都是相同的。

一个简单的例子:假设我有一个连续状态空间 S = R^d 或欧几里得空间 R^d 中的一个有界盒子。我能做的最简单的事情就是将连续状态空间网格化。现在我们得到有限数量的小网格,每个网格内实际上有无限多个状态,但我将假装所有这些状态都是相同的。

实际上,每当我获得数据时,例如在两个不同点获得数据,我会将这些原始状态映射到网格ID,并假装我实际看到的只是作为离散状态的网格ID。

这样做的好处是,如果你进行这种简单的转换,你可以假装自己处于一个表格化问题中。在算法上,你可以应用所有表格化算法和分析(分析部分我们稍后讨论)。至少,这给了你一个可行的起点。

核心问题

现在,真正的问题是:如果你任意地将状态空间网格化,你基本上是在声称所有被聚合到一个抽象状态中的状态是等价的或至少是相似的,但这可能与实际的MDP不一致。

因此,我们想问的问题是:如果我任意地写下一个聚合方案(我们称之为状态抽象方案),即一个将原始状态映射到某些抽象状态的映射 φ,这真的是一个好的抽象吗?当我们聚合状态时,被聚合的状态真的彼此相似吗?

一个类比是监督学习中的回归问题,特别是直方图回归。你将输入空间网格化为一些网格,在每个网格内,你将所有东西视为相同。如果你在一个网格内有多个点,你只需取它们的平均值作为预测标签。显然,这里有一个简单的概念来判断你是否正确地划分了空间:只要函数在每个网格内变化不大,你的离散化就是好的。相反,如果函数在一个网格内变化很大,但你将它们都视为相同,那么你就是在做一个糟糕的近似。

但在强化学习中,我们没有“输出值”这个概念。那么,我们应该如何定义状态的相似性呢?


状态抽象的候选标准 🎯

以下是几个候选答案:

  1. 最优动作相同:如果两个状态共享相同的最优动作,则它们从MDP的角度来看是等价的或相似的。
  2. 最优值函数相同:如果两个状态共享相同的最优值函数值,则它们是相似的。
  3. 奖励和动态相似:只有当两个状态的奖励函数和转移动态(转移函数)相似时,它们才是真正相似的。

在强化学习中,由于我们拥有这个非常丰富和灵活的动态系统框架,它给这个看似简单的问题增加了许多复杂性。我们有多层不同的、看似合理的答案。

在本讲中,我们将首先将这些直观的、非正式的答案形式化为精确的数学陈述。然后,我们将研究当你提出的抽象满足这些不同标准时,关于学习算法的保证你能说些什么。


抽象层次结构的定义 📊

给定任意映射 φ: S -> S_φ,其中 S_φ 是抽象状态空间。我们将定义不同的标准来判断这个映射是否“好”。

1. π* 相关性 (π*-Relevance)

这对应于“所有被聚合的状态共享相同的最优动作”这一条件。

数学定义:存在一个原始MDP的最优策略 π_M*,使得对于任意 s1, s2 ∈ S,如果 φ(s1) = φ(s2),则有 π_M*(s1) = π_M*(s2)

一个细微差别是:在MDP中可能存在多个最优策略。这里我们只需要找到一个满足此条件的最优策略就足够了。否则,考虑一个奖励处处为0或常数的平凡MDP,每个策略都是最优的。根据此标准的精神,我们应该能够将所有状态聚合在一起。但如果你要求所有可能的最优策略都满足此条件,你将无法进行任何聚合。

2. Q* 相关性 (Q*-Relevance)

抽象 φ 被称为 Q 相关*,如果对于任意动作 a,MDP中的最优Q函数 Q_M*(s, a) 在任意两个被聚合的状态 s1, s2(即 φ(s1) = φ(s2))上总是给出相同的值。

数学定义:对于任意 s1, s2 ∈ S,如果 φ(s1) = φ(s2),则对于所有 a ∈ A,有 Q_M*(s1, a) = Q_M*(s2, a)

3. 模型相关性 / 双模拟 (Model-Relevance / Bisimulation)

这个概念(有时称为双模拟)与理论计算机科学中的有限自动机理论有一些有趣的联系。其思想是:只有当抽象 φ 保留了奖励和转移动态时,它才是好的。

  • 奖励条件:对于任意动作 a,每当两个状态 s1, s2 被聚合时(φ(s1) = φ(s2)),它们的奖励函数必须相同:R(s1, a) = R(s2, a)
  • 转移条件:这里是有趣的部分。我们不是看转移到下一个原始状态 s' 的原始概率,而是看从每个原始状态 s 出发,给定动作 a,到达下一个抽象状态 x' ∈ S_φ 的概率。这个概率是原始转移概率对所有映射到 x' 的原始状态 s' 的求和。

形式化定义:对于任意 s1, s2 ∈ S,如果 φ(s1) = φ(s2),则对于所有 a ∈ A

  1. R(s1, a) = R(s2, a)
  2. 对于所有 x' ∈ S_φ,有 ∑_{s' : φ(s')=x'} P(s' | s1, a) = ∑_{s' : φ(s')=x'} P(s' | s2, a)

这个定义有点递归的味道,因为为了检查 φ 是否是一个好的抽象,φ 本身也进入了判断标准。


抽象层次结构定理 🏗️

这三个标准实际上形成一个严格的层次结构:

定理:模型相关性(双模拟)是最严格的条件,Q* 相关性次之,π* 相关性是最宽松的。具体来说:

  • 如果 φ 满足模型相关性,那么它必然满足 Q* 相关性。
  • 如果 φ 满足 Q* 相关性,那么它必然满足 π* 相关性。

因此,这是一个层次结构。你可以将抽象 φ 的集合想象成一个空间:模型相关性是最小的圆,Q* 相关性是更大的圆,π* 相关性是最大的圆。

第二个箭头(Q* 相关性 ⇒ π* 相关性)是显而易见的,因为 π* 是关于 Q* 的贪婪策略。如果 Q* 在每个聚合内对所有动作总是具有完全相同的值,那么只要以一致的方式处理平局,你就可以构造出一个满足 π* 相关性条件的最优策略。

第一个箭头(模型相关性 ⇒ Q* 相关性)的证明不那么平凡,我们稍后会进行证明。


为什么双模拟的定义如此设计? 🤔

我们为什么使用那个更复杂的、先将分布坍缩到抽象状态空间再进行比较的定义,而不是直接比较原始状态空间上的转移概率?

考虑以下例子:我们有一个通用的MDP,其状态变量为 X。我们人工地将其扩展为一个更大的MDP,状态空间为 S = (X, Z),其中 Z 是一个与原始过程同步演化的、独立的马尔可夫链。这个 Z 链与奖励无关,也不影响 X 的动态。

直觉上,Z 是无关的(例如,清洁机器人任务中电视上播放的图像)。一个自然的抽象是 φ(X, Z) = X,即丢弃 Z 因子。这似乎是一个完美的抽象。

然而,如果我们尝试使用“原始转移概率必须相同”的标准来验证,它会失败。因为对于相同的 X 但不同的 Z1Z2,由于 Z 链的动态,原始的下一个状态分布 P((X', Z') | (X, Z1), a)P((X', Z') | (X, Z2), a) 是不同的。

双模拟的定义通过先对要忽略的因子(这里是 Z')进行边缘化来解决这个问题。当我们对 Z' 求和时,∑_{Z'} P(Z' | Z) = 1,我们得到的结果只依赖于 X。因此,双模拟条件允许我们认识到 φ(X, Z) = X 是一个好的抽象。

这个定义非常强大:即使你的动作可以影响那个无关的因子 Z(例如,机器人不小心按了遥控器换了台),但只要 Z 不影响核心过程 X,丢弃 Z 在双模拟下仍然是有效的。


抽象MDP模型 🧩

给定一个满足双模拟的抽象 φ,它可以隐式地诱导出一个定义在抽象状态空间 S_φ 上的抽象MDP模型 M_φ

这个模型不仅在概念上存在,而且实际上就是你将在规划或学习设置中使用的东西。

  • 规划设置:如果你知道MDP并想节省计算成本,你可以使用映射 φ 来计算这个抽象MDP,然后在这个更小的抽象MDP中运行任何规划算法(如动态规划)。
  • 学习设置:每当你从原始MDP获得转移数据 (s, a, r, s'),你可以将它们处理为 (φ(s), a, r, φ(s')),使其看起来像是来自抽象状态空间的表格数据。随着数据量的增加,你学习的模型将恰好是这个更小的抽象MDP M_φ

抽象MDP M_φ 的定义

  • 状态空间:S_φ
  • 动作空间:A(与原始相同)
  • 折扣因子:γ(与原始相同)
  • 奖励函数:R_φ(x, a) = R(s, a) 对于任意 s 使得 φ(s) = x(由双模拟的奖励条件保证此定义一致)。
  • 转移函数:P_φ(x' | x, a) = ∑_{s': φ(s')=x'} P(s' | s, a) 对于任意 s 使得 φ(s) = x(由双模拟的转移条件保证此定义一致)。

双模拟的一个关键含义是它保留了最优Q函数。也就是说,在抽象MDP M_φ 中计算出的最优Q函数 Q_{M_φ}*,通过提升操作([Q_{M_φ}*]_φ(s, a) = Q_{M_φ}*(φ(s), a))后,等于原始MDP的最优Q函数 Q_M*。类似的性质也适用于任何“抽象兼容”的策略(即其动作分布仅依赖于抽象状态 φ(s) 的策略)的值函数。


扩展到动作抽象与同态 🔄

上述框架可以自然地扩展到包含动作聚合和置换。典型的例子是一个对称的网格世界。如果地图沿对角线对称,那么状态A和状态B是镜像对称的,直觉上应该可以聚合。

但是,如果你检查双模拟条件,它可能不成立。例如,从A向下走可能碰到障碍物,而从B向下走可能进入空闲格子。问题在于,在对称意义上,从A“向下”的动作实际上对应于从B“向左”的动作。

解决这个问题的扩展称为 MDP同态 (MDP Homomorphisms)。它稍微修改了双模拟的定义,允许动作置换以及状态-动作对的聚合。这更符合我们对语义对称性的直觉。

这个例子告诉我们,即使MDP有一个通用的动作空间,我们也不应默认认为符号相同的动作在整个状态空间中意义相同。


近似抽象与层次结构证明思路 📐

在实际中,严格的相等条件可能太强。因此我们定义近似版本的抽象标准,其中允许小的误差 ε_R, ε_P, ε_Q*, ε_π*。当这些误差参数趋于0时,我们就恢复了之前的精确定义。

一个关键的证明目标是建立近似版本下的层次结构定理:

定理(近似版本):如果 φ 是一个 (ε_R, ε_P)-近似双模拟,那么它也是一个 ε_Q*-近似 Q* 相关抽象,其中 ε_Q*ε_Rε_P 的函数,并且当 ε_R, ε_P → 0 时,有 ε_Q* → 0

证明思路

  1. 构造抽象模型:对于近似双模拟,我们不能再唯一定义抽象模型,因为被聚合的状态给出的奖励和转移分布只是相近而非相同。我们可以通过在被聚合的状态上取任意加权平均来定义一个近似的抽象MDP M_φ。由于被平均的量彼此接近,得到的抽象奖励 R_φ 和转移 P_φ 与任何原始状态对应的坍缩分布也接近。
  2. 定义目标函数:令 F 为抽象MDP M_φ 的最优Q函数 Q_{M_φ}*。我们的目标是证明,将 F 提升到原始状态空间后得到的函数 [F]_φ,与原始最优Q函数 Q_M* 在无穷范数意义下接近。
  3. 利用贝尔曼方程:比较 [F]_φ(s,a)Q_M*(s,a)。将它们分别用各自MDP的贝尔曼方程展开,会得到包含 R_φ, P_φ, R, P 的项。
  4. 误差分解:利用近似双模拟的条件(R_φ 接近 RP_φ 接近坍缩后的 P)以及提升算子的性质,可以将差值分解为几部分。其中一部分是瞬时误差(由 ε_Rε_P 控制),另一部分递归地包含 [F]_φQ_M* 的差值本身。
  5. 求解递归不等式:通过类似压缩映射论证的技巧,可以从递归不等式中解出 || [F]_φ - Q_M* ||_∞ 的上界,该上界是 ε_Rε_P 的函数,并且当 ε_R, ε_P → 0 时趋于0。

证明中的一个有用技巧是将抽象映射 φ 表示为一个矩阵 Φ ∈ {0,1}^{|S_φ| × |S|},其中 Φ(x, s) = 1 当且仅当 φ(s) = x。那么:

  • 将原始分布 p 坍缩到抽象空间的操作可以表示为 Φ p
  • 将抽象值函数 v 提升到原始空间的操作可以表示为 Φ^T v

这个矩阵表示简化了许多计算。


总结 🎓

本节课我们一起学习了状态抽象的核心思想:

  1. 动机:为了将表格化方法扩展到大型或连续状态空间,我们需要泛化。状态抽象通过聚合“相似”状态来实现泛化。
  2. 关键问题:在强化学习中定义“状态相似性”比监督学习更复杂,我们探讨了三种候选标准:基于最优动作(π相关性)、基于最优值(Q相关性)、基于模型动态(双模拟/模型相关性)。
  3. 抽象层次结构:这三种标准形成一个严格的层次:双模拟 ⇒ Q相关性 ⇒ π相关性。双模拟是最严格但能提供最强保证的条件。
  4. 抽象模型:一个好的抽象(尤其是双模拟)可以诱导出一个更小的、定义在抽象状态空间上的MDP。在这个小模型上进行规划或学习,其结果可以有效地提升回原始问题。
  5. 近似与扩展:我们讨论了这些标准的近似版本,以及如何将框架扩展到包含动作抽象(同态)。

状态抽象虽然是一种简单的泛化形式,但它迫使我们去形式化强化学习中关于表示和泛化的深刻问题,为理解更复杂的函数逼近方法奠定了基础。

019:状态抽象(续) 🧠

在本节课中,我们将继续深入探讨状态抽象。我们将回顾抽象模型的定义,并通过一个替代证明来更深入地理解“双模拟”抽象的性质。接着,我们将探讨基于不同抽象标准(如Q相关性和π相关性)构建的抽象模型在规划中的表现,并分析其理论保证。最后,我们会简要介绍在强化学习环境中应用状态抽象进行学习的思路。


课程公告与回顾 📢

在进入课程内容之前,有两个简短的公告。

  • 作业二已发布,截止日期大约在两周后的周三上课前。
  • 项目提案的截止日期大约在作业二截止后的10天左右(即大约三周后)。现在可以开始思考项目主题。课程网站上更新了最新的论文参考列表,该列表提供了项目主题选择和范围的详细指导。请注意,该列表仅供参考,如果你选择的论文风格与列表中的论文差异很大,建议提前与我讨论。项目提案并非最终承诺,后续可以更改,它主要是为了让我能提供建设性反馈。

现在,回到课程内容。在上一讲中,我们引入了状态抽象,核心问题是:判断一个给定抽象是否合理的标准是什么?

我们介绍了一个抽象标准的层次结构:π相关性、Q相关性和模型相关性(双模拟)。前两者更直观,而上节课我们重点讨论了为何“双模拟”是一个合理的定义。我们定义了抽象模型 M_φ,它定义在抽象状态空间上,这对今天的课程内容至关重要。

我们还介绍了近似版本和φ矩阵,这是一个方便的线性代数符号。

  • 如果将原始状态空间上的一个分布左乘φ矩阵,相当于将其边缘化到抽象状态空间。
  • 如果将抽象模型上的一个价值函数(低维向量)右乘φ的转置,则将其“拉伸”为原始状态空间上的一个分段常数向量。

因此,φ矩阵便于我们在原始状态空间和抽象状态空间之间来回转换。这两个关系实际上揭示了价值函数和状态分布之间某种对偶性。


深入理解证明:替代视角与更强结论 🔍

在继续今天的新内容之前,我想更深入地剖析上节课的证明,提供一个替代证明,并展示一个更强的结论,以帮助我们理解证明为何能成立。

我们考虑完美抽象的情况,即ε_R = ε_P = 0的精确双模拟。这意味着对于任何满足 φ(s1) = φ(s2) 的状态s1和s2,以及任何动作a,都有 R(s1, a) = R(s2, a),并且转移分布 P(s1, a) 和 P(s2, a) 在通过φ边缘化到抽象空间后是相等的。

我们的目标是证明:在抽象模型 M_φ 中进行规划得到的 Q* 函数,将其“提升”回原始状态空间后,恰好等于原始MDP的 Q* 函数。

上节课我们证明了更一般的近似版本。对于精确版本,这里有一个替代证明,它能证明一个更强的结论。

价值迭代的视角

我们想证明关于 Q* 的结论。之前的证明忽略了如何计算 Q,只是概念上认为给定MDP,Q 是良定义的。但如果我们想实际计算 Q*,一个算法是价值迭代

在原始MDP M 中,价值迭代从任意初始函数 F_0 开始:
F_1 = T_M F_0, F_2 = T_M F_1, ... 最终收敛到 Q_M*。

现在,我们考虑另一种方式。我们将在抽象模型 M_φ 中进行价值迭代。选择任意定义在抽象状态-动作空间上的有界函数 G_0,然后进行迭代:
G_1 = T_{M_φ} G_0, G_2 = T_{M_φ} G_1, ... 最终收敛到 Q_{M_φ}*。

为了建立等价性,我们可以自由选择原始MDP价值迭代的初始函数 F_0。我们选择 F_0G_0 的提升版本,即 F_0(s, a) = G_0(φ(s), a)。这样,我们就同步了初始化。

接下来,我们需要证明:在每一步迭代中,原始MDP迭代得到的函数 F_k,始终是抽象模型迭代得到的函数 G_k 的提升版本。由于 G_0 是任意选择的,我们只需证明第一步成立,然后通过归纳法即可证明整个序列。

核心断言T_M F_0T_{M_φ} G_0 的提升版本。

证明概要
我们从右边开始,展开抽象模型的贝尔曼算子定义:
T_{M_φ} G_0 (φ(s), a) = R_φ(φ(s), a) + γ Σ_{x'} P_φ(x' | φ(s), a) V_{G_0}(x')
其中 V_{G_0}(x) = max_{a'} G_0(x, a')

根据抽象模型参数的定义(由双模拟保证),R_φ(φ(s), a) 就是 R(s, a)。对于转移部分,利用φ矩阵的性质(关键步骤),我们可以将求和转移到另一边:
Σ_{x'} P_φ(x' | φ(s), a) V_{G_0}(x') = P(s, a)^T (φ^T V_{G_0})

由于我们通过初始化假设 F_0G_0 的提升,那么 V_{G_0} 的提升就是 max_{a} F_0。因此,上式变为:
R(s, a) + γ P(s, a)^T (max_{a} F_0)
这正是原始MDP的贝尔曼算子应用于 F_0 的结果,即 T_M F_0(s, a)

因此,我们证明了 T_M F_0 等于 T_{M_φ} G_0 的提升。通过归纳,整个价值迭代序列都保持这种对应关系,而不仅仅是最终结果。

结论:在精确双模拟下,抽象模型的价值迭代过程完全复现了原始模型价值迭代过程(在提升意义下)。这比仅仅证明最终结果相同是一个更强的结论。


关键步骤的直观解释与分布测试的联系 📊

让我们可视化证明中的关键步骤,以理解其本质。关键步骤是:
P(s, a)^T (φ^T V) = (φ P(s, a))^T V

这里,P(s, a) 是原始状态空间上的一个分布。φ^T V 是一个函数,其中 V 是抽象状态空间上的函数。由于φ定义了状态聚合,φ^T V 在原始状态空间上是一个分段常数函数,在每个聚合块内取相同值。

这个等式说明:计算分布 P(s, a) 与一个分段常数函数 φ^T V 的点积(即期望),等价于先将分布 P(s, a) 通过φ边缘化为抽象空间上的分布 φ P(s, a),再计算该分布与抽象函数 V 的点积。

直观理解:由于函数在每个分区内是常数,我们只需要知道分布落在每个分区内的总概率,而不需要关心分布在该分区内的具体细节。因此,我们可以先对分布进行“聚合”,再计算期望。

这引出了一个深刻的见解,它与机器学习中分布测试积分概率度量(IPM) 的概念相关。

在分布测试中,判断两个分布 PQ 是否相同通常很困难。一个实用的方法是:我们只关心它们在一族测试函数(判别器) 上的期望是否相同。我们通过下式来衡量分布间的距离:
sup_{f ∈ F} | E_{x∼P}[f(x)] - E_{x∼Q}[f(x)] |
这就是IPM。

在我们的状态抽象分析中,双模拟条件本质上就是一个IPM条件。它要求:对于任何两个被聚合的状态,它们的转移分布 P(s1, a)P(s2, a) 在通过所有分段常数函数(由抽象φ定义)测试时,期望值相同。即,这两个分布在IPM意义下不可区分,所使用的函数族 F 就是所有基于该抽象φ的分段常数函数。

强化学习的优美之处在于,它给出了一个明确的下游应用场景,从而指明了应该关心哪一族测试函数。这个下游应用就是动态规划策略评估。我们的分析表明,为了保持价值迭代和最优价值函数的性质,我们只需要关心分段常数函数这族测试函数。只要两个分布在每个抽象分区内的总概率相同,它们在强化学习任务中就是等价的,即使它们在同一分区内的具体形态完全不同。


两种视角与通向一般函数近似的桥梁 🌉

关于抽象,有两种不同的思考视角:

  1. 抽象模型视角(自底向上):我们有一个原始状态空间,通过抽象φ将其压缩到一个更低维的抽象状态空间。我们主要在抽象空间中进行推理和规划。
  2. 函数性质视角(自顶向下):我们直接在原始状态空间上考虑函数的性质(例如分段常数性),而不显式地提及抽象状态。

这两种视角也代表了强化学习中两个有影响力的子领域。抽象模型视角带有更多符号AI和模型简化的色彩。而函数性质视角则更接近现代机器学习、统计和函数逼近的思想。

一个重要的问题是:哪种视角能更好地推广到更一般的情况,例如当我们使用神经网络等一般函数逼近器时?

答案是:函数性质视角

当我们使用线性函数逼近或神经网络时,我们很难清晰地指出哪些“抽象状态”被聚合在一起。然而,我们仍然可以讨论价值函数所属的函数空间(例如线性函数空间)及其性质。因此,将状态抽象视为对价值函数空间施加的约束(如分段常数),这种观点更容易推广到一般的函数逼近设置。而显式定义抽象状态和抽象模型的视角,在更一般的设定下会变得非常困难。

强化学习是一个神奇的框架,它让这些来自不同子领域的观点得以交汇和对话。随着课程深入,我们将逐渐从更符号化的方法转向更一般的函数逼近 formulation。


基于不同抽象标准的规划表现 🤔

之前我们过于关注双模拟,现在让我们看看其他抽象标准。一个明显的问题是:如果我们基于一个非双模拟的抽象(例如仅是Q相关或π相关)来构建抽象模型 M_φ 并进行规划,会发生什么?

这里存在一个明显的权衡:只要使用抽象φ进行聚合,我们总能定义一个压缩模型 M_φ。模型更小,规划成本更低。即使对于近似双模拟,我们也可以定义这样的模型。更重要的是,即使对于一个非常糟糕的双模拟抽象(ε_R, ε_P 很大),我们仍然可以按照相同的方式定义 M_φ 并进行规划

那么,如果我们被给予一个仅仅是Q*相关的精确抽象(即 Q* 在该抽象下是分段常数),而该抽象可能严重违反双模拟标准,我们基于它构建的模型 M_φ 可能看起来非常荒谬(例如,它将具有相同长期收益但即时奖励和动态完全不同的状态强行平均在一起)。在这个荒谬的模型中进行规划,能得到好结果吗?

令人惊讶的是,答案是肯定的。这可能是强化学习理论中最反直觉的结果之一。

Q*相关抽象下的规划理论保证

假设我们有一个精确的Q相关抽象(ε_Q = 0)。我们构建模型 M_φ 并进行规划,得到 Q_{M_φ},然后将其提升回原始空间。理论表明,提升后的函数是原始 Q 的一个良好近似,尽管会有一个与折扣因子γ相关的衰减因子。

证明思路(精确情况):
核心是利用Q相关性定义:对于任何 φ(s1) = φ(s2) 和动作a,有 **Q(s1, a) = Q*(s2, a)**。

  1. 将等式两边同时用贝尔曼方程展开一步:R(s1,a)+γ E_{s1'}[V(s1')] = R(s2,a)+γ E_{s2'}[V(s2')]
  2. 由于 Q* 是分段常数,我们可以将其“压缩”到抽象空间,得到一个抽象状态空间上的函数
  3. 可以证明,这个 满足抽象模型 M_φ 中的贝尔曼最优方程。因为贝尔曼最优算子在 M_φ 中有唯一不动点 Q_{M_φ},所以 Q̃ = Q_{M_φ}
  4. 因此,Q_{M_φ}* 的提升就是原始的 Q*。

这个证明的关键在于,我们只将原始贝尔曼算子应用于一个特定的函数——V。Q相关性保证,尽管被聚合的状态的奖励和转移可能天差地别,但当它们与 V* 相互作用时,却会产生相同的输出。在证明中,我们只需要处理 V*,而不需要处理任意函数。

这种性质是状态抽象所特有的。当我们转向一般的函数逼近(如线性函数逼近或神经网络)时,对应的算子可能没有唯一不动点,这个证明就会失效。而之前关于双模拟的证明,则可以更自然地推广到一般函数逼近。

统一视角:检验贝尔曼备份

这些分析揭示了一个共同主题:在思考状态聚合时,我们本质上是在考察贝尔曼算子的行为。抽象标准可以看作在问:对于两个不同的状态,当进行贝尔曼备份时,在什么条件下会得到相同的结果?

  • 双模拟:要求对于所有分段常数函数 f,备份结果相同。
  • Q*相关性:只要求对于 f = V* 这一个特定函数,备份结果相同。

这就足够了。


状态抽象下的学习 🧠

到目前为止,我们只讨论了规划。现在简要介绍在强化学习环境中应用状态抽象。

在表格型强化学习中,样本复杂度通常与状态数量 |S| 线性相关。这是处理复杂问题时的瓶颈。使用状态抽象的一个明显好处是,我们可以假装在一个小得多的抽象状态空间中进行学习,从而降低样本复杂度。

算法思路

  1. 给定抽象φ和一批数据 (s, a, r, s')
  2. 将状态和下一个状态压缩为抽象状态:x = φ(s), x' = φ(s')
  3. 像在表格设置中一样,使用这些数据来估计抽象模型 M_φ 的参数,得到估计模型 \hat{M}_φ
  4. \hat{M}_φ 中进行规划,得到策略。

误差分解与分析
我们关心最终策略在原始MDP中的次优性。可以通过三角不等式将误差分解:

  1. 近似误差(偏差):即使有无限数据,抽象模型 M_φ 的Q与原始Q之间的差距。这正是我们在规划部分分析的内容。
  2. 估计误差(方差):由于有限数据,估计模型 \hat{M}_φ 的Q与真实抽象模型 M_φ 的Q之间的差距。这可以套用表格型设置的分析,但这里的“状态”是抽象状态,每个抽象状态-动作对汇集了更多原始数据。

这体现了偏差-方差权衡

  • 更精细的抽象(如φ接近恒等映射):近似误差小,但每个抽象状态-动作对的数据少,估计误差大。
  • 更粗糙的抽象:近似误差大,但数据聚合效果好,估计误差小。

因此,需要根据问题选择合适的抽象粒度。


总结 📝

本节课中,我们一起深入探讨了状态抽象。

  • 我们首先回顾了抽象层次和φ矩阵,并通过一个替代证明展示了在精确双模拟下,抽象模型能完全复现原始模型的价值迭代过程。
  • 我们通过分布测试IPM的视角,直观理解了双模拟条件的本质:它只要求转移分布在分段常数函数族下不可区分。
  • 我们比较了思考状态抽象的两种视角(抽象模型 vs. 函数性质),并指出函数性质视角更易于推广到一般函数逼近。
  • 我们探讨了基于不同抽象标准(如Q相关性)构建模型并进行规划的反直觉理论保证,并理解了其证明核心在于只关心特定函数(V)下的贝尔曼备份。
  • 最后,我们简要介绍了在学习设置中应用状态抽象的框架,以及其中涉及的偏差-方差权衡。

下一讲,我们将开始讨论更一般的函数逼近方法。

020:P20 状态抽象(续)(视角2)📚

在本节课中,我们将继续深入探讨状态抽象,特别是从“视角2”来理解抽象模型与原始模型之间的关系。我们将回顾并深化对“双向模拟”概念的理解,探讨不同抽象标准(如Q相关性和π相关性)下的模型构建与规划效果,并简要介绍在抽象模型中进行学习的思路。


课程公告与回顾 📢

在进入正题之前,有两个简短的课程公告。

  • 作业2:现已发布,大约两周后(下下周三上课前)截止。助教计划在截止前一天安排一次答疑时间。
  • 项目提案:大约在作业2截止后10天(即本月25、26日左右)提交。现在是开始思考项目选题的好时机。我已更新了项目参考文献列表,其中包含了去年以来我注意到的最新论文。这份列表旨在提供选题方向和范围参考,但不限制你的选择。如果你选择的论文风格与该列表中的论文差异很大,建议提前与我讨论。项目提案不是最终承诺,后续可以更改,其主要目的是让我检查并提供建设性反馈。

回顾:状态抽象与双向模拟 🔄

上一节我们介绍了状态抽象,核心问题是:判断一个给定抽象是否合理的标准是什么?

我们建立了一个抽象标准的层次结构:π相关性、Q相关性和模型相关性(即双向模拟)。前两者更直观,而我们重点讨论了双向模拟作为合理定义的原因。

一旦定义了双向模拟,它会自然地诱导出一个定义在抽象状态空间上的抽象模型。这个模型对于今天的课程内容至关重要。

我们还介绍了近似版本和Φ矩阵,这是一种方便的线性代数表示法:

  • 给定原始状态空间上的一个分布,左乘Φ矩阵相当于将其边缘化到抽象状态空间。
  • 给定抽象模型上的一个价值函数(低维向量),右乘Φ的转置(Φᵀ)相当于将其拉伸回原始状态空间,成为一个分段常数向量。

因此,Φ矩阵便于我们在原始状态空间和抽象状态空间之间来回转换。这揭示了价值函数和状态分布之间的一种对偶关系:Φ负责将状态分布从原始空间边缘化到抽象空间,而Φᵀ则对价值函数起着反向作用。


深入证明:精确双向模拟的替代视角 🔍

现在,我们更深入地审视关于双向模拟的证明,并提供一个替代证明,它能展示更强的结果,并帮助我们理解证明为何能成立。

我们考虑精确双向模拟的情况(即近似参数 ε_R = ε_P = 0)。这意味着对于任意被映射到同一抽象状态(φ(s₁) = φ(s₂))的原始状态 s₁ 和 s₂,以及任意动作 a,都有:

  • 奖励相同:R(s₁, a) = R(s₂, a)
  • 转移分布等价:在边缘化到抽象空间后,P(s₁, a) 和 P(s₂, a) 产生的分布相同(即 ΦP(s₁, a) = ΦP(s₂, a))。

我们的目标是证明:基于此抽象诱导出的抽象模型 M_φ,在其上进行规划得到的 Q* 函数,经提升(lift)回原始状态空间后,完全等于原始 MDP 的 Q* 函数。

之前的证明(包括近似版本)在概念上处理了 Q。现在,我们考虑价值迭代这一具体计算 Q 的算法,来展示一个更强的结论:双向模拟不仅保留了最终的 Q*,实际上精确地复现了整个价值迭代过程

证明思路如下

  1. 在原始 MDP M 中运行价值迭代:Q₀ → Q₁ = T_M Q₀ → Q₂ = T_M Q₁ → ... → Q_∞ = Q_M*
  2. 在抽象 MDP M_φ 中也运行价值迭代:G₀ → G₁ = T_{M_φ} G₀ → G₂ = T_{M_φ} G₁ → ... → G_∞ = Q_{M_φ}*
  3. 我们任意选择抽象空间上的初始函数 G₀,并设定原始空间上的初始函数 Q₀ 为 G₀ 的提升版本:Q₀(s, a) = G₀(φ(s), a)。
  4. 关键在于证明:如果 Q_k 是 G_k 的提升版本,那么经过一次贝尔曼更新后,Q_{k+1} 也必然是 G_{k+1} 的提升版本
  5. 通过归纳法,整个迭代序列将保持同步。最终,当 k→∞ 时,提升后的 Q_{M_φ}* 就等于 Q_M*。

证明的核心步骤在于展示 T_M (提升的 G_k) = 提升的 (T_{M_φ} G_k)。这依赖于双向模拟的定义以及一个关键的线性代数引理(涉及 Φ 和 Φᵀ 的移动)。这个证明不仅更简洁,而且表明了抽象模型与原始模型在动态规划过程中的完全等价性


关键洞见:与分布测试和IPM的联系 🧠

上述证明中的一个关键步骤揭示了状态抽象与机器学习其他领域(如分布测试)的深刻联系。

考虑一个一般性问题:如何判断两个分布 P 和 Q 是否“接近”?在状态抽象中,我们并不要求从不同状态出发的转移分布完全相同,只要求它们在边缘化到抽象空间后相同。

这引出了积分概率度量(IPM) 的概念。IPM 通过一个函数族 F 来度量两个分布的距离:
距离(P, Q) = sup_{f ∈ F} | E_{x∼P}[f(x)] - E_{x∼Q}[f(x)] |
其思想是:如果下游任务只关心分布关于某些函数 f 的期望,那么只要 P 和 Q 对这些 f 给出相同的期望,它们对于该任务就是等价的。

在强化学习的背景下,下游任务就是动态规划(如价值迭代)。我们的分析表明,对于双向模拟抽象,唯一需要关心的函数族 F 正是那些在给定抽象划分下的分段常数函数。只要两个转移分布对所有这些分段常数函数给出相同的期望,它们在价值迭代中就是不可区分的。

因此,状态抽象标准(双向模拟)可以重新表述为一个 IPM 条件:对于任意被聚合的状态和任意动作,其转移分布在分段常数函数类这个测试函数族下是等价的。这为抽象提供了一个基于下游任务需求的坚实解释。


不同抽象标准下的规划效果 ⚖️

之前我们过于关注双向模拟。现在探讨:如果使用仅满足 Q 相关性*(甚至 π* 相关性)的抽象来构建模型并规划,会发生什么?

这里存在一个明显的权衡:任何抽象 Φ 都能压缩状态空间,构建一个更小的模型 M_φ,从而降低规划成本。即使 Φ 不满足双向模拟(即 ε_R, ε_P 可能很大),我们仍然可以定义 M_φ(例如,通过对被聚合状态的奖励和转移取平均),并进行规划。

一个反直觉且强大的理论结果是:即使你用一个仅满足 Q* 相关性的抽象(它可能严重违反双向模拟)构建出一个看起来“荒谬”的模型,在这个模型上进行规划,然后将最优策略提升回原始空间,你仍然能得到一个接近最优的策略!

直觉上的悖论:Q* 相关性只要求长期最优回报相同的状态被聚合。例如,一个股票交易员和一个渔夫,如果他们一年都能赚1万美元,他们就被聚合。由此构建的抽象模型可能会预测:交易员卖出股票后,第二天有50%概率继续交易,50%概率突然跳到海上钓鱼。这显然不合理。然而,规划在这个“荒谬”模型上却行得通。

原因在于证明的关键:在证明中,当我们检查抽象模型的贝尔曼方程时,我们只将原始的最优价值函数 V* 应用于转移分布。而 Q* 相关性的定义保证了,对于那些被聚合的状态,V* 是相同的。因此,尽管模型在局部细节上是错误的,但它关于 V* 的“平均”行为却是正确的,足以固定出正确的 Q*。

这个性质是状态抽象所特有的,难以推广到一般的函数近似(如线性近似或神经网络)。在一般函数近似中,对应的算子可能没有唯一不动点,导致此类证明失效。


抽象模型中的学习 📈

到目前为止,我们讨论的都是规划(已知模型或抽象)。现在简要探讨学习场景。

在表格型强化学习中,样本复杂度通常与状态数 |S| 成正比。使用抽象的一个明显好处是,我们可以假装在一个小得多的抽象状态空间 |X| 中学习,从而显著降低样本需求。

基本算法

  1. 给定抽象 Φ 和收集到的数据 (s, a, r, s')
  2. 将数据压缩:(φ(s), a, r, φ(s'))
  3. 像估计一个普通表格型 MDP 一样,用数据估计抽象模型 M̂_φ。
  4. 在 M̂_φ 中进行规划,得到策略,然后提升回原始空间。

误差分解(与经典机器学习中的偏差-方差权衡类似):
误差 ≤ (规划在理想抽象模型 M_φ 中的误差) + (用有限数据估计 M_φ 产生的误差)

  • 第一项(偏差/近似误差):即使有无限数据,由于抽象本身的信息损失,这部分误差也不会消失。这正是我们前面几节所分析的,与抽象标准(如 ε_Q*)和折扣因子 γ 有关。
  • 第二项(方差/估计误差):随着数据增多而减小。其收敛速率与每个抽象状态-动作对 (x, a) 拥有的平均样本数有关,通常按 1/√n 缩放。

粒度权衡

  • 更精细的抽象(如接近恒等映射):近似误差小,但每个抽象状态-动作对的样本数少,估计误差大。
  • 更粗糙的抽象:近似误差大,但数据聚合效果好,每个抽象状态-动作对的样本数多,估计误差小。

这自然导出了一个关于抽象粒度选择的偏差-方差权衡。


总结 🎯

本节课我们一起深入学习了状态抽象:

  1. 回顾与深化:我们回顾了状态抽象的层次标准,并通过价值迭代的视角,为精确双向模拟提供了一个更深入的替代证明,展示了抽象模型与原始模型在动态规划过程中的完全等价性。
  2. 核心洞见:我们揭示了状态抽象与积分概率度量(IPM)的联系。抽象的有效性可以通过其在下游任务(价值迭代)所需的测试函数族(分段常数函数) 上的表现来理解。
  3. 不同标准的规划:我们探讨了反直觉的理论结果:即使使用仅满足 Q* 相关性(而不满足双向模拟)的抽象来构建模型,在其上进行规划仍然能得到接近最优的策略。这凸显了强化学习理论中基于任务目标的分析力量。
  4. 学习场景:我们简要介绍了在抽象模型中进行学习的框架,并分析了其误差分解,指出了在抽象粒度选择上存在的偏差-方差权衡。

状态抽象为我们提供了在大型状态空间中进行高效规划和学习的工具。下一周,我们将开始探讨更一般的函数近似方法,这将使我们能够处理无法显式枚举甚至无法清晰划分状态的复杂问题。

021:拟合Q迭代算法

在本节课中,我们将学习如何将监督学习的力量引入强化学习,具体介绍一种名为“拟合Q迭代”的核心算法。我们将看到,该算法通过将强化学习问题转化为一系列回归问题,从而能够利用任何现成的监督学习工具。


从值迭代到回归问题

上一节我们讨论了状态抽象这种简单的泛化形式。本节中,我们来看看如何利用更强大的监督学习方法进行函数逼近。

我们从经典的值迭代算法开始。为了逼近最优动作值函数 Q,我们从任意函数 F₀ 开始,反复应用贝尔曼算子 T
Fₖ = T Fₖ₋₁
经过多次迭代,它将收敛到 Q
。类似地,如果使用策略特定的算子 T^π,迭代将收敛到 Q^π

现在,让我们推导如何将其转化为回归问题。首先写出贝尔曼算子:
T F(s, a) = E[R | s, a] + γ E[ max_{a'} F(s', a') | s, a ]
根据期望的线性性质,我们可以将其重写为:
T F(s, a) = E[ R + γ max_{a'} F(s', a') | s, a ]

这个形式的关键在于,右侧的期望项涉及随机变量 (s, a, r, s'),这正是我们从智能体与环境交互中收集到的“转移元组”数据形式。无论数据由何种策略生成,只要数据来自真实的马尔可夫决策过程,rs' 在给定 (s, a) 下的条件分布总是相同的。

因此,值迭代的每一步,本质上都是在逼近一个条件期望函数:
Fₖ(s, a) ≈ E[ Y | X = (s, a) ]
其中,X = (s, a),而标签 Y 定义为:
Y = r + γ max_{a'} Fₖ₋₁(s', a')


拟合Q迭代算法

基于上述洞察,我们可以设计拟合Q迭代算法。该算法将值迭代的每一步都转化为一个监督学习回归问题。

以下是算法的步骤描述:

  1. 初始化:选择一个初始函数 F₀(例如,全零函数)。
  2. 迭代:对于 t = 1, 2, ...,执行以下步骤:
    • 生成标签:使用上一轮的函数 Fₜ₋₁ 和数据集 D(包含转移元组 (s, a, r, s')),为每个数据点计算回归标签:
      yᵢ = rᵢ + γ max_{a'} Fₜ₋₁(s'ᵢ, a')
    • 求解回归:在某个函数类 F(例如,线性函数、神经网络)中,寻找一个函数 Fₜ,使其最小化在数据集上的均方误差:
      Fₜ = argmin_{f ∈ F} Σ_{(sᵢ, aᵢ, yᵢ) ∈ D} ( f(sᵢ, aᵢ) - yᵢ )²
    • 更新函数:将 Fₜ 作为本轮迭代的输出。

这个算法可以看作一个双层结构:高层进行近似的值迭代,而每一轮迭代通过调用一个监督学习“黑盒”(解决回归问题)来实现。


与已有算法的联系

拟合Q迭代是一个通用框架,许多我们已知的算法都是它的特例。

以下是几种特殊情况:

  • 表格型情况:如果函数类 F 是所有定义在有限状态-动作对上的可能函数,那么拟合Q迭代就等价于在经验模型上运行值迭代。
  • 基于抽象的情况:如果 F 是由某个状态抽象 φ 诱导的所有分段常数函数,那么拟合Q迭代就等价于在估计的抽象模型上运行值迭代。
  • 深度Q网络:如果使用深度神经网络作为函数类 F,并用随机梯度下降来求解内部的回归问题,我们就得到了著名的DQN算法及其变种。其中,“目标网络”技术(冻结用于生成标签的网络参数)正是为了稳定这个迭代过程而自然引入的。

算法稳定性与挑战

我们自然希望,如果函数类 F 能够表示真实的最优函数 Q(即可实现性假设),并且在充足数据下,拟合Q迭代就能收敛到 Q。然而,情况并非如此简单。

考虑一个简单的确定性马尔可夫决策过程例子:两个状态,没有动作(或仅一个动作),奖励处处为零。显然,真实值函数 Q = 0。我们使用一维线性函数类 F = { θ * φ(s) },并精心选择特征 φ(s),使得 θ=0 时能精确表示 Q。即使在这样的可实现假设下,并且拥有充分探索的无限数据,拟合Q迭代(或其等价形式TD学习)的更新规则也可能导致参数 θ 指数级增长至无穷大,而非收敛。

这个反例表明,仅靠可实现性不足以保证拟合Q迭代的收敛性


深入理解问题根源:有限视野例子

为了更直观地理解问题所在,我们考察一个有限视野的确定性链式例子。状态从1到10,只有向前转移,中间无奖励,仅在状态10以0.5概率获得奖励1。真实值函数处处为0.5。

在表格型设置中,拟合Q迭代工作良好:我们从末端开始,用经验平均估计状态10的值(约0.5),然后向后传播。

现在引入函数近似的思想:我们限制每个状态只能输出两个候选值之一,其中一个总是正确的0.5(保持可实现性),另一个则是精心设计的略有偏差的值(例如,对于状态10是0.501)。算法必须选择均方误差最小的候选值。

假设由于随机性,状态10的经验平均是0.501,算法选择了0.501。在下一步为状态9生成标签时,会用到状态10的值0.501,从而产生标签0.501。但状态9的候选值可能是0.5和0.502。0.501到两者的距离几乎相等,算法可能选择0.502。错误就这样被放大并向后传播,导致初始状态的预测误差呈指数级增长。

这个例子揭示了关键问题:每一轮回归的目标标签是由上一轮函数 Fₜ₋₁ 定义的,其最佳预测器是贝尔曼更新 T Fₜ₋₁。要准确解决该轮回归,不仅需要函数类包含 Q*,更需要包含 T Fₜ₋₁。


贝尔曼完备性假设

上述分析引出了一个重要的充分性假设——贝尔曼完备性(或称贝尔曼闭包)。

该假设要求函数类 F 在贝尔曼算子下是封闭的:
对于任意 f ∈ F,均有 T f ∈ F。

这意味着,无论前一迭代的函数 Fₜ₋₁ 是什么,其贝尔曼更新 T Fₜ₋₁ 仍然落在函数类 F 中。因此,每一轮的回归问题在其函数类内都是“明确定义”的,可以被很好地解决。这个假设是现代强化学习理论分析中一个非常核心的条件。


总结

本节课中我们一起学习了拟合Q迭代算法。我们了解到:

  1. 该算法通过将值迭代的每一步转化为监督学习回归问题,实现了强化学习到监督学习的归约。
  2. 许多经典算法(表格型值迭代、基于抽象的规划、DQN)都可视为其特例。
  3. 算法的成功需要比“可实现性”更强的条件。反例表明,即使函数类包含 Q* 并拥有无限数据,算法也可能发散。
  4. 问题的根源在于,每一轮回归的目标依赖于上一轮的结果。为了保证迭代的稳定性,需要函数类对贝尔曼更新具有闭包性质,即贝尔曼完备性假设。

理解这一算法框架及其挑战,为我们分析更复杂的函数近似强化学习方法奠定了重要基础。

022:拟合Q算法(视角2) 🧠

概述

在本节课中,我们将学习如何将强化学习问题转化为监督学习问题,并介绍一种名为“拟合Q迭代”的核心算法。我们将看到,即使拥有无限数据,简单的函数逼近也可能导致算法发散,并探讨确保算法成功所需的关键假设。


从值迭代到监督学习

上一节我们讨论了表格化方法和抽象方法。本节中,我们来看看如何利用监督学习的强大能力来解决强化学习问题。

我们希望将强化学习“约简”为监督学习问题,使其看起来像分类或回归任务。这样,我们就可以将其视为黑箱,并使用任何我们喜欢的监督学习工具来解决它。

让我们从经典的值迭代算法开始。为了逼近最优动作值函数 Q*,我们从任意函数 F₀ 开始,并重复应用贝尔曼算子 T

F_{k} = T F_{k-1}

经过多次迭代后,它将收敛到 Q*。类似地,如果我们使用策略特定的算子 T^π,迭代将收敛到 Q^π

现在,让我们推导如何将其转化为回归问题。标准的贝尔曼算子可以写成:

(T F)(s, a) = E[ R(s, a) + γ * max_{a'} F(s', a') | s, a ]

根据期望的线性性质,我们可以将其重写为:

(T F)(s, a) = E[ R(s, a) | s, a ] + γ * E[ max_{a'} F(s', a') | s, a ]

进一步,我们可以将其视为一个条件期望:

(T F)(s, a) = E[ R + γ * max_{a'} F(s', a') | s, a ]

这里的关键洞察是:值迭代的每一步,本质上都是在逼近一个条件期望函数


拟合Q迭代算法

基于上述洞察,我们可以设计拟合Q迭代算法。该算法将值迭代的每一步都转化为一个监督学习回归问题。

以下是算法的步骤:

  1. 初始化:从任意函数 F₀ 开始。
  2. 迭代:对于每次迭代 t = 1, 2, ...
    • 使用当前函数 F_{t-1} 和数据集 D = {(s, a, r, s')} 创建新的回归数据集。
    • 对于数据集中的每个转移元组 (s, a, r, s'),计算回归标签 y
      y = r + γ * max_{a'} F_{t-1}(s', a')
      
    • 现在,我们有了输入-输出对 ( (s, a), y )。我们解决以下平方损失回归问题:
      F_t = argmin_{f ∈ F} Σ_{(s,a,y)} ( f(s, a) - y )^2
      
    • 这里,F 是我们选择的函数类(例如,线性函数、神经网络)。

算法核心:在每次迭代中,我们调用一个监督学习“黑箱”来解决一个回归问题。输入 (s, a) 不变,但标签 y 随着每次迭代而更新。


与已有方法的联系

拟合Q迭代是一个通用框架,我们之前学过的方法都是它的特例。

  • 表格化方法:如果函数类 F 是所有定义在有限状态-动作对上的函数的集合,那么FQI就等价于在估计的表格模型上运行值迭代。
  • 抽象方法:如果 F 是由某个状态抽象诱导的所有分段常数函数,那么FQI就等价于在估计的抽象模型上运行值迭代。

因此,FQI允许我们超越这些简单的函数类,使用更强大的逼近器,如线性模型或深度神经网络。


实现细节:从FQI到Q学习

在实际实现中,我们通常不会在每次迭代中都精确求解回归问题(直到收敛)。相反,我们可能会使用随机梯度下降来优化损失函数。

如果我们对FQI的每次回归步骤应用SGD,并“即时”更新目标网络(而不是等到回归收敛),我们就得到了经典的Q学习算法。在深度强化学习中,为了稳定训练,通常会使用“目标网络”,即冻结用于计算标签的网络参数一段时间,这实际上正是FQI所建议的“分阶段”更新方式。


挑战:为什么函数逼近会失败?

一个自然的猜想是:只要我们的函数类 F 能够表示真实的最优函数 Q(即可实现性假设),并且拥有无限数据,FQI就应该收敛到 Q

然而,这个猜想是错误的。

即使使用最简单的线性函数逼近,并且满足可实现性和充分探索的假设,FQI也可能发散。书中给出了一个反例:一个只有两个状态、一个动作、确定性转移且奖励全为0的MDP。尽管真实值函数为0,并且线性函数类可以完美表示它,但FQI/TD更新会导致参数指数级增长至无穷大。


深入理解:一个直观的反例

为了更直观地理解问题所在,考虑一个有限时域问题:一条长度为10的状态链,从状态1开始,每步转移到下一个状态,中间无奖励,只有在状态10以0.5概率获得奖励1。真实值函数在每个状态都是0.5。

现在,我们模拟FQI,但对函数类施加限制来模拟函数逼近:

  • 在状态10,你只能预测0.5或0.501。
  • 在状态9,你只能预测0.5或0.502。
  • ...
  • 在状态1,你只能预测0.5或一个更大的数(比如0.512)。

假设从数据中计算的状态10的奖励经验平均是0.501。在第一次迭代(对应最后一步)的回归中,你会选择0.501作为状态10的预测值,因为它更接近经验平均。

在第二次迭代(对应倒数第二步),对于状态9,回归标签是 0(即时奖励) + 0.501(下一状态值) = 0.501。但你的函数类只允许预测0.5或0.502。0.501到两者的距离相等,通过某种打破平局的规则,你可能会选择0.502。

错误就这样传播并放大了。每一步,你都被迫选择一个与理想回归目标略有偏差的值,因为你的函数类不够表达。这种误差可能会反向传播并指数级增长,导致初始状态的预测值误差巨大。


关键假设:贝尔曼完备性

上述反例揭示了问题的根源:FQI的每一步都在解决一个回归问题,其最优目标是 T F_{t-1}(对上一轮函数的贝尔曼更新)。要使FQI成功,我们不仅需要 F 包含 Q,还需要 F 在贝尔曼算子下是封闭*的。

这就引出了贝尔曼完备性(或贝尔曼闭包)假设:

对于所有 f ∈ F,都有 T f ∈ F。

换句话说,对函数类中的任何函数应用贝尔曼算子后,得到的新函数仍然属于这个函数类。这个假设保证了FQI每一步要解决的回归问题都是“定义良好”的(即真实回归函数位于函数类中),从而算法可以稳定运行。


总结

本节课中我们一起学习了:

  1. 拟合Q迭代的核心思想:将值迭代的每一步转化为一个监督学习回归问题。
  2. FQI是一个通用框架,表格化和抽象方法是其特例。
  3. 即使满足可实现性和无限数据,简单的函数逼近(如线性)也可能导致FQI发散。
  4. 通过一个直观的反例,我们看到了误差在时间步中传播和放大的机制。
  5. 为了保证FQI的成功,我们需要比可实现性更强的条件——贝尔曼完备性假设,它要求函数类在贝尔曼更新下是封闭的。

理解这些挑战和关键假设,是设计和分析具有函数逼近的强化学习算法的基石。下一讲我们将继续探讨基于这些理论保证的算法分析。

023:拟合Q算法(续)🎯

在本节课中,我们将继续探讨拟合Q迭代算法,深入分析其收敛性问题,并介绍为保证算法稳定性和性能所需的关键假设。我们将看到,即使在函数近似和无限数据的理想情况下,算法也可能发散,这引出了贝尔曼完备性这一核心概念。此外,我们还将探讨如何为价值函数学习构建一个固定的优化目标,并理解数据覆盖性在离线强化学习中的重要性。

回顾与问题引入

上一节我们介绍了拟合Q迭代算法,并讨论了其收敛性。不幸的是,即使具备精确的可实现性、无限数据、线性函数类和策略评估,FQI也可能发散。我们通过一个模拟函数近似的例子看到了问题所在。

FQI本质上是在运行一系列回归问题,以模仿真实的价值迭代。对于每个回归问题,其回归目标或最佳可能预测器是上一轮迭代函数的贝尔曼更新。我们希望函数类能够表示这个函数,即该函数的真实贝尔曼更新。当函数类无法表示该函数时,迭代就会失败,因为你最终只能输出函数类中的某个函数,而这个函数并不在函数类中,因此无法紧密地模仿价值迭代。

这并不意味着算法一定会失败。实际上,我们稍后会看到一些特殊情况。但我们也看到了在某些相当强的假设下,算法确实会失败的例子。因此,在现代强化学习文献中,分析这类适用于大规模状态空间的基于动态规划的算法时,通常需要贝尔曼完备性假设。

贝尔曼完备性假设🔧

贝尔曼完备性假设是为了保证每个回归问题中,函数类始终是“设定正确”的。每个回归问题中,我们从X预测Y。这里,X是状态-动作对(S, A),Y是R + γ * max_{a'} F_{k-1}(S', a')。函数类设定正确意味着我们希望最优预测器T(F_{k-1})位于函数类中,或者函数类能近似捕捉到它。

在FQI的背景下,这就得到了贝尔曼完备性假设:对于函数类F中的任何函数f,其贝尔曼更新T(f)仍然在函数类F中。这保证了每个回归问题的最优预测器都在函数类内。

另一种理解问题的方式是观察FQI的操作。当我们进行回归时,期望损失可以分解为FT(F_{k-1})之间距离的平方,加上一些噪声项。当函数类不包含最优预测器时,我们仍在尝试在函数类中找到该函数的最佳近似。这个寻找某个函数在受限类中最佳近似的操作,可以看作是一种投影操作。

投影操作通常是非扩张的。也就是说,如果你有两个不同的原始点,将它们投影到同一个子空间,使用相同的距离度量,那么投影后两点之间的距离不会增加。这类似于系数为1的收缩映射。

这里似乎存在一个矛盾:我们知道贝尔曼算子T是一个系数为γ < 1的收缩映射。当你将其与另一个非扩张算子组合时,组合后的算子似乎应该仍然是一个收缩映射。然而,实际问题是,当你组合它们时,得到的所谓“投影贝尔曼算子”(即用无限数据运行FQI得到的算子)整体上可能是一个扩张映射。这正是我们在那些反例中看到的指数级发散的根源。

这个组合算子肯定不是一个收缩映射。但根据我们刚才的论证,如果一个收缩映射与一个非扩张映射组合,结果应该仍然是收缩映射。问题在于范数的不匹配。像FQI或任何使用平方损失的动态规划或时序差分算法中隐含的投影,使用的是L2范数下的投影。它在L2范数下是非扩张的,但在L无穷范数下可能是扩张的。而贝尔曼算子T仅在L无穷范数下是收缩映射。因此,将它们组合在一起时,无法得出任何结论。

有趣的是,存在一些特殊的函数类F,使得投影实际上是L无穷范数下的非扩张映射。

以下是这类函数类的一个例子:

  • 分段常数函数:当投影到分段常数函数空间时,投影操作是L无穷范数下的收缩映射。这是因为在每个分段(网格)内,你进行的是某种加权平均。L无穷误差只需分别查看每个网格。很容易证明,取加权平均后,其差异不会超过原始的最大差异。

这帮助我们理解了之前提到的那个反直觉的结果:当你使用与Q*相关的抽象时,即使你的模型给出了荒谬的抽象动态,算法仍然收敛并能提供很好的保证。原因之一就是,对于分段常数函数,这种与回归相关的投影实际上是L无穷范数下的非扩张映射,因此它能与贝尔曼算子很好地组合。

我们将在后续课程中看到另一个特殊情况,其中两个算子的收缩和非扩张所对应的范数能够匹配,从而也能得到稳定的结果和保证。

完备性的含义与挑战

一个有趣的事实是,如果你有一个有限的函数类,你不需要单独假设可实现性(即函数类能够捕捉Q)。贝尔曼完备性本身就已经足够了。也就是说,如果你有这个假设,你将立即得到Q在函数类中。

可以通过反证法来理解:假设Q不在类中。由于函数类有限,可以找到Q的最佳近似。该函数与Q在L无穷误差下有一个确定的距离。然而,通过足够多次的迭代,可以证明总存在一个函数可以无限接近Q,距离小于我们假设的最佳误差,这就产生了矛盾。因此,真正的Q*必须在函数类中。

另一个有趣的事实是,如果我们专注于分段常数函数类F,贝尔曼完备性等价于双向模拟。这实际上是下一道作业题。我们之前已经证明过,当你有双向模拟时,在抽象模型中运行评估等价于在原始模型中运行评估(通过提升操作)。双向模拟条件保证了经过一次迭代后,得到的函数仍然是分段常数。这给出了证明的一个方向(双向模拟蕴含贝尔曼完备性)。另一个方向则更具技巧性,留给大家在作业中解决。

需要明确的是,即使添加了贝尔曼完备性假设,算法在经验上也不一定“收敛”。这里的“收敛”在文献中被滥用,可以指不同的事情。例如,当数据量趋于无穷或计算量趋于无穷时,算法得到正确结果,我们常称之为收敛。但这里我指的是更基本的要求:当你运行FQI很多轮迭代时,至少在数值上变得稳定,并且最终在无限次迭代后给出一个固定的答案。事实证明,它甚至不一定能做到这一点。

然而,如果你有贝尔曼完备性,可以保证当你有足够多的评估迭代时,结果将合理地接近真实的Q*,即使数值解仍在振荡。

构建固定优化目标🔄

到目前为止,我们在FQI中遇到的所有困难和麻烦都源于其迭代性质。在函数近似设置中,你无法直接进行贝尔曼更新(这是一个很好的收缩映射),而是需要注入这些对应于在给定函数空间上进行回归的投影操作,这可能导致各种发散和不稳定性。此外,它不像标准的机器学习那样,你有一个从数据估计的固定目标函数然后最小化它。

因此,如果我们能为学习价值函数写下一个固定的目标函数,那将非常棒,因为这将解决所有这些问题。有了优化问题,你只需优化它。至少当你没有优化好时,你可以看到目标函数表现不佳,也许可以重启或使用其他优化技巧,这样你就不会遇到这些收敛问题。

一个非常自然的目标是贝尔曼误差。我们知道Q*是贝尔曼算子的不动点,即如果F = T(F)在所有状态-动作对上成立,那么F必须等于Q*。因此,很自然地会想,我们如何衡量一个候选函数在多大程度上违反了贝尔曼方程,并将其转化为损失函数。

当然,我们必须基于数据操作,并且要能扩展到大规模状态空间。因此,在衡量距离时,很可能会使用像平方损失这样的方法,即数据上平方误差的期望。但问题是我们没有真实的贝尔曼更新,因为它需要转移概率和奖励函数的知识(主要是转移概率),而这当然是我们不知道的。

我们所知道的是所谓的经验贝尔曼更新,它是T(F)的无偏估计。所以也许我们可以直接使用它。这可能是基于数据提出某种估计的最佳努力。

如果你还记得,上次我们讨论过,当你正确实现FQI时,你需要在这里使用停止梯度。而停止梯度导致了这不是一个定义良好的单一目标函数,因为每次你的F更新,目标函数也会更新。而这里,我们说的是将对F的梯度同时传递到这里和这里。

那么,哪里可能出错呢?我们可以像之前一样进行误差分解。将F(X) - Y的平方分解为F与基于S的最佳可能预测器之差的平方,加上对应于固有标签噪声的部分。第一部分正是我们想要的,它是FT(F)之间的差异,是在数据分布上衡量贝尔曼误差违反程度的一个好指标。但问题在于我们有一个额外的项。

在监督学习中,我们也有这个额外的项,即固有标签噪声。但在监督学习中,我们从未遇到过这个问题,我们忽略它。为什么可以忽略?因为在监督学习中,当你最小化总的平方损失时,本质上也在最小化你的F与最优预测器(即Y给定X的条件期望)之间的距离。为什么可以这样做?因为无论你选择哪个预测器F,那个固有噪声项都不会改变。它在优化目标中是一个常数。所以无论它是否存在,都无关紧要,我们可以直接忽略它。

那么这里为什么出问题?因为这个Y依赖于你的F。这是关键问题。Y扮演了y的角色,但Y中包含F。当你选择不同的F时,这个额外项并不是关于你正在优化的模型参数的常数。只有当它是常数时,你才能说最小化那个可以从数据估计的量,等价于最小化你真正关心的量。但现在这个项不再是常数,所以你不能忽略它。

事实上,如果你观察这个行为,它实际上会偏好平坦的F,因为除了奖励的随机性,造成麻烦的主要部分是F相对于下一个状态转移随机性的方差。如果你的F相对平坦,这一项也会很小,但这并不意味着你的F实际上很好。你的F可能接近Q*,但Q*可能有相当大的第二项,这没关系,这是我们想要的解。但如果你将这两项的和作为一个整体来最小化,你并没有选择Q*作为你的最优解。

有一个设置下这不是问题,那就是确定性转移的设置。如果你有确定性转移,那么奖励误差部分基本上表现得与监督学习设置非常相似,你不需要担心它。真正的问题在于,如果S'是随机的,那么你就会有这个麻烦。在一般的随机设置中,有解决这个问题的方法。

解决双采样问题🎲

第一种解决方法叫做双采样。事实上,正是因为这个解决方法,才给这个问题命了名。如今,当我们提到这个问题时,常称之为双采样问题或双采样难题。原因是当这个问题在1995或96年首次被提出时,论文提出了双采样作为解决方案。

它的做法是:对于数据中看到的每个(S, A),我从同一个(S, A)对中请求两个独立同分布的(R, S')副本。之前我们只有一个副本,我们计算F与经验贝尔曼更新之差的平方。现在有了第二个副本,我们在这里使用一个副本,在那里使用另一个副本。通过使用两个独立副本,你基本上消除了第二项。

这也是一些人在监督学习中做的事情。例如,在大型语言模型时代之前,当你想获得监督学习的标签数据时,你会在亚马逊众包平台上设置任务,发送给人类标注者。但人类并不完美,会犯错误。那么我怎么知道有多少错误呢?在众包平台上,人们会这样做:对于一小部分数据,我会将相同的图像发送给两个不同的人。从数学上讲,你可以建模为在给定相同X的条件下,抽取两个独立同分布的Y。这样做的好处是,它真正帮助回答了一个关键问题:当你运行监督学习时,假设你运行深度学习,在数据上获得了95%的准确率,仍然有5%的准确率损失。你怎么知道这5%是还有改进空间,可以实际达到100%,还是说这5%错误是人类的随机标注错误,是不可减少的?通过这样做,你可以分辨出来。因为对于你当前的预测器F,你可以计算(F(X) - Y) * (F(X) - Y')的期望。通过条件期望和全期望公式,当给定X时,F(X)是确定的,而YY'在给定X下是独立的。独立随机变量的乘积的期望等于期望的乘积。所以两者都给出E[Y|X]。你立即得到E[(F(X) - E[Y|X])^2]。因此,你测量的这个误差立即告诉了你预测器的真实误差,它基本上去除了固有标签噪声。

这里的故事是类似的。通过使用两个独立副本,通过完全相同的数学,你可以证明这个损失的期望恰好等于真实的贝尔曼误差。当然,这个问题在于,只有当你有一个模拟器时,你才能获得两个副本。如果你在真实数据上运行强化学习,你就不能这样做。即使在模拟器中,这也是一个很大的难题。我会声称,没有人真正知道重置到一个状态的正确方法是什么。如果你感兴趣,可以课后问我,我写过一篇论文尝试解决,但从未发表。这是一个非常奇怪的问题,涉及到一些哲学层面,也有一些实际意义,但这里不展开细节。

替代方案:极小极大目标函数⚖️

第二种解决方法不需要访问或双采样,但更复杂。那就是说,我们知道第二项很讨厌,让我们直接估计它并将其减去。我们估计第二项,将其从方程左侧的有偏估计中减去,就好了。第二项基本上是标签噪声。我们使用一个不同的函数类G来尝试进行这里的回归。如果你看,这个G本质上是在尝试执行拟合Q更新。然而,与拟合Q不同,我们并不关心这个函数的参数,我们关心它的主值。因为当你进行最佳可能预测时,这个G等于T(F)。所以当GT(F)时,那正好就是第二项。然后你可以将其从第一个损失中减去。但这里的整个式子变成了F的一个定义良好的损失函数。你仍然需要对F进行最小化。当你写下整个式子并展开时,你有对F的最小化,减去对G的最小化。所以它实际上是一个极小极大目标函数。它的作用是显式地估计这一项,并将其从贝尔曼误差的有偏估计中减去。

现在,我们需要考虑需要什么条件。我们引入了第二个函数类。第一个函数类F的任务是尝试表示Q*。所以至少你需要第一个函数类中的可实现性,因为你最终将输出该类中的一个函数,并且你希望它是Q*。但现在我们有了第二个函数类G,它的工作是很好地完成这个回归,以便你能真正得到贝尔曼误差。那么对这个G类有什么要求?这个G类应该对这个回归问题是设定正确的。这意味着你希望GT(F)。所以T(F)最好位于G类中。你最终得到了这个假设:G需要包含所有FT(F)。这让你想起了什么?我们为FQI讨论过的条件?完备性,对吧。完备性也有这个“对于所有F,我希望捕捉T(F)”。事实上,如果你让G等于F,即对两行使用相同的函数类,你得到的正是贝尔曼完备性。

这是一个非常不同的角度。但不知何故,我们采取了一种完全不同的方法。我们尝试为基于转移数据学习价值函数的强化学习写下一个一致的优化目标,并尝试分析在什么条件下,这个估计是贝尔曼误差的一个良好且一致的估计。我们最终再次得到了贝尔曼完备性。

数据覆盖性假设📊

到目前为止,我们讨论的整个目的是为了激励那些假设,并将它们放在正确的视角中。如果你读一个理论,一开始就列出10个假设,而论文实际上没有解释任何一个,你可能会立即迷失。到目前为止的所有讨论,部分目的就是为了激励贝尔曼完备性假设,我们将在后续分析中使用它。

但事实证明,为了在函数近似下进行一般的强化学习分析,通常需要两种非常不同类型的假设。一种是关于函数类的假设,我们刚刚提出了贝尔曼完备性。在监督学习中,这更简单,你只需假设可实现性,有时你甚至可以不可知,你甚至不需要假设可实现性,但可实现性就足够了。在标准的统计学习理论结果中,例如我们之前用集中不等式所做的,你还需要控制函数类的统计容量。如果你的函数类是有限的,你希望它的对数基数小;如果是连续的,你希望它的VC维等很小。对于这个函数类,我们也将需要这一点。

但在标准的监督学习设置中,你不需要任何其他假设,就可以进行分析了。在强化学习中,我们还没有完成。我们仍然需要做一个大的假设,但到目前为止,在第一层面上,它与函数类完全无关。你能猜到我们需要做什么样的假设吗?

我们试图分析的是拟合Q迭代算法。给你一堆数据,数据是(状态,动作,奖励,下一个状态)。我有一个函数类。现在我很乐意假设我的函数类满足贝尔曼完备性。我要运行这个算法。我想为这个算法提供一个好的保证。那么,你认为我们还缺少什么假设?数据,对吧?在强化学习中,这是关键区别。你有数据探索性的问题。想象一个极端情况:所有数据中的(S, A)都来自完全相同的状态-动作对。那是一个无用的数据集。如果它只告诉我关于单个状态-动作对的知识,我需要某种探索。

在表格设置中,我们如何强制一个探索性的数据集?我们假设什么形式的数据?均匀分割,对吧?在表格设置中,我们要求每个状态-动作对有相对均匀的样本数。我们说,由于这个框架,表格设置中的样本复杂度至少会随状态数量线性增长,因为我至少需要每个状态-动作对一个数据点。在现在的大规模甚至连续状态空间中,你无法再负担得起每个状态-动作对一个数据点。事实上,当你有这些非常大的连续状态空间,并且你的MDP足够随机时,你很可能可以抽取一个非常大的数据集,但不会看到完全相同的状态两次。每个状态都将是唯一的。事实上,即使它们是唯一的,它们覆盖的状态子集也基本上是整个状态-动作空间的一个微小部分,甚至可能是测度为零的集合。你能做什么?

显然,我们需要关于数据的假设,特别是数据分布,它如何覆盖状态空间等等。我们想要的是表格设置中数据覆盖整个状态-动作空间这一思想的扩展。但我们如何用数学形式表达这个想法呢?例如,在表格中,我们知道在状态空间上是相对均匀的;对于抽象,如果我们在每个抽象状态内聚合数据,那么只要每个抽象状态有足够的样本就足够了。但对于大规模状态空间和函数近似,这可能意味着什么?

一个人们经常立即想到的想法,尤其是那些更多来自微积分背景的人,会说:假设状态空间是连续的,比如是Rd,并假设我们的数据分布在该Rd上具有相对均匀的密度。我要告诉你,如果没有额外的非常强的假设(例如该空间上动态的平滑性),这个假设是完全无用的。请记住,我们在课后有过讨论。当你在思考强化学习时,从连续的角度思考是错误的。如果你从规划设置开始思考,我们考虑这些MDP状态转移,本质上它是一个图。你真的应该把它想成一个图结构,真正重要的是这个MDP中的动态以及哪些状态是可达的,哪些不是。这只是一个简单的直觉。

这里我直接给出定义。关于数据的这个假设有一个奇怪的名字,早期人们创造了“浓缩性”这个术语,谁知道那是什么意思。如今我们使用一个更通用的术语叫做覆盖性

基本思想如下:X轴是状态-动作空间的示意图,当然它可以是高维的,但我这里假设它是一维的。你有你的数据分布。为简单起见,假设我们有这个简单的数据生成协议:对于每个数据点,我从某个分布μ中抽取(S, A),然后从中得到(R, S')。那么,这个在状态-动作空间上的μ分布基本上描述了你的数据质量。

你希望它是什么样的?你选择任何在你的FQI算法中可能输出的策略。你可以量化这一点。但现在,假设对于任何策略,你可以在MDP中运行该策略,并查看其折现占用分布。实际上,根据具体的算法和分析工具,有时我们需要查看这个T步占用分布。如果你还记得,它类似于d_T^π。这意味着你有一个关心的初始状态分布。这一点很重要,因为最终我们将只证明关于该初始状态分布的最优性。可以想象,当你有大规模状态空间时,除非在一般情况下有非常强的假设,否则任何L无穷范数都不会起作用,你永远无法保证在巨大的状态空间中的每个状态上都不犯任何错误。之前,当我们展示最优性和所有内容时,我们都有L无穷范数保证。那不再可行了。相反,我们要做的是:我们将有一个特定的初始状态分布,并且我们只关心在该初始状态分布下获得接近最优的结果。当我们定义覆盖性时,我们会谈论在该初始状态分布下的覆盖性。

基本上,你有那个初始状态分布d_0,你运行任何策略π T步,你到达这个T步占用分布。粗略地说,你真正希望的是你的数据在数据分布上提供良好的覆盖。覆盖性究竟意味着什么?你可以选择任何(S, A),然后测量两个密度之间的比率。基本上,你会说,有些状态-动作对d_T^π有非常大的概率或概率密度,但我的数据在那里放置了相对较小的概率密度或概率质量。这没关系,只要它们之间的比率不是太大。

你想要避免的是,有些状态d_T^π会以很高的概率访问,但它基本上没有出现在你的数据中。可以想象,如果你没有任何关于那个状态的信息,你基本上无法真正知道π有多好。因为一方面,你不会知道在那个状态下你会得到什么样的奖励。所以基本上,仅基于你拥有的数据,你无法形成对π有多好的良好估计。如果那不可能,你怎么能可靠地将这个候选策略与其他策略进行比较?

更精确地说,你可以说,对于任何时间步和任何策略π,假设max_{S,A} (d_T^π(S, A) / μ(S, A))这个量小于某个常数C。有很多方法可以放松这个假设,你实际上会在作业中探索其中一些。但在课堂上,为了简单起见,我们将使用这个非常原始的、朴素的假设版本。

我想强调的另一点是,如今很多人对大型语言模型感兴趣,在强化学习的背景下,例如有RLHF和对齐,其中一些覆盖性概念变得非常相关。例如,在RLHF中,你有KL正则化项,它说当你从一个预训练模型开始,并对其做强化学习以改进特定任务或进行对齐时,你使用KL正则化来确保你的模型不会偏离原始模型太远。解释它的另一种方式也是确保你的模型不会偏离太远。例如,如果你正在进行RLHF,本质上你有一个奖励函数,它通常基于从基础模型采样的响应数据来训练。因此,你的奖励主要只在基础模型的响应分布下是准确的。如果你将模型更新到离该区域的基础模型太远,你的奖励模型将不再准确。因此,你希望你的新策略不要离基础模型太远。现在,大多数人认为KL正则化是实现这一目标的有效方式。但事实证明,在理论上并非如此。在理论上,你需要控制这类东西,因为这类分布外泛化正是覆盖性概念所捕捉的。KL正则化是研究和描述这一点的错误数学量。当你的奖励模型仅在分布内表现良好,而你逐渐移出该分布时,你想研究你能走多远,你需要的是覆盖性,而不是KL。我的学生Audrey Huang和MSR的一些合作者最近有一篇论文,正是从理论上讨论了为什么KL是做错了事情,为什么像这样的东西或其改进版本实际上能给你更多保证。我们还有后续论文,试图通过推理时对齐来模仿其中一些内容。

无论如何,我们稍后会实际给出一些例子。事实上,你会在作业中看到一些例子,你会发现即使有超大规模状态空间,这个量也可能很小。

覆盖性与先前分析的统一

现在,让我简要评论一下它如何与我们之前的一些分析统一起来。之前,在表格设置中,我们假设每个状态-动作对有n个数据点。最终,我们得到了一个像1/√n这样的结果。现在,让我们尝试用不同的方式写它。用我们拥有的总数据点数量N来代替n。这个表达式应该仍然等于1/√n。为了让这个表达式等于1/√n,你需要在分子上添加状态和动作的数量,即√(S * A / N)N是总样本数。

稍后你会看到,我们在拟合Q中建立的保证形式类似于√(C / n)乘以其他项。你看到关系了吗?这里的S * A基本上扮演了C的角色。为什么?因为在表格设置中,因为我们假设完全均匀分布,本质上μ就是均匀密度。所以每个状态-动作对的概率质量是1/(S*A)。我们没有对MDP的动态做任何额外假设,所以我们不知道d_T^π可能是什么样子。但它只是一个概率分布,所以它在任何单点上的概率质量不能超过1。在这种情况下,你可以得到覆盖性参数的一个非常粗略的上界,正好是S * A。所以基本上,我们正在以这种新的、更一般的框架重新解释我们在表格设置中的一些结果。它确实更一般,并完全包含了我们之前的内容,因为你可以用均匀数据在表格函数类上运行FQI,它恢复我们在表格设置中所做的。因此,保证应该相互吻合。确实,你得到的就是这个。

覆盖性引理📐

但让我先给你一个快速的结果,作为进一步说明为什么我们需要以这种特定形式衡量覆盖性的先导。为了以更一般的形式书写,假设我们有νμ,两者都是某个空间X上的分布。假设我们有一个函数L,它代表某种损失函数,其中对于任何xL(x) ≥ 0。我们知道在μL(x)的期望小于某个绝对值ε。或者更一般地,我们可以说L^p。例如,L可以是我学习了一些预测器,它与最佳可能预测器的距离是每个输入x的误差L(x)。这里的p可以是2,那么这就是数据分布上的平方损失。

覆盖性本质上帮助你回答的问题是:如果我知道这个,那么关于损失在不同分布ν下的行为,我能说什么?正如你所见,这类似于我们在强化学习中研究的核心问题,它与监督学习中的所谓分布外泛化或分布偏移非常相似。但在监督学习中,那些是扩展设置,你特意研究它们。而在强化学习中,正如你将在分析中看到的,分布偏移和分布外泛化无处不在,它是固有的,是整个强化学习公式的核心。

让我为你快速推导一下。为简单起见,我假设X是有限的。我们从νL^p的期望开始,即∑_x ν(x) L^p(x)。我有条件是针对μ分布的,所以我可以引入μ分布,以便稍后将其与我的条件联系起来。所以写成∑_x (ν(x)/μ(x)) * μ(x) * L^p(x)。你已经看到这个比值出现了。由于νμ是概率分布,比值为非负,L^p也是非负的。我可以将这个比值项替换为其上界C。所以得到C * ∑_x μ(x) L^p(x),即C乘以μL^p的期望。所以E_ν[L^p] ≤ C * E_μ[L^p]

如果你将其转化为范数,例如你实际上关心平方根,通常你会在这里取1/p次方。最终,当我们使用平方损失时,我们总是做与L2范数相关的范数,所以我们实际上会在这里有一个1/√。这就是全部。我们将把所有困难的分析留到周五。

总结

本节课中,我们一起深入探讨了拟合Q迭代算法的收敛性问题,理解了贝尔曼完备性假设的必要性和动机。我们看到了由于价值迭代的投影操作与贝尔曼算子在范数上的不匹配,可能导致算法发散。接着,我们探索了为价值函数学习构建固定优化目标的挑战,特别是“双采样”问题,并介绍了通过极小极大目标函数或双采样技术来解决的方法。最后,我们引入了离线强化学习中的关键概念——数据覆盖性,解释了为什么需要对数据分布进行假设,以及覆盖性如何影响算法的理论保证。这些概念为后续分析大规模状态空间下函数近似强化学习算法奠定了重要基础。

024:拟合Q算法(续)(视角2)🎯

在本节课中,我们将继续深入探讨拟合Q迭代算法,分析其潜在的收敛性问题,并引入贝尔曼完备性这一关键假设。我们还将探讨如何为价值函数学习构建一个固定的优化目标,并理解在函数逼近和大状态空间下,数据覆盖性假设的重要性。

算法回顾与问题引入 🔍

上一节我们介绍了拟合Q迭代算法,并看到了一个反例:即使在函数类可实现、数据无限且充分探索、函数类为线性的简单策略评估场景下,算法也可能发散。

FQI本质上是在运行一系列回归问题,以模仿真实的值迭代过程。对于每个回归问题,其最优预测器是前一次迭代函数的贝尔曼更新值,即 T F_{k-1}。我们希望函数类能够表示这个函数。但当函数类无法表示它时,迭代就会失败,因为我们最终只能输出函数类中的某个函数,而 T F_{k-1} 可能不在该类中,导致无法准确逼近真实价值函数。

贝尔曼完备性:一个关键假设 🧩

为了分析这些适用于大状态空间的算法,现代强化学习理论文献通常需要引入贝尔曼完备性假设。

该假设要求:对于函数类 F 中的任意函数 f,其贝尔曼更新 T f 仍然在函数类 F 中。这保证了每个回归问题中,函数类始终是“设定正确”的。在回归问题中,我们的目标是预测 Y = R + γ max_{a'} f(S', a')。函数类设定正确意味着最优预测器 E[Y | S, A] = (T f)(S, A) 位于函数类中。

从损失分解的角度看,运行平方回归时,损失总可以分解为不可约的固有标签噪声,加上到最优预测器的距离。我们当然希望函数类能包含或近似捕获这个最优预测器。在FQI的语境下,这就导出了贝尔曼完备性假设。

另一种理解FQI操作的方式是将其视为一种投影。我们试图在函数类中找到与真实贝尔曼备份最接近的函数,这类似于将一个点投影到一个子空间上。投影操作通常是非扩张的:将两个不同的原始点投影到同一子空间后,它们之间的距离不会增加。

这里似乎存在一个矛盾:我们知道贝尔曼算子 T 在无穷范数下是一个系数为 γ < 1 的压缩映射。而投影算子在L2范数下是非扩张的。如果将两者组合,似乎应该仍得到一个压缩映射。然而,由FQI(在无限数据下)定义的投影贝尔曼算子整体上可能是一个扩张映射,这正是我们在反例中看到指数发散的原因。

问题的关键在于范数不匹配。投影(隐含在使用平方损失的FQI或任何TD类算法中)使用的是L2范数下的投影,它在L2范数下是非扩张的,但在无穷范数下可能是扩张的。而贝尔曼算子 T 仅在无穷范数下是压缩映射。将两者组合后,无法保证其性质。

特殊函数类与等价性 ✨

有趣的是,存在一些特殊的函数类 F,使得(基于回归的)投影操作在无穷范数下也是非扩张的。

一个例子是分段常数函数类。当将任意函数投影到分段常数函数类时,在每个分段内进行的是加权平均。可以证明,投影后函数的无穷范数误差(即各分段平均值的最大差异)不会超过原始函数间的最大差异。这解释了之前提到的反直觉结果:使用Q*相关抽象时,即使模型给出的抽象动态没有意义,算法仍然收敛并能提供很好的保证。

另一个重要事实是:对于有限函数类,贝尔曼完备性假设本身就意味着可实现性(即 Q* 在函数类中)。可以通过反证法证明:如果Q不在类中,由于函数类有限,存在一个到Q的最佳逼近,其具有固定的无穷范数误差。但根据完备性,从类中任意函数开始进行概念上的值迭代,可以生成无限接近Q的函数序列,这与最佳逼近误差的下界矛盾,因此Q必须在函数类中。

此外,对于分段常数函数类,贝尔曼完备性等价于双模拟条件。这留作课后习题进行证明。

收敛性与目标函数构建 🔄

即使加入了贝尔曼完备性假设,算法在数值上也不一定收敛到一个固定点(可能振荡)。但完备性能保证在经过足够多次迭代后,结果会合理地接近真实的 Q*

FQI的诸多困难源于其迭代性质。在函数逼近设定下,我们需要在贝尔曼更新(一个良好的压缩映射)中插入对应于回归的投影操作,这可能引发各种发散和不稳定性。这与标准机器学习不同,后者通常有一个可从数据估计并直接最小化的固定目标函数。

因此,一个自然的想法是:能否为学习价值函数构建一个固定的目标函数?一个很自然的选择是贝尔曼误差,因为 Q* 是贝尔曼算子的不动点,即 Q = T Q。我们可以检查候选函数 f 在多大程度上违反贝尔曼方程,并将其转化为损失函数。

我们希望基于数据最小化这个损失。一个直接的尝试是使用其无偏估计,即最小化 E_{(S,A) ~ data} [ (f(S,A) - [R + γ max_{a'} f(S', a')] )^2 ]。注意,这与正确实现FQI时需要在前一项 f(S', a')停止梯度不同,这里梯度会同时流过两项。

对这个损失进行分解:

E[ (f(S,A) - [R + γ max f(S',a')] )^2 ] = E[ (f(S,A) - (T f)(S,A) )^2 ] + E[ Var( R + γ max f(S',a') | S,A ) ]

第一项正是我们关心的贝尔曼误差(在数据分布上的加权L2范数)。第二项是固有标签噪声,它依赖于 f

在标准监督学习中,我们可以忽略固有噪声项,因为它在优化时是常数。但在这里,由于“标签” Y = R + γ max f(S',a') 依赖于我们正在优化的 f,第二项不再是常数,因此不能忽略。最小化总损失并不等价于最小化我们真正关心的贝尔曼误差。

解决方案:双重采样与极小极大目标 🛠️

确定性转移的环境中,这个问题不存在,因为下一状态是确定的,噪声项不依赖于 f。在一般的随机环境中,有两种解决方案。

第一种方案是双重采样。对于数据中的每个 (S, A),我们请求两个独立同分布的 (R, S') 副本。构造损失时,用一个副本计算目标值,用另一个副本评估函数值,从而在期望上消除掉讨厌的第二项。但这通常需要模拟器,并且在某些情况下(如如何“重置”到某个状态)会引发复杂问题。

第二种方案是显式估计并减去第二项。我们引入第二个函数类 G,用它来拟合最优预测器 T f。具体地,我们构建如下极小极大目标

min_{f in F} max_{g in G} E[ (f(S,A) - [R + γ max f(S',a')] )^2 - (g(S,A) - [R + γ max f(S',a')] )^2 ]

G 能够完美拟合 T f 时,内层的 max 操作会给出第二项的一个估计,从总损失中减去它,就得到了对贝尔曼误差的估计。这要求对于所有 f in F,都有 T f in G。如果我们令 G = F,那么这个条件就变回了贝尔曼完备性假设。

数据覆盖性:另一个核心假设 📊

在标准监督学习中,除了函数类的容量假设(如VC维),我们通常不需要其他假设。但在强化学习中,我们还需要一个与函数类无关的关键假设——数据覆盖性

在表格设定中,我们假设每个状态-动作对都有均匀的样本。但在大状态空间下,这是不可能的。我们需要一个更一般的概念来刻画数据分布 μ 对可能访问到的状态的覆盖程度。

考虑我们关心的初始状态分布 d_0,以及任何候选策略 π 运行 t 步后得到的占用分布 d_t^π。覆盖性要求对于所有 tπ,密度比 d_t^π(s,a) / μ(s,a) 的上界是一个常数 C。这意味着,任何策略可能以较高概率访问的状态-动作对,在我们的数据分布 μ 中也有足够的概率质量。如果数据完全缺失了某些关键区域,我们将无法可靠地评估相关策略的价值。

这种覆盖性假设统一了我们之前的分析。在表格均匀采样的设定下,μ 是均匀分布(每个状态-动作对的概率为 1/(|S||A|)),而任何分布 d_t^π 在单个点上的概率质量不超过1。因此,覆盖系数 C 的一个粗略上界就是 |S||A|。之前表格设定下的误差界形式为 √(|S||A|/N),这与我们将在新框架下得到的形式 √(C/N) 是一致的。

覆盖性引理 📐

覆盖性假设的一个重要作用是帮助进行分布转移下的泛化分析。考虑一个更一般的形式:设 μν 是空间 X 上的两个分布,L(x) ≥ 0 是某个损失函数。如果我们知道在数据分布 μ 下的期望损失很小,即 E_{x~μ}[L(x)^p] ≤ ε,那么覆盖性允许我们推断在目标分布 ν 下的表现:

E_{x~ν}[L(x)^p] = Σ_x ν(x) L(x)^p = Σ_x [ν(x)/μ(x)] μ(x) L(x)^p ≤ C * E_{x~μ}[L(x)^p] ≤ Cε

p 次根后,我们得到 ν 下的损失被 C^{1/p} 倍的 μ 下损失所控制。对于常用的平方损失 (p=2),这意味着误差界会有一个 √C 的因子。这正是在强化学习分析中,样本复杂度通常出现 √C 项的原因。

总结 📝

本节课我们一起深入探讨了拟合Q迭代算法在函数逼近下的理论问题。

  • 我们理解了算法可能发散的根源在于函数类无法表示迭代中产生的贝尔曼备份,从而引入了贝尔曼完备性这一关键假设来保证回归问题的设定正确性。
  • 我们探讨了为价值学习构建固定目标函数时遇到的双重采样问题,并看到了贝尔曼完备性假设如何自然地出现在其解决方案中。
  • 最后,我们认识到在大状态空间下,除了对函数类的假设,还需要关于数据覆盖性的假设,以确保从数据分布到任何策略访问分布的泛化能力。覆盖系数 C 概括了数据质量,并将之前表格设定下的结果作为特例包含在内。

这些概念和假设为我们在下一节进行严格的理论分析奠定了坚实的基础。

025:误差传播

在本节课中,我们将学习在函数逼近背景下,分析拟合Q评估(FQE)和拟合Q迭代(FQI)算法的误差传播过程。我们将看到,为了确保学习到的价值函数在目标分布上表现良好,需要数据分布对策略诱导的分布具有良好的“覆盖性”。


概述

上一节我们介绍了贝尔曼完备性假设,并讨论了数据覆盖性假设的重要性。本节中,我们将深入分析两个具体算法:用于策略评估的拟合Q评估(FQE)和用于寻找最优策略的拟合Q迭代(FQI)。核心目标是理解如何通过误差传播分析,将算法每一步的回归误差与控制最终价值函数或策略性能的误差联系起来,并明确所需的数据覆盖条件。


拟合Q评估(FQE)分析

FQE算法的目标是利用函数类 F 从数据中学习给定策略 π 的Q函数 Q^π

算法与假设

我们拥有一个由转移元组 (s, a, r, s') 组成的数据集 D,其中状态-动作对 (s, a) 采样自某个数据分布 μ。函数逼近的假设是贝尔曼完备性:对于所有 f' ∈ F,其真实的贝尔曼更新 T^π f' 也属于函数类 F

算法可以形式化地描述为:初始化 f_0 ∈ F,然后对于 k = 1, 2, ..., K,执行:

f_k ← argmin_{f ∈ F} L_D(f, f_{k-1})

其中,经验损失函数 L_D 定义为:

L_D(f, f') = (1/|D|) * Σ_{(s,a,r,s')∈D} [ f(s,a) - (r + γ * f'(s', π)) ]^2

这里,T̂^π f' 表示基于数据集 D 对贝尔曼算子 T^π 的近似。

第一步:集中性分析

集中性分析的目的是证明,对于任意函数 f' ∈ F,算法输出的近似贝尔曼更新 T̂^π f' 与真实贝尔曼更新 T^π f' 在数据分布 μ 下的差异是可控的。

定义总体损失函数 L_μL_D 的期望版本。利用平方损失的标准分解,我们可以得到关键等式:

E_{μ} [ (T̂^π f' - T^π f')^2 ] = L_μ(T̂^π f', f') - L_μ(T^π f', f')

通过集中不等式(如霍夫丁不等式结合一致界),我们可以证明,以高概率,对于所有 f, f' ∈ F,有:

| L_D(f, f') - L_μ(f, f') | ≤ ε'

由于算法选择的 T̂^π f' 在经验损失上是最优的,并且根据贝尔曼完备性假设 T^π f' ∈ F,因此有 L_D(T̂^π f', f') ≤ L_D(T^π f', f')。结合上述一致界,我们最终得到:

E_{μ} [ (T̂^π f' - T^π f')^2 ] ≤ 2ε'

这个结论意味着,在数据分布 μ 下,我们的近似贝尔曼更新是真实更新的良好近似。

第二步:误差传播分析

我们的最终目标是评估学得的函数 f_K 与真实 Q^π 在某个我们关心的分布 d_0(例如初始状态分布)下的差距:

‖ f_K - Q^π ‖_{2, d_0}

这里我们引入了加权p-范数:对于分布 ν 和函数 g,定义 ‖ g ‖{p, ν} = ( E[ |g|^p ] )^{1/p}。使用2-范数并应用三角不等式,我们可以进行分解:

‖ f_K - Q^π ‖_{2, d_0} ≤ ‖ T̂^π f_{K-1} - T^π f_{K-1} ‖_{2, d_0} + ‖ T^π f_{K-1} - T^π Q^π ‖_{2, d_0}

现在,我们分别处理这两项。

处理第一项(近似误差):
第一项衡量的是近似贝尔曼算子的单步误差。我们已在集中性分析中控制了该误差在数据分布 μ 下的平方期望。为了将其转换到目标分布 d_0 下,我们需要一个覆盖性假设:存在常数 C,使得对于所有状态-动作对 (s, a),有 d_0(s, a) / μ(s, a) ≤ C。在此假设下,我们可以推导出:

‖ T̂^π f_{K-1} - T^π f_{K-1} ‖_{2, d_0}^2 ≤ C * E_{μ} [ (T̂^π f_{K-1} - T^π f_{K-1})^2 ] ≤ 2Cε'

处理第二项(贝尔曼收缩):
第二项涉及真实贝尔曼算子。展开 T^π 的定义并利用琴生不等式,我们可以将其与上一迭代的误差联系起来:

‖ T^π f_{K-1} - T^π Q^π ‖_{2, d_0}^2 ≤ γ^2 * E_{s'~P, a'~π| s,a ~ d_0} [ ( f_{K-1}(s', a') - Q^π(s', a') )^2 ]

注意到 s', a' 的联合分布正是策略 πd_0 出发一步后诱导的分布,我们记其为 d_1^π。因此:

‖ T^π f_{K-1} - T^π Q^π ‖_{2, d_0} ≤ γ * ‖ f_{K-1} - Q^π ‖_{2, d_1^π}

迭代与覆盖性要求:
将上述步骤迭代应用 K 次,我们最终会将初始误差 ‖ f_K - Q^π ‖_{2, d_0} 分解为 K 个单步近似误差项加上一个随 γ^K 衰减的残余项。每一次迭代,近似误差项都需要从数据分布 μ 转换到当前步的策略诱导分布 d_t^π 上。因此,要保证最终误差小,我们需要数据分布 μ 能够覆盖策略 πd_0 开始所有可能访问到的状态-动作分布。这就是我们需要的覆盖性假设的本质:对于 t = 0, 1, ..., K-1,需要 d_t^π(s, a) / μ(s, a) 有界。


从FQE到拟合Q迭代(FQI)

FQI与FQE的分析框架非常相似,但目标变为寻找最优Q函数 Q^*。一个关键引理(曾在作业中出现)描述了性能误差的分解。

性能误差引理

假设我们运行FQI得到函数序列 {f_k} 和对应的贪婪策略 {π_k}。令 π^* 为最优策略。那么在初始状态分布 ν 下的性能差距满足:

V^{π^*}(ν) - V^{π_K}(ν) ≤ (2γ/(1-γ)^2) * max_{π ∈ {π^*, π_K}} Σ_{t=0}^{K-1} ‖ f_{t+1} - T f_t ‖_{2, d_t^π}

其中 d_t^π 是策略 π 在时刻 t 的状态-动作分布。

覆盖性含义

上述引理指出,最终策略的性能差距受限于算法每一步的“贝尔曼误差”(即 f_{t+1}T f_t 的近似误差),但这些误差需要在特定分布 d_t^π 下度量。这里的 π 既包括最优策略 π^*,也包括算法自己产生的策略 π_K

因此,为了确保FQI输出近乎最优的策略,我们需要数据分布 μ 能够覆盖:

  1. 最优策略 π^* 诱导的访问分布。
  2. 算法可能输出的任何(贪婪)策略诱导的访问分布。
    这是一种非常强的覆盖性要求,通常需要假设数据对所有可能策略的访问分布都有良好覆盖。

总结

本节课我们一起学习了函数逼近下强化学习的误差传播分析。

  • 我们首先分析了拟合Q评估(FQE),展示了如何通过集中性分析控制单步回归误差,并通过误差传播分析将最终价值函数误差与数据覆盖性假设联系起来。覆盖性要求数据分布能覆盖目标策略的访问分布。
  • 接着,我们探讨了拟合Q迭代(FQI) 的分析,其核心是一个性能误差分解引理。该引理表明,要保证输出策略的性能,需要数据能覆盖最优策略以及算法自身可能产生的策略的访问分布。
  • 这些分析揭示了导致值函数近似不稳定的“致命三要素”:自举目标、函数近似和异策略数据分布。只有当这三者同时存在,且缺乏相应的完备性或覆盖性假设时,算法才容易出现发散或不收敛的问题。

理解误差传播和覆盖性假设,是设计稳定、可靠的函数逼近强化学习算法的理论基础。

026:误差传播(视角2)🎯

在本节课中,我们将学习在函数近似设定下,分析拟合Q评估(FQE)和拟合Q迭代(FQI)算法的误差传播过程。我们将看到,为了确保学习到的价值函数在目标分布上表现良好,数据分布必须对目标策略诱导的占用度量具有良好的“覆盖性”。


概述 📋

上一节我们介绍了贝尔曼完备性假设和数据覆盖性假设的重要性。本节中,我们将通过分析FQE和FQI算法,具体展示这些假设如何在误差传播分析中发挥作用。核心在于,我们通过回归在数据分布上控制单步误差,然后利用覆盖性系数将这些误差的保证推广到我们关心的目标分布上。


拟合Q评估(FQE)算法分析 🔍

FQE算法的目标是,给定一个策略π和一个函数类F,从数据中学习其动作价值函数Qπ。

算法设定

我们拥有数据集 D,其中包含由某个数据分布 μ 采样的转移元组 (s, a, r, s')。算法迭代进行,在每次迭代k中,我们通过最小化以下经验损失来更新函数:

L_D(f, f_{k-1}) = \frac{1}{|D|} \sum_{(s,a,r,s') \in D} \left( f(s, a) - [r + \gamma f_{k-1}(s', \pi)] \right)^2

然后令 f_k = \arg\min_{f \in F} L_D(f, f_{k-1})。这可以看作是用一个数据依赖的算子 \hat{T}^\pi_F 来近似真实的贝尔曼算子 T^\pi

第一步:浓度分析(单步误差控制)

我们的第一个目标是证明,对于任意函数 f' ∈ F,由算法产生的近似贝尔曼备份 \hat{T}^\pi_F f' 在数据分布 μ 下接近真实的贝尔曼备份 T^\pi f'

关键分解:利用平方损失的标准分解,我们可以将真实期望损失 L_μ(f, f') 写为:

L_\mu(f, f') = \mathbb{E}_{(s,a) \sim \mu} \left[ (f(s,a) - T^\pi f'(s,a))^2 \right] + \mathbb{E}_{(s,a) \sim \mu} \left[ \text{Var}(r + \gamma f'(s', \pi) | s, a) \right]

第二项是固有噪声,与f无关。因此,最小化 L_\mu 等价于最小化第一项,即让 f 接近 T^\pi f'

均匀收敛:通过集中不等式(如霍夫丁不等式结合覆盖数),我们可以证明,对于所有 f, f' ∈ F,经验损失 L_D 与其期望 L_μ 是接近的,即 |L_D(f, f') - L_\mu(f, f')| ≤ ε'

结合算法:算法选择的 f_k 在经验损失上是最优的,因此有 L_D(f_k, f_{k-1}) ≤ L_D(T^\pi f_{k-1}, f_{k-1})。利用贝尔曼完备性假设(T^\pi f_{k-1} ∈ F)和均匀收敛性,我们可以推导出:

\mathbb{E}_{(s,a) \sim \mu} \left[ (\hat{T}^\pi_F f_{k-1}(s,a) - T^\pi f_{k-1}(s,a))^2 \right] \leq 2\varepsilon'

这证明了在数据分布 μ 下,我们的近似单步贝尔曼备份是准确的。

第二步:误差传播与覆盖性假设

现在,我们希望控制最终输出函数 f_K 与真实 Q^π 在我们关心的某个初始状态-动作分布 d_0 下的误差。

引入加权范数:为了便于使用三角不等式,我们定义加权L2范数:对于分布 d 和函数 g\|g\|_{2,d} = \sqrt{\mathbb{E}_{(s,a) \sim d}[g(s,a)^2]}

误差分解:我们可以将总误差分解为单步近似误差和贝尔曼算子应用误差:

\|f_K - Q^\pi\|_{2,d_0} \leq \|\hat{T}^\pi_F f_{K-1} - T^\pi f_{K-1}\|_{2,d_0} + \|T^\pi f_{K-1} - T^\pi Q^\pi\|_{2,d_0}
  1. 处理第一项(单步近似误差):我们在第一步中已经在分布 μ 下控制了该项的平方。为了将其转换到分布 d_0 下,我们需要覆盖性假设。具体来说,我们需要假设密度比 d_0(s,a) / μ(s,a) 是有界的(即 \|d_0/\mu\|_\infty ≤ C)。这样,我们有:

    \|\hat{T}^\pi_F f_{K-1} - T^\pi f_{K-1}\|_{2,d_0} \leq \sqrt{C} \cdot \|\hat{T}^\pi_F f_{K-1} - T^\pi f_{K-1}\|_{2,\mu} \leq \sqrt{2C\varepsilon'}
    
  2. 处理第二项(贝尔曼收缩):展开 T^\pi 的定义并利用琴生不等式,我们可以得到:

    \|T^\pi f_{K-1} - T^\pi Q^\pi\|^2_{2,d_0} \leq \gamma^2 \mathbb{E}_{(s,a) \sim d_0, s'\sim P(\cdot|s,a), a'\sim\pi(\cdot|s')} \left[ (f_{K-1}(s',a') - Q^\pi(s',a'))^2 \right]
    

    注意到 (s', a') 的分布正是策略 π 从 d_0 出发一步后诱导的分布,我们称之为 d_1^\pi。因此,这一项变成了 γ \|f_{K-1} - Q^\pi\|_{2, d_1^\pi}

递归与覆盖性需求:现在,我们对 \|f_{K-1} - Q^\pi\|_{2, d_1^\pi} 重复上述分析过程。在每一步 t,我们都需要用数据分布 μ 去覆盖当前步骤的分布 d_t^\pi,并支付一个覆盖系数 C_t。最终,经过K步递归后,总误差会被一个几何级数所控制,并包含一个 γ^K 的残差项(对应于有限迭代的误差)。

结论:为了确保在初始分布 d_0f_K 能很好地近似 Q^\pi,我们需要数据分布 μ 能够覆盖策略 π 从 d_0 出发所诱导的所有 t=0,1,...,K-1 步的状态-动作分布 d_t^\pi。这就是策略评估所需的覆盖性假设


从FQE到拟合Q迭代(FQI)⚡

FQI与FQE的分析框架非常相似,但目标变为近似最优价值函数 Q^*,算子变为 T(取max的贝尔曼最优算子)。

核心引理

分析依赖于一个关键的性能误差分解引理(已在作业中出现)。该引理表明,FQI输出策略 \hat{\pi}(关于最终价值函数 f_K 的贪婪策略)与最优策略 \pi^* 的性能差距,可以被一系列单步贝尔曼备份误差项所控制。

以下是该引理的核心表述:
f_0, ..., f_K 是FQI迭代产生的函数,\hat{\pi}_K 是相对于 f_K 的贪婪策略。那么,对于任意初始状态分布 d_0,存在某个分布序列 {d_t}(与策略 \pi^*\hat{\pi}_K 的占用度量相关),使得性能差距满足:

V^{\pi^*}(d_0) - V^{\hat{\pi}_K}(d_0) \leq \frac{2\gamma}{(1-\gamma)^2} \max_{t, f} \| T f - \hat{T}_F f \|_{2, d_t}

其中 \hat{T}_F f 是算法在数据上对 T f 的近似。

覆盖性假设的作用

在这个分解中,每个误差项 \| T f - \hat{T}_F f \|_{2, d_t} 都需要被控制。和FQE分析一样,我们首先在数据分布 μ 下控制这些误差。然后,为了将其与性能差距联系起来,我们需要假设数据分布 μ 能够覆盖引理中出现的所有分布 d_t。这些 d_t 既包括最优策略 \pi^* 诱导的分布,也包括算法产生的中间策略 \hat{\pi}_k 诱导的分布。

由于我们无法预知算法会产生哪些中间策略,一个充分(但可能更强)的假设是:数据分布 μ 能够覆盖所有可能策略在若干步内诱导的分布。这就是我们之前提到的强覆盖性假设

结合分析

将浓度分析(证明在 μ 下单步误差小)与上述误差分解引理结合,并利用覆盖性系数将 μ 下的误差界转移到各个 d_t 分布上,我们最终可以证明:在适当的覆盖性和贝尔曼完备性假设下,FQI输出的策略是接近最优的。


总结与直观理解 🎓

本节课我们一起学习了函数近似下基于动态规划的RL算法的误差传播分析。

  1. 分析模式:分为两步。首先是浓度分析,证明在训练数据分布 μ 上,我们的函数近似能够准确执行单步贝尔曼备份。其次是误差传播分析,研究这些单步误差如何累积并影响最终的价值函数估计或策略性能。
  2. 覆盖性的核心作用:误差传播分析会引入一系列我们关心的目标分布(如策略π的占用度量)。覆盖性假设(密度比有界)是连接“在训练分布 μ 上误差小”和“在目标分布上误差小”的桥梁。没有覆盖性,算法在未见过的状态-动作对上可能产生任意大的误差。
  3. 不稳定的“致命三角”:分析揭示了导致值函数近似不稳定的三个因素:自举(Bootstrapping)函数近似异策略(Off-policy)数据。我们的分析正是在努力克服后两者结合带来的分布偏移挑战。
  4. 加权范数的实用性:使用分布加权的L2范数 \|·\|_{2,d} 代替无穷范数,使得分析更贴合平均性能,并避免了与状态空间大小相关的维度依赖,是现代理论分析中的常用工具。

通过本节课,你应该理解为何在函数近似RL中,单纯的最小化平方误差并不足够,以及为何数据的覆盖性对于算法的理论保证至关重要。

027:重要性采样

在本节课中,我们将学习一个独立但非常重要的主题:重要性采样。我们将探讨其基本概念、在强化学习(特别是离轨策略评估)中的应用,并通过具体例子理解其工作原理和潜在问题。


概述

离轨策略评估(OPE)是强化学习中的一个核心问题,其目标是在无法直接执行目标策略的情况下,仅使用从另一个行为策略收集的数据来评估该目标策略的性能。这在现实世界应用中至关重要,例如在医疗或推荐系统中,我们不能随意部署未经测试的策略。重要性采样提供了一种无需额外函数逼近假设的方法来解决这个问题。

上一节我们介绍了离轨策略评估的背景和挑战,本节中我们来看看重要性采样的基本框架。


蒙特卡洛估计回顾

首先,我们回顾一个基础问题:蒙特卡洛估计。假设我们有一个定义在空间 X 上的分布 P 和一个实值函数 F。我们的目标是估计 F 在分布 P 下的期望值:

公式: E_{x∼P}[F(x)]

如果我们有从 P 中独立同分布采样的数据 {x_1, x_2, ..., x_N},那么蒙特卡洛估计量就是样本均值:

公式: (1/N) * Σ_{i=1}^{N} F(x_i)

根据霍夫丁不等式,只要 F 有界,该估计量就能以高概率收敛到真实期望值,且所需样本数与状态空间的维度无关。

然而,问题在于我们可能无法从目标分布 P 中采样。相反,我们只有从另一个分布 Q(行为策略)中采样的数据。这就引出了重要性采样。


重要性采样基础

重要性采样允许我们使用从分布 Q 采样的数据来估计在分布 P 下的期望。其核心思想是通过一个权重比(即重要性权重)来校正分布间的差异。

重要性采样估计量定义如下:

公式: E_{x∼Q}[(P(x)/Q(x)) * F(x)]

其中,P(x)/Q(x) 被称为重要性权重或密度比。

以下是其无偏性的证明:

证明:
E_{x∼Q}[(P(x)/Q(x)) * F(x)] = Σ_x Q(x) * (P(x)/Q(x)) * F(x) = Σ_x P(x) * F(x) = E_{x∼P}[F(x)]

直观上,重要性权重在期望上起到了将采样分布 Q 转换为目标分布 P 的作用。它会对那些在 P 下概率更高、在 Q 下概率更低的数据点进行上采样,反之则进行下采样。


重要性采样的关键性质

在深入强化学习应用前,我们先了解重要性权重的一些关键性质。

  • 期望为1: 在数据采样分布 Q 下,重要性权重的期望值为1,即 E_{x∼Q}[P(x)/Q(x)] = 1
  • 覆盖率要求: 为了保证无偏性,必须满足 P(x) > 0 ⇒ Q(x) > 0。如果 Q(x) 在某些 P(x)>0 的区域概率为零或极低,会导致重要性权重无限大或方差巨大,使估计失效。
  • 与之前分析的联系: 我们在分析Fitted Q等算法时,也隐式地用到了类似“分布转换”的思想(称为测度变换),但重要性采样是将这个权重比显式地用在了估计算法中。

在上下文赌博机中的应用

现在,我们将重要性采样框架应用于一个具体的强化学习场景:上下文赌博机(可视为 horizon=1 的有限时域MDP)。

问题设定:

  • 我们有从行为策略 π_B 收集的数据:(s, a, r) ∼ (d_0, π_B, R)
  • 我们想评估目标策略 π 的性能:J(π) = E_{(s,a,r)∼(d_0, π, R)}[r]

映射到重要性采样:

  1. X(数据点): 整个三元组 (s, a, r)
  2. P(目标分布):(d_0, π, R) 生成的 (s, a, r) 的联合分布。
  3. Q(采样分布):(d_0, π_B, R) 生成的 (s, a, r) 的联合分布。
  4. F(目标函数): 奖励函数 r,即 F(s,a,r) = r

计算重要性权重:
联合分布可以分解为链式形式:

  • P(s,a,r) = d_0(s) * π(a|s) * P(r|s,a)
  • Q(s,a,r) = d_0(s) * π_B(a|s) * P(r|s,a)

计算比值时,与策略无关的项(初始状态分布 d_0 和奖励分布 P(r|s,a))会被抵消:

公式: P(x)/Q(x) = π(a|s) / π_B(a|s)

因此,重要性采样估计量简化为:

公式: (1/N) * Σ_{i=1}^{N} [ (π(a_i|s_i) / π_B(a_i|s_i)) * r_i ]

这个结果非常优雅:我们只需要知道两个策略在已观测到的状态-动作对上的概率比,而不需要知道环境的动态模型。


一个特例分析:确定性目标策略与均匀行为策略

为了更深入理解,我们分析一个特例:目标策略 π 是确定性的(对每个状态 s 输出一个特定动作 π(s)),行为策略 π_B 是在所有动作上均匀随机。

在这种情况下,重要性权重变为:

公式: ρ = [ 1_{a = π(s)} ] / (1/|A|) = |A| * 1_{a = π(s)}

其中 |A| 是动作空间大小,1_{·} 是指示函数。

这意味着:

  • 如果数据中的动作 a 恰好是目标策略想采取的动作 π(s),则权重为 |A|
  • 否则,权重为 0。权重为 0 的数据点实际上被“丢弃”了。

两种理解视角:

  1. 丢弃数据点视角: 我们只保留那些随机动作“命中”目标动作的数据点,并计算其奖励的平均值。有效样本量减少为原来的 1/|A|
  2. 加权平均视角: 我们使用所有数据点,但大部分点权重为0,少数点权重很大(|A|)。样本量未变,但估计量的取值范围变大了。

方差分析:
计算该重要性权重在分布 Q 下的方差:

  • E[ρ] = 1
  • E[ρ^2] = |A|^2 * (1/|A|) = |A|
  • Var(ρ) = E[ρ^2] - (E[ρ])^2 = |A| - 1

虽然估计量的方差随动作数 |A| 线性增长,但相比于其取值范围 [0, |A|] 所对应的最坏情况方差(约 |A|^2),这个方差实际上相对较低。这是因为重要性权重的分布极不均匀(大部分概率集中在0附近)。霍夫丁不等式只关心取值范围,因此对于重要性采样估计量的浓度性分析可能过于宽松。更紧的界(如伯恩斯坦不等式)可以考虑方差信息。


一个揭示问题的极端例子

考虑一个更极端的特例:在上述设定基础上,假设奖励 r 恒为某个常数 c。那么目标策略的真实性能 J(π) = c

  • 在轨蒙特卡洛估计: 如果直接从 π 采样,每次得到的奖励都是 c,估计量方差为零。
  • 重要性采样估计: 估计量为 (1/N) Σ_i ρ_i * c。其方差为 Var( (1/N) Σ_i ρ_i * c ) = (c^2 / N) * Var(ρ) = (c^2 / N) * (|A| - 1)

即使在这个平凡的问题中,重要性采样估计量仍然有方差!这与“丢弃数据点后求平均”的直觉似乎矛盾。

矛盾解析:
重要性采样估计量等价于:
( |A| / N ) * Σ_{i: a_i = π(s_i)} r_i
注意,这里我们除以的是固定值 N,而不是随机变量“命中”的数据点个数 M。真正的平均值应该除以 M。重要性采样除以的是 M 的期望值 E[M] = N/|A|M 的随机波动正是方差的来源。

这个例子说明了普通重要性采样可能存在的方差问题。


实践注意事项

在应用重要性采样进行离轨策略评估时,有两点重要的实践考虑:

  1. 数据收集时的探索: 为了确保重要性权重有界,行为策略 π_B 需要对目标策略 π 可能采取的动作提供足够的覆盖。通常的做法是像ε-贪婪策略那样,在确定性策略基础上注入一定的随机性。
  2. 记录日志概率: 为了后续计算重要性权重 π(a|s)/π_B(a|s),在收集数据时,除了存储 (s, a, r) 外,必须同时存储行为策略选择该动作的概率 π_B(a|s)。这个值通常被称为“日志概率”或“提议概率”。仅存储动作本身是不够的。

总结

本节课中我们一起学习了重要性采样的核心思想。我们从基础的蒙特卡洛估计出发,导出了重要性采样估计量,并证明了其无偏性。随后,我们将其应用于上下文赌博机的离轨策略评估问题,展示了如何通过策略概率比来抵消未知的环境动态。通过分析确定性策略与均匀随机行为策略的特例,我们深入探讨了重要性采样的工作原理、方差特性以及其潜在的方差问题。最后,我们讨论了在实际应用中确保重要性采样有效的关键步骤。在下一讲中,我们将探讨如何改进重要性采样以降低其方差。

028:重要性采样(视角2) 👨‍🏫

在本节课中,我们将学习一个独立且重要的主题:重要性采样。我们将从一个简单的蒙特卡洛估计问题出发,逐步引入重要性采样的概念,并探讨其在强化学习(特别是离轨策略评估问题)中的应用。课程最后,我们会通过一个上下文赌博机的具体例子,来直观理解重要性采量的工作原理及其潜在挑战。


概述 📋

离轨策略评估(OPE)是强化学习中的一个核心问题:我们希望通过从某个行为策略 π_b 收集到的数据,来评估另一个目标策略 π 的性能。这在现实世界应用中至关重要,因为我们无法总是直接部署新策略来测试其效果。重要性采样提供了一种无需引入额外函数逼近假设的方法来解决此问题。

上一节我们介绍了离轨策略评估的基本动机,本节中我们来看看重要性采样的具体形式及其性质。


从蒙特卡洛估计到重要性采样 🔄

首先,我们考虑一个基础的蒙特卡洛估计问题。假设我们有一个定义在空间 X 上的分布 P 和一个实值函数 F。我们的目标是估计 F 在分布 P 下的期望值:

公式:
E_{x∼P}[F(x)]

如果我们能够从 P 中独立同分布地采样得到数据 {x_1, x_2, ..., x_n},那么蒙特卡洛估计量就是简单的经验均值:

公式:
(1/n) * Σ_{i=1}^{n} F(x_i)

根据霍夫丁不等式,只要 F 有界,该估计量就能以与空间 X 维度无关的速率收敛。

然而,问题在于我们可能无法从目标分布 P 中采样。相反,我们只有从另一个不同分布 Q(称为行为分布或采样分布)中收集到的数据。这就是离轨的情况。

那么,我们能否基于来自 Q 的样本来估计 P 下的期望呢?重要性采样给出了肯定的答案。


重要性采样基础 🧮

重要性采样估计量的基本形式如下。对于每个来自 Q 的样本 x,我们计算一个权重,即重要性权重密度比 P(x)/Q(x),然后用它来修正函数值 F(x)

重要性采样估计量公式:
E_{x∼Q}[(P(x)/Q(x)) * F(x)]

这个估计量的关键在于其无偏性。我们可以证明,它在 Q 分布下的期望值恰好等于我们想要估计的 P 分布下的期望值:

证明:
E_{x∼Q}[(P(x)/Q(x)) * F(x)] = Σ_x Q(x) * (P(x)/Q(x)) * F(x) = Σ_x P(x) * F(x) = E_{x∼P}[F(x)]

直观上,重要性权重 P(x)/Q(x) 的作用是“重新加权”来自 Q 的样本。对于在 P 下概率高但在 Q 下概率低的 x,该权重会增大其贡献;反之,对于在 Q 下概率高但在 P 下概率低的 x,该权重会减小其贡献。通过这种方式,在期望上,我们将分布从 Q “转换”到了 P

以下是关于重要性采样的几个关键点:

  • 重要性权重的期望:在数据采样分布 Q 下,重要性权重的期望值为1,即 E_{x∼Q}[P(x)/Q(x)] = 1。这可以令 F(x) ≡ 1 来验证。
  • 覆盖假设:为了使估计量有效(尤其是保证无偏性),我们需要 QP 提供充分的“覆盖”。形式化地说,对于所有满足 P(x) > 0x,必须有 Q(x) > 0。否则,权重可能变成无穷大,导致估计失效。
  • 方差与浓度:估计量的方差不仅取决于 F 的范围,还取决于重要性权重 P(x)/Q(x) 的范围。即使 F 有界,如果 PQ 在某些区域差异巨大,权重可能非常大,导致估计量方差很高,进而影响基于霍夫丁不等式的浓度界质量。


应用于上下文赌博机 🎰

现在,我们将重要性采样框架应用于强化学习中的一个具体问题:上下文赌博机的离轨策略评估。上下文赌博机可以看作是 horizon=1 的有限时域MDP。

问题设定:

  • 我们有一个目标策略 π(想要评估的策略)和一个行为策略 π_b(用于收集数据的策略)。
  • 数据以元组 (s, a, r) 的形式收集,其中状态 s 来自初始分布 d_0,动作 a 来自 π_b(·|s),奖励 r 来自奖励分布 R(·|s,a)
  • 目标是估计目标策略 π 的期望收益 J(π) = E_{(s,a,r)∼π}[r]

我们需要将这个问题映射到重要性采样的四个要素上:x, P, Q, F

以下是映射关系:

  • 数据点 x:每个数据点是一个完整的三元组 (s, a, r)
  • 目标分布 P:由目标策略 π 诱导的 (s, a, r) 的联合分布。其概率为 d_0(s) * π(a|s) * P_R(r|s,a)
  • 行为分布 Q:由行为策略 π_b 诱导的 (s, a, r) 的联合分布。其概率为 d_0(s) * π_b(a|s) * P_R(r|s,a)
  • 函数 F:函数 F 从三元组中提取奖励,即 F(s, a, r) = r

现在,构建重要性采样估计量。重要性权重为 P(x)/Q(x)

公式:
权重 = [d_0(s) * π(a|s) * P_R(r|s,a)] / [d_0(s) * π_b(a|s) * P_R(r|s,a)] = π(a|s) / π_b(a|s)

令人惊喜的是,未知的初始状态分布 d_0 和奖励分布 P_R 在比值中被抵消了!我们只需要知道两个策略在观测到的状态-动作对上的概率。

因此,上下文赌博机的重要性采样估计量简化为:

公式:
J_IS(π) = (1/n) * Σ_{i=1}^{n} [π(a_i|s_i) / π_b(a_i|s_i)] * r_i

其中,(s_i, a_i, r_i) 是来自数据集(由 π_b 生成)的第 i 个样本。


一个特例分析:确定性目标策略与均匀行为策略 🔍

为了更深入地理解,我们考虑一个特例:

  • 目标策略 π确定性的。对于每个状态 sπ 以概率1选择一个特定动作,记为 π(s)
  • 行为策略 π_b均匀随机的,即对于所有动作 aπ_b(a|s) = 1/|A|,其中 |A| 是动作空间大小。

在这个设定下,重要性权重 ρ 变为:

公式:
ρ = π(a|s) / π_b(a|s) = [I{a = π(s)}] / (1/|A|) = |A| * I{a = π(s)}

这意味着:

  • 如果数据中的动作 a 恰好是目标策略想选的动作 π(s),则权重为 |A|
  • 否则,权重为 0

因此,估计量实际上丢弃了所有动作不匹配的数据点,只保留那些动作匹配的数据点,并将它们的奖励乘以 |A| 后再平均。

我们可以计算这个权重随机变量(在 Q 分布下)的方差:

公式:
Var_{Q}[ρ] = E_Q[ρ^2] - (E_Q[ρ])^2 = E_Q[ρ^2] - 1

由于 ρ^2 = |A|^2 * I{a = π(s)},且 I{a = π(s)}Q 下的期望是 1/|A|,所以:
E_Q[ρ^2] = |A|^2 * (1/|A|) = |A|

因此,Var_{Q}[ρ] = |A| - 1

这个方差是 O(|A|) 的,而权重 ρ 的取值范围是 [0, |A|]。对于取值范围为 [0, R] 的随机变量,其最大可能方差是 O(R^2)。相比之下,重要性权重在这个特例下的方差相对其范围而言是“较低”的。这表明,虽然重要性采样估计量在实践中可能方差很大,但霍夫丁不等式(仅依赖于取值范围)给出的界可能比较宽松。更紧的浓度界(如伯恩斯坦不等式)可以考虑方差信息。


一个发人深省的极端案例 🤔

考虑上述特例的一个进一步简化:假设奖励 r 是一个常数(例如,总是1)。那么,目标策略的期望收益 J(π) 显然就是这个常数值。

如果我们能直接从 π 采样(同轨),蒙特卡洛估计的方差为0,只需一个样本就能得到精确答案。

然而,使用重要性采样(离轨,π 确定,π_b 均匀)会怎样?由于奖励是常数 R,估计量的方差为:

公式:
Var = R^2 * Var_{Q}[ρ] = R^2 * (|A| - 1)

方差仍然很大!这与“只保留匹配数据点并对其奖励取平均”的直觉似乎矛盾,因为那些匹配数据点的奖励都是常数 R,平均后似乎应该是无方差的。

问题在于,重要性采样估计量在形式上等价于:
J_IS = (|A|/n) * Σ_{匹配的 i} r_i

这里的分母是总样本数 n,而不是实际匹配的样本数(这是一个随机变量)。我们除以的是匹配样本数的期望值 n/|A|,而不是其随机实现值。正是这个“期望值”与“随机实现值”之间的差异,导致了方差的存在,即使在这个奖励为常数的平凡问题上也是如此。

这个例子揭示了基础重要性采样估计量的一个缺点:它可能产生高方差。在后续课程中,我们将探讨改进的重要性采样方法(如加权重要性采样)来缓解这个问题。


实践注意事项与总结 📝

在结束前,我们强调几个实践要点:

  • 确保覆盖:为了成功应用重要性采样,行为策略 π_b 必须对目标策略 π 可能采取的所有动作赋予非零概率。在实践中,这通常通过在部署的策略中注入探索性(如 ε-贪心)来实现。
  • 记录日志概率:当收集数据用于后续的离轨策略评估时,除了存储 (s, a, r) 元组外,必须同时存储行为策略在选择该动作时的概率 π_b(a|s)。这个值(称为日志概率或提议概率)是计算重要性权重所必需的。仅存储动作本身是不够的。


总结 🎯

本节课中我们一起学习了:

  1. 重要性采样的动机:解决离轨策略评估问题,允许我们使用来自一个策略的数据来评估另一个策略的性能,而无需引入函数逼近或直接部署新策略。
  2. 重要性采样的核心思想:通过重要性权重 P(x)/Q(x) 对来自行为分布 Q 的样本进行重新加权,从而在期望上得到目标分布 P 下的估计。
  3. 在上下文赌博机中的应用:展示了如何将OPE问题映射到重要性采样框架,并得到了简洁的估计量形式 (π(a|s)/π_b(a|s)) * r
  4. 重要性采样的性质与挑战:我们分析了其无偏性条件(覆盖假设),并通过特例探讨了其方差特性。即使是在简单场景下,基础的重要性采样估计量也可能产生高方差,这引出了对改进方法的需求。

下一讲,我们将继续探讨重要性采样的改进版本及其在更复杂序列决策问题中的应用。

029:重要性采样(续) 🎯

在本节课中,我们将继续深入探讨重要性采样技术。我们将回顾其核心概念,分析其在特定情况下的行为,并介绍两种关键的改进方法——加权重要性采样和双重稳健估计,以应对高方差问题。最后,我们将把重要性采样的思想扩展到多步决策的强化学习场景中。

重要性采样回顾 📚

上一节我们介绍了重要性采样的基本框架。其核心思想是,当你希望估计在目标分布 P 下的某个函数 f(X) 的期望,但只有来自另一个行为分布 Q 的样本时,可以通过重要性权重进行转换。其基本公式如下:

公式: E_{X~P}[f(X)] = E_{X~Q}[(P(X)/Q(X)) * f(X)]

在上下文赌博机的例子中,应用此框架后,所有未知的概率函数(如状态转移和奖励分布)会被抵消,最终的重要性权重简化为两个策略概率的比值:ρ = π(a|s) / π_B(a|s)。由于目标策略 π 和行为策略 π_B 通常是已知或可建模的,这使得估计成为可能。

特定情况下的行为分析 🔍

为了更直观地理解重要性采样估计器的行为,我们分析了一个特殊案例:目标策略 π 是确定性的,而行为策略 π_B 是在动作空间上均匀随机的。

在这种情况下,重要性采样估计器会“丢弃”所有行为策略选择的动作与目标策略不一致的数据点。粗略地说,只有大约 1/|A| 比例的数据是有效的。我们进一步考察了奖励恒为常数 c 的极端子情况。

令人惊讶的是,尽管直觉上认为估计器只是丢弃部分数据并对剩余数据求平均,但最朴素的重要性采样估计器(ρ * R)的方差却可能非常大。然而,当我们写出基于整个数据集的估计器形式时,发现它并非简单地对匹配的数据点求平均,而是用匹配奖励的总和除以匹配数据点数量的期望值N/|A|)进行归一化。这实际上是一种无偏的估计方式。

改进方法一:加权重要性采样 ⚖️

那么,如何改进这个估计器呢?一个直观的改进是使用匹配数据点的实际数量,而不是其期望值,进行归一化。

以下是改进后的估计器公式:

公式: ( Σ_{i: π(s_i)=a_i} r_i ) / ( |{i: π(s_i)=a_i}| )

在奖励恒为常数的特殊情况下,此估计器方差为零。当数据量很大时,匹配数据点的实际比例 |{i: π(s_i)=a_i}| / N 会依概率收敛到其期望 1/|A|,因此该估计器是渐近一致的。然而,在有限样本情况下,它是有偏的(例如,当没有匹配数据点时,估计器甚至无法定义)。

我们可以将此思想推广到更一般的情况,不局限于均匀随机行为策略和确定性目标策略。对于标准的重要性采样估计器 (1/N) * Σ_i ρ_i * r_i,其推广形式是加权重要性采样:

公式: ( Σ_i ρ_i * r_i ) / ( Σ_i ρ_i )

这种方法的优点是,最终的估计值始终是所见奖励的凸组合(因为所有权重之和为1),这确保了预测值不会超出合理的奖励范围。相比之下,标准重要性采样在重要性权重方差很大时,可能会给某个数据点赋予极大的权重,导致不稳定的预测。

改进方法二:控制变量与双重稳健估计 🛡️

我们再次审视在确定性目标策略、均匀行为策略和恒定奖励这一特殊情况下,标准重要性采样估计器的方差表达式。方差的大小与奖励的幅度有关。这表明,在重要性采样中,将奖励中心化(使其均值接近0)是有益的。

这引出了第二种改进方法:控制变量法。其核心思想是,通过减去一个已知的常数 c 来构造一个新的奖励函数 R' = R - c,在新问题上应用重要性采样,最后再加回 c 来得到原问题的估计。

推导过程:

  1. 定义新问题,奖励为 R' = R - c
  2. 目标策略在新问题中的期望回报 J̃(π) = J(π) - c
  3. 对新奖励 R' 应用重要性采样,得到 J̃(π) 的无偏估计。
  4. 原问题期望回报的估计为:c + 重要性采样估计(R')

展开后,我们得到新的估计器:ρ * R + (1 - ρ) * c。可以将其理解为在原估计器 ρ * R 的基础上,添加了一个期望为零的项 (1 - ρ) * c。在奖励接近常数 c 的情况下,这项的噪声与原估计器的噪声负相关,从而抵消部分方差。

我们可以进一步推广,不限于常数偏移,而是使用一个对奖励期望 Q(s, a) 的估计模型 R̂(s, a)。这就得到了双重稳健估计器:

公式: ρ * (R - R̂(s, a)) + E_{a'~π(·|s)}[ R̂(s, a') ]

这个估计器有两个稳健性来源:

  1. 如果重要性权重 ρ 是准确的(即行为策略已知),那么即使奖励模型 不准确,估计器也是无偏的。
  2. 如果奖励模型 是准确的(即等于真实的 Q 函数),那么即使重要性权重 ρ 不准确(例如通过行为克隆估计得到),估计器也是无偏的。

因此,只要 ρ 中有一个是准确的,估计器就是无偏的,这即是“双重稳健”的含义。

扩展到多步强化学习 🔄

现在,我们将重要性采样的思想从赌博机(单步决策)扩展到多步序列决策的强化学习问题中。为简化分析,我们考虑有限时域 H 的问题。

一条轨迹 τ 可表示为:s0, a0, r0, s1, a1, r1, ..., s_{H-1}, a_{H-1}, r_{H-1}。我们希望评估目标策略 π 的期望回报 J(π) = E_π[ Σ_{h=0}^{H-1} r_h ],但我们拥有的数据来自行为策略 π_B

根据重要性采样框架,我们需要计算整条轨迹的重要性权重,即目标策略与行为策略产生该轨迹的概率比。由于马尔可夫性,轨迹概率是各步概率的乘积,因此轨迹级别的重要性权重是每步重要性权重的累积乘积:

公式: ρ_{0:H-1} = Π_{h=0}^{H-1} ( π(a_h|s_h) / π_B(a_h|s_h) )

在行为策略均匀随机、目标策略确定性的特殊情况下,累积重要性权重变为 (1/|A|)^H * I(所有动作均匹配)。这意味着,只有当轨迹中每一步的随机动作都恰好与目标策略一致时,该轨迹才被保留。有效样本量随时域 H 呈指数级衰减,这被称为“时域诅咒”。

逐步重要性采样与双重稳健扩展 🧩

为了缓解上述问题,我们可以利用回报的线性特性进行改进。原始估计器是 ρ_{0:H-1} * (Σ_h r_h)。我们可以交换期望与求和的顺序,改为对每个时间步的奖励期望分别进行估计后再求和:

公式: Σ_{h=0}^{H-1} E_π[r_h] ≈ Σ_{h=0}^{H-1} ( ρ_{0:h} * r_h )

这被称为逐步(或按决策)重要性采样。其优势在于,对于早期时间步的奖励 r_h,我们只需要乘以前 h 步的重要性权重 ρ_{0:h},而不需要乘以整个轨迹的权重 ρ_{0:H-1}。这显著降低了估计早期奖励时的方差,尽管对最后一步奖励的方差改进有限。

我们可以递归地看待这个估计器,它实际上等价于从最后一步开始,每一步都在解决一个“赌博机”问题,其中“奖励”是当前即时奖励加上对下一状态值的估计。基于这种视角,我们可以自然地引入双重稳健扩展。

在每一步 h,我们有一个类似于赌博机的子问题。我们可以使用一个对 Q 函数 Q̂(s, a) 的估计模型。双重稳健估计器在每一步的更新形式如下:

公式: ρ_h * ( r_h + V̂_{h+1} - Q̂(s_h, a_h) ) + E_{a'~π(·|s_h)}[ Q̂(s_h, a') ]

其中 V̂_{h+1} 是下一步的值函数估计(由后续步骤递归计算得到)。这个估计器继承了双重稳健的性质:如果 ρ_h 准确或 准确,则该步估计是无偏的。

总结 📝

本节课中,我们一起深入学习了重要性采样技术的进阶内容。

  1. 我们首先回顾了重要性采样的基本原理,它通过重要性权重在分布间进行转换。
  2. 通过分析确定性目标策略与均匀行为策略的特殊案例,我们理解了标准估计器可能存在的方差问题。
  3. 我们学习了两种重要的改进方法:加权重要性采样通过实际权重和归一化来获得更稳定的估计;控制变量法/双重稳健估计则通过引入奖励模型来减少方差,并在重要性权重或奖励模型之一准确时保持无偏性。
  4. 最后,我们将重要性采样扩展到多步强化学习,介绍了轨迹级别逐步级别的重要性采样,并讨论了后者如何部分缓解“时域诅咒”。同时,我们也看到了双重稳健思想如何自然地应用于多步设定中。

这些技术为在离线强化学习或利用历史数据评估新策略提供了重要的理论基础和实用工具。

030:重要性采样(续)(视角2)🎯

在本节课中,我们将继续深入探讨重要性采样,特别是其在多步决策问题(如马尔可夫决策过程)中的应用。我们将从回顾重要性采样的核心思想开始,然后分析其在特定情况下的行为,并介绍几种改进方法,如加权重要性采样和控制变量法,最后将其扩展到序列决策场景。

概述 📋

重要性采样是一种强大的技术,它允许我们利用从一个分布(行为策略)中采样的数据,来估计在另一个分布(目标策略)下的期望值。其核心在于通过重要性权重来校正分布间的差异。我们将首先回顾其在上下文赌博机问题中的应用,然后探讨其方差特性,并引入改进方法以减少方差。最后,我们将把重要性采样推广到有限时域的序列决策问题中。

重要性采样回顾 🔄

上一节我们介绍了重要性采样的基本框架。其核心公式可以总结为:

公式: E_{x~P}[f(x)] = E_{x~Q}[(P(x)/Q(x)) * f(x)]

这里,P 是目标分布,Q 是采样分布,f(x) 是我们关心的函数。重要性权重 ρ = P(x)/Q(x) 用于校正分布差异。

在上下文赌博机问题中,我们评估一个目标策略 π,但数据来自行为策略 π_B。一个关键的优势是,未知的动态和奖励函数在计算重要性权重时会相互抵消,最终权重简化为两个策略概率的比值:ρ = π(a|s) / π_B(a|s)。由于策略通常是我们已知或可以建模的,这使得重要性采样变得可行。

特定情况下的行为分析 🔍

为了直观理解重要性采样估计器的行为,我们分析一个特殊情况:目标策略 π 是确定性的,而行为策略 π_B 是在动作空间上均匀随机的。

在这种情况下,重要性权重具有一个特点:它会“丢弃”所有行为策略选择的动作与目标策略指定动作不匹配的数据点。粗略来说,只有大约 1/|A||A| 是动作数量)比例的数据是“有用”的。

我们进一步考虑一个更特殊的子情况:在上述设定基础上,假设奖励 R 始终是一个常数 c。令人惊讶的是,最朴素的重要性采样估计器(即 ρ * R 的均值)的方差为零,尽管直觉上它似乎只是丢弃了一些数据点并对剩余点求平均。

当我们写出在整个数据集上的估计器时,会发现它并非简单地对匹配的数据点求平均。其形式为:将所有匹配数据点的奖励求和,然后除以匹配数据点数量的期望值(即 N/|A|),而不是实际观测到的匹配数量。这种归一化方式在理论上保证了估计的无偏性。

改进方法一:加权重要性采样 ⚖️

那么,如何改进朴素的重要性采样呢?一个直观的改进是使用实际观测到的匹配数量进行归一化,而不是其期望值。

改进后的估计器: ( Σ_{i: π(s_i)=a_i} r_i ) / ( |{i: π(s_i)=a_i}| )

在奖励恒定的特殊情况下,这个估计器同样具有零方差。然而,在有限样本情况下,这个估计器是有偏的。例如,如果没有任何数据点匹配,分母为零,估计器无法定义;如果只有一个匹配点,估计值就是该点的奖励,放弃了任何加权校正。

尽管如此,当数据量很大时,实际匹配比例会依概率收敛到期望比例 1/|A|,因此这个估计器是相合的。

我们可以将这个思想推广到更一般的情况,不局限于确定性和均匀策略。

一般形式的加权重要性采样:
原始估计器:(1/N) * Σ_{i=1}^{N} ρ_i * r_i
加权版本:( Σ_{i=1}^{N} ρ_i * r_i ) / ( Σ_{i=1}^{N} ρ_i )

由于 E[ρ] = 1,当 N 很大时,Σ ρ_i ≈ N,因此加权版本在大样本下表现相似。加权版本的优势在于,其最终估计值始终是观测奖励的凸组合(因为所有权重 ρ_i / Σ ρ_j 之和为1),这保证了估计值不会超出奖励的实际范围,避免了原始估计器因个别极大权重而产生异常预测的问题。

这种方法在统计学中也被称为逆概率加权。值得注意的是,重要性采样有时可以主动设计采样分布(如分层抽样)来降低方差,而不仅仅是被动地校正已知的数据偏差。

改进方法二:控制变量法(及双重稳健估计)🎲

现在让我们再次审视在确定性目标策略、均匀行为策略和恒定奖励这一特殊情况下,朴素重要性采样的方差表达式。方差的大小与奖励的幅度有关。这表明,在进行重要性采样时,将奖励中心化(即减去一个常数基线)以降低其幅度,可能对减少方差非常有益。

这引出了第二个改进方法:控制变量法。其核心思想是构造一个与原估计器相关但均值为零的辅助随机变量,通过将其加入原估计器来抵消部分方差。

具体步骤如下:

  1. 定义一个新问题,其奖励为原始奖励减去一个常数 cR' = R - c
  2. 在新问题上应用重要性采样,得到无偏估计 E_{π}[R'] 的估计值。
  3. 由于 E_{π}[R] = E_{π}[R'] + c,我们将 c 加回到新问题的估计值上,就得到了原始问题期望的无偏估计。

展开后的估计器为:ρ * R + (1 - ρ) * c。可以看到,我们在原始估计器 ρ * R 的基础上,添加了一个项 (1-ρ)*c。由于 E[ρ]=1,因此添加项的期望为零,不改变无偏性。在奖励接近常数 c 的情况下,新添加项的噪声与原始估计器的噪声负相关,从而有效降低了总体方差。

我们可以进一步推广,不使用常数 c,而是使用一个依赖于状态和动作的奖励预测模型 R̂(s,a)

双重稳健估计器:
ρ * (R - R̂(s,a)) + E_{a'~π(·|s)}[ R̂(s, a') ]

这个估计器是无偏的,无论奖励模型 是否准确(因为 ρ*(R - R̂) 和后续项的期望会相互抵消)。同时,如果 是对真实奖励均值的良好近似,那么方差会显著降低。

之所以称为“双重稳健”,是因为只要两者之一正确,估计就是无偏的:

  • 如果重要性权重 ρ 计算正确(即行为策略已知),则估计器无偏。
  • 如果奖励模型 正确(等于真实期望奖励),那么 R - R̂ 是零均值的噪声,即使 ρ 不准确,估计器仍然无偏。

在实践中,可以将加权重要性采样和双重稳健估计结合使用,以获得更稳定、更高效的离策略评估方法。

扩展到序列决策问题(有限时域MDP)🔄➡️

现在,我们将重要性采样从单步的赌博机问题扩展到多步的有限时域马尔可夫决策过程。

问题设定:
我们有一个时域为 H 的MDP。数据轨迹形式为:τ = (s_0, a_0, r_0, s_1, a_1, r_1, ..., s_{H-1}, a_{H-1}, r_{H-1}),由行为策略 π_B 生成。目标是评估目标策略 π 的期望回报 J(π) = E_π[ Σ_{h=0}^{H-1} r_h ]

轨迹级别重要性采样:
类比重要性采样公式,我们将整个轨迹 τ 视为随机变量 X,函数 f(τ) 是轨迹上的累计奖励,分布 PQ 分别是由 ππ_B 诱导出的轨迹分布。轨迹的重要性权重是每一步重要性权重的乘积:

公式: ρ_{0:H-1} = Π_{h=0}^{H-1} ρ_h,其中 ρ_h = π(a_h|s_h) / π_B(a_h|s_h)

那么,朴素的重要性采样估计器为:ρ_{0:H-1} * ( Σ_{h=0}^{H-1} r_h )

方差挑战与“水平诅咒”:
在目标策略确定、行为策略均匀随机的特殊情况下,轨迹权重 ρ_{0:H-1} 只有在整个轨迹的每一个动作都与目标策略匹配时才非零。这导致“有效样本量”以 (1/|A|)^H 的速率指数级衰减,估计器方差可能爆炸式增长。这种现象常被称为“水平诅咒”。一般来说,累积重要性权重的范围上界是每步最大重要性比的 H 次幂,除非两个策略非常接近,否则会导致指数级问题。

这也凸显了基于值函数的方法(如Fitted Q)的优势:它们利用MDP的马尔可夫性,通过拟合状态分布或值函数来避免这种对轨迹的指数依赖,从而克服“水平诅咒”,但代价是引入了函数近似的假设和误差。

改进:逐步(按决策)重要性采样 📈

我们可以对轨迹级别重要性采样进行改进。注意到期望回报可以写成各时间步奖励期望之和:J(π) = Σ_{h=0}^{H-1} E_π[ r_h ]。我们可以为每个 E_π[ r_h ] 分别构造无偏估计,然后求和。

对于时间步 h 的奖励,其估计只需要校正到该步为止的动作分布,而不需要校正之后的动作。因为 h 时刻之后的动作无法影响 h 时刻已获得的奖励。因此,E_π[ r_h ] 的一个无偏估计是 E_{π_B}[ ρ_{0:h} * r_h ],其中 ρ_{0:h} 是到步 h 为止的累积重要性权重。

逐步重要性采样估计器: Σ_{h=0}^{H-1} ρ_{0:h} * r_h

这个估计器相比轨迹级别版本有所改进。对于早期非零的奖励,我们不再需要乘以整个轨迹的巨大权重,而只需乘到该时刻为止的权重。然而,对于最后时刻的奖励,我们仍然需要完整的累积权重,因此“水平诅咒”问题在长期回报中依然存在,但程度有所减轻。

逐步估计器的递归视角与双重稳健扩展 🧠

逐步估计器可以递归地重写,这为理解其原理和扩展双重稳健方法提供了新视角。

我们可以将估计器视为从最后一步开始递归构建的:

  1. 最后一步(h=H-1)后,估计值为0(因为没有未来)。
  2. 对于步骤 h,我们有一个对 Q^π(s_h, a_h) 的估计(来自下一步的递归估计加上当前奖励 r_h)。
  3. 由于当前动作 a_h 来自 π_B,为了得到 V^π(s_h) 的无偏估计,我们需要用重要性权重 ρ_h 校正 Q^π(s_h, a_h)V^π(s_h) 之间的差异。

这种递归视角自然地引出了如何将双重稳健估计融入逐步重要性采样。在每个时间步 h,我们面临一个类似于赌博机的问题:用 π_B 采样的动作 a_h 来估计 V^π(s_h),而“奖励”是 r_h + V_{h+1}(其中 V_{h+1} 是下一步值函数的估计)。我们可以使用一个预测的 Q 函数 Q̂(s,a) 作为控制变量。

逐步双重稳健估计器(递归形式):
V_h^{DR} = ρ_h * ( r_h + V_{h+1}^{DR} - Q̂(s_h, a_h) ) + E_{a'~π(·|s_h)}[ Q̂(s_h, a') ]

h=H-1h=0 递归计算,最终 V_0^{DR} 就是对 J(π) 的一个双重稳健估计。同样,只要重要性权重 ρQ 函数估计 其中之一是准确的,该估计器就是无偏的。

总结 🎓

本节课我们深入学习了重要性采样在强化学习中的应用与改进。

  • 核心回顾:重要性采样通过重要性权重 ρ = π/π_B,利用行为策略数据评估目标策略。
  • 方差分析:在确定性目标策略和均匀行为策略下,朴素估计器可能只利用一小部分数据,但在恒定奖励下可能有零方差的特殊情况。
  • 改进方法一(加权重要性采样):用重要性权重的和归一化,保证估计是奖励的凸组合,提高数值稳定性,大样本下相合。
  • 改进方法二(控制变量/双重稳健):通过减去一个基线(如奖励预测值)并加回其期望,来减少方差。双重稳健估计器在重要性权重或奖励模型之一正确时即保持无偏。
  • 扩展到序列决策:在有限时域MDP中,轨迹级别重要性采样的权重是每步权重的乘积,可能导致指数级方差(“水平诅咒”)。
  • 序列改进(逐步重要性采样):为每个时间步的奖励单独估计,只需乘到该步为止的累积权重,缓解但未完全消除“水平诅咒”。
  • 递归与双重稳健扩展:逐步估计器可递归解释,并自然地扩展为逐步双重稳健估计器,适用于序列决策的离策略评估。

理解这些方法的优缺点、假设和适用场景,对于在实际强化学习问题中选择合适的离策略评估技术至关重要。

031:策略梯度

在本节课中,我们将要学习策略梯度方法的核心思想。这是一种直接优化策略参数的方法,通过计算目标函数关于策略参数的梯度,并沿梯度方向更新参数,以最大化期望累积奖励。

上一节我们介绍了基于值函数的方法,本节中我们来看看直接优化策略的策略梯度方法。

核心思想

策略梯度方法的核心是直接对策略进行参数化。策略通常表示为 π(a|s; θ),其中 θ 是参数向量。目标是找到最优参数 θ*,以最大化期望累积奖励 J(θ)

目标函数 J(θ) 可以定义为:
J(θ) = E[Σ γ^t * r_t | π_θ]

为了优化 J(θ),我们需要计算其关于参数 θ 的梯度,即 ∇_θ J(θ)。策略梯度定理提供了这个梯度的计算公式。

策略梯度定理

策略梯度定理指出,目标函数的梯度可以表示为:
∇_θ J(θ) = E[∇_θ log π(a|s; θ) * Q^π(s, a)]

以下是该公式中各项的含义:

  • ∇_θ log π(a|s; θ): 是策略的对数关于参数 θ 的梯度。
  • Q^π(s, a): 是在状态 s 下执行动作 a 后,遵循策略 π 所能获得的期望回报。
  • E[...]: 表示对状态和动作的分布取期望。

这个定理是策略梯度方法的基石,它允许我们通过采样来估计梯度。

算法步骤

基于策略梯度定理,我们可以设计一个基本的策略梯度算法。

以下是REINFORCE算法的主要步骤:

  1. 初始化策略参数 θ
  2. 循环直到收敛:
    a. 使用当前策略 π_θ 生成一条轨迹(状态、动作、奖励序列)。
    b. 对于轨迹中的每个时间步 t,计算从 t 开始的回报 G_t
    c. 对于轨迹中的每个时间步 t,计算梯度估计:∇_θ log π(a_t|s_t; θ) * G_t
    d. 更新策略参数:θ ← θ + α * Σ_t ∇_θ log π(a_t|s_t; θ) * G_t,其中 α 是学习率。

优势与挑战

策略梯度方法具有一些独特的优势,但也面临挑战。

策略梯度方法的优势包括:

  • 能自然地在连续动作空间中进行操作。
  • 可以学习随机策略。
  • 通常具有更好的收敛性保证。

然而,它也面临一些挑战:

  • 梯度估计的方差可能很高,导致学习不稳定。
  • 采样效率可能较低。

本节课中我们一起学习了策略梯度方法的基本原理。我们了解了如何直接对策略进行参数化,并通过策略梯度定理计算目标函数的梯度。我们还介绍了基本的REINFORCE算法步骤,并讨论了该方法的优势与面临的挑战。理解策略梯度是掌握现代深度强化学习算法的重要基础。

统计强化学习:P32:策略梯度(视角2)🎯

在本节课中,我们将学习策略梯度方法的第二种视角。我们将从期望回报的梯度公式出发,推导出策略梯度的另一种表达形式,并理解其背后的数学原理。

上一节我们介绍了策略梯度的基本概念,本节中我们来看看如何从期望回报的梯度公式中推导出策略梯度。

首先,我们定义期望回报 $ J(\theta) $ 为:

\[J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)} \left[ R(\tau) \right] \]

其中,$ \tau $ 表示一条轨迹,$ p_{\theta}(\tau) $ 是由策略参数 $ \theta $ 决定的轨迹分布,$ R(\tau) $ 是轨迹的总回报。

我们的目标是最大化 $ J(\theta) $,因此需要计算其关于参数 $ \theta $ 的梯度:

\[\nabla_{\theta} J(\theta) = \nabla_{\theta} \mathbb{E}_{\tau \sim p_{\theta}(\tau)} \left[ R(\tau) \right] \]

根据期望的定义,我们可以将梯度写为:

\[\nabla_{\theta} J(\theta) = \int \nabla_{\theta} p_{\theta}(\tau) R(\tau) d\tau \]

这里,我们遇到了对概率分布 $ p_{\theta}(\tau) $ 求梯度的问题。为了处理这个梯度,我们使用一个重要的数学技巧——对数导数技巧(Log-Derivative Trick)。该技巧基于以下恒等式:

\[\nabla_{\theta} p_{\theta}(\tau) = p_{\theta}(\tau) \nabla_{\theta} \log p_{\theta}(\tau) \]

将这个恒等式代入梯度公式中,我们得到:

\[\nabla_{\theta} J(\theta) = \int p_{\theta}(\tau) \nabla_{\theta} \log p_{\theta}(\tau) R(\tau) d\tau \]

这个积分式恰好是另一个期望的形式:

\[\nabla_{\theta} J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)} \left[ \nabla_{\theta} \log p_{\theta}(\tau) R(\tau) \right] \]

至此,我们得到了策略梯度定理的核心表达式。这个公式表明,期望回报的梯度,可以通过在当前策略下采样的轨迹,计算 轨迹概率的对数梯度轨迹回报 的乘积的期望来估计。

接下来,我们需要进一步分解 $ \nabla_{\theta} \log p_{\theta}(\tau) $。一条轨迹的概率可以分解为:

\[p_{\theta}(\tau) = p(s_0) \prod_{t=0}^{T-1} \pi_{\theta}(a_t | s_t) p(s_{t+1} | s_t, a_t) \]

其中,$ p(s_0) $ 是初始状态分布,$ \pi_{\theta}(a_t | s_t) $ 是策略,$ p(s_{t+1} | s_t, a_t) $ 是环境的状态转移概率。

对其取对数:

\[\log p_{\theta}(\tau) = \log p(s_0) + \sum_{t=0}^{T-1} \left[ \log \pi_{\theta}(a_t | s_t) + \log p(s_{t+1} | s_t, a_t) \right] \]

然后计算梯度。需要注意的是,初始状态分布 $ p(s_0) $ 和环境动态 $ p(s_{t+1} | s_t, a_t) $ 与策略参数 $ \theta $ 无关,因此它们的梯度为零。所以,对数概率的梯度简化为:

\[\nabla_{\theta} \log p_{\theta}(\tau) = \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) \]

将这个结果代回策略梯度公式,我们得到最终的实用形式:

\[\nabla_{\theta} J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)} \left[ \left( \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) \right) R(\tau) \right] \]

这个公式就是著名的 REINFORCE 算法 的基础。它非常直观:为了提升期望回报,我们沿着使得高回报轨迹出现概率更大的方向更新策略参数。

以下是基于此公式的策略梯度估计的步骤:

  1. 使用当前策略 $ \pi_{\theta} $ 采样若干条轨迹 $ \tau $。
  2. 对于每条轨迹,计算其总回报 $ R(\tau) $。
  3. 对于每条轨迹中的每个时间步 $ t $,计算策略对数概率的梯度 $ \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) $。
  4. 将每个时间步的梯度相加,再乘以该轨迹的总回报 $ R(\tau) $。
  5. 对所有轨迹的上述结果取平均,作为对策略梯度 $ \nabla_{\theta} J(\theta) $ 的估计。
  6. 使用梯度上升法更新参数:$ \theta \leftarrow \theta + \alpha \nabla_{\theta} J(\theta) $。

本节课中我们一起学习了策略梯度的第二种推导视角。我们从期望回报的梯度出发,利用对数导数技巧,推导出了不依赖于环境动态的策略梯度表达式 $ \nabla_{\theta} J(\theta) = \mathbb{E}{\tau} \left[ \left( \sum \nabla_{\theta} \log \pi_{\theta}(a_t | s_t) \right) R(\tau) \right] $。这个公式是许多策略梯度算法(如 REINFORCE)的理论基石,它允许我们仅通过策略本身和获得的回报来优化策略,而无需知道环境模型。

033:边缘化重要性采样

在本节课中,我们将学习重要性采样的一种变体——边缘化重要性采样。我们将探讨其核心思想,如何将其应用于马尔可夫决策过程(MDP)的离线策略评估,并分析其相对于传统重要性采样的优势。最后,我们将简要转向在线强化学习的介绍,并讨论探索所面临的挑战。

核心思想回顾

上一节我们介绍了重要性采样的基本概念。其核心公式可以总结为:

公式: E_{x~Q}[ (P(x)/Q(x)) * f(x) ] = E_{x~P}[ f(x) ]

其中,P 是目标分布,Q 是采样分布,f(x) 是我们感兴趣的待估计函数。

边缘化的重要性

在强化学习场景中,我们感兴趣的函数 f(例如奖励)通常只依赖于状态-动作对 (s, a) 的一个子集。然而,我们从数据中获得的轨迹包含了更多变量(如状态序列、动作序列等)。

以下是边缘化重要性采样的核心思路:

  • 问题:假设我们有联合分布 P(x, y)Q(x, y),但函数 f 仅依赖于变量 x
  • 传统方法:直接使用联合分布的重要性权重 P(x, y)/Q(x, y) 来加权 f(x)
  • 边缘化方法:我们可以计算 x 的边缘分布 P(x)Q(x),然后使用权重 P(x)/Q(x) 来加权 f(x)

关键结论:边缘化重要性权重的方差,通常小于或等于包含所有变量时的重要性权重方差。因此,减少涉及的变量数量通常能带来更好的估计效果。

然而,主要困难在于:边缘化后的分布 P(x)Q(x) 可能不再具有易于处理的分解形式,并且我们通常无法直接计算其比值 P(x)/Q(x)

在MDP策略评估中的应用

让我们将这一思想应用于有限时域MDP的离线策略评估。假设我们想评估目标策略 π 下的期望回报 J(π),但我们只有来自行为策略 π_b 的数据。

传统逐步重要性采样

在传统方法中,我们使用整个轨迹的重要性权重:

公式: E_{τ~π_b}[ (∏_{t=0}^{T} π(a_t|s_t) / π_b(a_t|s_t)) * R_t ] = E_{τ~π}[ R_t ]

其中,τ 表示轨迹,R_t 是时刻 t 的奖励。

边缘化思路

注意到奖励 R_t 通常只依赖于产生它的状态-动作对 (s_t, a_t)。因此,一个直接的想法是进行边缘化:

公式: E_{(s_t,a_t)~d_{π_b}^t}[ (d_{π}^t(s_t, a_t) / d_{π_b}^t(s_t, a_t)) * R_t ] = E_{(s_t,a_t)~d_{π}^t}[ R_t ]

其中,d_{π}^t 表示在策略 π 下第 t 步的状态-动作占用分布。

面临的挑战:计算边缘分布 d_{π}^t 通常需要知道MDP的动态特性(转移概率 P),而这通常是未知的。虽然轨迹概率中的未知项会因式分解而抵消,但求和(边缘化)会破坏这种良好的抵消性质。

无限时域折现设定下的方法

为了更容易地引入新方法,我们转向无限时域折现设定。我们想要评估的目标 J(π) 可以写作:

公式: J(π) = (1-γ) * E_{(s,a)~d_π}[ R(s,a) ]

其中,d_π 是策略 π 下的折现状态-动作占用分布,γ 是折现因子。

通过重要性采样,我们可以将期望从 d_π 转换到数据分布 μ(来自 π_b):

公式: J(π) = (1-γ) * E_{(s,a)~μ}[ w_π(s,a) * R(s,a) ]

其中,w_π(s,a) = d_π(s,a) / μ(s,a) 被称为边缘化重要性权重函数。

核心假设与算法框架

我们无法直接计算 w_π,但可以尝试学习它。我们引入以下两个核心假设:

  1. Q函数可实现性:存在一个函数类 Q,使得真实的状态-动作值函数 Q^π ∈ Q
  2. 权重函数可实现性:存在一个函数类 W,使得真实的边缘化重要性权重函数 w_π ∈ W

此外,我们假设 QW 类中的函数都是有界的。值得注意的是,对 W 类的有界性假设,实际上隐含了对数据覆盖(即 d_π/μ 有界)的要求。

基于这些假设,我们可以发展出两种对称的算法来估计 J(π)

方法一:以W为辅助类学习Q

我们的最终目标是找到一个函数 f ≈ Q^π,然后通过 E_{s~d_0}[ f(s, π) ] 来估计 J(π)。其误差可以分解为:

公式: Error = (1-γ) * E_{(s,a)~d_π}[ f(s,a) - (T^π f)(s,a) ]

其中 T^π 是贝尔曼算子。通过重要性采样转换到数据分布 μ,并利用 w_π ∈ W 这一事实,我们可以将误差放松为其上界:

公式: Error ≤ max_{w∈W} (1-γ) * E_{(s,a)~μ}[ w(s,a) * (f(s,a) - r - γf(s', π)) ]

这个上界是“紧”的,因为当 f = Q^π 时,无论 w 如何,括号内的贝尔曼误差为零,从而使整个上界为零。因此,我们可以通过解决以下极小极大优化问题来学习 f

算法目标: min_{f∈Q} max_{w∈W} (1-γ) * E_{(s,a)~μ}[ w(s,a) * (f(s,a) - r - γf(s', π)) ]

然后用学到的 f 通过初始状态分布来估计 J(π)

方法二:以Q为辅助类学习W

对称地,我们也可以直接学习权重函数 w。学得 w 后,我们通过 (1-γ) * E_{(s,a)~μ}[ w(s,a) * r ] 来估计 J(π)。其误差也可以通过一个引理进行分解,并最终放松为:

公式: Error ≤ max_{f∈Q} { (1-γ) * E_{(s,a)~μ}[ w(s,a) * (f(s,a) - γf(s', π)) ] - E_{s~d_0}[ f(s, π) ] }

同样,这个上界对于真实的 w_π 是紧的(为零)。因此,我们可以通过解决另一个极小极大问题来学习 w

算法目标: min_{w∈W} max_{f∈Q} { (1-γ) * E_{(s,a)~μ}[ w(s,a) * (f(s,a) - γf(s', π)) ] - E_{s~d_0}[ f(s, π) ] }

这两种方法体现了价值函数 Q^π 和占用分布 d_π 之间的对偶关系,并且只需要可实现性假设,而不需要之前Fitted Q等方法所要求的完备性假设。

转向在线强化学习

以上我们结束了关于离线强化学习的讨论。现在,我们开始探讨在线强化学习。

在离线设定中,我们假设已有数据并提供必要的覆盖性。而在在线设定中,我们通过与环境的直接交互来收集数据。

  • 优势:评估一个特定策略变得非常简单,只需用该策略运行多次轨迹并计算平均回报即可(蒙特卡洛方法)。
  • 挑战:我们需要自己收集数据,并确保这些数据最终能支持我们学习到一个好的策略。这本质上要求我们在线收集的数据能满足离线学习所需的覆盖性假设。如果数据不好,责任在于算法本身。

一个自然的问题是:实践中广泛使用的在线算法(如策略梯度、Q学习+ε-greedy探索)是否有良好的理论保证?

探索的挑战:组合锁(Combination Lock)反例

我们将通过一个简单的表格型反例——“组合锁”问题,来说明大多数实用在线算法所面临的根本性挑战。

问题描述

  • 一个有限时域 H 的MDP,包含一条“好链”(上方)和一条“坏链”(下方)。
  • 智能体从好链的起点开始。
  • 在每个状态,有两个动作:一个保持在上链,另一个会永久转移到下链。
  • 只有在好链的最终状态才能获得+1奖励,其他所有转移的奖励均为0(或一个很小的正值)。

最优策略:始终选择留在好链的动作。

探索困境

  1. 均匀随机探索:每一步以1/2概率掉入坏链。到达最终奖励状态的概率是 (1/2)^H,呈指数级衰减。几乎不可能收集到包含正奖励的有用数据。
  2. ε-greedy类探索:如果从未见过最终奖励,基于已有数据估计的Q值可能会错误地认为导致掉入坏链的动作更有价值(特别是如果给坏链转移添加微小正奖励),从而加剧探索问题。
  3. 策略梯度:如果初始策略没有以非零概率到达最终状态,那么几乎所有采样轨迹的回报都是0。策略梯度估计值也为零,导致策略无法更新(陷入局部最优)。

这个反例表明,即使在一个很小的表格问题中,许多常见的探索启发式方法也会失败。这属于信息理论下界问题,意味着任何算法在最坏情况下都需要指数级数量的交互才能解决此类问题。在实践中,面对这种“稀疏奖励”的硬探索问题,研究者通常通过奖励塑造、利用先验知识等“技巧”来规避,而非直接解决探索本身。

总结

本节课中我们一起学习了:

  1. 边缘化重要性采样的核心思想:通过减少重要性权重中依赖的变量来降低方差。
  2. 将其应用于MDP策略评估的两种对称算法框架,它们利用价值函数和占用分布的对偶性,仅需可实现性假设。
  3. 从离线RL转向在线RL,并指出了在线学习的核心挑战在于探索
  4. 通过“组合锁”反例,说明了硬探索问题的存在,以及许多实用算法在最坏情况下的理论局限性。

理解这些基础概念和挑战,是设计更强大、具有理论保证的强化学习算法的重要一步。

034:在线强化学习

在本节课中,我们将学习在线强化学习的基本框架。我们将介绍两种主要的性能保证形式:样本复杂度保证和遗憾界保证,并探讨它们之间的区别与联系。

交互协议

上一节我们讨论了离线强化学习,本节我们来看看在线强化学习如何与环境交互以收集数据。

在在线强化学习中,算法通过与环境交互来收集数据。一个标准的交互协议如下:

对于轮次 t = 1, 2, 3, ..., T

  1. 算法根据之前收集的所有数据,选择一个策略 π_t
  2. 使用策略 π_t 与环境交互,收集一条轨迹:(s_1^t, a_1^t, r_1^t, ..., s_H^t, a_H^t, r_H^t)

这里,T 是总轨迹数(学习轮次),H 是每条轨迹的长度(规划视野)。初始状态 s_1^t 从初始状态分布 d_0 中采样。

两种性能保证

在离线强化学习中,我们关心如何从给定数据中评估或学习一个好的策略。在线强化学习的核心挑战是探索,我们需要量化算法的性能。主要有两种形式的性能保证。

样本复杂度保证

样本复杂度保证关注的是:在收集了 T 条轨迹后,算法最终输出的策略 π̂ 有多好。

其保证形式通常为:以至少 1 - δ 的概率,有 J(π*) - J(π̂) ≤ ε

为了达到精度 ε,所需的轨迹数 T 通常是问题参数(如状态数 S、动作数 A、视野 H)和 1/εlog(1/δ) 的多项式函数。在表格设置下,T 的依赖关系大致为 T = poly(S, A, H, 1/ε, log(1/δ))

遗憾界保证

遗憾界保证则评估算法在整个交互过程中的累积表现。

累积遗憾 Regret(T) 定义为:Regret(T) = Σ_{t=1}^{T} [ J(π*) - J(π_t) ]

其保证形式通常为:以高概率,Regret(T) ≤ f(S, A, H, log(1/δ)) * o(T),其中 o(T) 表示 T 的次线性函数(如 √T)。

两种保证的对比与联系

上一节我们介绍了两种保证的定义,本节我们来深入比较它们,并看看如何相互转换。

样本复杂度设置常被称为 纯探索 设置,因为中间策略 π_t 的唯一作用是为最终学习一个好策略收集信息,其自身的性能不被评估。

遗憾界设置常被称为 探索-利用权衡 设置,因为每个策略 π_t 都承担双重角色:既要收集信息(探索),又要保证当前性能(利用)。

从样本复杂度到遗憾界

假设我们有一个样本复杂度算法作为黑盒,给定预算 T0,它能输出一个 ε-最优策略 π̂,其中 ε ≈ √(C / T0)C 是问题相关常数。

我们可以将其转换为一个遗憾界算法:

  1. 阶段一(探索):用前 T0 轮运行样本复杂度算法,收集数据并得到策略 π̂
  2. 阶段二(利用):在剩余的 T - T0 轮中,始终执行策略 π̂

总遗憾由两部分组成:探索阶段的线性遗憾和利用阶段的次优性差距。通过优化选择 T0(例如 T0 ∝ T^{2/3}),可以得到 Regret(T) = O(T^{2/3}) 的遗憾界。虽然这不是最优的 √T 率,但仍然是次线性的。

从遗憾界到样本复杂度

假设我们有一个遗憾界算法,能保证 Regret(T) = O(√T)。这意味着平均遗憾很小:(1/T) * Σ_{t=1}^{T} [J(π*) - J(π_t)] = O(1/√T)

我们可以构造一个混合策略 π̂ 来获得样本复杂度保证:

  • π̂ 的定义是:在每条新轨迹开始时,以 1/T 的概率均匀随机选择一个索引 i ∈ {1, ..., T},然后在该条轨迹中始终执行策略 π_i

这个策略 π̂ 的期望性能恰好是 (1/T) * Σ_{t=1}^{T} J(π_t)。因此,J(π*) - J(π̂) = O(1/√T)。如果我们希望最终策略的精度为 ε,只需要运行遗憾算法 T = O(1/ε^2) 轮,然后输出上述混合策略 π̂ 即可。

注意:这里构造的 π̂ 是一个轨迹混合策略,而不是状态混合策略。它是一个依赖于历史的随机策略,可以通过在每个时间步基于当前历史推断并重新采样索引 i 来实现,而无需在内存中永久存储最初的随机种子。

总结

本节课中我们一起学习了在线强化学习的基本框架。我们首先介绍了标准的交互协议,区分了规划视野和学习轮次。然后,我们详细讨论了两种核心的性能保证形式:样本复杂度(纯探索)和遗憾界(探索-利用权衡),并分析了它们各自的特点。最后,我们探讨了这两种保证之间的理论联系,展示了如何利用一种保证来构造满足另一种保证的算法。理解这些基础概念对于设计和分析在线强化学习算法至关重要。

035:Rmax探索算法 🧭

在本节课中,我们将学习一种名为Rmax的经典表格型强化学习算法。该算法通过一种巧妙的方式,在未知环境中实现有理论保证的探索。我们将详细介绍其工作原理、背后的直觉以及核心的分析思路。


算法设定与目标

上一节我们讨论了在线强化学习的各种形式化定义,例如样本复杂度和遗憾界。本节我们将进入一个具体的算法——Rmax,看看它如何在表格型设定下实现理论保证。

我们考虑一个表格型MDP。为了分析的便利性,我们假设环境具有以下性质:存在一个吸收态,使得从任意初始状态出发,在最多H步内总会到达该吸收态,从而结束一个回合。这样,我们既可以利用无限折扣设定下的分析工具,又保证了每个回合轨迹的长度是有限的(最多H步)。

交互协议如下:在每一轮 t = 1, 2, 3, ... 中,算法选择一个策略 π_t,并根据该策略在真实MDP中采样一条轨迹。然后,算法利用迄今为止收集到的所有数据来更新策略,用于下一轮。

我们的目标是证明一个样本复杂度结果:算法能够在经过一定数量的回合后,输出一个接近最优的策略。具体来说,Rmax算法能够以高概率在 O(S * A * H^3 / ε^3 * log(1/δ)) 数量级的回合后,得到一个 ε-最优策略。虽然这个界相比后来的算法较为宽松,但Rmax的简洁性使其成为理解探索原理的优秀范例。


Rmax算法描述

Rmax算法维护两个计数器:

  • N(s, a): 状态-动作对 (s, a) 被访问的次数。
  • N(s, a, s'): 在状态 s 执行动作 a 后,转移到状态 s' 的次数。

算法有一个超参数 M,它是一个正整数阈值。我们定义 已知集合K 为所有满足 N(s, a) >= M 的状态-动作对 (s, a) 的集合。一旦一个 (s, a) 对的计数器达到 M,我们便停止记录其后续数据,这是为了理论分析的严谨性(确保霍夫丁不等式的应用条件)。

在每一轮,算法基于当前数据构建一个 乐观的MDP估计 M_K_hat

  • 状态空间和动作空间 与原MDP相同。
  • 对于已知集合K内的(s, a)
    • 转移概率 P_K_hat(s'|s, a) = N(s, a, s') / N(s, a) (即经验估计)。
    • 奖励 R_K(s, a) 使用真实奖励(若奖励未知,则使用经验平均)。
  • 对于已知集合K外的(s, a)
    • 转移概率被定义为 自循环P_K_hat(s|s, a) = 1,转移到其他状态的概率为0。
    • 奖励被设置为最大值 R_max

构建好 M_K_hat 后,算法下一轮使用的策略 π_{t+1} 就是该乐观MDP的最优策略 π_{M_K_hat}^*


算法背后的直觉 🤔

为什么这样的设计能鼓励探索?

在乐观MDP M_K_hat 中,对于未知的 (s, a) 对,我们赋予了其最大的可能价值。因为立即奖励是 R_max,并且下一状态总是自身,所以其Q值就是 R_max / (1 - γ),这是可能的最大值。

因此,当算法求解这个乐观MDP的最优策略时,它会有强烈的动机去尝试访问那些未知的、被赋予了高价值的状态-动作对,从而收集关于它们的数据。这就是 面对不确定性的乐观主义 原则,与多臂老丨虎丨机中的UCB算法思想一脉相承。

关于探索的两个关键点:

  1. 如果已知区域内的策略已经能达到接近 V_max 的性能,那么算法可能就不会探索未知区域。但这没有问题,因为我们的目标就是找到一个好策略,既然已知区域内已有最优策略,那就无需探索。
  2. 如果某个状态极难到达(例如转移概率极低),那么任何策略访问它的概率都很小。但这也意味着,从初始状态分布出发,该状态对期望回报的贡献微乎其微。因此,即使不探索它,也不会影响我们学习一个在初始分布上表现良好的策略。

这种设计巧妙地协调了探索与利用:要么未知区域很有潜力(值得探索),要么已知区域已经足够好(无需探索)。


算法分析框架

分析涉及三个MDP模型:

  1. M: 真实的MDP。
  2. M_K: 分析中引入的“期望版”乐观MDP。它与 M_K_hat 的唯一区别是,对于K内的 (s, a),它使用真实的转移概率 P 而非经验估计 P_hat
  3. M_K_hat: 算法实际构建和使用的乐观MDP估计。

它们的关系是:

  • MM_K 在K内相同,在K外不同(M 是真实动态,M_K 是自循环)。
  • M_KM_K_hat 在K外完全相同(都是自循环),在K内非常接近(因为经验估计基于 M >= M 个样本,足够准确)。因此,M_KM_K_hat 在所有状态-动作对上都近似一致,这允许我们直接应用早期表格型分析中的误差传播引理。

分析分为两部分:浓度不等式和误差传播。

1. 浓度分析
对于任何在已知集合K内的状态-动作对 (s, a),根据霍夫丁不等式,其经验转移概率与真实转移概率之间的总变差距离有界:
||P_hat(·|s,a) - P(·|s,a)||_TV ≤ ε_P,其中 ε_P 由样本数 M 决定。
由于我们只在计数器达到固定阈值 M 后才将其归入K集,因此可以标准地应用浓度不等式。

2. 误差传播与探索引理
一个关键的引理建立了真实MDP与乐观MDP M_K 之间性能差异的界限:
对于任何策略 π,有
J_M(π) - J_{M_K}(π) ≤ V_max * Pr_{M,π}(逃逸事件)
其中,逃逸事件 指的是在执行策略 π 产生的轨迹中,至少访问过一个不在已知集合K中的状态-动作对

这个引理直观上是说,一个策略在真实MDP和乐观MDP中的表现差异,主要取决于它有多大概率“逃逸”到未知区域去探索。如果它总是待在已知区域,那么两个MDP模型表现一致;如果它探索了未知区域,那么在乐观MDP中它会获得虚高的 V_max 价值,从而导致差异。


样本复杂度保证推导

算法保证的核心是证明以下“探索或终止”性质:
在每一轮,要么当前策略 π_{M_K_hat}^* 已经是 ε-最优的,要么执行该策略时发生逃逸(即探索到未知对)的概率至少是 Ω(ε)

推导思路如下:

  1. 假设当前策略不满足 ε-最优,即 J_M^* - J_M(π) > ε * V_max
  2. 通过一系列不等式变换,并利用 M_KM_K_hat 的相似性,可以将上述性能差距与逃逸概率联系起来:
    ε * V_max < J_M^* - J_M(π) ≤ V_max * Pr(逃逸) + 2 * ε‘
    其中 ε‘ 是由 M_KM_K_hat 的模型误差引起的项。
  3. 通过设置足够的样本阈值 M,我们可以使模型误差 ε‘ 足够小(例如小于 ε * V_max / 2)。代入上式即可得到:
    Pr(逃逸) > ε / 2

这意味着,只要当前策略还不是 ε-最优的,那么用它采样下一轨迹时,就有至少 ε/2 的概率会访问到未知的状态-动作对,从而增加某个计数器的值。

由于总共有 S * A 个状态-动作对,每个需要收集 M 个样本才能加入已知集,而每次探索有 Ω(ε) 的概率增加一个样本,通过期望和浓度界的计算,可以得出总的样本复杂度(回合数)上界为 O( (S * A * M) / ε )。再将 M 的取值(O( H^2 / ε^2 * log(...) ))代入,即可得到最终的样本复杂度。


总结

本节课我们一起学习了Rmax探索算法。我们首先了解了其在表格型MDP中的设定和目标。然后,详细描述了算法如何通过维护已知集合、构建一个对未知区域赋予最大价值的乐观MDP来驱动探索。我们深入探讨了算法背后的乐观主义直觉,并梳理了其理论分析的核心框架,即通过浓度不等式保证模型估计的准确性,并通过一个关键的探索引理将策略的最优性差距与探索概率联系起来,最终推导出算法的样本复杂度保证。

Rmax虽然给出的理论界不是最紧的,但其思想非常清晰,是理解强化学习中探索-利用权衡的一个经典范例。后续更先进的算法(如线性MDP中的算法)也沿袭了这种“面对不确定性保持乐观”的核心原则。

036:贝尔曼秩

在本节课中,我们将学习在线强化学习中,当面对大规模状态空间和函数近似时,如何进行有效探索。我们将介绍一个核心概念——贝尔曼秩,它量化了在函数近似下探索的难度,并理解为何仅依赖函数类的统计复杂度是不够的。

上一节我们分析了Rmax算法在表格化设置下的探索能力。本节中,我们将探讨更一般化的情形。

探索的三大挑战

在线强化学习面临三个核心挑战:

  1. 长期规划:如何优化长期回报。
  2. 泛化:在大型状态空间中,如何利用函数近似进行学习。
  3. 探索:如何在未知环境中发现高回报的策略。

Rmax分析结合了规划与探索。然而,当我们将所有三个挑战——规划、泛化和探索——结合在一起时,情况变得复杂。我们已有的工具(如动态规划、监督学习、乐观面对不确定性原则)单独使用时有效,但组合起来并不能直接告诉我们如何进行探索,或探索在何时是可行的。

一个直观的困难案例

考虑一个“组合锁”问题的变体,它是一个无限视野的MDP。在这个环境中,只有一条特定的动作序列能通向高奖励,任何错误的动作都会使智能体回到起点。

一个现实的例子是雅达利游戏《Freeway》。智能体(一只小鸡)需要穿越车流到达对面获得奖励。如果被车撞到,则回到起点。如果仅进行随机探索,智能体很可能反复被撞,从而学到“试图过街是危险且痛苦的”,最优策略可能是“原地不动”。它无法得知街道对面存在高奖励。

这个例子说明了稀疏奖励下的困难探索问题。

从离线学习到在线探索的启发

在离线强化学习中,我们通过函数近似处理大规模状态空间,样本复杂度依赖于函数类的统计复杂度(如 log|F|),而非状态数量 S。表格化设置可以视为函数近似的一个特例,其隐含的函数类是 R^(S×A),其 log|F| 项与 S×A 成正比。

因此,一个自然的想法是:在线探索中,我们能否也使用函数近似,并用 log|F| 替代对 S 的依赖,从而得到如下形式的样本复杂度保证?

目标保证:以高概率找到一个 ε-最优策略 π,其样本复杂度为 poly(H, A, log|F|, 1/ε, log(1/δ))

不可能性结果

然而,上述目标是不可能实现的。存在一个信息论下界证明,没有任何算法能在所有问题上达成此保证。

下界构造:考虑一个深度为 H 的完全二叉树MDP。每个节点是一个状态,每个边是一个动作。只有一条从根到某个叶节点的路径能获得奖励+1,其他所有路径的奖励均为0。这构成了一个包含 2^H 个不同问题实例的族(每个实例对应唯一的好路径)。

智能体需要与环境交互来找出哪条路径是好路径。这本质上是一个具有 2^H 个臂(路径)的多臂赌博机问题。为了确保找到好路径,算法在最坏情况下需要尝试 Ω(2^H) 条不同的路径。

函数近似的作用:我们可能会想,能否设计一个小的函数类 F,使其能实现所有 2^H 个实例的最优Q函数 Q*?可以,只需将每个实例的 Q* 放入 F 即可。此时 |F| = 2^H,因此 log|F| = H。但这意味着我们目标保证中的 log|F| 项本身就可能是指数级的(H 是多项式,但 2^H 是指数),因此无法用 log|F| 来解释 2^H 的样本复杂度下界。函数近似并未提供帮助。

这个下界揭示了关键问题:要获得多项式样本复杂度,除了函数类 F 的大小,我们还需要关于MDP结构的额外假设

可解案例与共同结构

那么,哪些问题是可高效探索的呢?已知的可解案例包括:

  1. 表格化MDP:复杂度依赖于状态数 S
  2. 状态抽象:复杂度依赖于抽象状态数。
  3. 线性动力系统:复杂度依赖于状态向量的维度 d
  4. 视觉网格世界(隐状态模型):原始观测(图像)空间很大,但潜在的网格状态数很少。
  5. 低秩MDP:转移矩阵 P(s‘|s,a) 是低秩的,可分解为 φ(s,a)^⊤ ψ(s‘),复杂度依赖于秩 d

这些看似不同的案例共享一个共同点:都存在一个低维结构,限制了策略诱导的状态分布与值函数评估之间的交互复杂度。贝尔曼秩正是为了捕捉这一共同结构而定义的。

贝尔曼秩的定义

我们考虑有限视野 H 的MDP。设 F 是一个值函数类(例如,候选的Q函数类)。

时间步 h 的贝尔曼误差:对于一个函数 f ∈ F,在状态-动作对 (x, a) 处的贝尔曼误差衡量了 f 违反贝尔曼方程的程度。
E_h(f)(x, a) = f_h(x, a) - [r_h(x, a) + E_{x‘∼P_h(·|x,a)}[max_{a‘} f_{h+1}(x‘, a‘)]]
f = Q*,则对所有 (x,a)E_h(f)(x,a) = 0

平均贝尔曼误差:在由策略 π 运行到时间步 h 所诱导的状态-动作分布 d_{h}^{π} 上,计算 f 的贝尔曼误差的期望。
ξ_h(f, π) = E_{(x,a)∼d_{h}^{π}} [ E_h(f)(x, a) ]
这是一个标量。若 f = Q*,则对所有 πhξ_h(f, π) = 0

贝尔曼误差矩阵:对于每个时间步 h,我们定义一个矩阵 M_h

  • :索引由所有 f ∈ F 的贪婪策略 π_f 构成(π_f(x) = argmax_a f(x, a))。行索引是策略。
  • :索引由所有函数 f ∈ F 构成。列索引是函数。
  • 矩阵项:在位置 (π_f, f‘) 上的项是 ξ_h(f‘, π_f),即函数 f‘ 在策略 π_f 诱导分布下的平均贝尔曼误差。

贝尔曼秩:贝尔曼秩 d 定义为所有时间步 h 上矩阵 M_h 秩的上界:d = max_{h∈[H]} rank(M_h)

这个矩阵可能非常庞大(行数和列数都是 |F|)。贝尔曼秩 d 衡量了它的内在低维结构。在许多可解案例中,d 都很小。

为何贝尔曼秩很小?——表格化MDP示例

在表格化MDP中,状态空间大小为 S。对于任何 hfπ
ξ_h(f, π) = E_{(x,a)∼d_{h}^{π}} [ E_h(f)(x, a) ] = ∑_{x,a} d_{h}^{π}(x,a) * E_h(f)(x,a)
这可以写成两个向量的内积:

  • 一个向量 v_π ∈ R^(S×A),其分量为 d_{h}^{π}(x,a)。这只依赖于策略 π
  • 一个向量 w_f ∈ R^(S×A),其分量为 E_h(f)(x,a)。这只依赖于函数 f

因此,矩阵 M_h 中的每一项 ξ_h(f, π) 都可以分解为 v_π · w_f。这意味着整个矩阵 M_h 可以写成两个矩阵的乘积:一个行向量矩阵(每行是 v_π)和一个列向量矩阵(每列是 w_f)。这两个矩阵的维度分别是 (|F|, S×A)(S×A, |F|)。因此,rank(M_h) ≤ S×A。所以表格化MDP的贝尔曼秩以 S×A 为上界。

类似地,在低秩MDP或视觉网格世界等案例中,也可以证明贝尔曼秩被潜在的低维结构(如秩 d 或隐状态数)所限制。

利用贝尔曼秩的算法:MOORE(简化版)

现在我们介绍一个能利用低贝尔曼秩的算法框架(MOORE)。为了理解其原理,我们先看一个理想化的简化版本,它忽略统计估计误差。

算法流程如下:

  1. 初始化:版本空间 V = F
  2. 循环(每轮迭代 t):
    a. 乐观规划:在版本空间 V_t 中,选择对初始状态价值估计最高的函数:
    f_t = argmax_{f∈V_t} max_a f_1(x_1, a)
    这体现了乐观面对不确定性原则。因为 Q* ∈ V_t,所以选出的 f_t 的价值估计至少与 J* 一样高,可能更高。
    b. 策略执行与评估:执行 f_t 对应的贪婪策略 π_t,收集轨迹,并精确计算其真实收益 J(π_t)
    c. 终止检查:如果 J(π_t) ≥ max_a f_{t,1}(x_1, a),则算法终止。因为乐观估计值不低于 J*,而实际收益达到了这个估计值,说明 π_t 就是最优策略。
    d. 版本空间剪枝:若未终止,则利用从 π_t 收集的数据,计算矩阵 M_h 中对应于行 π_t 的整行(即对所有 f ∈ V_t,计算 ξ_h(f, π_t))。由于我们假设能精确计算,对于任何平均贝尔曼误差非零的 f(即 ξ_h(f, π_t) ≠ 0),我们可以断定 f ≠ Q*,将其从版本空间 V_t 中移除,得到 V_{t+1}

算法为何有效?——迭代次数受贝尔曼秩限制

关键点在于,只要算法在第 t 轮未终止,我们就能够从版本空间中剔除至少一个函数 f_t(即本轮选出的乐观函数本身)。这是因为以下恒等式(有限视野的性能差分解):
max_a f_{t,1}(x_1, a) - J(π_t) = ∑_{h=1}^{H} ξ_h(f_t, π_t)
等式左边是 f_t 的乐观预测值与其实策略收益之差。由于未终止,该差值 > 0。因此,等式右边求和至少有一项 ξ_h(f_t, π_t) ≠ 0。这意味着在矩阵 M_h 中,对应于行 π_t、列 f_t 的项非零。而 f_t 在迭代开始时位于版本空间 V_t 中,所以它会被剔除。

现在考虑算法探索过的策略(行)π_1, π_2, ..., π_T。在每一轮,新探索的策略 π_t 对应的行向量,在当前的版本空间列(即截至 t-1 轮尚未被剔除的函数)上,至少有一个非零项(即 ξ_h(f_t, π_t))。这保证了该行向量不能被之前所有行向量的线性组合所表示(因为之前各行在当前存活函数对应的列上值均为0)。因此,这些行向量是线性无关的。

已探索的行向量构成了原矩阵 M_h 的一个子矩阵,其行秩至少为 T。而矩阵的行秩等于其列秩,且不超过矩阵本身的秩。因此 T ≤ rank(M_h) ≤ d。这意味着算法的迭代轮数 T 不超过贝尔曼秩 d

结合每轮需要收集足够数据以准确估计一行平均贝尔曼误差(样本复杂度约 poly(H, A, log|F|, 1/ε)),总的样本复杂度为 O(d * poly(H, A, log|F|, 1/ε))。这实现了我们最初的目标,只是额外依赖了贝尔曼秩 d

总结

本节课中,我们一起学习了:

  1. 在线强化学习中,结合规划、泛化和探索的挑战性。
  2. 仅靠函数近似的统计复杂度 log|F| 不足以实现高效探索,存在指数级下界。
  3. 贝尔曼秩的定义:它通过衡量值函数类 F 与其诱导的贪婪策略类在贝尔曼误差上的交互矩阵的秩,来刻画问题的内在探索难度。
  4. 在许多可解问题(表格化、低秩、抽象MDP等)中,贝尔曼秩都很小。
  5. MOORE算法框架(简化版)展示了如何利用乐观原则和版本空间剪枝进行探索,并且其迭代次数受贝尔曼秩的限制,从而在低贝尔曼秩问题上实现多项式样本复杂度。

这为我们理解和使用函数近似下的在线探索提供了一个统一的理论框架。下一讲,我们将深入算法的具体细节、分析以及如何在实际中处理统计估计误差。

037:OLIVE算法

在本节课中,我们将学习OLIVE算法,这是一种用于有限时域强化学习问题的探索算法。我们将深入理解其核心概念、算法流程,并分析其理论保证,特别是如何处理有限样本误差。

概述

上一节我们介绍了贝尔曼秩的定义和算法的基本框架。本节中,我们将进行更完整的分析,并探讨在存在估计误差的情况下,如何保证算法的性能。

算法回顾与设定

我们处于有限时域设定中。最终目标是进行探索,并学习到一个能诱导出良好策略的 Q* 的良好近似。

因此,我们将考虑来自某个函数类 F 的不同候选函数 f,并找出哪一个是 Q。显然,Q** 满足贝尔曼方程。

这是有限时域版本的贝尔曼最优方程对应的贝尔曼误差,Q* 对所有状态-动作对的误差为零。

我们引入了平均贝尔曼误差的概念,即对某个分布下的贝尔曼误差取期望。这个分布通常是由某个其他策略 π 诱导出的占用度量。

定义平均误差需要两个关键元素:f 是你正在检查的函数,π 是诱导出占用度量的策略。你在这个分布上测量平均贝尔曼误差。

这个误差在某些地方可能为正,在另一些地方可能为负。当你取这些期望时,它们可能会相互抵消。因此,仅有一个约束并不能告诉你太多信息。理想情况下,你需要由不同策略 π 诱导出的多个约束。这就是算法要做的事情。

贝尔曼秩就是将所有这类平均误差堆叠成一个矩阵,其中列是候选函数,行是你可能用来收集数据和估计这些误差的策略。贝尔曼秩就是这个矩阵的秩。

对于算法,我们维护一个版本空间,它是我们函数类中的一个子集,其中的函数到目前为止都通过了测试,即它们的平均贝尔曼误差看起来不太大。在这个简化分析中,我们假设可以完美估计一切。这意味着所有存活在版本空间中的函数,其平均贝尔曼误差到目前为止都精确为零。

以下是算法的核心步骤:

  1. 乐观初始化:对于每个 f,我们让它预测初始状态的期望回报。然后我们在剩余函数中,选择预测值最高的那个函数,称之为 f_T
  2. 探索策略:探索策略就是 f_T 的贪婪策略,记为 π_T
  3. 蒙特卡洛评估:我们运行蒙特卡洛模拟来估计 π_T 的回报。
  4. 探索或终止:如果策略已经(接近)最优,则终止;否则,它就是一个好的探索策略。
  5. 数据收集与消除:我们使用 π_T 收集数据,估计整个“行”(即该策略对应的平均贝尔曼误差),然后消除那些平均贝尔曼误差非零的函数。这样,我们的版本空间就变小了。
  6. 重复:重复上述过程。

需要注意的是,这里的策略都是相对于那些函数的贪婪策略。我们从一个容量有限的函数类 F 开始。虽然对于连续函数类(如线性函数或神经网络),其大小是无限的,但我们可以通过离散化等技巧来处理,使得 log |F| 不会太大。这个矩阵本身可能很大,但在分析中我们暂不担心其计算复杂度。

处理有限样本误差

现在,让我们更仔细地看看实际分析,其中不能再做那种天真的完美估计假设了。

首先注意到,在估计这些“行”时,实际上无法做到完美,只能达到一定的精度。对于任何期望的精度水平,都有一个对应的样本复杂度需要支付。

第一个是用蒙特卡洛模拟估计当前探索策略的值,这相对容易,因为只需要一个逆平方的界,我们可以暂时忽略它。

真正的负担在于以某个精度水平 ε 估计所有 f 的平均贝尔曼误差。

这里有一个我们之前忽略的微妙之处:实际上存在不同版本的贝尔曼秩。我们这里讨论的版本有一个微妙点:你只对前 H-1 个动作使用 π_T,但最后一个动作需要根据候选函数贪婪地选择。

因此,虽然所有候选函数共享由前 H-1 个动作诱导出的相同状态分布 x_H,但对于每个不同的 f,它们想要采取的最后一个动作可能不同。

一个朴素的想法是为每个 f 绘制一个独立的数据集。但这非常糟糕,因为即使在一个迭代内,所需的总样本量也至少与候选函数的数量 |F| 成线性关系。而我们希望样本复杂度对 |F| 的依赖只是 log |F|

那么,如何使用单个数据集来估计所有这些具有不同最后一个动作的量呢?答案是重要性采样

具体做法是:对于前 H-1 个动作,使用 π_T。对于最后一个动作 a_H,从一个可以重加权到任何确定性策略的分布中采样,例如在离散动作空间上的均匀分布。然后,通过重要性采样来纠正,以估计每个候选函数 f 对应的量。

在这种情况下,重要性权重的最大值就是动作空间的大小 A。因此,为了达到精度 ε,所需的样本数量大致为 O(A² / ε²)log |F| 项来自于使用单个数据集同时估计所有 f 的条目,并通过联合界保证对所有 f 同时成立。

迭代复杂度分析

关键问题是界定迭代次数。在完美估计的简化设定下,迭代次数以贝尔曼秩 d 为界。这个论证基于线性独立性的思想:每次探索使用一个新的“行”(策略),如果它不是最优的,那么它对应的平均贝尔曼误差向量必须与之前的所有“行”线性独立,因此“黄行”的秩每次增加1,而整个矩阵的秩以贝尔曼秩 d 为界,所以探索迭代次数最多为 d

然而,这个“非零即零”的定性论证在存在有限样本误差时无效。我们需要一个能处理误差的、更稳健的版本。

假设我们通过采样,确保所有存活函数的真实平均贝尔曼误差以 2ε‘ 为界(其中 ε‘ 是我们的估计精度)。我们仍然有探索或终止的论证:要么当前策略已经接近最优(次优间隙小于最终目标 ε_opt),要么我们需要继续探索。

如果继续探索,我们知道乐观函数 f_T 的预测值与其真实表现之间存在大于 ε_opt 的差距。通过误差传播引理,这个差距可以分解为 f_T 在其自身策略诱导分布下的平均贝尔曼误差之和。因此,至少存在某个时间步 h,其平均贝尔曼误差至少为 ε_opt / H

在几何上,我们可以将每个候选函数 f 的贝尔曼误差向量视为一个 d 维空间中的点(d 是贝尔曼秩)。版本空间就是满足所有已测约束(即与之前探索方向的内积很小)的点的集合,它形成一个条带状区域。

每次探索,我们添加一个新的方向 π_T 和一个新的约束(内积小于 ε‘)。我们希望每次探索方向都指向当前版本空间椭球外接椭球体的长轴方向,这样才能取得显著进展。

如何保证这一点?关键在于我们选择的乐观函数 f_T。我们已经证明,存在某个时间步 h,使得 π_T 的方向与 f_T 的贝尔曼误差向量的内积至少为 ε_opt / H。如果这个值远大于约束宽度 ε‘,那么就说明 π_T 确实指向了一个长轴方向。

更精确的数学引理表明:对于一个 d 维空间中的椭球体,如果你找到一个方向 p,并且在该椭球体内存在一个向量 v,使得它们的内积 |p·v| ≥ √d * ε‘,那么在用超带 |p·x| ≤ ε‘ 切割后,新集合的最小体积外接椭球体的体积至少会以常数因子缩小。

因此,只要每次探索都能满足 |p·v| ≥ √d * ε‘,版本空间外接椭球的体积就会指数级缩小。初始椭球体积约为 (V_max)^d,而最终版本空间中心总存在一个半径为 ε‘ 的小球不会被消除,其体积约为 (ε‘)^d。所以,迭代次数的上界约为 O(d * log(V_max / ε‘))

这非常出色,因为迭代复杂度(忽略对数因子)几乎与简化分析中的 d 相同。现在,我们需要将估计精度 ε‘ 与最终的最优性间隙 ε_opt 联系起来。根据上述要求,我们需要 ε_opt / H ≥ √d * ε‘,即 ε‘ ≤ ε_opt / (H√d)。然后,我们可以根据这个 ε‘ 反推出每次迭代需要收集的样本数量。

计算复杂度评论

我们尚未讨论计算方面,但简要评论一下。在算法描述中,我们假设可以枚举函数类,这可能导致指数级的计算复杂度。如果我们关心计算复杂度,能否在实践中实现这个算法?

一种方法是将算法写成一个约束优化问题:不是显式地消除函数,而是将贝尔曼误差估计作为约束,然后在原始函数空间上求解带约束的最大化问题。这样至少可以将其表述为一个可能用黑盒优化器求解的约束优化问题。

然而,即使对于线性函数近似这样的简单情况,这个约束优化问题也可能是 NP 难的。但这在机器学习中并不罕见。关键是要区分这种 NP 难是否与实践中我们能够有效解决的标准问题(如 0-1 分类)的 NP 难相同。如果我们可以将问题归约到多次调用一个标准分类预言机,那么我们就有了“预言机高效”的计算保证。

不幸的是,对于 OLIVE 算法,即使在表格情况下(此时标准分类预言机是平凡的),其计算仍然是 NP 难的。这表明 OLIVE 的计算困难是一种新的类型,无法通过归约到标准学习任务来规避。这促使我们去寻找计算上更可行的替代算法。

总结

本节课中,我们一起学习了 OLIVE 算法。我们从算法框架回顾开始,然后重点分析了在有限样本误差下如何保证算法的性能。核心在于利用贝尔曼秩的低秩结构,通过乐观探索和基于重要性采样的约束检验,逐步缩小版本空间。我们看到了如何通过椭球体积引理来稳健地界定迭代次数,最终将样本复杂度与贝尔曼秩、时域、动作数和对数函数类大小联系起来。最后,我们也讨论了该算法在计算上面临的挑战。OLIVE 提供了一个在统计上高效的探索框架,但其计算复杂性提示我们需要进一步的研究来设计更实用的算法。

038:鞅集中性与岭回归 🎯

在本节课中,我们将学习两个重要的理论工具:覆盖论证和鞅集中不等式。这些工具对于分析在线学习和强化学习算法至关重要,尤其是在处理连续函数类和非独立同分布数据时。我们将首先介绍如何通过覆盖论证处理连续函数类,然后探讨鞅集中不等式如何应用于在线交互式学习场景。最后,我们将这些概念应用于在线岭回归的分析,并理解其统计保证。


覆盖论证 📐

上一节我们讨论了在线强化学习的统计效率。本节中,我们来看看如何处理连续函数类。在之前的分析中,我们总是假设函数类是有限的,并通过支付 log |F| 作为统计复杂度。然而,当我们处理线性函数逼近等连续类时,需要新的工具。

覆盖论证的核心思想是,即使函数类是连续的,我们也可以通过一个有限的、离散化的函数子集(称为覆盖)来近似它,然后在这个离散集上应用标准的集中不等式和并界。

L∞ 覆盖数的定义

我们称函数集 F_ε 是函数类 F 的一个 ε-覆盖,如果对于 F 中的任意函数 f,都存在 F_ε 中的一个函数 f_c,使得两个函数在 L∞ 范数下足够接近。

公式
对于所有 f ∈ F,存在 f_c ∈ F_ε,使得 ||f - f_c||_∞ ≤ ε

覆盖数 N(ε, F, ||·||_∞) 定义为最小的此类覆盖集的大小。

线性函数类的覆盖示例

考虑一个线性函数类:F = { f(x) = φ(x)^T θ | ||θ||_∞ ≤ 1 },其中 φ(x) 是特征向量。

以下是构造覆盖的步骤:

  1. 在参数空间(单位L∞球)中,创建一个网格(格点)。
  2. 每个格点 θ_c 对应一个函数 f_c(x) = φ(x)^T θ_c
  3. 选择网格间距 ε',以确保对于任意原始参数 θ,都能找到一个格点 θ_c,使得函数值之差满足 ||f - f_c||_∞ ≤ ε

通过霍尔德不等式,我们可以建立参数空间距离与函数空间距离的联系:
|φ(x)^T (θ - θ_c)| ≤ ||φ(x)||_2 * ||θ - θ_c||_2

假设特征范数有界 ||φ(x)||_2 ≤ B_φ,并且参数网格保证了 ||θ - θ_c||_2 ≤ √d * ε'。那么,为了满足 ||f - f_c||_∞ ≤ ε,我们只需设置 ε' = ε / (√d * B_φ)

覆盖数的大小约为 (2/ε')^d,代入后得到 O(( (2√d B_φ)/ε )^d )。在对数项中,这只会带来多项式依赖关系,通常是可接受的。

利用覆盖进行集中性分析

假设我们已经为连续函数类 F 构建了一个有限的 ε-覆盖 F_ε

以下是分析步骤:

  1. 首先,在离散的覆盖集 F_ε 上应用并界和集中不等式(如霍夫丁不等式)。以高概率,对于所有 f_c ∈ F_ε,经验均值都接近其真实期望。
    公式P( ∀ f_c ∈ F_ε, |E[f_c] - (1/n) Σ f_c(X_i)| ≤ √( (log |F_ε| + log(1/δ)) / n ) ) ≥ 1 - δ
  2. 现在,对于原始类 F 中的任意函数 f,找到其在覆盖中的最近邻 f_c
  3. 通过三角不等式,将 f 的误差分解:
    |E[f] - (1/n) Σ f(X_i)| ≤ |E[f] - E[f_c]| + |E[f_c] - (1/n) Σ f_c(X_i)| + |(1/n) Σ (f_c(X_i) - f(X_i))|
  4. 第一项和第三项由覆盖的定义控制(均 ≤ ε)。第二项由步骤1中的集中不等式控制。
  5. 通过合理分配误差预算(例如,令每部分误差为 ε/3),我们可以得到原始连续函数类的整体泛化界。

这个论证允许我们将对连续类的分析,转化为对有限离散类的分析,从而应用熟悉的工具。


鞅集中不等式 🎲

上一节我们介绍了处理连续函数类的覆盖论证。本节中,我们来看看如何处理在线学习中产生的非独立同分布数据。在在线设置中,数据是顺序收集的,当前的动作可能依赖于过去的所有观测结果,破坏了数据的独立性。

鞅集中不等式是霍夫丁不等式在非独立序列上的推广。它允许我们在数据间存在特定依赖关系(即鞅差序列)时,仍然能得到和的集中性。

鞅与鞅差序列

考虑一个随机变量序列 S_0, S_1, ..., S_n。如果对于所有 k,在给定历史信息 S_0, ..., S_k 的条件下,下一个增量的期望为零,则该序列是一个鞅。
公式E[ S_{k+1} - S_k | S_0, ..., S_k ] = 0
序列 {S_{k+1} - S_k} 称为鞅差序列。

鞅集中不等式(Azuma-Hoeffding 不等式)

假设 {S_k} 是一个鞅,并且其差分的幅度几乎必然有界:|S_k - S_{k-1}| ≤ c_k
那么,以至少 1 - δ 的概率,有:
公式|S_n - S_0| ≤ √( 2 (Σ_{k=1}^n c_k^2) log(2/δ) )

S_k 是独立零均值随机变量的部分和时,该不等式退化为标准的霍夫丁不等式。

在线赌博机示例

考虑一个双动作的赌博机问题。算法根据历史数据选择动作 A_t,获得奖励 R_t,其中 E[R_t | A_t] = μ_{A_t}

以下表达式满足鞅性质,因此其和是集中的:
Σ_{t=1}^T (R_t - μ_{A_t})
这是因为,给定历史信息(包括 A_t),R_t - μ_{A_t} 的条件期望为零。

然而,以下表达式通常不满足鞅性质,其和可能不集中:
Σ_{t=1}^T (R_t - E[R_t])
这里 E[R_t] 边缘化了算法所有的随机性。给定历史信息后,R_t 的条件期望是 μ_{A_t},而 E[R_t] 是一个固定值(例如 (μ_A + μ_{A'})/2),两者通常不相等,因此条件期望不一定为零。

这个例子表明,在在线学习中,正确的误差形式是随机观测值减去其基于当前历史的条件期望,而不是减去全局的边缘期望。


在线岭回归 📈

上一节我们介绍了处理非独立数据的鞅集中工具。本节中,我们来看看如何将这些工具应用于一个核心问题:在线岭回归。这是在分析线性马尔可夫决策过程时的一个关键组件。

问题设定

在时间步 t = 1, 2, ..., T

  1. 对手选择特征向量 X_t ∈ R^d
  2. 我们观察到标签 Y_t = X_t^T θ + η_t*,其中 η_t 是独立的有界零均值噪声。

与经典回归不同,这里的 X_t 可以是任意选择的,甚至依赖于历史数据 (X_1, Y_1, ..., X_{t-1}, Y_{t-1}),这模拟了在线学习或赌博机中的探索过程。

算法:岭回归

在每一轮 t,我们基于截至 t-1 轮的历史数据,通过岭回归估计参数:
公式θ̂_t = argmin_θ { Σ_{i=1}^{t-1} (X_i^T θ - Y_i)^2 + λ ||θ||_2^2 }

其闭式解为:
公式θ̂_t = Λ_t^{-1} ( Σ_{i=1}^{t-1} X_i Y_i )
其中 Λ_t = λI + Σ_{i=1}^{t-1} X_i X_i^T 是正则化的设计矩阵。

对于一个新的输入 x,预测值为 Ŷ_t(x) = x^T θ̂_t

预测误差的保证

我们的目标是界定预测误差 |Ŷ_t(x) - x^T θ*|。由于数据可能由对手选择,我们不能假设 Λ_t 的最小特征值很大(即数据覆盖所有方向)。因此,参数恢复误差 ||θ̂_t - θ*||_2 可能是无界的。

关键结论是:预测精度取决于新输入 x 与历史数据张成的子空间的关系

具体的高概率保证具有以下形式:
公式|Ŷ_t(x) - x^T θ*| ≤ β_t * ||x||_{Λ_t^{-1}}
其中:

  • β_t 是一个随时间缓慢增长的置信度参数,它包含了噪声水平、参数范数界以及通过鞅集中不等式推导出的对数项。
  • ||x||_{Λ_t^{-1}} = √( x^T Λ_t^{-1} x )x 在由 **Λ_t^{-1}$ 定义的内积下的范数。

范数项的解释

范数项 ||x||_{Λ_t^{-1}} 衡量了特征向量 x 相对于历史数据的“新颖性”或“不确定性”。

  • 如果 x 与过去观测到的方向高度对齐,则该值较小。
  • 如果 x 位于历史数据很少覆盖的方向上,则该值较大。

这个保证是直观的:我们只能对那些与已探索方向相似的新输入做出自信的预测。在线性赌博机或线性MDP的背景下,算法会主动选择动作(即 X_t)以减小未来可能决策的 ||·||_{Λ_t^{-1}} 范数,从而实现高效的探索。


总结 🎉

在本节课中,我们一起学习了两个支撑在线强化学习理论分析的核心工具。

首先,我们介绍了覆盖论证,它允许我们将连续函数类的分析转化为对有限离散集的分析,从而能够应用并界和集中不等式。这对于处理线性函数近似等连续模型至关重要。

其次,我们探讨了鞅集中不等式,它是霍夫丁不等式在非独立同分布序列上的推广。我们通过在线赌博机的例子,理解了在数据存在历史依赖时,如何正确构造满足鞅性质的误差项以获得集中性保证。

最后,我们将这些概念应用于在线岭回归的分析。我们看到了在对手选择特征的不利设定下,预测误差的保证如何自然地通过一个依赖于数据几何的范数 ||x||_{Λ_t^{-1}} 来表达。这为后续分析线性马尔可夫决策过程中,智能体如何通过主动探索来缩小潜在决策的不确定性,奠定了理论基础。

这些工具不仅对于理解线性MDP的算法分析至关重要,也广泛适用于机器学习和统计学中涉及在线学习和交互式数据的诸多场景。

039:UCB-LSVI算法 🧠

在本节课中,我们将学习UCB-LSVI算法,这是一种用于线性马尔可夫决策过程的在线强化学习算法。我们将从在线回归的数学工具开始,逐步构建算法,并理解其核心的乐观探索原理。

在线回归与覆盖性直觉

上一节我们介绍了一些对在线学习有用的数学工具。本节中,我们来看看在线回归问题。在这个设置中,我们获得一系列特征向量 x 和对应的标签 y,并进行线性回归。与标准设置不同,我们假设 x 的选择可以是自适应的,即下一个 x_t 的选择可能依赖于之前观测到的 xy 标签的噪声。为了为这类过程建立性能保证,我们需要集中不等式,尽管我们不会深入其细节。

算法本身基本上是带正则化的线性回归。我们希望给出一个保证,无论数据看起来如何。我们知道,如果数据中的 x 不能张成整个空间,就无法恢复真实的参数 θ*。然而,我们论证了,如果你要预测的新查询点 x 很好地落在历史数据 X 的张成空间内,我们仍然可以做出好的预测。

让我们暂时忘记线性回归,思考一个相对简单的场景。例如,假设你之前所有的 x 都是同一个 x0。那么,如果有人问你 x0 的真实期望标签是什么,你应该能够自信地回答,即之前标签的平均值。不仅如此,实际上你还能对 x0 的任何缩放版本 α * x0 做出自信的预测,但这里有一个限制:α 不能太大。因为当你对 x0 的标签取平均来预测时,标签 y 本身是有界的。当你预测 α * x0 时,你的预测误差也会被放大 α 倍。因此,你不希望 α 太大。

类似地,在第二个例子中,假设一半的 xx0,另一半是 x0'。我们可以对 x0x0' 之间的任何线性组合 α*x0 + β*x0' 做出自信的预测,但同样需要限制 αβ 不能太大。

本质上,我们是在将新的 x 分解为历史 X 的线性组合,并使用这些权重来组合对应的 y 标签。虽然这看起来与线性回归不同,但我们将展示这种直觉正是线性回归所做的。

线性回归的分解视角

我们的想法如下:历史上我们看到了这些数据点 (x, y)。现在我们被给予一个新的查询点 x,我们想知道它的 y 值。我们希望给出一个依赖于数据的界限,衡量 x 落在历史数据张成空间内的程度,并用它来保证我们预测 y 的准确性。

根据之前的直觉,我们应该问:能否将 x 表示为 x = Σ_{i=1}^{T-1} α_i * x_i?如果可以这样分解,那么我们对 y_hat(x) 的预测应该是 Σ_{i=1}^{T-1} α_i * y_i。这是因为存在线性关系:x 的真实标签是 θ*^T x,而 y_ix_i^T θ* 的无偏估计。当你将它们平均起来时,噪声可以相互抵消。

如果你执行这样的过程,最终的误差界限将取决于什么?它取决于这些 α 系数的大小。首先,假设我们可以进行分解。如果连分解都做不到,那就没有希望了。但即使可以进行分解,如果某些 α_i 非常大,那么你的误差也会非常大。因此,你需要某种衡量 α 大小的方法。

现在,我们将展示线性回归的预测实际上可以写成这种形式。线性回归对新 x 的预测是:

y_hat(x) = x^T * Λ_T^{-1} * Σ_{i=1}^{T-1} x_i * y_i

其中 Λ_T = I + Σ_{i=1}^{T-1} x_i * x_i^T

我们可以将其重写为:

y_hat(x) = Σ_{i=1}^{T-1} [x^T * Λ_T^{-1} * x_i] * y_i

我们定义 α_i = x^T * Λ_T^{-1} * x_i。那么线性回归所做的就是计算这些 α_i,然后使用 α_i * y_i 进行最终预测。

我们可以验证这个分解:Σ_{i=1}^{T-1} α_i * x_i = x^T * Λ_T^{-1} * Σ_{i=1}^{T-1} x_i * x_i^T。忽略正则项 IΣ_{i=1}^{T-1} x_i * x_i^T 近似等于 Λ_T,因此结果近似等于 x。线性回归选择的正是使 α_i 的二阶矩 Σ_i α_i^2 最小的那组权重。

事实证明,Σ_i α_i^2 = x^T * Λ_T^{-1} * x。这个量正是我们之前界限中出现的覆盖性参数。它衡量了当你试图将 x 分解为历史 X 的线性组合时,那些系数 α_i 的二阶矩。如果它们很大,你知道你的预测会非常不准确;如果它们很小,你知道你的预测会很好。

在线回归的保证与椭圆势引理

现在,我们对这个问题做一个关键的转变。到目前为止,我们考虑的设置实际上并不那么“在线”。它是一个离线分析:环境选择一些 x,你看到 y,然后尝试进行预测。你意识到你受制于环境:如果环境之前给你看的 x 没有张成整个空间,然后问你一个落在张成空间之外的新的 x,你就无法得到好的保证。

然而,这个问题有一个有趣的转折:无论环境如何选择 x_t,你总是能得到好的保证。这就是真正的在线部分。在线部分的新转折是:每一轮,当环境选择 x_t 时,学习者立即做出预测 y_t_hat。然后,学习者希望所有轮次的总误差(即遗憾)是有界的。

直觉如下:在任何快照时刻,如果环境想让你难堪,它很容易做到。它可以一直给你相同的 x,然后突然给你一个不同的方向,并询问这个新方向。这时你就会出错。但是,每当环境让你难堪时,它必须给你一个落在先前 x 张成空间之外的 x。你犯了一个错误,但环境必须告诉你这个新 x_t 的标签。现在你的数据变得更加多样,你有了那个新方向的数据。环境可以在一段时间内继续查询那个方向,但随着它查询得越多,你在那个方向上积累的数据就越多。最终,环境无法再利用那个方向了。

假设环境仍然想让你难堪,它可以做什么?它可以找到一个与之前方向大致正交的新方向。一段时间后,你也学会了那个方向。环境可以继续这个过程,但最终它会耗尽方向,因为空间是 R^d 维的,只有有限个方向。这就是为什么遗憾界限会有 sqrt(T) 的形式,并且界限中会依赖于维度 d

在在线情况下,遗憾定义为:

Regret = Σ_{t=1}^{T} (y_t_hat - x_t^T θ*)

我们可以反复应用之前的快照保证,并将它们相加。最终我们得到需要界定以下项:

Σ_{t=1}^{T} sqrt(x_t^T * Λ_t^{-1} * x_t)

通过柯西-施瓦茨不等式,这可以放松为:

sqrt(T) * sqrt( Σ_{t=1}^{T} x_t^T * Λ_t^{-1} * x_t )

现在,关键是要证明这个和实际上很小,只以 log T 的速度增长。这就是著名的椭圆势引理

椭圆势引理指出:

Σ_{t=1}^{T} x_t^T * Λ_t^{-1} * x_t ≤ 2 * log( det(Λ_{T+1}) ) ≤ 2d * log(T+1)

这个引理只关心 x 的序列。给定任意有界范数的 x 序列,这个不等式成立。证明的核心在于考察矩阵 Λ_t 行列式的变化。利用恒等式 det(I + u v^T) = 1 + v^T u 以及对数函数的性质,我们可以得到这个上界。

将这个引理代回,我们得到在线岭回归的无遗憾保证,无论 x_t 如何选择。

线性MDP与UCB-LSVI算法

最后,我们终于可以讨论线性MDP了。线性MDP是一个大型MDP,我们假设状态和动作空间都很大,甚至可能是连续的。但我们有一个非常好的结构:转移矩阵 P_h 具有低秩分解 P_h(s'|s,a) = φ(s,a)^T μ_h(s')。在线性MDP设置中,我们额外假设特征映射 φ 是已知的。

给定这个结构,贝尔曼算子作用于任何函数 f 的结果总是 φ 的线性函数。这比贝尔曼完备性更强,贝尔曼完备性只要求对函数类中的任何函数进行贝尔曼更新后,结果仍在函数类中。而这里,对任意复杂的 f 进行贝尔曼备份,结果都是线性的。这对于分析至关重要。

UCB-LSVI算法的目标是在有限视野 H 的线性MDP中进行在线探索,并最小化总遗憾。算法流程如下:

对于轮次 t = 1T

  1. 使用历史数据计算每个时间步 h 的逆协方差矩阵:
    Λ_{h,t} = I + Σ_{i=1}^{t-1} φ(s_{h,i}, a_{h,i}) * φ(s_{h,i}, a_{h,i})^T
    
  2. 通过反向归纳,计算 Q 函数的点估计 Q_{h,t}^{tilda} 和乐观估计 Q_{h,t}^{hat}
    • 对于最后一步 h=HQ_{H,t}^{tilda}(s,a) = φ(s,a)^T * Λ_{H,t}^{-1} * Σ_i φ(s_{H,i}, a_{H,i}) * r_{H,i}
    • 对于 h < HQ_{h,t}^{tilda}(s,a) = φ(s,a)^T * Λ_{h,t}^{-1} * Σ_i φ(s_{h,i}, a_{h,i}) * (r_{h,i} + V_{h+1,t}^{hat}(s_{h+1,i}))
    • 乐观估计为:Q_{h,t}^{hat}(s,a) = Q_{h,t}^{tilda}(s,a) + β * sqrt( φ(s,a)^T * Λ_{h,t}^{-1} * φ(s,a) )
    • 值函数估计为:V_{h,t}^{hat}(s) = min( H, max_a Q_{h,t}^{hat}(s,a) )
  3. t 轮执行的策略 π_t 是关于 Q_{1,t}^{hat} 的贪婪策略。

算法的核心思想是面对不确定性的乐观主义。点估计 Q^{tilda} 可能高于或低于真实的 Q*。但我们添加了一个基于特征覆盖性(即 sqrt(φ^T Λ^{-1} φ))的奖励加成项 β。通过适当设置 β,可以证明 Q^{hat}Q* 的一个上界。然后,遵循关于这个乐观 Q 函数的贪婪策略,就能鼓励探索。

算法分析概要

分析遵循在线回归的类似模式。首先,利用线性回归的保证,可以建立对于所有 t, h 的误差界:

| Q_{h,t}^{tilda}(s,a) - (r_h(s,a) + E[V_{h+1,t}^{hat}(s') | s,a]) | ≤ β * sqrt( φ(s,a)^T * Λ_{h,t}^{-1} * φ(s,a) )

其次,通过归纳法可以证明乐观性:Q_{h,t}^{hat} ≥ Q_h*V_{h,t}^{hat} ≥ V_h*

最后,进行遗憾分解。总遗憾 Σ_t (J(π*) - J(π_t)) 可以被上界为:

Σ_t Σ_h E_{π_t} [ β * sqrt( φ(s_h, a_h)^T * Λ_{h,t}^{-1} * φ(s_h, a_h) ) ]

这里,期望是在策略 π_t 下轨迹的分布上取的。这个和式可以通过椭圆势引理进行界定,最终得到形式为 O( d * H * sqrt{T * log T} ) 的遗憾上界。

总结 🎯

本节课中,我们一起学习了UCB-LSVI算法。

  1. 我们从在线回归的覆盖性直觉开始,理解了如何通过将查询点分解为历史数据的线性组合来衡量预测的不确定性。
  2. 我们介绍了椭圆势引理,它帮助我们在线性回归的在线设置中,无论特征向量如何自适应选择,都能界定总误差。
  3. 我们将这些工具应用于线性马尔可夫决策过程,构建了UCB-LSVI算法。该算法通过在线拟合Q迭代进行,并添加了一个基于特征不确定性的乐观奖励加成项,以实现面对不确定性的乐观探索。
  4. 算法的核心是计算 Q 函数的乐观上界,并遵循关于该上界的贪婪策略,这保证了充分的探索,并最终带来了可证明的次线性遗憾界限。

通过结合线性函数近似、面对不确定性的乐观主义以及椭圆势引理的分析,UCB-LSVI为在高维或连续状态动作空间中学习提供了一种强大而理论完备的方法。

040:可预测状态表示

在本节课中,我们将学习一个与整个学期讨论内容正交但非常独特的主题:可预测状态表示。这是一种处理部分可观测系统的不同视角,它不依赖于隐变量模型,而是直接从可观测量的角度来定义和计算状态。


概述

到目前为止,我们整个学期都在本质上遵循马尔可夫假设。我们总是从状态、动作、奖励、状态、动作、奖励这样的序列开始讨论强化学习。然而,对于大多数实际问题,你被给定一个“状态”这一基本假设本身就是值得怀疑的。这引出了部分可观测马尔可夫决策过程的公式化。在本节中,我们将探讨一种非常不同且独特的处理部分可观测系统的方法:可预测状态表示。

部分可观测性无处不在

部分可观测性几乎无处不在。例如,当我们使用大语言模型对文本序列建模时,如果将每个字母或词元视为一个观测,那么这个系统是高度非马尔可夫的。你无法仅基于当前词元来预测未来的词元,你需要从文章开头到当前点的整个历史作为上下文。

在视频预测中也是如此。例如,尝试预测游戏中的下一帧,即使近似地看,这也不是马尔可夫的。当前帧中可能有很多移动物体,如果只看到当前帧,你甚至无法判断这些物体正在向哪个方向移动。

在Atari游戏中,人们通常使用过去的四帧,因为游戏反应迅速且记忆短暂,通过这种设置可以使其近似马尔可夫。

一个更突出的例子是机器人学中的SLAM。SLAM代表同步定位与地图构建。其核心思想是:你有一个机器人,它有传感器,但没有“状态”,你看到的只是传感器读数。想象一个机器人在建筑物中随机行走,它可能进入两个内部看起来完全相同的房间。在这种情况下,机器人看到的传感器读数在这两个房间中是无法区分的,但其潜在状态显然是不同的。

这就产生了一个问题:当你的机器人只有传感器读数时,我们甚至如何谈论“状态”?在导航任务中,如果你有世界或建筑物的地图,你可以自信地谈论状态,你的状态就是地图上的某个位置。但如果你也没有地图呢?因此,你实际上有两个需要联合解决的任务:创建建筑物的地图,以及使用当前的传感器读数序列来判断你在哪个房间。我们稍后会看到,用POMDP的术语来说,这本质上是估计系统动态以及找出你当前的信念状态,这两个任务是交织在一起的,无法单独解决其中一个。

数学化表述

和本课程一贯的做法一样,我们希望将其数学化。假设我们有一个观测空间 O。像往常一样,我们假设它是有限且离散的。我们还有一个动作空间 A。在今天的讨论中,为了简化,我们将忽略动作,因为大多数概念在没有动作的情况下也能很好地定义和讨论。

假设我们有一个初始配置,类似于MDP中的初始状态分布。如果没有动作,你只是抽取一个观测序列:o1, o2, o3, ...。整个过程是随机的,意味着如果你重新开始并抽取另一个序列,序列可能会不同。

这本质上是一个非常一般定义的部分可观测系统。我们知道马尔可夫系统是它的一个特例。在马尔可夫系统中,这基本上变成了一个马尔可夫链。即,只要满足以下条件:未来观测序列的联合分布,在给定历史观测的条件下,等于在给定当前观测的条件下未来观测序列的分布,那么你就有一个马尔可夫系统。在这种情况下,我们说 o_tau 是一个状态。

这个条件可以用条件独立性表示:未来 ⊥ 历史 | 当前观测。这意味着未来和历史在给定当前观测的条件下是独立的。

马尔可夫假设的强度

如果你仔细思考,假设你的系统在这种特定背景下是马尔可夫的,实际上是一个极强的假设。你可以通过一些参数计数论证来简单地看到这一点。

例如,如果你有一个马尔可夫链。假设你从这个一般公式开始:系统只是发射一个随机的观测序列。然后,我在其上附加一个条件:我的系统是马尔可夫的。那么你需要多少参数来指定这个系统?本质上,你可以通过告诉我它的转移矩阵来指定系统。大致来说,指定一个转移矩阵需要 O^2 个参数,因为这是一个 O x O 的矩阵。

现在,想象你移除了马尔可夫假设,并拥有一个任意系统,比如长度最多为 L。指定一个一般的部分可观测系统需要多少参数?是 O^L。因为本质上,我们谈论的是整个序列上的一个通用、完全一般的分布。如果你考虑一个长度最多为 L 的序列,那么你有一个在 O^L 个不同可能序列上的分布,所有这些数字都可以被任意自由设置。

另一种看待它的方式是:实际上,任何部分可观测系统都可以转化为一个马尔可夫系统,如果你将历史本身定义为状态。因为你可以总是从一个部分可观测系统中采样,如果你被给定一个函数:给定任意历史(包括空历史),它告诉你下一个观测的条件分布是什么。如果你有这个函数,你可以采样下一个观测,然后基于第一个观测的条件采样第二个,基于前两个的条件采样第三个,依此类推。

如今,在大型语言模型的时代,这个过程被称为自回归采样。因此,这意味着马尔可夫假设是非常受限的。另一方面,这也意味着,如果你想移除马尔可夫假设(例如,在文本建模的LLM中,马尔可夫假设在很多情况下是一个糟糕的假设),但如果不引入其他结构,直接移除它将是难以处理的,即使你的观测空间是有限的。

因此,我们需要一些结构来捕捉我们在实践中观察到的部分可观测系统的类型。

引入隐变量模型

迄今为止研究最多的示例结构是假设存在一个小而有限的潜在状态空间。这就是我们得到隐变量模型的地方。以SLAM为例,在每个位置,你都有传感器读数,你可能拥有非常丰富的不同可能的传感器读数序列,但如果你看潜在的隐状态,这只是建筑物,你可能就在这些房间之一。这就是全部。有许多现实世界的问题,如果你看传感器读数序列,它是高度复杂的,存在指数级多的可能性,但如果你看潜在的隐状态,它是非常有限且高度结构化的。

在这些情况下,引入隐状态假设来正则化或对系统施加额外的规律性约束,使得学习变得可处理,是非常有意义的。

我们可以将其纳入我们之前的定义中。我们仍然有观测空间 O 和动作空间 A(再次说明,我将主要忽略动作)。现在我们说存在一个潜在状态空间 Z,例如在SLAM例子中,这就是真实位置。

在这种情况下,你会发现,如果观测空间很小且潜在状态空间很小,整个过程可以用多项式数量的参数来指定,而不再是指数级。因为你可以说这是标准的隐变量模型,本质上,这是一个隐马尔可夫模型。如果你加上动作和奖励,这就变成了部分可观测马尔可夫决策过程

你有潜在状态转移,这对应于:如果我的真实位置是这里,我让机器人向那个方向移动一点,我可能会转移到一个新的物理位置。你还有发射过程,这类似于传感器读数,即基于你真实的潜在状态生成你接收到的观测。

在一般公式中,例如在POMDP和HMM中,潜在转移 T 和发射过程 E 都可以是随机的,允许存在噪声传感器读数。

关于隐变量模型的迷思

这里有一些关于HMM和POMDP的迷思。通常,正如我提到的,在机器人设置中,部分可观测性通常源于噪声传感器。即使在某些情况下,如果你有完美的传感器,你可以确切地知道你的状态是什么。但例如,你有GPS。假设你在一个设置中,你的当前状态只是你的物理位置,比如经纬度坐标,如果你假设GPS给你确切的位置,你就有了状态。

但你知道GPS并不精确。事实上,每当你的手机或其他设备接收到GPS信号并告诉你位置时,底层都在运行一些滤波算法,本质上是在尝试计算信念状态,试图对传感器观测进行去噪以推断真实位置。因此,通常人们认为,至少在这些设置中,我们存在部分可观测性是因为传感器有噪声。存在一些真实的基础世界状态,传感器噪声越大,我得到的部分可观测性就越高。

从机器人学的角度来看,这完全合理。但数学上,你可以尝试将其转化为一个具体的数学主张:假设我们有一个基础的MDP或基础马尔可夫链。我们只改变发射函数。这类似于说:机器人、硬件、环境一切都不变,只是改变传感器。那么人们可能会倾向于认为,如果我的发射过程丢失了更多关于潜在状态的信息,我就会得到一个部分可观测性更强的过程。

当然,这并没有精确到一个严格的数学主张,但我想它足够具体,你能理解这个想法。这个主张是:根据你如何定义部分可观测性(特别是我在前几张幻灯片中隐含的定义),这实际上并不成立,严格来说不成立。

假设你的发射过程噪声非常大,以至于丢失了潜在状态中的所有信息。你仍然有一个部分可观测过程吗?你只是得到一个过程,在每个时间步,你看到一个独立的、无信息的噪声观测。如果你看我之前定义的马尔可夫性条件:未来观测在给定过去观测的条件分布,等于未来观测在给定当前观测的条件分布。对于无信息的观测,这显然成立。所以你有一个完全马尔可夫的系统。

现在你明白分歧在哪里了。机器人学研究人员可能会说:这太荒谬了,你显然有部分可观测性。我认为我们所说的分歧在于我们对“真实”的理解。对于机器人学,你的真实是现实世界,你立足于现实世界,你希望在现实世界中完成某些任务。传感器越差,你解码真实状态并完成该任务的能力就越受损。从这个意义上说,确实存在一种单调性:你得到的传感器越差,基于这些传感器你能实现的最佳策略就会越差。

然而,这与我们在统计意义上定义部分可观测性的方式不同。我之前给出的定义,其背后的哲学更偏向于强化学习和统计学的观点,而不是硬件的观点。作为强化学习研究人员,我不做硬件,你给我硬件。如果你固定了传感器的设计,我就把它当作给定的。现在,我的目标不是说我要完美地处理任务、完成现实世界的任务。我可能做不到。我只能在你给我的糟糕传感器条件下,尽我所能做到最好。

如果你给我完全无信息的传感器,我什么都做不了,但我很高兴,因为那样我就没有工作可做了。我可以直接回去告诉你:换掉你的传感器。在你给我好传感器之前,我就休息,躺在海滩上什么都不做。在这种情况下,我声称系统是马尔可夫的。

从我们的角度来看,部分可观测性的整个要点(至少在统计意义上定义)在于:预测未来时,历史是否提供了额外的帮助,而不是你能否在绝对意义上预测未来。它是相对的:与仅仅依赖当前观测相比,历史中是否存在有助于你更好预测未来的额外信息?如果存在,就有部分可观测性;否则就没有。

从某种意义上说,这也是非常实际的,如果你从算法设计的角度思考。假设你有糟糕的观测,但它们恰好是马尔可夫的,那么是否存在部分可观测性,直接决定了你是否需要在算法设计中调用这些复杂的POMDP概念,或者是否需要设计额外的历史特征。

我认为这个定义实际上完美地匹配了你必须做出的这类实际决策。如果你有糟糕的传感器,但它恰好是马尔可夫的,那么你只需运行马尔可夫算法。通过查看历史,你无法做任何其他事情。

状态表示的关键挑战

关于公式化就讲这么多。让我们谈谈一些具体的东西。假设你有一个部分可观测系统。你想做一些学习、建模,学习一个好的策略等等。关键挑战是什么?其中一个主要挑战是如何提出稳定的状态表示。

例如,在文本预测中。假设你使用Transformer。但如果你使用循环神经网络,那么本质上,你的神经网络所做的是:它处理过去的词元,并产生一个紧凑的、固定长度的隐藏向量摘要,本质上是你之前所有文本的嵌入。即使是Transformer也给你提供了这个。

对于SLAM,你将传感器读数的历史映射到本质上是一个分布上,你试图尽你所能解码物理位置,通常还带有一些不确定性。

这就引出了一个问题:当我们有一个部分可观测系统时,我们甚至如何定义“状态”?你可能会认为状态是:如果我们有一个隐状态的定义,那么隐状态就是状态。但我们会看到,情况并非如此。请注意,隐状态本质上是作为额外的结构假设引入的。我们可以只谈论观测序列的整个分布,甚至不提及隐状态的概念。

那么在这种情况下,当我们说系统的状态、系统的紧凑状态时,你到底是什么意思?

状态的精确定义

这里有一个精确的定义。首先,状态是一个函数。状态不是一个变量,不是一个值。状态是一个函数,它将历史 H 映射到某个空间。

它满足以下条件:未来观测在给定历史的条件分布,应该等于未来观测在给定你提出的作为状态的函数 φ(H) 的条件分布。函数 φ 提取了 H 中所有与预测未来相关的信息,它可能会丢弃与预测未来无关的信息。只要你的 φ 满足这个条件,φ 就可以被称为一个状态。

在这种情况下,当你有一个马尔可夫系统时,什么是状态,什么是 φφ 就是取我们的历史,丢弃之前的一切,只保留最后一个观测。这是一个映射,这就是一个状态。

因为 φ 作用于 H,所以 φ(H) 中的信息通常少于 H。你总是可以用 H 更好地预测 T。所以总是一边倒的。通过充分性,它基本上是说它们是匹配的。如果你考虑不等式,你可以考虑例如关于 T 的不确定性,你可以用熵等来衡量。如果你用熵来衡量,它总是小于或等于,因为根据定义,你可以在这里做出最好的预测。这个条件只是说,嗯,这与你能做的最好的一样。所以它说的是相等。

这就是充分统计量的含义。充分统计量通常意味着:你有一个某物的函数,它丢弃了一些不相关的信息,对于你关心的目的而言,它能做同样好的工作。这就是充分统计量。对于指数族分布,某些矩就是充分统计量,对于这个分布,你只需要知道它的矩,它就完全决定了整个分布。

这实际上是错误最常发生的地方。那么,哪些函数是状态呢?对于任何系统,总有一个函数始终是状态,它是什么?根据定义,这应该非常简单。恒等映射,直接将历史映射到它自身。当然,它会满足状态的定义。如果 φ(H) = H,那么这个条件显然成立。

这也引出了我之前所说的:任何部分可观测系统总是可以转化为一个马尔可夫系统,如果你将历史本身视为状态。因为,在给定状态(即历史)的条件下,下一个历史的分布,你预测下一个观测,然后将其附加到你的旧历史中,你的历史长度增加一。

历史本身,事实证明还有另一个函数可以定义。这个函数将取决于你谈论的特定系统,但有一种通用的方式来定义一个始终是状态的函数。尝试一下。它是什么?是所有未来的预测。这是因为你在你的项目中做了一些相关的工作,或者你从随机过程等地方学到了这个?是的,PSR的东西与随机过程中的许多内容有非常强的联系,比如马尔可夫链,两者之间有交集。

信念状态

从实际的角度来看,当你考虑隐变量模型时,有一个非常常见且重要的概念叫做信念状态。信念状态是给定历史时,对潜在状态的后验分布。这始终是一个状态。例如,在SLAM中,你在滤波算法中计算的就是这个。一般来说,请注意,对于有噪声的传感器和有噪声的发射概率,给定一个观测历史,你永远无法精确地确定某个时刻的确切潜在状态。你能做的最好的是形成一个后验分布。

例如,我不完全确定你在哪个房间,也许你在101房间的概率是20%,在2房间的概率是80%。这是你能做的最好结果,而这个后验分布,如果你确实有隐状态结构,它就是一个状态,因为当你预测未来会发生什么时,在给定信念状态的条件下就足够了。

这立即给了你一些POMDP中的结果。例如,如果你有一个部分可观测MDP,我们知道总是存在一个最优策略,它只依赖于信念状态。因为这就是你推理未来所需的一切。

一些有趣的事情

现在有一些有趣的事情。有些东西显然是状态,但人们称之为状态。我们会看到。首先,是观测本身。例如,在Atari游戏中,当你看到一个屏幕时,这真的只是一个观测,不是一个状态。

我曾经在某个时候放弃了。我想当我刚开始做教职时,我还在打这场艰苦的战斗:这不是状态,这是观测。然后在不同的演讲中,人们总是把它当作状态来谈论。但有一些非常具体的含义表明这不是状态。例如,我最近写了一篇博客文章和一篇不打算发表的论文,其中提到:如果你考虑状态重置。在模拟器中,你总是可以重置到之前的状态。假设有人给你一个游戏帧,并说:请将模拟器设置到这个状态,我想从那里继续模拟。你能做到吗?没人能做到。你实际上需要什么来重置到一个状态并继续向前模拟?你需要当时游戏内存配置的转储。这个观测显然不够,它不支持将模拟器设置为特定配置并继续模拟。

有趣的是:那么隐状态呢?假设你有这个机器人设置。这是最令人困惑的一个。假设你有这个有噪声传感器的机器人设置。假设我们将其建模为像HMM这样的隐变量模型。假设轨迹中,你有观测,即噪声传感器读数。但至少概念上存在这些真实的基础隐状态,即真实的世界位置。为什么说在任何时候,你都有噪声传感器读数,也有相应的真实世界状态。这是一个状态吗?好的。但现在让我告诉你,它满足马尔可夫假设。哦不,至少在以下意义上:在给定真实隐状态的条件下,未来观测和过去观测确实是条件独立的。所以隐状态,隐状态的精确值,是一个状态吗?答案是否定的。但原因是什么?为什么它不是状态?不,那不是原因。当我们谈论它是否是状态时,你可以想象这与你是否知道系统动态是正交的。例如,为了精确计算信念状态,你还需要知道完整的动态。所以这是两个独立的问题。

不,你可以。如果你有隐状态,你可以进行隐状态转移和发射,你可以预测未来。实际上,它给了你这种能力。是的,它不是历史的函数,这就是为什么我说,这可能是定义中反直觉的部分:φ可观测历史的函数,是你可以从观测历史本身提取的最大有用信息。

真实隐状态的值。首先,数学上它并不存在。当我们只谈论一个分布时,我们可以只谈论可观测量的分布,那么就没有真实隐状态的值。现在,当你在模拟器中展开一条轨迹时,你可以生成那个真实隐状态。但那个状态,正如我所说,当你只被给予可观测值时,你能做的最好是解码出一个后验,你会存在一些不确定性。但真实隐状态的值给了你完全的确定性。它拥有额外的、你不应该有权访问的特权信息。这不是一个状态,因为它无法从可观测历史中计算出来。

所以,这就是为什么,你知道,这也与我所说的相关:机器人学家的观点与统计学家的观点,关于状态意味着什么。是的,所以我认为人们会同意“状态”这个词显然是重载的,但至少在强化学习中,以老派的方式并借用统计学的术语,状态有一个极其精确和清晰的含义:它是可观测历史的充分统计量。这就是我们同意的。

对于其他东西,如果你不称之为状态,那称之为什么?历史的充分统计量太长了。MDP中的状态完美地符合这个定义。它是这个定义的一个特例。但在MDP设置中,因为有太多的结构,状态的概念与许多其他不同的概念重合,以至于你可能认为我们在思考那个状态概念,但实际上在POMDP中思考时,所有这些概念开始分化,你必须问自己:你指的是哪个版本的状态?这就是为什么我们有“世界状态”这样的概念,状态是一个通用名称,但人们一直在采用它,在隐变量模型的上下文中,它意味着隐变量模型的精确值。

还有“智能体状态”,例如,你有一个Transformer,一个RNN,无论它计算什么,如果你的智能体足够好,你可能会认为它应该具有近似的状态概念。

隐变量模型的问题

通常,学习它们的方法是期望最大化算法。EM有很多问题。它并不是真正的最大似然估计,它只是近似的,容易陷入局部最优。更深层次地,有一些哲学上的东西。从这里开始,会有一点哲学讨论。这实际上是推动我接下来要介绍的内容研究的一个驱动力:隐状态真的是一个没有基础的对象。正如我提到的,我们引入隐状态是为了帮助对可观测分布施加结构假设,但实际上,我们谈论的只是那个观测分布。引入隐状态只是说,在所有可能分布的整个指数级自由度的空间中,我们只对某个特定的小子空间感兴趣,我们使用隐变量来帮助我们表达这个子空间。

但原则上,你会看到,可能有方法只谈论那个子空间,利用其属性,而从不提及隐状态。因为隐状态基本上并不真正存在。你知道,如果你去哲学层面谈论唯心主义与唯物主义等等,你可能会说,例如,也许我们都生活在矩阵世界中,一切都是幻觉,但仍然有真实的东西,存在即被感知,我仍然有我的感觉运动体验,这对我来说是真实的,无论它是由某个真实的物理世界生成的,还是只是来自像矩阵机器那样的电信号,我不知道。但我假设它是由一个真实的物理世界生成的,至少在我们感兴趣的范围内,我们所知的物理定律适用等等,因为它们有用,有助于我推理我的感觉运动体验,帮助我思考未来会发生什么以及我的决策。并不是说它们真的存在。

因此,这就是问题所在。然后,这引出了技术部分,实际上很有趣。事实证明,这就是这门课要讲的特定主题:有一种方法可以利用隐状态结构,而从不提及“隐”或“隐藏”这个词。你只处理可观测量。这就是接下来的部分。

系统动态矩阵

为了不谈论隐状态,让我们谈谈系统动态矩阵的定义。如果你学过控制理论,你可能已经见过这个的某个版本,比如汉克尔矩阵。

再次说明,我们考虑最简单的情况。你有一个随机系统,它是部分可观测的,每个时间步你接收到一个来自有限离散空间的随机观测。这里我以天气预测为例。当然,在真实的天气预测中,你不仅仅依赖这样的历史数据,但这只是一个玩具例子。每天你收到一个观测,可以是晴天、雨天等等。你有几个可能性。你只是有这些的一个序列,你想做出预测。我们假设可能有一个小数量的隐状态生成这个过程。

你所做的是定义一个无限行无限列的矩阵。行和列上的索引基本上是不同长度的短序列。这里的 ε 对应于空序列。这里有长度1的序列,长度2的序列,长度3的序列,一直到无穷。

行上的序列对应于未来,列上的序列对应于过去,你在这里有一个条目。你所做的只是将过去事件和未来事件组合在一起,连接成一个更长的序列。在任何这些部分可观测系统中,在无控制的情况下,如果我给你一个观测序列,它总是有一个概率。就像这里说的:如果我从初始配置随机观察一个观测序列,那么我得到的前三个符号观测恰好是雪天、晴天、雨天的概率是多少?你有那个概率。就把它放在那里。

然后你用这些概率填充整个矩阵。这被称为系统动态矩阵。

事实证明,这个矩阵告诉了你关于系统的一切。事实上,甚至第一行或第一列就已经告诉了你一切。因为我们说过,从可观测的角度来看,对于一个系统唯一重要的是观测序列的分布。如果你关心某个给定序列的概率,你只需在这里或这里查找,看看概率是多少。所以你可以把它当作过去而没有未来,或者没有过去而整个序列在未来,两种方式都行。实际上,这个矩阵有很多冗余。

低秩假设

我们有这个矩阵。现在,我们接下来讨论冗余。但目前,你可以证明,如果这个系统实际上是由一个具有少量隐状态的HMM生成的,假设有 n 个。事实证明,这个矩阵的秩,即标准矩阵秩,实际上以 n 为界。

我不会在这里详细证明,但证明的思路类似于我们在贝尔曼秩中所做的策略:对于任何一对列和行索引,你看这里的条目,它是历史和未来连接在一起的概率,你证明它可以写成两个向量的点积,其中一个只依赖于历史,另一个只依赖于未来。因为它是关于 Z 的求和,你基本上得到的是这个作为 Z 上的向量与那个作为 Z 上的向量的点积。

你意识到的一件事是:这部分,如果你把它变成一个条件,比如在给定 H 的条件下,这基本上就是信念状态。如果你用它除以 H 的概率,就是信念状态。而这是给定隐状态时未来分布的条件。所以这给了你一种谈论的方式。因此,在未来,每当你说:处理一般的部分可观测系统显然是难以处理的,我想注入归纳偏置和结构。我很乐意将隐状态假设作为一种结构。那么,你不需要再谈论隐状态了。你可以直接说:我假设我的系统的系统动态矩阵是低秩的。

这样,这个矩阵只包含可观测量,它甚至没有隐状态的概念。一切都是可观测概率。事实证明,秩为 n 的系统比具有 n 个状态的HMMs稍微更强大。有一些奇怪的、非常极端情况的系统,其秩有界为 n,但如果你需要将其建模为HMM,你需要无限多个状态。所以那里有一些奇怪之处。但在实践中,这种差异几乎从不重要。所以我不提它,但请记住。因此,出于实际目的,大致上,你可以认为秩 n 的假设大致等同于拥有 n 个隐状态。

另一件事是,这个定义自动消除了所有冗余。当你有一个具有隐状态的HMM时,并不一定意味着某些隐状态可能是虚设的,有些隐状态可能从未被使用,或者可能有办法减少隐状态的数量。这就是为什么你知道,隐状态就像一个没有基础的对象。不清楚你是否做了最小化,使得你的隐表示实际上是最简洁的。但如果你谈论这个矩阵的秩,那就是说,对于相同的可观测行为,你可以用许多、无限多个不同的隐变量模型来建模它。例如,你可以有虚设状态。即使对于相同数量的隐状态,你也可以置换隐状态的标签等等,有很多不同的方式可以对相同的可观测序列建模。但当我们谈论这个矩阵的秩时,没有任何歧义。只有一个秩。无论它是什么,它就是那个。所有的歧义和冗余都消失了。

可预测状态表示

这引向了我之前提到的文献,称为可预测状态表示。这是强化学习文献中处理部分可观测性的一种方式,与隐变量模型不同。它所做的是:如果你能估计这个矩阵中的一些条目,它可以同时做两件事:一是学习系统动态,二是提出紧凑且有用的状态表示。这是两个交织的任务,例如在SLAM中。

对于隐变量模型,这类似于估计发射概率和隐状态转移。然后如果你有了这些,你将能够计算信念状态,这是历史的紧凑摘要。因为历史长度是变化的,很难处理。但如果你考虑信念状态,它是一个固定长度的实值向量,处理起来要容易得多。

我们将能够在这里做类似的事情。事实证明,对于这个无限行无限列的矩阵,你只需要两个非常简单的属性。第一个属性我已经告诉你了:它的秩。为了推导出所有的学习算法等等,你只需要再多一个属性。

汉克尔性质

我们正在谈论这个概率。假设我们在这里随机选取一个序列,这个序列有这个概率。记住,整个矩阵有很多冗余。事实上,这个条目会在这个矩阵中重复多次。它重复多少次?是的,最多 L+1 次。因为我们所做的是:将列索引作为过去,行索引作为未来,将它们连接在一起,并询问整个序列的联合概率。但当你询问整个序列的联合概率时,就没有未来和过去的区分了。这意味着你可以在中间任意切割,任意分割什么被认为是过去、什么是未来,它们都会给出相同的答案。

所以你可以在这里分割。你有空过去和所有未来,一步过去和两步未来,两步过去和一步未来,或者所有过去和没有未来。所以它恰好重复四次,也就是长度加一。它们大致沿着反对角线方向对齐。有一个数学术语用于具有这种结构的矩阵,称为汉克尔矩阵

事实证明,这就是你所需要的全部。你需要一个汉克尔矩阵,你需要低秩,然后我们就可以讨论学习算法和紧凑计算状态的方法了。

理解PSR

PSR曾经是一个非常晦涩、门槛很高的话题。它看起来超级复杂等等。我试图告诉你,如何在一张幻灯片中理解它。如果你集中注意力,好的,让我们试试。

如果一个矩阵有某个秩。这里,假设它的秩是3,只是一个任意数字。假设秩是3。那么我们知道,你总是可以找到三行是最大线性无关的。但可能不是,为了简单起见,我只是选择那些长度为一的序列,但可能是这些或那些,有很多选择,但我固定其中一个选择。在真实系统中,这三个可能几乎是相互依赖的。就举个例子。

如果你有这些最大线性无关的行,那么其他行会发生什么?矩阵中的任何其他行总是这些行的线性组合,对吗?好的,很好。

我现在告诉你的是:实际上指定动态系统的参数。记住,在POMDP或HMM中,要指定系统,我需要告诉你隐状态转移和发射函数。这里,像这样的矩阵完全指定了整个系统。那么它们是什么?

你取那些绿色行的索引,即最大线性无关的行。对于每个观测,你将这个观测预置到你的行中的每个事件。也许你的行有一个长度1的事件,长度2的事件,那么在预置之后,你有一个长度2的事件,长度3的事件,依此类推。只是预置,比如将“晴天”观测预置到所有绿色行的索引上。现在你得到了这些紫色的行。根据我们刚刚讨论的内容,这里的每一行总是绿色行的线性组合。这意味着你可以有一个矩阵。所以这里有一个3x3的矩阵,用于从绿色行计算紫色行。

好的,就是这样。现在,你对每一个观测都这样做。对于“雨天”观测,你将其预置到所有绿色索引,你得到这些,然后定义新的矩阵来计算这些。

此外,你还要看那里的绿色向量,即对应于空历史的绿色行中的列。这实际上类似于初始隐状态分布,它定义了系统的初始配置。

预测规则

现在是神奇的时刻。我将向你展示的是:有了这些矩阵和那个绿色向量,假设我知道这些量,我可以对系统做出任何预测。记住,一个系统基本上是通过说:如果我有能力说出任意观测序列,我可以告诉你它的概率,那么我就完成了。所以我只需要有那种能力。

假设我们尝试这样做。假设我们选择一个长度为2的序列,问它的概率是多少。现在,你唯一有的是这个绿色向量和这些矩阵。我需要能够从这些模型参数中计算出那个概率,我声称这些就是模型参数。

准备好了吗?开始。你要做的第一件事是查看查询序列中的第一个观测。第一个观测是“晴天”。你从绿色向量开始,乘以 B_sunny 矩阵。根据定义,你得到了紫色向量,因为 B_sunny 矩阵将绿色行翻转为紫色行。

现在,我声称你可以在绿色行中再次找到这个紫色向量。为什么?请注意,我是如何得到紫色行的索引的?它们是绿色行的索引,但是像每个都预置了“晴天”观测。那么你在绿色行下的哪里可以找到这个向量?在“晴天”下。所以,这有点像说:有一个空的过去,但所有这些都在未来。但我可以切割,我可以说:好吧,我认为这是当前时间步。它们有一个共同的过去,即第一天晴天,这正是我设计的方式,因为我选择了这些紫色索引,它们共享相同的观测,即晴天,然后其余的索引正好是绿色行的索引。

这是利用了汉克尔性质。所以这两个向量完全相同。

这就是每当你乘以一个矩阵时发生的情况:你向下移动,通过汉克尔性质,你可以移回绿色行。

然后你再次这样做。第二个观测是“雨天”。你乘以 B_rainy。你到达这里的紫色行,它们对应于“雨天”。同样,这里有汉克尔性质。如果你看对应于这些的事件:第一天晴天,第二天雨天,然后是绿色行索引。第二天雨天,绿色行索引。第二天雨天,绿色行索引。所以,与其想着:哦,我还在第一天,现在我移动到第二天。现在,晴天和雨天都变成了过去。未来再次是那些绿色索引。

哦,我忘了。你还需要一个最后的参数。我们快完成了。那么你如何从我们当前拥有的向量(紫色向量)中得到那个条目,即我们需要的概率?我忘了你需要一个额外的参数。想想什么参数能给你那个,给定我们当前拥有的向量,紫色向量。

记住,任何行都可以表示为绿色行的线性组合。所以我们只需要一个向量,用绿色行来表达第一行。那个向量就会给你那个条目,即我们需要的概率,给定紫色向量。

在HMM中,如果你考虑如何计算观测的边际概率,当你使用隐状态时,你会做很多计算。最终,在最后一步,你会边缘化隐状态,你会乘以一个本质上全为1的向量。所以这里的 B_infty 本质上扮演了那个全一向量的角色。所有这些计算实际上,你可以在隐变量模型计算中找到它们的对应物。但它只是更一般化,并且不依赖于隐状态的概念。

一般预测规则

这是一般的预测规则。如果你关心一个一般观测序列的概率,你所做的是:从初始绿色向量开始,依次乘以每个观测对应的 B 矩阵,最终计算我们称为归一化向量的东西。就是这样。

此外,如果你想要一个状态表示,我想我接下来会讨论。基本上,在任何时候,在你计算这个归一化常数之前,你得到的向量包含了这个预测的大小,这意味着你的向量变得越来越小,但其方向,如果你用概率归一化,它的方向基本上就是一个好的状态表示。

学习PSR

我刚才说服了你,这些简单的假设允许你用少量参数表达系统,这样你就可以使用这些参数做出任意预测。现在的问题是:我们如何学习它?事实证明,像 B_infty 和绿色向量这样的关键矩阵,你可以用类似的方式学习,但真正需要学习的关键是这些 B 矩阵。这些是将某些行线性转换为其他行的矩阵。所有这些行都只是一些可观测概率。

这里有一些超级简单的东西。你也选择一些最大线性无关的列。通过观察许多序列来估计那些概率,然后进行线性回归。就是这样。

这非常令人震惊。如果你想想,在POMDP和隐变量模型中,EM是一个实际上非常有用的算法,但很难得到具有渐近一致性保证的计算高效算法。但这个保证是微不足道的。因为在极限情况下,当你有足够多的轨迹时,显然所有这些概率频率估计都会变得准确,然后你做一个矩阵求逆。就这样。

这里隐藏的一件事是:假设你运行这个算法,事实证明有一些大的超参数你需要选择。我没有告诉你,超参数是什么。就像,如果你要实现这个算法,你实际上会遇到问题。就像有一些东西,给定实际问题,你不会确切知道如何选择。

没错。我说过这些绿色行以及列,它们是最大线性无关的。你怎么知道矩阵的某些行是否是最大线性无关的?你需要整个矩阵来告诉你。但整个矩阵是未知的,而且估计非常长序列的概率是非常困难的。所以这有点像鸡和蛋的问题,你不会知道它们,就像,如果你还不知道整个系统的话。

这在某些文献中被称为发现问题。它并没有完全解决,但你可以做一些事情。例如,你可以使用尽可能大的绿色行集合和尽可能多的列。但然后你做一些奇异值分解,进行低秩投影,然后在那之后进行线性回归。这里不深入细节。但这被称为学习PSR的谱算法

然后你可以证明,只要你使用一个足够大的集合,其中包含最大线性无关的行和列,并且当你做SVD时,你丢弃较小的奇异值,使用正确的秩参数,它仍然是一个一致的算法。

预测作为状态

现在这个文献被称为可预测状态表示,正如我提到的,正是因为这一点。事实证明,记住,在HMM和POMDP中,紧凑的状态表示是信念状态,即给定历史时对隐状态的后验。这是一个将历史总结为一个实值固定长度向量的非常有用的东西。

这里,我们本质上在做类似的事情。然而,记住我们没有隐状态的概念。我们甚至不能提及隐状态。我们需要使用其他东西。

事实证明,在使用PSR模型的预测过程中,状态表示是这样的:给定任何历史,T 是那些绿色行中的事件集合,你可以把它们看作系统的特征事件。状态总是对那些未来事件的预测。我们用它作为状态表示。

这里有一个我每年都用的例子。假设假设假设这里,我能看到的只是观测,比如,你们是否出现在课堂上等等。假设隐变量是你们是否完成了项目报告。所以,假设我们在截止日期。有这个我看不到的隐变量,我想预测未来等等。

表示状态的一种方式是:好吧,我对隐变量的猜测是你们是否完成了报告。好的,说,好吧,那个后验分布是一个状态,总结了我对你们一直在做什么的猜测。

或者,我可以说,对于你们每个人,我可以预测你们未来的成绩。因为你们获得的成绩直接与你们是否在截止日期前完成报告相关。想想看,未来的观测实际上包含了隐状态的信息。

这就回到了那个问题,你已经知道答案,谈论你。所以这就像:另一个总是状态的平凡函数是什么?记住,如果某个东西在给定这个东西的条件下,未来的预测等于给定精确历史的预测,那么这个东西就是一个状态。

那么,如果这个东西是所有可能未来事件的预测呢?那么当你基于那个做预测时,你只是从你的 φ 中读取预测。所以这本质上是在说:好吧,我看到了历史。我问我在哪个状态。我说我在一个状态,使得未来事件A发生的概率是这个,未来事件B发生的概率是这个。我给出所有未来的预测,我说这就是我所在的状态。

乍一看,这完全没用,因为之前我们说,哦,我们用历史作为状态。嗯,那是指数级的,随着历史长度增长,但至少它是有限的。但这里你说,哦,你应该使用无限长度的状态表示。乍一看,这似乎完全没用。

但关键观察是什么?关键观察本质上是说:当然,如果你不注入任何假设,一般来说,没有什么事情是可处理的。但如果你乐意接受隐状态假设,那么事实证明,所有那些无限多的预测,它们实际上是相关的。它们实际上以某种方式线性依赖于彼此。事实上,如果你的系统动态矩阵的秩为 n,或者你的隐变量模型的隐状态数量以 n 为界,那么在所有这些无限预测中,你可以只选择 n 个。所有其他预测总是这些特征预测或那些我称为特征事件的预测的线性组合。

那些事件在PSR文献中被称为核心未来或核心测试集,或者最小核心测试集。有一些术语。

基于这个观察,你立即将无限维的状态表示压缩为一个有限的、非常具体的小集合。每当我们谈论我的状态是什么时,你说:好吧,看看对这些特定未来可观测事件的预测是什么。我对那些事件的预测就是我的状态。事实上,数学上可以证明,在一定的满秩条件下,如果你的隐变量模型不是退化的等等,这个表示可以字面上写成你的信念状态的一个线性变换。所以它们包含相同数量的信息,这是合理的。

与HMM的联系

我跳过这部分。事实证明,如果你记住

posted @ 2026-03-26 12:19  布客飞龙III  阅读(14)  评论(0)    收藏  举报