第四章 机器学习 -- 马尔可夫决策过程

一、MDP 形式化

1.1 MDP 五元组

马尔可夫决策过程(Markov Decision Process, MDP)是强化学习最常用的数学形式化。一个 MDP 由五元组 ⟨S,A,P,R,γ⟩\langle \mathcal{S}, \mathcal{A}, P, R, \gamma \rangle⟨S,A,P,R,γ⟩ 描述:

  • S\mathcal{S}S:状态集合,可以是有限(棋盘格点)、可数无限(自然数序列)或连续(机械臂关节角)。
  • A\mathcal{A}A:动作集合,类似地有离散、连续两种形态。
  • PPP:状态转移函数 P(s′∣s,a):S×A×S→0,1P(s' \mid s, a) : \mathcal{S} \times \mathcal{A} \times \mathcal{S} \to 0, 1P(s′∣s,a):S×A×S→0,1,刻画在状态 sss 采取动作 aaa 后转移到 s′s's′ 的概率。
  • RRR:奖励函数,可以是 R(s,a)R(s, a)R(s,a)、R(s,a,s′)R(s, a, s')R(s,a,s′)、R(s)R(s)R(s) 等不同形式,本教程默认 R(s,a,s′)R(s, a, s')R(s,a,s′) 即时奖励。
  • γ∈[0,1)\gamma \in [0, 1)γ∈[0,1):折扣因子,控制远期奖励的权重。

MDP 中的"马尔可夫性" 是整个框架的根基:下一时刻的状态分布只依赖于当前状态-动作对,与更早的历史无关:

P(St+1=s′∣St=s,At=a,St−1,At−1,...,S0)=P(St+1=s′∣St=s,At=a) P(S_{t+1} = s' \mid S_t = s, A_t = a, S_{t-1}, A_{t-1}, \ldots, S_0) = P(S_{t+1} = s' \mid S_t = s, A_t = a) P(St+1=s′∣St=s,At=a,St−1,At−1,...,S0)=P(St+1=s′∣St=s,At=a)

不严格满足马尔可夫性的环境被建模为 POMDP。

1.2 状态转移概率

状态转移函数 PPP 在 MDP 中扮演"环境动力学"的角色。它的几个关键点:

  • 联合 vs 分解 :可以同时定义 p(s′,r∣s,a)p(s', r \mid s, a)p(s′,r∣s,a),再分解为 p(s′∣s,a)⋅p(r∣s,a,s′)p(s' \mid s, a) \cdot p(r \mid s, a, s')p(s′∣s,a)⋅p(r∣s,a,s′)。两者信息等价。
  • 确定性 vs 随机 :围棋落子是确定性的(下一状态完全由 (s,a)(s, a)(s,a) 决定),而扑克对手的动作让转移有随机性。
  • 部分可观察 vs 完全可观察 :MDP 假设状态完全可观察。如果智能体只能拿到观测 ooo 而非状态 sss,则需扩展到 POMDP。
  • 已知 vs 未知 :FrozenLake 把 PPP 给出来了,机械臂与现实物理世界一般未知。已知 PPP 走 DP/规划方法,未知则走采样方法。

环境动力学的"刚性"对算法选择有决定性影响:完全已知、状态数小时可以直接解 Bellman 方程;大或未知时必须采样。

1.2.1 联合与分解的等价性

环境的一步交互同时吐出两样东西:下一状态与即时奖励。最完整的建模对象是联合分布 p(s′,r∣s,a)p(s', r \mid s, a)p(s′,r∣s,a),它自动满足非负性与归一化约束:

p(s′,r∣s,a)≥0,∑s′∑rp(s′,r∣s,a)=1 p(s', r \mid s, a) \ge 0, \qquad \sum_{s'} \sum_r p(s', r \mid s, a) = 1 p(s′,r∣s,a)≥0,s′∑r∑p(s′,r∣s,a)=1

把它按"先决定去哪,再决定拿多少分"分解为两个条件分布:

p(s′,r∣s,a)=p(s′∣s,a) p(r∣s,a,s′) p(s', r \mid s, a) = p(s' \mid s, a)\, p(r \mid s, a, s') p(s′,r∣s,a)=p(s′∣s,a)p(r∣s,a,s′)

反过来,只要条件分布 p(r∣s,a,s′)p(r \mid s, a, s')p(r∣s,a,s′) 合法(对 rrr 求和为 1),对 rrr 求边缘就精确还原出转移函数:

∑rp(s′,r∣s,a)=p(s′∣s,a)∑rp(r∣s,a,s′)=p(s′∣s,a) \sum_r p(s', r \mid s, a) = p(s' \mid s, a) \sum_r p(r \mid s, a, s') = p(s' \mid s, a) r∑p(s′,r∣s,a)=p(s′∣s,a)r∑p(r∣s,a,s′)=p(s′∣s,a)

这一步证明:两种建模携带完全相同的信息量,联合形式不比分解形式更强,反之亦然。价值在于工程取舍------

  • 联合形式贴近真实接口(env.step() 一次返回 (s', r)),但要求代码里能采到 (s′,r)(s', r)(s′,r) 的联合样本。
  • 分解形式便于手工造环境:可以分别调整动力学与奖励而不动另一部分,也让"奖励依赖 s′s's′"这类设计变得自然。

反向构造同样成立。若奖励是 s,a,s′s, a, s's,a,s′ 的确定函数,取 Dirac 条件分布即可:p(r∣s,a,s′)=1{r=R(s,a,s′)}p(r \mid s, a, s') = \mathbb{1}\{r = R(s, a, s')\}p(r∣s,a,s′)=1{r=R(s,a,s′)};若奖励与转移独立,取 p(r∣s,a,s′)=p(r∣s,a)p(r \mid s, a, s') = p(r \mid s, a)p(r∣s,a,s′)=p(r∣s,a)。这解释了为什么教材常写 R(s,a)R(s, a)R(s,a) 或 R(s)R(s)R(s):它们只是把 p(r∣s,a,s′)p(r \mid s, a, s')p(r∣s,a,s′) 取成了与 s′s's′ 无关的特例。

1.2.2 确定与随机的对照
维度 确定性转移 随机性转移
形式 p(s′∣s,a)=1{s′=f(s,a)}p(s' \mid s, a) = \mathbb{1}\{s' = f(s, a)\}p(s′∣s,a)=1{s′=f(s,a)} 每个 s′s's′ 都有非零概率
例子 围棋落子后的棋盘、按钮触发的电路切换 扑克对手出牌、击球后的落点
建模成本 只需存储一个后继函数,无需求分布 需存储完整分布或用大量样本估计
对 Bellman 算子的影响 内层对 s′s's′ 的求和退化为一次取值,最优算子可写成 max⁡amax⁡s′\max_a \max_{s'}maxamaxs′ 必须保留 ∑s′\sum_{s'}∑s′ 的期望
对算法的影响 无模型偏差,蒙特卡洛与 DP 结果一致 模型不全时价值高估更严重,必须做 off-policy 校正
典型难点 搜索空间巨大,不是随机性问题 模型误差与采样方差叠加

一个容易被忽略的点:确定性与随机性是环境属性 ,而非算法选择。DQN 在确定环境上依然要用 ε\varepsilonε-greedy 探索,因为不确定的是策略是否有足够随机性,不是环境。

1.2.3 模型已知与未知的算法映射
PPP 是否已知 代表任务 可用算法族 主要代价
已知,状态数小 FrozenLake、迷宫求解 值迭代、策略迭代、迭代 DP 每轮 O(∣S∣2∣A∣)O(\lvert\mathcal{S} \rvert^2\lvert\mathcal{A} \rvert)O(∣S∣2∣A∣),模型要人工给出
已知,状态数大 电网调度、资源配置 近似规划、蒙特卡洛树搜索、分治 DP 状态建图与模型维护成本高
未知,状态数小 小型 Atari、表格赌博机 Q-learning、SARSA、TD(λ\lambdaλ) 样本效率低,需要与环境的交互预算
未知,状态数大,动作离散 图像输入控制 DQN 及其改进族 函数逼近引入外推误差与发散风险
未知,状态数大,动作连续 机械臂、车辆控制 策略梯度、确定性策略梯度、TD3 需要可微模型或无梯度优化,样本最贵
1.2.4 部分可观察与完全可观察

完全可观察假设的含义是:每个时刻 ttt 都能拿到真实状态 sts_tst。一旦观测 oto_tot 只是 sts_tst 的一个不完整投影,环境就需要扩展为 POMDP:

ot∼O(o∣st),bt(s)=P(St=s∣o1:t,a1:t−1) o_t \sim O(o \mid s_t), \qquad b_t(s) = P(S_t = s \mid o_{1:t}, a_{1:t-1}) ot∼O(o∣st),bt(s)=P(St=s∣o1:t,a1:t−1)

判断"MDP 够不够用"有一个干净的判据:如果存在两个不同的状态 s1≠s2s_1 \neq s_2s1=s2 在某段观测历史下不可区分,且它们的最优动作不同,那么 MDP 的假设不成立。三个典型触发情形:

  • 空间有限性:走廊里只看得到相对距离,看不到自己在地图中的位置。
  • 对手隐藏信息:扑克里对手的底牌只影响后续胜率,不影响当前可见状态。
  • 意图不可观测:自动驾驶中前车"是否打算刹车"是潜在变量,只由行为间接体现。

此时有三条出路。第一是用历史压缩状态 :把 RNN 的隐状态当作近似状态,st≈hts_t \approx h_tst≈ht,工程上最常用,但隐状态必须编码了任务所需的全部信息。第二是信念状态化 :把 btb_tbt 当作真正的状态,状态空间变成概率单纯形,转移遵循 bt+1(s′)=∑s,aO(o′∣s′)P(s′∣s,a)π(a∣s)bt(s)b_{t+1}(s') = \sum_{s, a} O(o' \mid s') P(s' \mid s, a) \pi(a \mid s) b_t(s)bt+1(s′)=∑s,aO(o′∣s′)P(s′∣s,a)π(a∣s)bt(s),理论干净但维度极高。第三是放弃显式建模,直接对观测做端到端学习,代价是必须自行解决记忆问题。

1.3 奖励函数结构

奖励函数是 RL 中"目标的形式化"。设计奖励时需要考虑:

  • 稀疏 vs 密集:围棋只有终局奖励(输 -1、赢 +1),是典型稀疏奖励;Atari 每帧都有得分,是密集奖励。稀疏奖励导致 credit assignment 困难,常需要奖励整形(reward shaping)。
  • 即时 vs 延迟 :奖励是状态转移的同步反馈(Rt+1R_{t+1}Rt+1),与动作 AtA_tAt 之间天然有一步延迟。延迟更深时需要用折扣回报回溯。
  • 符号:奖励不一定是正的。负奖励(惩罚)也很常用。
  • 形式选取 :R(s,a,s′)R(s, a, s')R(s,a,s′) 在数学上是最一般的形式,但工程上常根据问题先验选用更紧凑的 R(s)R(s)R(s) 或 R(s,a)R(s, a)R(s,a)------形式选取取决于设计者认为哪些变量对任务描述是必要的;当奖励信号确实与某些变量独立时简化形式才合法。

奖励设计是强化学习工程实践中最困难的部分之一------一个不良的奖励函数会让智能体陷入局部最优或学到"奖励黑客"行为。常见反例:

  • 训练机器人抓取物体时,奖励"离物体越近越高"导致智能体一直把物体推到摄像头前假装抓取。
  • 训练大语言模型时,奖励"回答越短越快"导致回答完全空洞。
  • 训练赛车时,奖励"速度越快越好"导致赛车冲出跑道。

奖励黑客(reward hacking) 是指智能体利用奖励函数的漏洞获得高奖励但未完成真实任务。这一现象在复杂任务中极难完全规避,目前没有通用解决方案。

二、回报与折扣

2.1 累积回报

累积回报(cumulative return) 是从时刻 ttt 开始所有未来奖励的总和:

Rtsum=Rt+1+Rt+2+Rt+3+⋯ R^{\text{sum}}t = R{t+1} + R_{t+2} + R_{t+3} + \cdots Rtsum=Rt+1+Rt+2+Rt+3+⋯

回合制任务在终止状态 TTT 结束,因此累积回报为有限项之和:

Rtsum=∑k=0T−t−1Rt+k+1 R^{\text{sum}}t = \sum{k=0}^{T-t-1} R_{t+k+1} Rtsum=k=0∑T−t−1Rt+k+1

2.2 折扣因子的作用

对于持续性任务(无终止),累积回报可能发散。引入折扣因子 γ∈[0,1)\gamma \in [0, 1)γ∈[0,1):

Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1 G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRt+k+1

折扣因子的作用:

  • 数学上 :保证 GtG_tGt 有限(只要奖励有界)。
  • 认知上 :刻画"短视 vs 远视"------γ\gammaγ 越小,智能体越重视近期奖励;越接近 1,越关注长期。
  • 金融上:与利率的折现率同构。
  • 工程上:避免无限时域下的技术复杂性。

如果奖励有界(设 ∣Rt∣≤Rmax⁡|R_t| \le R_{\max}∣Rt∣≤Rmax),则 ∣Gt∣≤Rmax⁡/(1−γ)|G_t| \le R_{\max} / (1 - \gamma)∣Gt∣≤Rmax/(1−γ)。

2.3 折扣回报的期望形式

GtG_tGt 是随机变量,其期望是状态价值的定义:

vπ(s)=EπGt∣St=s v_\pi(s) = \mathbb{E}_\piG_t \\mid S_t = s vπ(s)=EπGt∣St=s

其中 Eπ⋅\mathbb{E}_\pi\\cdotEπ⋅ 表示按策略 π\piπ 与环境转移联合采样的期望。把 GtG_tGt 的定义代入:

vπ(s)=Eπ ⁣∑k=0∞γkRt+k+1  ∣  St=s v_\pi(s) = \mathbb{E}_\pi\!\left\\sum_{k=0}\^{\\infty} \\gamma\^k R_{t+k+1} \\;\\Big\|\\; S_t = s\\right vπ(s)=Eπk=0∑∞γkRt+k+1 St=s

这一表达式是后续 Bellman 方程推导的起点。

2.3.1 价值的完整定义

vπ(s)v_\pi(s)vπ(s) 是一条轨迹上随机回报的条件期望,定义中的每个限定词都有实际内容:

vπ(s)=Eπ,P ⁣∑k=0∞γkRt+k+1  ∣  St=s v_\pi(s) = \mathbb{E}_{\pi, P}\!\left \\sum_{k=0}\^{\\infty} \\gamma\^k R_{t+k+1} \\;\\Big\|\\; S_t = s \\right vπ(s)=Eπ,Pk=0∑∞γkRt+k+1 St=s

  • 条件于 St=sS_t = sSt=s :把"位置"固定住,剩余随机性只来自策略 π\piπ 选动作与环境 PPP 给转移与奖励。若不对 sss 条件,得到的是策略层面的期望回报 J(π)J(\pi)J(π),它无法逐状态诊断。
  • 期望由两个分布共同产生 :π\piπ 与 PPP 都带随机性。只对 π\piπ 取期望而不含 PPP,得到的是"环境也随机时的期望",这正是真实回报。
  • 存在性 :奖励有界(设 ∣Rt∣≤Rmax⁡\lvert R_t\rvert \le R_{\max}∣Rt∣≤Rmax)且 γ<1\gamma < 1γ<1 时,返回的绝对值被 Rmax⁡1−γ\frac{R_{\max}}{1-\gamma}1−γRmax 控制,期望必然存在、有限。

把展开写成对整条轨迹的求和,可以看清它的真实规模:

vπ(s)=∑τ : s0=sP(τ∣π,P)∑k=0∞γkrk+1(τ) v_\pi(s) = \sum_{\tau \,:\, s_0 = s} P(\tau \mid \pi, P) \left \\sum_{k=0}\^{\\infty} \\gamma\^k r_{k+1}(\\tau) \\right vπ(s)=τ:s0=s∑P(τ∣π,P)k=0∑∞γkrk+1(τ)

其中 P(τ∣π,P)=∏kπ(ak∣sk)P(sk+1∣sk,ak)P(\tau \mid \pi, P) = \prod_k \pi(a_k \mid s_k) P(s_{k+1} \mid s_k, a_k)P(τ∣π,P)=∏kπ(ak∣sk)P(sk+1∣sk,ak) 是轨迹概率。有限状态下轨迹集合无穷且不可枚举,这就是下面要引入递归的原因。

2.3.2 为什么需要递归

直接对轨迹求期望不可行,具体有三层障碍。

  1. 组合爆炸 :ttt 步轨迹数为 ∣A∣t−1∣S∣t−1\lvert\mathcal{A}\rvert^{t-1}\lvert\mathcal{S}\rvert^{t-1}∣A∣t−1∣S∣t−1 量级,按轨迹枚举计算量随步数指数增长。
  2. 无穷求和无法解析求和 :∑k≥0\sum_{k\ge 0}∑k≥0 是无穷级数,除非奖励与转移有极特殊结构(如线性系统),否则没有闭式解。
  3. 最优性无法表达 :轨迹求和能算出给定 π\piπ 的价值,但"哪个 π\piπ 更好"需要对无穷多个 π\piπ 求最大。

Bellman 递归恰好绕过这三点:利用马尔可夫性,时刻 ttt 之后的过程与 ttt 之前的历史无关,因此所有时刻满足同一条方程,可以把无穷求和换成有限的双重求和:

vπ(s)=∑aπ(a∣s)∑s′P(s′∣s,a)R(s,a,s′)+γvπ(s′) v_\pi(s) = \sum_a \pi(a \mid s) \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma v_\\pi(s') \\right vπ(s)=a∑π(a∣s)s′∑P(s′∣s,a)R(s,a,s′)+γvπ(s′)

内层只需求和 ∣A∣⋅∣S∣\lvert\mathcal{A}\rvert \cdot \lvert\mathcal{S}\rvert∣A∣⋅∣S∣ 项,且每一项都复用同一个 vπv_\pivπ,于是可以迭代求解(第五章的值迭代)。这一步的价值可以精确地衡量:vπv_\pivπ 从"对无穷策略集合做优化"变成了"对 ∣S∣\lvert\mathcal{S}\rvert∣S∣ 个方程求固定点"。

在模型已知且状态数有限时,理论上还能退化为矩阵形式 vπ=(I−γPπ)−1Rπv_\pi = (I - \gamma P_\pi)^{-1} R_\pivπ=(I−γPπ)−1Rπ;求逆是 O(∣S∣3)O(\lvert\mathcal{S}\rvert^3)O(∣S∣3),只在很小的规模下才实用。

2.3.3 三种价值表示的分工
表示 定义 回答的问题 典型算法
vπ(s)v_\pi(s)vπ(s) EπGt∣St=s\mathbb{E}_\piG_t \\mid S_t = sEπGt∣St=s 状态 sss 有多好 状态评估、Actor-Critic 的 critic、值迭代
qπ(s,a)q_\pi(s, a)qπ(s,a) EπGt∣St=s,At=a\mathbb{E}_\piG_t \\mid S_t = s, A_t = aEπGt∣St=s,At=a 在 sss 该不该做 aaa Q-learning、SARSA、价值迭代的改进步
Aπ(s,a)A_\pi(s, a)Aπ(s,a) qπ(s,a)−vπ(s)q_\pi(s, a) - v_\pi(s)qπ(s,a)−vπ(s) aaa 比平均水平好多少 策略梯度的加权项、baseline 削减方差

三者不是并列的三个独立对象,而是同一条期望的三种条件方式 。给定策略 π\piπ,qπq_\piqπ 条件化在动作上,vπv_\pivπ 是 qπq_\piqπ 在动作上的加权平均,AπA_\piAπ 是减去平均后的残差。选哪一种表示,本质上取决于算法能观测到什么 :表格型方法常直接存 qqq(更新时索引明确),连续控制与基于模型的现代算法几乎都存 vvv(对状态输出单值,可用高容量网络平滑),策略梯度类方法真正需要的量是 AAA。

三、策略与价值函数

3.1 确定性策略与随机策略

策略 π\piπ 决定智能体在每个状态如何选动作:

  • 确定性策略 :a=π(s)a = \pi(s)a=π(s),每个状态对应唯一动作。某些问题(如固定目标的路径跟踪)可用确定性策略。
  • 随机策略 :A∼π(⋅∣s)A \sim \pi(\cdot \mid s)A∼π(⋅∣s),每个状态下选各动作有概率。在 MDP 的标准形式化中,最优策略总可以是确定性的(具体说明见 Bellman 最优方程的讨论),但训练过程中通常使用随机策略或带探索噪声的确定性策略(如 DDPG/TD3)以保证探索。

策略的几种特殊形态:

  • 均匀随机策略 :π(a∣s)=1/∣A∣\pi(a \mid s) = 1/|\mathcal{A}|π(a∣s)=1/∣A∣,不依赖状态,常用作探索策略或 baseline。
  • ε\varepsilonε-贪心策略 :以 ε\varepsilonε 概率随机探索,否则选最优动作。
  • Boltzmann 探索 :π(a∣s)∝exp⁡(Q(s,a)/τ)\pi(a \mid s) \propto \exp(Q(s, a) / \tau)π(a∣s)∝exp(Q(s,a)/τ),τ\tauτ 是温度参数。温度高→更随机,温度低→更确定。

3.2 状态价值函数

状态价值函数(state-value function) 评估"按策略 π\piπ 行动时,从状态 sss 出发能获得多少期望回报":

vπ(s)=EπGt∣St=s v_\pi(s) = \mathbb{E}_\piG_t \\mid S_t = s vπ(s)=EπGt∣St=s

vπ(s)v_\pi(s)vπ(s) 越高,状态 sss 越"好"。它回答的是"我现在有多好",而不直接回答"在 sss 下我该选哪个动作"。

3.2.1 为什么需要状态价值

vπv_\pivπ 把"从当前状态出发的期望回报"变成一个可计算、可比较、可优化的标量。它的四层作用:

  • 可优化的目标 :策略层面的指标 J(π)=Es0∼μ0vπ(s0)J(\pi) = \mathbb{E}{s_0 \sim \mu_0}v_\\pi(s_0)J(π)=Es0∼μ0vπ(s0) 是 μ0\mu_0μ0 下 vπv\pivπ 的加权平均。把目标下沉到状态层面,才能做逐状态的局部改进:只改一个状态的动作,然后看这一个状态的价值是否上升,而不必重估全部轨迹。
  • 可比较的诊断量 :训练日志里"平均回报"是回合级指标,混杂了初始状态难度;vπ(s)v_\pi(s)vπ(s) 可以在固定状态集合上评估,把策略改进与环境难度分开。
  • 参数效率 :状态空间通常远小于状态-动作空间,∣S∣≪∣S∣∣A∣|\mathcal{S}| \ll |\mathcal{S}| |\mathcal{A}|∣S∣≪∣S∣∣A∣。在 vvv 上做函数逼近,输出维度小、每个状态的数据可被所有动作共享,泛化更好------这正是 Dueling 结构(第十章)的动机。
  • 唯一且稳定 :有限 MDP 中 vπv_\pivπ 由 Bellman 期望方程唯一确定,与策略的内部表示无关,因此可以作为跨算法比较的公共语言。
3.2.2 v 与 q 的关系推导

不要把 vπ(s)=∑aπ(a∣s)qπ(s,a)v_\pi(s) = \sum_a \pi(a|s) q_\pi(s, a)vπ(s)=∑aπ(a∣s)qπ(s,a) 当成给定的恒等式,它可以从定义逐步推出。起点是对动作 AtA_tAt 用全期望公式(塔性质),因为在条件 St=sS_t = sSt=s 下,动作 AtA_tAt 与 ttt 时刻之后的回报 GtG_tGt 通过策略分布耦合:

vπ(s)=EπGt∣St=s=∑aEπGt∣St=s,At=a P(At=a∣St=s)=∑aEπGt∣St=s,At=a π(a∣s)=∑aπ(a∣s) qπ(s,a) \begin{aligned} v_\pi(s) &= \mathbb{E}\piG_t \\mid S_t = s \\ &= \sum_a \mathbb{E}\piG_t \\mid S_t = s, A_t = a \, P(A_t = a \mid S_t = s) \\ &= \sum_a \mathbb{E}\piG_t \\mid S_t = s, A_t = a \, \pi(a \mid s) \\ &= \sum_a \pi(a \mid s) \, q\pi(s, a) \end{aligned} vπ(s)=EπGt∣St=s=a∑EπGt∣St=s,At=aP(At=a∣St=s)=a∑EπGt∣St=s,At=aπ(a∣s)=a∑π(a∣s)qπ(s,a)

第三行是策略的定义,第四行是 qπq_\piqπ 的定义。也就是说,qπq_\piqπ 额外条件化了一步动作,vπv_\pivπ 只是把它按动作分布平均回来。方向性的结论随即成立:qπq_\piqπ 信息量更大(它保留了动作区分),vπv_\pivπ 更平滑(对动作做了平均)。

由此得到两条常用不等式与等号条件:

min⁡aqπ(s,a)≤vπ(s)≤max⁡aqπ(s,a) \min_a q_\pi(s, a) \le v_\pi(s) \le \max_a q_\pi(s, a) aminqπ(s,a)≤vπ(s)≤amaxqπ(s,a)

等号成立的条件分别是:vπ(s)=max⁡aqπ(s,a)v_\pi(s) = \max_a q_\pi(s, a)vπ(s)=maxaqπ(s,a) 当且仅当 π\piπ 把全部概率质量放在 qπq_\piqπ 最优的动作上;vπ(s)=min⁡aqπ(s,a)v_\pi(s) = \min_a q_\pi(s, a)vπ(s)=minaqπ(s,a) 当且仅当 π\piπ 只选最差动作(这给出随机策略可能不优于确定性策略的原因)。

进一步,若取 π′(a∣s)=arg⁡max⁡aqπ(s,a)\pi'(a \mid s) = \arg\max_a q_\pi(s, a)π′(a∣s)=argmaxaqπ(s,a),则策略改进定理的更强形式给出

vπ′(s)≥max⁡aqπ(s,a)≥vπ(s),∀s v_{\pi'}(s) \ge \max_a q_\pi(s, a) \ge v_\pi(s), \quad \forall s vπ′(s)≥amaxqπ(s,a)≥vπ(s),∀s

注意第一个不等号是 ≥\ge≥ 而非 ===。max⁡aqπ(s,a)\max_a q_\pi(s, a)maxaqπ(s,a) 是"在 sss 偏离一步、之后回到 π\piπ"的值(记这个只偏离一步的策略为 πˉ\bar\piπˉ,则 vπˉ(s)=max⁡aqπ(s,a)v_{\bar\pi}(s) = \max_a q_\pi(s,a)vπˉ(s)=maxaqπ(s,a));vπ′(s)v_{\pi'}(s)vπ′(s) 是"永远按 π′\pi'π′ 行动"的值。偏离之后在每个状态 π′\pi'π′ 依旧选 qπq_\piqπ 的最优动作,且把后续的 π\piπ 换成处处不劣于它的 π′\pi'π′ 只会更好,因此只会更优、一般不会相等。形式化:记 vˉ(s)=max⁡aqπ(s,a)\bar v(s) = \max_a q_\pi(s, a)vˉ(s)=maxaqπ(s,a),则 vˉ≥vπ\bar v \ge v_\pivˉ≥vπ 逐点成立,且

(Tπ′vˉ)(s)=∑s′P(s′∣s,π′(s))R(s,π′(s),s′)+γvˉ(s′)≥∑s′P(s′∣s,π′(s))R(s,π′(s),s′)+γvπ(s′)=qπ(s,π′(s))=vˉ(s) (\mathcal{T}{\pi'} \bar v)(s) = \sum{s'} P(s' \mid s, \pi'(s)) \left R(s, \\pi'(s), s') + \\gamma \\bar v(s') \\right \ge \sum_{s'} P(s' \mid s, \pi'(s)) \left R(s, \\pi'(s), s') + \\gamma v_\\pi(s') \\right = q_\pi(s, \pi'(s)) = \bar v(s) (Tπ′vˉ)(s)=s′∑P(s′∣s,π′(s))R(s,π′(s),s′)+γvˉ(s′)≥s′∑P(s′∣s,π′(s))R(s,π′(s),s′)+γvπ(s′)=qπ(s,π′(s))=vˉ(s)

即 vˉ≤Tπ′vˉ\bar v \le \mathcal{T}{\pi'} \bar vvˉ≤Tπ′vˉ。由 Tπ′\mathcal{T}{\pi'}Tπ′ 的单调性与 γ\gammaγ-收缩性,Tπ′kvˉ\mathcal{T}{\pi'}^k \bar vTπ′kvˉ 逐点不降且收敛到唯一不动点 vπ′v{\pi'}vπ′,故 vπ′≥vˉv_{\pi'} \ge \bar vvπ′≥vˉ。等号成立当且仅当 π′\pi'π′ 已是最优策略(Sutton & Barto 2018, §4.2)。

3.2.3 v 在控制算法中的角色
算法或方法 用 vvv 做什么 具体位置
Q-learning / SARSA 不用独立的 vvv,但隐含状态价值 max⁡aq(s,a)\max_a q(s,a)maxaq(s,a) 目标 r+γmax⁡a′q(s′,a′)r + \gamma \max_{a'} q(s', a')r+γmaxa′q(s′,a′)
蒙特卡洛控制 作为预测目标的经验样本 回合结束后把 GtG_tGt 回归到 v(st)v(s_t)v(st)
n 步 TD bootstrap 的落点 Gt(n)=∑k<nγkRt+k+1+γnv(st+n)G_t^{(n)} = \sum_{k<n}\gamma^k R_{t+k+1} + \gamma^n v(s_{t+n})Gt(n)=∑k<nγkRt+k+1+γnv(st+n)
Actor-Critic critic 的拟合目标,同时充当 baseline A(s,a)=q(s,a)−v(s)A(s,a) = q(s,a) - v(s)A(s,a)=q(s,a)−v(s)
GAE 用 vvv 构造优势估计 AtGAE=∑k=0∞(γλ)kδt+kA_t^{\text{GAE}} = \sum_{k=0}^{\infty}(\gamma\lambda)^k \delta_{t+k}AtGAE=∑k=0∞(γλ)kδt+k,δt=Rt+1+γv(st+1)−v(st)\delta_t = R_{t+1} + \gamma v(s_{t+1}) - v(s_t)δt=Rt+1+γv(st+1)−v(st)
规划类方法 Bellman 算子的作用对象 值迭代、策略迭代

baseline 为什么合法,可以给出精确理由。策略梯度是

∇θJ(θ)=Eπθ ⁣∇θlog⁡πθ(at∣st) Gt \nabla_\theta J(\theta) = \mathbb{E}{\pi\theta}\!\left \\nabla_\\theta \\log \\pi_\\theta(a_t \\mid s_t) \\, G_t \\right ∇θJ(θ)=Eπθ∇θlogπθ(at∣st)Gt

减去任意只依赖状态的 b(st)b(s_t)b(st) 后,两者的期望梯度相同,因为

E ⁣∇θlog⁡πθ(at∣st) b(st)=E ⁣b(st)∑a∇θπθ(a∣st)=E ⁣b(st)∇θ∑aπθ(a∣st)⏟=1=0 \mathbb{E}\!\left \\nabla_\\theta \\log \\pi_\\theta(a_t \\mid s_t) \\, b(s_t) \\right = \mathbb{E}\!\left b(s_t) \\sum_a \\nabla_\\theta \\pi_\\theta(a \\mid s_t) \\right = \mathbb{E}\!\left b(s_t) \\nabla_\\theta \\underbrace{\\textstyle\\sum_a \\pi_\\theta(a \\mid s_t)}_{=1} \\right = 0 E∇θlogπθ(at∣st)b(st)=Eb(st)a∑∇θπθ(a∣st)=E b(st)∇θ=1 ∑aπθ(a∣st) =0

梯度被 πθ(a∣st)\pi_\theta(a|s_t)πθ(a∣st) 加权,自然与动作独立,因此可以用 vπv_\pivπ 替换而不引入偏差;方差却显著下降------这正是 Actor-Critic 用 critic 拟合 vvv 的全部动机。

3.2.4 两个常见误解

第一,vπv_\pivπ 依赖策略,去掉下标写成 v(s)v(s)v(s) 是错的:同一个状态在不同策略下价值可以差很多。只有 v∗v_*v∗ 才是策略无关的。

第二,vπ(s)v_\pi(s)vπ(s) 不是 某条轨迹上实际拿到的回报。单次 roll out 只能给出 GtG_tGt 这一个样本,直接把它当作 vπ(st)v_\pi(s_t)vπ(st) 使用会让估计方差随步长放大;必须用 qqq 的平均、TD 误差的多步平均或 critic 拟合来逼近。

3.3 动作价值函数

动作价值函数(action-value function) 又称 Q 函数 ,评估"在状态 sss 采取动作 aaa,之后按 π\piπ 行动能获得多少期望回报":

qπ(s,a)=EπGt∣St=s,At=a q_\pi(s, a) = \mathbb{E}_\piG_t \\mid S_t = s, A_t = a qπ(s,a)=EπGt∣St=s,At=a

qπq_\piqπ 比 vπv_\pivπ 更细致:它不仅回答"状态好不好",还回答"在某个状态下哪个动作最好"。由最优 Q 函数 q∗q_*q∗ 可直接读出最优策略:

π∗(a∣s)={1,a=arg⁡max⁡aq∗(s,a)0,otherwise \pi_*(a \mid s) = \begin{cases} 1, & a = \arg\max_a q_*(s, a) \\ 0, & \text{otherwise} \end{cases} π∗(a∣s)={1,0,a=argmaxaq∗(s,a)otherwise

注意 q∗q_*q∗ 是最优 动作价值函数,不是某个给定策略的 qπq_\piqπ------这一点容易混淆:对 qπq_\piqπ 取 arg⁡max⁡\arg\maxargmax 只得到 π\piπ 的改进策略(见策略改进定理,第五章),不一定是全局最优。

两者关系:

vπ(s)=∑aπ(a∣s) qπ(s,a) v_\pi(s) = \sum_a \pi(a \mid s) \, q_\pi(s, a) vπ(s)=a∑π(a∣s)qπ(s,a)

3.4 优势函数

优势函数(advantage function) 衡量"在状态 sss 采取动作 aaa 比平均水平好多少":

Aπ(s,a)=qπ(s,a)−vπ(s) A_\pi(s, a) = q_\pi(s, a) - v_\pi(s) Aπ(s,a)=qπ(s,a)−vπ(s)

直觉:

  • Aπ(s,a)>0A_\pi(s, a) > 0Aπ(s,a)>0:动作 aaa 比策略 π\piπ 的平均水平更好,应该被鼓励。
  • Aπ(s,a)<0A_\pi(s, a) < 0Aπ(s,a)<0:动作 aaa 比平均水平差,应该被抑制。
  • Aπ(s,a)=0A_\pi(s, a) = 0Aπ(s,a)=0:动作 aaa 与平均水平相当,对应"基线"。

四、Bellman 方程

4.1 Bellman 期望方程

Bellman 期望方程 把 vπv_\pivπ 与 qπq_\piqπ 写成递归形式。对 vπv_\pivπ:

vπ(s)=∑aπ(a∣s)∑s′P(s′∣s,a)R(s,a,s′)+γvπ(s′) v_\pi(s) = \sum_a \pi(a \mid s) \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma v_\\pi(s') \\right vπ(s)=a∑π(a∣s)s′∑P(s′∣s,a)R(s,a,s′)+γvπ(s′)

这条方程不是凭空写下的,它由定义 vπ(s)=EπGt∣St=sv_\pi(s) = \mathbb{E}_\piG_t \\mid S_t = svπ(s)=EπGt∣St=s 经三步拆分得到。

第一步:回报递归拆分。 把回报求和的第一项单独拎出:Gt=Rt+1+γGt+1G_t = R_{t+1} + \gamma G_{t+1}Gt=Rt+1+γGt+1。由期望的线性:

vπ(s)=EπRt+1∣St=s+γ EπGt+1∣St=s v_\pi(s) = \mathbb{E}\piR_{t+1} \\mid S_t = s + \gamma\, \mathbb{E}\piG_{t+1} \\mid S_t = s vπ(s)=EπRt+1∣St=s+γEπGt+1∣St=s

第二步:对动作拆分(全期望公式 / 塔性质)。 条件于 St=sS_t = sSt=s 时,"此刻之后"的随机源按时间顺序首先是动作 AtA_tAt,先对它求和:

EπRt+1∣St=s=∑aπ(a∣s) EπRt+1∣St=s,At=a \mathbb{E}\piR_{t+1} \\mid S_t = s = \sum_a \pi(a \mid s)\, \mathbb{E}\piR_{t+1} \\mid S_t = s, A_t = a EπRt+1∣St=s=a∑π(a∣s)EπRt+1∣St=s,At=a

第三步:对环境动力学拆分。 条件于 (St,At)=(s,a)(S_t, A_t) = (s, a)(St,At)=(s,a) 后,Rt+1R_{t+1}Rt+1 与 St+1S_{t+1}St+1 的联合分布由 p(s′,r∣s,a)p(s', r \mid s, a)p(s′,r∣s,a) 给出:

EπRt+1∣St=s,At=a=∑s′,rp(s′,r∣s,a) r \mathbb{E}\piR_{t+1} \\mid S_t = s, A_t = a = \sum{s', r} p(s', r \mid s, a)\, r EπRt+1∣St=s,At=a=s′,r∑p(s′,r∣s,a)r

而后续回报的期望可再拆一层:先到 St+1S_{t+1}St+1,再由马尔可夫性把更早的历史全部丢掉------

EπGt+1∣St=s,At=a,St+1=s′=EπGt+1∣St+1=s′=vπ(s′) \mathbb{E}\piG_{t+1} \\mid S_t = s, A_t = a, S_{t+1} = s' = \mathbb{E}\piG_{t+1} \\mid S_{t+1} = s' = v_\pi(s') EπGt+1∣St=s,At=a,St+1=s′=EπGt+1∣St+1=s′=vπ(s′)

第二步等号正是 vπv_\pivπ 的定义在 s′s's′ 处的重现。合并:

EπRt+1+γGt+1∣St=s,At=a=∑s′,rp(s′,r∣s,a)r+γvπ(s′) \mathbb{E}\piR_{t+1} + \\gamma G_{t+1} \\mid S_t = s, A_t = a = \sum{s', r} p(s', r \mid s, a)\left r + \\gamma v_\\pi(s') \\right EπRt+1+γGt+1∣St=s,At=a=s′,r∑p(s′,r∣s,a)r+γvπ(s′)

三步串起来,并对每个动作求和:

vπ(s)=∑aπ(a∣s)∑s′,rp(s′,r∣s,a)r+γvπ(s′)=∑aπ(a∣s)∑s′P(s′∣s,a)R(s,a,s′)+γvπ(s′) v_\pi(s) = \sum_a \pi(a \mid s) \sum_{s', r} p(s', r \mid s, a)\left r + \\gamma v_\\pi(s') \\right = \sum_a \pi(a \mid s) \sum_{s'} P(s' \mid s, a)\left R(s, a, s') + \\gamma v_\\pi(s') \\right vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)r+γvπ(s′)=a∑π(a∣s)s′∑P(s′∣s,a)R(s,a,s′)+γvπ(s′)

其中 R(s,a,s′)=∑rr p(r∣s,a,s′)R(s, a, s') = \sum_r r\, p(r \mid s, a, s')R(s,a,s′)=∑rrp(r∣s,a,s′)(对 rrr 的边缘化,见 §1.2.1)。整个推导只用了两件事实:回报的递归定义、马尔可夫性。

对 qπq_\piqπ:

qπ(s,a)=∑s′P(s′∣s,a)R(s,a,s′)+γ∑a′π(a′∣s′) qπ(s′,a′) q_\pi(s, a) = \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma \\sum_{a'} \\pi(a' \\mid s') \\, q_\\pi(s', a') \\right qπ(s,a)=s′∑P(s′∣s,a)R(s,a,s′)+γa′∑π(a′∣s′)qπ(s′,a′)

这两个方程是"动态规划 + 概率转移"在 RL 语境下的具象化,几乎所有 RL 算法都围绕它们展开。

直觉:当前状态的价值 = 当前动作 + 转移到下一状态后续价值的期望。

矩阵形式(仅 vπv_\pivπ):

vπ=Rπ+γPπvπ v_\pi = R_\pi + \gamma P_\pi v_\pi vπ=Rπ+γPπvπ

其中 PπP_\piPπ 是策略诱导的状态转移矩阵,RπR_\piRπ 是策略诱导的奖励向量。闭式解为:

vπ=(I−γPπ)−1Rπ v_\pi = (I - \gamma P_\pi)^{-1} R_\pi vπ=(I−γPπ)−1Rπ

但实际中矩阵求逆 O(∣S∣3)O(|\mathcal{S}|^3)O(∣S∣3) 太大,一般改用迭代法(第五章)。

4.1.1 手算示例:2×2 网格上的迭代策略评估

用一个最小的 gridworld 把 Bellman 期望方程走一遍数值。布局:

左列 右列
上行 s0s_0s0(起点) s1s_1s1
下行 s2s_2s2 s3s_3s3(终点 GGG)

设定:四个动作(上/右/下/左)均为确定性转移,撞墙则原地不动;每步转移奖励 −1-1−1(包括进入 s3s_3s3 的那一步,随后回合结束);v(s3)=0v(s_3) = 0v(s3)=0 恒成立;策略为均匀随机 π(a∣s)=1/4\pi(a \mid s) = 1/4π(a∣s)=1/4;γ=0.5\gamma = 0.5γ=0.5。从 v0≡0v_0 \equiv 0v0≡0 开始迭代 vk+1(s)=∑a14∑s′P(s′∣s,a)−1+0.5 vk(s′)v_{k+1}(s) = \sum_a \frac14 \sum_{s'} P(s' \mid s, a)\left-1 + 0.5\\, v_k(s')\\rightvk+1(s)=∑a41∑s′P(s′∣s,a)−1+0.5vk(s′)。

第 1 次迭代 (v0=0v_0 = 0v0=0,每个 qqq 值都是 −1+0.5×0=−1-1 + 0.5 \times 0 = -1−1+0.5×0=−1):

v1(s0)=v1(s1)=v1(s2)=−1 v_1(s_0) = v_1(s_1) = v_1(s_2) = -1 v1(s0)=v1(s1)=v1(s2)=−1

第 2 次迭代 。s0s_0s0 的四个动作:右→s1s_1s1、下→s2s_2s2、左/上→原地 s0s_0s0,四个 qqq 全为 −1+0.5×(−1)=−1.5-1 + 0.5 \times (-1) = -1.5−1+0.5×(−1)=−1.5:

v2(s0)=−1.5 v_2(s_0) = -1.5 v2(s0)=−1.5

s1s_1s1 的四个动作:左→s0s_0s0(q=−1.5q = -1.5q=−1.5)、下→s3s_3s3 终点(q=−1+0.5×0=−1q = -1 + 0.5 \times 0 = -1q=−1+0.5×0=−1)、右/上→原地(q=−1.5q = -1.5q=−1.5):

v2(s1)=14(−1.5−1−1.5−1.5)=−1.375 v_2(s_1) = \tfrac{1}{4}(-1.5 - 1 - 1.5 - 1.5) = -1.375 v2(s1)=41(−1.5−1−1.5−1.5)=−1.375

s2s_2s2 与 s1s_1s1 对称:v2(s2)=−1.375v_2(s_2) = -1.375v2(s2)=−1.375。

第 3 次迭代 。s0s_0s0:右/下指向 v2=−1.375v_2 = -1.375v2=−1.375 的邻格(q=−1.6875q = -1.6875q=−1.6875),左/上原地(q=−1.75q = -1.75q=−1.75):

v3(s0)=12(−1.6875)+12(−1.75)=−1.71875 v_3(s_0) = \tfrac{1}{2}(-1.6875) + \tfrac{1}{2}(-1.75) = -1.71875 v3(s0)=21(−1.6875)+21(−1.75)=−1.71875

s1s_1s1:左→s0s_0s0(q=−1.75q = -1.75q=−1.75)、下→终点(q=−1q = -1q=−1)、右/上原地(q=−1.6875q = -1.6875q=−1.6875):

v3(s1)=14(−1.75−1−1.6875−1.6875)=−1.53125,v3(s2)=−1.53125 v_3(s_1) = \tfrac{1}{4}(-1.75 - 1 - 1.6875 - 1.6875) = -1.53125, \qquad v_3(s_2) = -1.53125 v3(s1)=41(−1.75−1−1.6875−1.6875)=−1.53125,v3(s2)=−1.53125

迭代在向 vπv_\pivπ 收敛。极限值可由线性方程组解出:由对称性记 a=vπ(s0)a = v_\pi(s_0)a=vπ(s0)、b=vπ(s1)=vπ(s2)b = v_\pi(s_1) = v_\pi(s_2)b=vπ(s1)=vπ(s2),得

a=−1+0.5(12a+12b),b=−1+0.5(14a+12b)  ⟹  a=−3217≈−1.88,b=−2817≈−1.65 a = -1 + 0.5\left(\tfrac12 a + \tfrac12 b\right), \qquad b = -1 + 0.5\left(\tfrac14 a + \tfrac12 b\right) \;\Longrightarrow\; a = -\tfrac{32}{17} \approx -1.88, \quad b = -\tfrac{28}{17} \approx -1.65 a=−1+0.5(21a+21b),b=−1+0.5(41a+21b)⟹a=−1732≈−1.88,b=−1728≈−1.65

s0s_0s0 比 s1s_1s1 更差的原因很直观:s1s_1s1 每步有 1/41/41/4 的概率直接掉进终点止损,而 s0s_0s0 到终点至少要走两步。这个例子也展示了策略评估的典型形态------vkv_kvk 从"短视值"逐步长出"远期价值"。

4.2 Bellman 最优方程

Bellman 最优方程 是 Bellman 期望方程的"最大化"版本。最优价值函数 v∗v_*v∗ 满足:

v∗(s)=max⁡a∑s′P(s′∣s,a)R(s,a,s′)+γv∗(s′) v_*(s) = \max_a \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma v_\*(s') \\right v∗(s)=amaxs′∑P(s′∣s,a)R(s,a,s′)+γv∗(s′)

最优动作价值 q∗q_*q∗ 满足:

q∗(s,a)=∑s′P(s′∣s,a)R(s,a,s′)+γmax⁡a′q∗(s′,a′) q_*(s, a) = \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma \\max_{a'} q_\*(s', a') \\right q∗(s,a)=s′∑P(s′∣s,a)R(s,a,s′)+γa′maxq∗(s′,a′)

直观区别:

  • Bellman 期望 方程描述"给定策略 π\piπ 的行为"------是线性的,可解。
  • Bellman 最优 方程描述"最优策略应满足什么"------含有 max⁡\maxmax 运算,是非线性的,必须用迭代方法。

4.3 最优策略与最优价值函数

由 q∗q_*q∗ 立即可以读出最优策略:

π∗(a∣s)={1,a=arg⁡max⁡aq∗(s,a)0,otherwise \pi_*(a \mid s) = \begin{cases} 1, & a = \arg\max_a q_*(s, a) \\ 0, & \text{otherwise} \end{cases} π∗(a∣s)={1,0,a=argmaxaq∗(s,a)otherwise

这是确定性 的。如果存在多个 arg⁡max⁡\arg\maxargmax 平局,可以任选其一或随机分配。

几个重要的存在性结论:

  • 最优策略存在:在有限 MDP 中,最优策略总存在。
  • 所有最优策略共享同样的 v∗v_*v∗ 和 q∗q_*q∗:这意味着求解价值函数与求解策略是等价的。
  • 最优策略可取确定性 :随机最优策略存在但与确定性最优策略共享同样的价值------在 arg⁡max⁡\arg\maxargmax 唯一时随机性没有额外价值。

Bellman 最优算子 T\mathcal{T}T 定义为:

(Tv)(s)=max⁡a∑s′P(s′∣s,a)R(s,a,s′)+γv(s′) (\mathcal{T} v)(s) = \max_a \sum_{s'} P(s' \mid s, a) \left R(s, a, s') + \\gamma v(s') \\right (Tv)(s)=amaxs′∑P(s′∣s,a)R(s,a,s′)+γv(s′)

完备性前提 :定义在状态空间 S\mathcal{S}S 上的有界实函数族 B(S)\mathcal{B}(\mathcal{S})B(S) 在 sup 范数 ∥⋅∥∞\|\cdot\|_\infty∥⋅∥∞ 下构成 Banach 空间(完备度量空间)。这是 Banach 不动点定理的必备前提。

T\mathcal{T}T 是 γ\gammaγ-收缩映射 ------对任意两个有界实函数 v1,v2v_1, v_2v1,v2:

∥Tv1−Tv2∥∞≤γ∥v1−v2∥∞ \|\mathcal{T} v_1 - \mathcal{T} v_2\|\infty \le \gamma \|v_1 - v_2\|\infty ∥Tv1−Tv2∥∞≤γ∥v1−v2∥∞

证明要点:max⁡\maxmax 算子在 sup 范数下是 1-Lipschitz 的(设 a∗,b∗a^*, b^*a∗,b∗ 分别为 v1,v2v_1, v_2v1,v2 下的最优动作),则

∣(Tv1)(s)−(Tv2)(s)∣≤γ∑s′P(s′∣s,a∗)∣v1(s′)−v2(s′)∣≤γ∥v1−v2∥∞ |(\mathcal{T} v_1)(s) - (\mathcal{T} v_2)(s)| \le \gamma \sum_{s'} P(s' \mid s, a^*) |v_1(s') - v_2(s')| \le \gamma \|v_1 - v_2\|_\infty ∣(Tv1)(s)−(Tv2)(s)∣≤γs′∑P(s′∣s,a∗)∣v1(s′)−v2(s′)∣≤γ∥v1−v2∥∞

由 Banach 不动点定理,T\mathcal{T}T 在 B(S)\mathcal{B}(\mathcal{S})B(S) 上有唯一不动点 v∗v_*v∗。进一步,迭代 vk+1=Tvkv_{k+1} = \mathcal{T} v_kvk+1=Tvk 以几何速率收敛:

∥vk−v∗∥∞≤γk∥v0−v∗∥∞ \|v_k - v_*\|\infty \le \gamma^k \|v_0 - v*\|_\infty ∥vk−v∗∥∞≤γk∥v0−v∗∥∞

任意初值 v0v_0v0 下都成立。

五、占用度量

5.1 状态访问分布

占用度量(occupancy measure) 是从另一个角度刻画策略:策略 π\piπ 在 MDP 中产生的状态-动作对访问分布。

定义折扣占用度量:

ρπ(s,a)=∑t=0∞γtP(St=s,At=a∣π,P,μ0) \rho_\pi(s, a) = \sum_{t=0}^{\infty} \gamma^t P(S_t = s, A_t = a \mid \pi, P, \mu_0) ρπ(s,a)=t=0∑∞γtP(St=s,At=a∣π,P,μ0)

其中 μ0\mu_0μ0 是初始状态分布。直观:从初始分布 μ0\mu_0μ0 出发,按策略 π\piπ 与环境交互,"在时刻 ttt 处于 (s,a)(s, a)(s,a) 的概率"按 γt\gamma^tγt 加权求和。ρπ\rho_\piρπ 描述了策略对状态-动作空间的"偏好"。

注意:上述形式是未归一化 的(不再构成概率分布,∑s,aρπ(s,a)=1/(1−γ)\sum_{s, a} \rho_\pi(s, a) = 1/(1-\gamma)∑s,aρπ(s,a)=1/(1−γ))。部分文献采用归一化 形式 (1−γ)∑tγtP(St=s,At=a)(1-\gamma) \sum_t \gamma^t P(S_t = s, A_t = a)(1−γ)∑tγtP(St=s,At=a),使 ∑s,aρ=1\sum_{s, a} \rho = 1∑s,aρ=1;本教程采用未归一化形式以与 Bellman 方程直接对应。

5.2 占用度量的定义与性质

状态占用度量 ρπ(s)=∑aρπ(s,a)\rho_\pi(s) = \sum_a \rho_\pi(s, a)ρπ(s)=∑aρπ(s,a)。

占用度量的几个关键性质:

  • 策略指纹定理 (Syed, Schapire & Bowling, "Apprenticeship Learning Using Linear Programming", ICML 2008, Thm 1 及其推论):两个策略 π1,π2\pi_1, \pi_2π1,π2 在同一 MDP 上对所有 奖励函数 RRR 产生相同期望回报,当且仅当 它们的占用度量作为分布相等(ρπ1=ρπ2\rho_{\pi_1} = \rho_{\pi_2}ρπ1=ρπ2)。这是一个双向 刻画:ρ\rhoρ 相同 ⇒ 任何 RRR 下回报相同;任何 RRR 下回报相同 ⇒ ρ\rhoρ 相同。
  • 从分布反推策略 :已知 ρ\rhoρ,可以构造一个策略 πρ(a∣s)=ρ(s,a)/ρ(s)\pi_\rho(a \mid s) = \rho(s, a) / \rho(s)πρ(a∣s)=ρ(s,a)/ρ(s)(ρ(s)>0\rho(s) > 0ρ(s)>0 时)。反推出的策略与原策略 π\piπ 共享同样的 ρ\rhoρ(在 μ0\mu_0μ0 与 PPP 固定的前提下),因此由策略指纹定理对所有 RRR 期望回报相同。

占用度量也是从 on-policy 到 off-policy 转换 的桥梁:off-policy 校正的核心就是根据 ρ\rhoρ 调整采样的权重。

5.2.1 占用度量满足的流方程

由定义展开可得占用度量的流守恒约束(Bellman flow equation) ,它是理解"占用刻画策略"的全部关键。记 P(s∣s′,a′)=P(st+1=s∣st=s′,at=a′)P(s \mid s', a') = P(s_{t+1}=s \mid s_t=s', a_t=a')P(s∣s′,a′)=P(st+1=s∣st=s′,at=a′),则对每个状态 sss:

ρπ(s)=μ0(s)+γ∑s′,a′ρπ(s′,a′) P(s∣s′,a′) \rho_\pi(s) = \mu_0(s) + \gamma \sum_{s', a'} \rho_\pi(s', a')\, P(s \mid s', a') ρπ(s)=μ0(s)+γs′,a′∑ρπ(s′,a′)P(s∣s′,a′)

即:状态 sss 的占用 = 初始分布 μ0\mu_0μ0 直接注入的量(权重 γ0\gamma^0γ0)+ 从所有前驱 (s′,a′)(s', a')(s′,a′) 经一次转移流入的量(多折扣一个 γ\gammaγ)。每个状态流入 = 流出,且必须计入初始分布项。 若采用归一化约定 μπ=(1−γ)ρπ\mu^\pi = (1-\gamma)\rho_\piμπ=(1−γ)ρπ,同一方程写作 μπ(s)=(1−γ)μ0(s)+γ∑s′,a′μπ(s′,a′)P(s∣s′,a′)\mu^\pi(s) = (1-\gamma)\mu_0(s) + \gamma \sum_{s',a'} \mu^\pi(s',a') P(s \mid s', a')μπ(s)=(1−γ)μ0(s)+γ∑s′,a′μπ(s′,a′)P(s∣s′,a′),μ0\mu_0μ0 项带因子 (1−γ)(1-\gamma)(1−γ);两式等价。

推导只需数清"在 sss 上的占用从哪来":t=0t = 0t=0 时刻以概率 μ0(s)\mu_0(s)μ0(s) 直接落入 sss,权重 γ0\gamma^0γ0;t≥1t \ge 1t≥1 时刻到达 sss 必然来自某个更早时刻对 (s′,a′)(s', a')(s′,a′) 的访问后的一次转移,权重恰好多乘一个 γ\gammaγ。按 ttt 求和即得流方程。注意方程左边是 ρπ(s)=∑aρπ(s,a)\rho_\pi(s) = \sum_a \rho_\pi(s, a)ρπ(s)=∑aρπ(s,a)(状态占用),右边只含前驱的状态-动作占用------策略 π\piπ 本身不直接出现在方程里。
#mermaid-svg-zNYF6dafR4rBKdgg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zNYF6dafR4rBKdgg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zNYF6dafR4rBKdgg .error-icon{fill:#552222;}#mermaid-svg-zNYF6dafR4rBKdgg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zNYF6dafR4rBKdgg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zNYF6dafR4rBKdgg .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zNYF6dafR4rBKdgg .marker.cross{stroke:#333333;}#mermaid-svg-zNYF6dafR4rBKdgg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zNYF6dafR4rBKdgg p{margin:0;}#mermaid-svg-zNYF6dafR4rBKdgg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-zNYF6dafR4rBKdgg .cluster-label text{fill:#333;}#mermaid-svg-zNYF6dafR4rBKdgg .cluster-label span{color:#333;}#mermaid-svg-zNYF6dafR4rBKdgg .cluster-label span p{background-color:transparent;}#mermaid-svg-zNYF6dafR4rBKdgg .label text,#mermaid-svg-zNYF6dafR4rBKdgg span{fill:#333;color:#333;}#mermaid-svg-zNYF6dafR4rBKdgg .node rect,#mermaid-svg-zNYF6dafR4rBKdgg .node circle,#mermaid-svg-zNYF6dafR4rBKdgg .node ellipse,#mermaid-svg-zNYF6dafR4rBKdgg .node polygon,#mermaid-svg-zNYF6dafR4rBKdgg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zNYF6dafR4rBKdgg .rough-node .label text,#mermaid-svg-zNYF6dafR4rBKdgg .node .label text,#mermaid-svg-zNYF6dafR4rBKdgg .image-shape .label,#mermaid-svg-zNYF6dafR4rBKdgg .icon-shape .label{text-anchor:middle;}#mermaid-svg-zNYF6dafR4rBKdgg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zNYF6dafR4rBKdgg .rough-node .label,#mermaid-svg-zNYF6dafR4rBKdgg .node .label,#mermaid-svg-zNYF6dafR4rBKdgg .image-shape .label,#mermaid-svg-zNYF6dafR4rBKdgg .icon-shape .label{text-align:center;}#mermaid-svg-zNYF6dafR4rBKdgg .node.clickable{cursor:pointer;}#mermaid-svg-zNYF6dafR4rBKdgg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zNYF6dafR4rBKdgg .arrowheadPath{fill:#333333;}#mermaid-svg-zNYF6dafR4rBKdgg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zNYF6dafR4rBKdgg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zNYF6dafR4rBKdgg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zNYF6dafR4rBKdgg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zNYF6dafR4rBKdgg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zNYF6dafR4rBKdgg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zNYF6dafR4rBKdgg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zNYF6dafR4rBKdgg .cluster text{fill:#333;}#mermaid-svg-zNYF6dafR4rBKdgg .cluster span{color:#333;}#mermaid-svg-zNYF6dafR4rBKdgg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zNYF6dafR4rBKdgg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zNYF6dafR4rBKdgg rect.text{fill:none;stroke-width:0;}#mermaid-svg-zNYF6dafR4rBKdgg .icon-shape,#mermaid-svg-zNYF6dafR4rBKdgg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zNYF6dafR4rBKdgg .icon-shape p,#mermaid-svg-zNYF6dafR4rBKdgg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zNYF6dafR4rBKdgg .icon-shape .label rect,#mermaid-svg-zNYF6dafR4rBKdgg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zNYF6dafR4rBKdgg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zNYF6dafR4rBKdgg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zNYF6dafR4rBKdgg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 直接注入

权重 1
一次转移

乘 γ·P(s|s', a')
按动作劈分

ρ(s,a) = ρ(s)·π(a|s)
经转移 P(s'|s,a)

乘 γ 流向后继
初始分布 μ0(s)
状态占用 ρ(s)
前驱状态-动作占用

ρ(s', a')
动作占用 ρ(s,a)
后继状态的流入

(回到上两支)

这两条守恒关系把"策略"换成了"流":ρ\rhoρ 是把概率质量从初始分布 μ0\mu_0μ0 经由转移 PPP 输运出来的静止流量分布 ,而 π\piπ 只体现在"在状态 sss 上如何把 ρ(s)\rho(s)ρ(s) 劈成 ρ(s,a)\rho(s, a)ρ(s,a)"这一步。

5.2.2 已知策略求占用

给定 π\piπ 与 PPP,上面的方程组对 ρ\rhoρ 是线性的,可用前向递推逐时刻累积(每个时刻是一次稀疏矩阵-向量乘法):

ρ0(s,a)=μ0(s)π(a∣s),ρt(s,a)=γ∑s′,a′ρt−1(s′,a′)P(s∣s′,a′)π(a∣s) \rho_0(s, a) = \mu_0(s) \pi(a \mid s), \qquad \rho_t(s, a) = \gamma \sum_{s', a'} \rho_{t-1}(s', a') P(s \mid s', a') \pi(a \mid s) ρ0(s,a)=μ0(s)π(a∣s),ρt(s,a)=γs′,a′∑ρt−1(s′,a′)P(s∣s′,a′)π(a∣s)

ρπ=∑t=0∞ρt \rho_\pi = \sum_{t=0}^{\infty} \rho_t ρπ=t=0∑∞ρt

截断到 TTT 步的误差可以精确界定:未计入部分不超过 γT+11−γ\frac{\gamma^{T+1}}{1-\gamma}1−γγT+1,因为 ∑s,aρπ(s,a)=11−γ\sum_{s,a}\rho_\pi(s,a) = \frac{1}{1-\gamma}∑s,aρπ(s,a)=1−γ1 是已知的总量。这条界说明折扣占用对截断误差是几何衰减的。

5.2.3 已知占用反推策略

给定 ρ\rhoρ,由流方程立即可以反解出策略:

πρ(a∣s)=ρ(s,a)∑a′ρ(s,a′)=ρ(s,a)ρ(s),ρ(s)>0 \pi_\rho(a \mid s) = \frac{\rho(s, a)}{\sum_{a'} \rho(s, a')} = \frac{\rho(s, a)}{\rho(s)}, \quad \rho(s) > 0 πρ(a∣s)=∑a′ρ(s,a′)ρ(s,a)=ρ(s)ρ(s,a),ρ(s)>0

验证它确实精确复现 输入的 ρ\rhoρ(Syed, Schapire & Bowling, ICML 2008, Thm 1)。设 ρ^\hat\rhoρ^ 是 πρ\pi_\rhoπρ 产生的占用度量。作为占用度量,ρ^\hat\rhoρ^ 必然满足流方程;而一个合法的输入 ρ\rhoρ(即它确实是某个策略在给定 μ0\mu_0μ0 下的占用度量)满足同一条方程。算子 ρ↦μ0+γ∑s′,a′ρ(s′,a′)P(s∣s′,a′)\rho \mapsto \mu_0 + \gamma \sum_{s',a'} \rho(s',a') P(s \mid s', a')ρ↦μ0+γ∑s′,a′ρ(s′,a′)P(s∣s′,a′) 在 sup 范数下是 γ\gammaγ-压缩的,流方程的解唯一,故

ρπρ(s,a)=ρ(s,a)逐点成立,无任何归一化因子 \rho_{\pi_\rho}(s, a) = \rho(s, a) \qquad \text{逐点成立,无任何归一化因子} ρπρ(s,a)=ρ(s,a)逐点成立,无任何归一化因子

一个单状态反例可以排除"相差常数因子"的猜疑:设 ∣S∣=∣A∣=1|\mathcal{S}| = |\mathcal{A}| = 1∣S∣=∣A∣=1,μ0=1\mu_0 = 1μ0=1,则唯一策略的占用为 ρ=∑tγt=11−γ\rho = \sum_t \gamma^t = \frac{1}{1-\gamma}ρ=∑tγt=1−γ1。反推策略 πρ=ρ/ρ=1\pi_\rho = \rho/\rho = 1πρ=ρ/ρ=1,其产生的占用仍是 11−γ\frac{1}{1-\gamma}1−γ1,与输入精确相等。若按"除以总量 ZZZ"的方式(ρ/Z=1−γ\rho/Z = 1-\gammaρ/Z=1−γ)会得到不等于输入的结果------与事实矛盾,故该做法是错的。

因此正确结论是:只要输入 ρ\rhoρ 满足与其声称的 μ0\mu_0μ0 相容的流方程,πρ(a∣s)=ρ(s,a)/ρ(s)\pi_\rho(a \mid s) = \rho(s,a)/\rho(s)πρ(a∣s)=ρ(s,a)/ρ(s) 就以 ρ\rhoρ 为其精确占用度量 ,与采用归一化还是未归一化约定无关------两种约定只改变总量(111 或 11−γ\frac{1}{1-\gamma}1−γ1),复现都是精确的。

三条边界必须说清楚:

  • ρ(s)=0\rho(s) = 0ρ(s)=0 的状态上 πρ\pi_\rhoπρ 未定义,可任意指定;这些状态本来就不会被访问,不影响 ρ\rhoρ。
  • 不是任意非负函数 ρ\rhoρ 都是可实现的占用:它必须满足流方程,且其归一化版本要与环境的初始条件相容。违背流方程的 ρ\rhoρ 反推出的策略产生的占用与输入不同------这正是 GAIL 收敛判据"匹配占用度量"要检验的东西。
  • 反推只在同一 MDP(含 PPP 与 μ0\mu_0μ0)内 有效。换一个 μ0\mu_0μ0,同一策略的占用就变了。
5.2.4 归一化与未归一化的约定
约定 定义 总量 常用接口
未归一化 ρπ(s,a)=∑tγtP(St=s,At=a)\rho_\pi(s,a) = \sum_t \gamma^t P(S_t=s,A_t=a)ρπ(s,a)=∑tγtP(St=s,At=a) 11−γ\frac{1}{1-\gamma}1−γ1 期望回报 J(π)=∑s,aρπ(s,a) R(s,a)J(\pi) = \sum_{s,a} \rho_\pi(s,a)\, R(s,a)J(π)=∑s,aρπ(s,a)R(s,a);Bellman 方程 qπ(s,a)=R(s,a)+γ∑s′P(s′∣s,a) vπ(s′)q_\pi(s,a) = R(s,a) + \gamma \sum_{s'} P(s' \mid s,a)\, v_\pi(s')qπ(s,a)=R(s,a)+γ∑s′P(s′∣s,a)vπ(s′) 原样成立
归一化 μπ(s,a)=(1−γ)ρπ(s,a)\mu^\pi(s,a) = (1-\gamma)\rho_\pi(s,a)μπ(s,a)=(1−γ)ρπ(s,a) 1 同一条 Bellman 方程;接口换成 J(π)=11−γ∑s,aμπ(s,a) R(s,a)J(\pi) = \frac{1}{1-\gamma} \sum_{s,a} \mu^\pi(s,a)\, R(s,a)J(π)=1−γ1∑s,aμπ(s,a)R(s,a),多出系数

归一化版本的好处是 μπ\mu^\piμπ 是合法概率分布,可解释为"折扣时间占比分布",并满足 μπ(s,a)=μπ(s)π(a∣s)\mu^\pi(s,a) = \mu^\pi(s)\pi(a|s)μπ(s,a)=μπ(s)π(a∣s),其中 μπ(s)=(1−γ)ρπ(s)\mu^\pi(s) = (1-\gamma)\rho_\pi(s)μπ(s)=(1−γ)ρπ(s) 是折扣状态访问分布。未归一化版本的好处是占用相关的接口(J(π)=∑s,aρπ(s,a)R(s,a)J(\pi) = \sum_{s,a}\rho_\pi(s,a)R(s,a)J(π)=∑s,aρπ(s,a)R(s,a)、流方程 ρ(s)=μ0(s)+γ∑ρP\rho(s) = \mu_0(s) + \gamma\sum\rho Pρ(s)=μ0(s)+γ∑ρP)无需改系数。

5.2.5 四类算法如何使用占用度量
方法 怎么用占用度量 关键点与代价
行为克隆 最小化策略与专家在专家轨迹上的状态访问分布之差,等价于匹配 ρμ\rho_\muρμ 只能匹配专家访问过的状态;偏离后无信号
逆强化学习 外层优化 RRR 使 arg⁡max⁡π\arg\max_\piargmaxπ 的 ρπ\rho_\piρπ 逼近 ρμE\rho_{\mu_E}ρμE 奖励不可辨识,但占用可辨识;匹配占用即对所有 RRR 回报一致
离线强化学习 用数据占用 ρμ\rho_\muρμ 与目标策略占用 ρπ\rho_\piρπ 比较:支撑覆盖、动态距离、外推估计 ρπ\rho_\piρπ 超出 ρμ\rho_\muρμ 支撑的部分是分布外动作,价值估计不可信
off-policy 校正 重要性采样比 ρπ(s,a)ρμ(s,a)\frac{\rho_\pi(s,a)}{\rho_\mu(s,a)}ρμ(s,a)ρπ(s,a),用数据占用去修正数据分布的偏差 两个占用共享同一个 (P,μ0)(P, \mu_0)(P,μ0) 时比值才有意义;比值方差大时需要截断
5.2.6 占用度量依赖初始分布

ρπ\rho_\piρπ 由三元组 (π,P,μ0)(\pi, P, \mu_0)(π,P,μ0) 共同决定,单独说"策略 π\piπ 的占用度量"是不完整的。直观后果:同一条走廊上,从左端出发与从右端出发,策略对中间段的访问频率可以完全不同;同一策略在两个任务中若起点分布不同,ρ\rhoρ 也不同。由此得到三条实践要求:

  • 比较两个策略的占用必须在同一 μ0\mu_0μ0 下进行,否则策略指纹定理的"相同 ρ\rhoρ 蕴含相同回报"不成立。
  • 换任务相当于换 μ0\mu_0μ0,多任务训练中应把 μ0\mu_0μ0 作为条件输入,或按初始状态分桶统计占用。
  • 折扣 γ\gammaγ 也会重塑占用:γ→0\gamma \to 0γ→0 时 ρπ≈μ0π\rho_\pi \approx \mu_0\piρπ≈μ0π,几乎只反映初始分布;γ→1\gamma \to 1γ→1 时占用接近长期平均分布。因此谈"某策略访问了哪些状态"时必须连 γ\gammaγ 一起说。
相关推荐
lpfasd1231 小时前
推荐算法进化史
算法·机器学习·推荐算法
江苏久众新视1 小时前
SOP流程AI视觉检测实战案例:基于安防相机与本地AI的产线防错防漏方案落地分享
人工智能·数码相机·视觉检测
东离与糖宝1 小时前
LLM基础学习笔记:看懂BLEU、ROUGE、PPL与三大模型架构
人工智能
IT研究室1 小时前
最新大数据毕业设计选题推荐-基于大数据的AI助手系统性软件缺陷评论挖掘与可视化-大数据-Spark-Hadoop-Bigdata
大数据·人工智能·课程设计
u1301301 小时前
GitHub 热榜项目:日榜(2026-10-30)
人工智能·github
超级架构师1 小时前
让 Fortran 模型自己调用 Agent:原生 Fortran 2008 实现深度剖析
人工智能·python·架构·机器人·开源·fortran
fly-iot1 小时前
【FDE知识库】(1):AI 编程时代开发语言选型分析,云使用go,企业用java,算法python,底层c
开发语言·人工智能·golang
郝学胜-神的一滴2 小时前
游戏设计:原型与开发 17:数字化系统里的思维体操
人工智能·游戏·游戏程序·游戏策划·游戏设计
腾讯云大数据2 小时前
腾讯云发布一站式多模态数据处理与模型训推方案,助力Physical AI释放生产力
大数据·人工智能·云计算·腾讯云