最优策略与最优价值函数

解决一个强化学习任务,本质上是找到一种能在长期运行中最大化累积奖励的策略。

对于有限 MDP,价值函数在策略之间定义了一种偏序关系,若策略 π\piπ 在所有状态下的期望回报都不小于另一策略 π′\pi'π,即vπ(s)≥vπ′(s),∀s∈Sv_\pi(s) \geq v_{\pi'}(s), \quad \forall s \in \mathcal{S}vπ(s)vπ(s),sS,则称 π\piπ 优于或等于 π′\pi'π,记作 π≥π′\pi \geq \pi'ππ。同时总存在至少一个策略,它优于或等于所有其他策略,这样的策略称为最优策略,记为 π∗\pi_*π。可能存在多个最优策略,但它们都具有相同的长期性能。

所有最优策略共享同一个状态价值函数,称为最优状态价值函数

v∗(s)≐max⁡πvπ(s),∀s∈S(3.15) v_*(s) \doteq \max_{\pi} v_{\pi}(s), \quad \forall s \in \mathcal{S} \tag{3.15} v(s)πmaxvπ(s),sS(3.15)

v∗(s)v_*(s)v(s) 表示从状态 sss 出发,遵循某个最优策略所能获得的最大期望回报。

所有最优策略共享同一个动作价值函数,称为最优动作价值函数

q∗(s,a)≐max⁡πqπ(s,a),∀s∈S,a∈A(s)(3.16) q_*(s, a) \doteq \max_{\pi} q_{\pi}(s, a), \quad \forall s \in \mathcal{S}, a \in \mathcal{A}(s) \tag{3.16} q(s,a)πmaxqπ(s,a),sS,aA(s)(3.16)

q∗(s,a)q_*(s,a)q(s,a) 表示在状态 sss 执行动作 aaa 后,再遵循某个最优策略所能获得的最大期望回报。

q∗(s,a)=E[Rt+1+γv∗(St+1)∣St=s,At=a](3.17) q_*(s, a) = \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \mid S_t = s, A_t = a] \tag{3.17} q(s,a)=E[Rt+1+γv(St+1)St=s,At=a](3.17)

执行动作 aaa 后的最优价值 = 即时奖励期望 + 折扣后的最优后继状态价值期望。

贝尔曼最优方程

v∗v_*v 的贝尔曼最优方程

由于 v∗v_*v 是某个最优策略的价值函数,它必须满足贝尔曼方程。但由于其“最优性”,该方程可以写成不依赖具体策略的形式。

v∗(s)=max⁡a∈A(s)q∗(s,a)=max⁡aE[Rt+1+γv∗(St+1)∣St=s,At=a]=max⁡a∑s′,rp(s′,r∣s,a)[r+γv∗(s′)](3.19) \begin{aligned} v_*(s) &= \max_{a \in \mathcal{A}(s)} q_*(s, a) \\ &= \max_a \mathbb{E} \left[ R_{t+1} + \gamma v_*(S_{t+1}) \mid S_t = s, A_t = a \right] \\ &= \max_{a} \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma v_*(s') \right] \end{aligned} \tag{3.19} v(s)=aA(s)maxq(s,a)=amaxE[Rt+1+γv(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γv(s)](3.19)

最优状态下,价值等于所有可能动作中最大期望回报

q∗q_*q 的贝尔曼最优方程

q∗(s,a)=E[Rt+1+γmax⁡a′q∗(St+1,a′) | St=s,At=a]=∑s′,rp(s′,r∣s,a)[r+γmax⁡a′q∗(s′,a′)](3.20) \begin{aligned} q_*(s, a) &= \mathbb{E} \left[ R_{t+1} + \gamma \max_{a'} q_*(S_{t+1}, a') \,\middle|\, S_t = s, A_t = a \right] \\ &= \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \max_{a'} q_*(s', a') \right] \end{aligned} \tag{3.20} q(s,a)=E[Rt+1+γamaxq(St+1,a) St=s,At=a]=s,rp(s,rs,a)[r+γamaxq(s,a)](3.20)

区别于普通贝尔曼方程:这里对未来取最大值而非策略期望。

在这里插入图片描述

与普通备份图类似,但选择点增加弧线;弧线表示:此处取最大值,而非期望(Eπ\mathbb{E}_\piEπ)。

唯一解与最优策略的构造

对于有限 MDP,贝尔曼最优方程 (3.19) 有唯一解。它是一个包含 n=∣S∣n = |\mathcal{S}|n=S 个方程和 nnn 个未知数(每个状态的 v∗(s)v_*(s)v(s))的非线性方程组。若动态函数 ppp 已知,原则上可通过数值方法求解。

一旦求得 v∗v_*v,最优策略可通过贪心策略(greedy policy)构造:对每个状态 sss,选择使贝尔曼最优方程中最大值成立的动作:
π∗(a∣s)>0仅当a∈arg⁡max⁡a′∑s′,rp(s′,r∣s,a′)[r+γv∗(s′)] \pi_*(a|s) > 0 \quad \text{仅当} \quad a \in \arg\max_{a'} \sum_{s',r} p(s',r|s,a') [r + \gamma v_*(s')] π(as)>0仅当aargamaxs,rp(s,rs,a)[r+γv(s)]
任何仅以非零概率选择这些动作的策略都是最优策略

“贪心”通常指仅考虑短期收益的策略;但 v∗v_*v 已经包含了所有未来最优行为的长期奖励;因此,基于 v∗v_*v 的一步前瞻贪心选择,实际上就是长期最优选择

v∗v_*v 将长期最优决策“压缩”为每个状态的局部值。

拥有 q∗q_*q 则可使决策更简单:智能体无需知道环境动态 ppp;无需计算后继状态价值;只需对每个状态 sss,选择:

a∗=arg⁡max⁡aq∗(s,a) a^* = \arg\max_a q_*(s, a) a=argamaxq(s,a)
因为q∗q_*q 缓存了所有一步搜索的结果,是最直接的最优动作指南

上文案例

网格世界

图 3.5: 网格世界的最优解

  • 左图:任务结构(同图 3.2)
  • 中图:最优状态价值函数 v∗v_*v
  • 右图:最优策略(箭头表示最优动作,多个箭头表示多个动作同优)

易见:

  • AAABBB 附近价值高
  • 边缘区域价值低(避免撞墙)
  • 从任意位置出发,策略引导朝向 AAABBB
回收机器人

状态:high (h), low (l)
动作:search (s), wait (w), recharge (re)
简写期望奖励:rs=rsearch, rw=rwaitr_s = r_{\text{search}},\ r_w = r_{\text{wait}}rs=rsearch, rw=rwait

v∗(h)v_*(h)v(h) 的贝尔曼最优方程
v∗(h)=max⁡{选择 search:α[rs+γv∗(h)]+(1−α)[rs+γv∗(l)]选择 wait:1⋅[rw+γv∗(h)]}=max⁡{rs+γ[αv∗(h)+(1−α)v∗(l)],rw+γv∗(h)} \begin{aligned} v_*(h) &= \max \left\{ \begin{array}{l} \text{选择 search:} \quad \alpha [r_s + \gamma v_*(h)] + (1 - \alpha) [r_s + \gamma v_*(l)] \\ \text{选择 wait:} \quad 1 \cdot [r_w + \gamma v_*(h)] \end{array} \right\} \\ &= \max \left\{ r_s + \gamma [\alpha v_*(h) + (1 - \alpha) v_*(l)],\quad r_w + \gamma v_*(h) \right\} \end{aligned} v(h)=max{选择 search:α[rs+γv(h)]+(1α)[rs+γv(l)]选择 wait:1[rw+γv(h)]}=max{rs+γ[αv(h)+(1α)v(l)],rw+γv(h)}

v∗(l)v_*(l)v(l) 的贝尔曼最优方程
v∗(l)=max⁡{search:βrs−3(1−β)+γ[(1−β)v∗(h)+βv∗(l)]wait:rw+γv∗(l)recharge:γv∗(h)} v_*(l) = \max \left\{ \begin{array}{l} \text{search:} \quad \beta r_s - 3(1 - \beta) + \gamma [(1 - \beta) v_*(h) + \beta v_*(l)] \\ \text{wait:} \quad r_w + \gamma v_*(l) \\ \text{recharge:} \quad \gamma v_*(h) \end{array} \right\} v(l)=max search:βrs3(1β)+γ[(1β)v(h)+βv(l)]wait:rw+γv(l)recharge:γv(h)

对任意 0≤γ<10 \leq \gamma < 10γ<10≤α,β≤10 \leq \alpha, \beta \leq 10α,β1,存在唯一解 (v∗(h),v∗(l))(v_*(h), v_*(l))(v(h),v(l))

显式求解与近似方法

虽然理论上可通过求解贝尔曼最优方程得到最优策略,但极少直接实用,因为依赖以下三个理想假设:

假设 是否常成立 说明
1. 环境动态 ppp 已知 很少 需要完整模型
2. 足够计算资源 常不成立 状态空间巨大时不可行
3. 马尔可夫性质成立 通常假设成立 本书基础

3.7 最优性与近似

理论上,实现最优策略意味着智能体表现完美。但在实际任务中,达到最优极为罕见最优性是一个理想化的理论目标,实践中我们追求的是“足够好”的近似解

即使满足以下理想条件,求解最优仍面临巨大挑战:

挑战 说明
计算资源限制 单个时间步内可执行的计算量有限
内存限制 无法存储所有状态的价值或策略
状态空间爆炸 实际任务的状态数远超计算机存储能力

例如国际象棋状态数巨大,远超当前算力可穷举范围。即使拥有完整环境模型(即知道所有规则和转移概率),也无法直接求解贝尔曼最优方程智能体必须在有限时间内做出决策,不能等待“全局最优解”。

强化学习的一个关键特性是其在线学习能力,智能体在与环境交互中逐步学习,可以将学习资源集中在高频出现的状态上,对极少访问的状态,允许次优决策,不影响整体性能。 “在重要状态上做得好”比“在所有状态上都最优”更实用

总结

  1. 强化学习的基本范式

通过与环境交互来学习如何行为以实现目标

智能体-环境交互流程:

  • 时间步:$ t = 0, 1, 2, \dots $

  • 每步发生:
    St→agentAt→environmentRt+1,St+1 S_t \xrightarrow{\text{agent}} A_t \xrightarrow{\text{environment}} R_{t+1}, S_{t+1} Stagent Atenvironment Rt+1,St+1

  • 形成轨迹:
    S0,A0,R1,S1,A1,R2,… S_0, A_0, R_1, S_1, A_1, R_2, \dots S0,A0,R1,S1,A1,R2,


  1. 三大核心信号
信号 含义 作用
状态 StS_tSt 当前情境的表示 决策的基础
动作 AtA_tAt 智能体的选择 实现目标的手段
奖励 Rt+1R_{t+1}Rt+1 标量反馈信号 定义目标(“你想要什么”)

智能体-环境边界:任何不能被智能体任意改变的事物都属于环境


  1. 策略(Policy)
  • 定义:从状态到动作选择概率的映射
    π(a∣s)=Pr⁡{At=a∣St=s} \pi(a|s) = \Pr\{A_t = a \mid S_t = s\} π(as)=Pr{At=aSt=s}

  • 目标:通过经验不断改进策略,使其趋向最优


  1. 回报(Return)——智能体的目标

智能体的目标是最大化期望回报 $ \mathbb{E}[G_t] $

回报定义因任务类型而异:

任务类型 回报定义 公式
回合制任务(Episodic) 有限步内奖励总和 $ G_t = \sum_{k=0}^{T-t-1} R_{t+k+1} $
持续性任务(Continuing) 折扣无限和 $ G_t = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} $

统一记号:可通过引入吸收状态(absorbing state)将两类任务统一为折扣形式

约束:$ T = \infty $ 与 $ \gamma = 1 $ 不能同时成立,否则回报可能发散


  1. 价值函数(Value Functions)

价值函数衡量状态或动作的“长期好坏”,基于期望回报。

类型 定义 公式
状态价值函数 vπ(s)v_\pi(s)vπ(s) 遵循策略 π\piπ 时,从状态 sss 出发的期望回报 $ v_\pi(s) = \mathbb{E}_\pi[G_t \mid S_t = s] $
动作价值函数 qπ(s,a)q_\pi(s,a)qπ(s,a) 执行动作 aaa 后遵循 π\piπ 的期望回报 $ q_\pi(s,a) = \mathbb{E}_\pi[G_t \mid S_t = s, A_t = a] $

  1. 最优价值函数与最优策略
概念 定义 公式
最优状态价值函数 v∗(s)v_*(s)v(s) 所有策略中最大的状态价值 $ v_*(s) = \max_\pi v_\pi(s) $
最优动作价值函数 q∗(s,a)q_*(s,a)q(s,a) 所有策略中最大的动作价值 $ q_*(s,a) = \max_\pi q_\pi(s,a) $
最优策略 π∗\pi_*π 达到 v∗v_*vq∗q_*q 的任意策略 存在且不唯一

任何关于 v∗v_*vq∗q_*q 贪心的策略都是最优策略


  1. 贝尔曼最优方程(Bellman Optimality Equations)

最优价值函数满足以下自洽方程:

v∗v_*v 的贝尔曼最优方程:
v∗(s)=max⁡a∑s′,rp(s′,r∣s,a)[r+γv∗(s′)](3.19) v_*(s) = \max_{a} \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma v_*(s') \right] \tag{3.19} v(s)=amaxs,rp(s,rs,a)[r+γv(s)](3.19)

q∗q_*q 的贝尔曼最优方程:
q∗(s,a)=∑s′,rp(s′,r∣s,a)[r+γmax⁡a′q∗(s′,a′)](3.20) q_*(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \max_{a'} q_*(s', a') \right] \tag{3.20} q(s,a)=s,rp(s,rs,a)[r+γamaxq(s,a)](3.20)

这些方程原则上可求解最优价值函数,但实践中常因计算/内存限制而不可行


  1. 知识假设分类
类型 智能体是否知道环境模型? 说明
完全知识问题 拥有完整的动态函数 $p(s’,r
不完全知识问题 必须通过交互经验学习模型或直接学习策略

即使在“完全知识”下,也可能因计算限制而无法求解最优


  1. 近似是必然选择
原因 说明
状态空间过大 无法为每个状态单独存储价值
计算时间有限 无法在每一步完成完整搜索
现实任务复杂 马尔可夫性可能不完全成立

因此,强化学习的核心是:**如何有效地近似最优策略

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐