《强化学习与最优控制》【学习笔记05】值空间近似:强化学习的核心框架

举报
yd_269763035 发表于 2026/11/03 11:59:47 2026/11/03
【摘要】 《强化学习与最优控制》第 2.1 节 · 值空间近似概述从这一篇开始,我们正式进入强化学习。第 1 章建立了精确 DP 的框架,现在要放松"精确"这个要求。值空间近似是本书最核心的思想——所有后续方法都是它的具体实例。 一、核心思想精确 DP 的递归方程:Jk∗(xk)=min⁡uk[gk(xk,uk)+Jk+1∗(fk(xk,uk))]J_k^*(x_k) = \min_{u_k} \le...

《强化学习与最优控制》第 2.1 节 · 值空间近似概述

从这一篇开始,我们正式进入强化学习。第 1 章建立了精确 DP 的框架,现在要放松"精确"这个要求。值空间近似是本书最核心的思想——所有后续方法都是它的具体实例。


一、核心思想

精确 DP 的递归方程:

Jk∗(xk)=min⁡uk[gk(xk,uk)+Jk+1∗(fk(xk,uk))]J_k^*(x_k) = \min_{u_k} \left[ g_k(x_k, u_k) + J_{k+1}^*(f_k(x_k, u_k)) \right]

问题:Jk+1∗J_{k+1}^* 未知(状态空间太大,无法精确计算)。

值空间近似:用一个近似函数 J~k+1\tilde{J}_{k+1} 代替 Jk+1∗J_{k+1}^*:

J~k(xk)=min⁡uk[gk(xk,uk)+J~k+1(fk(xk,uk))]\tilde{J}_k(x_k) = \min_{u_k} \left[ g_k(x_k, u_k) + \tilde{J}_{k+1}(f_k(x_k, u_k)) \right]

由此得到的策略(一步前瞻策略):

μ~k(xk)=arg⁡min⁡uk[gk(xk,uk)+J~k+1(fk(xk,uk))]\tilde{\mu}_k(x_k) = \arg\min_{u_k} \left[ g_k(x_k, u_k) + \tilde{J}_{k+1}(f_k(x_k, u_k)) \right]

直觉理解:我们不知道从下一状态到终点的精确最优费用,但有一个估计 J~k+1\tilde{J}_{k+1}。基于这个估计,选择当前最优的控制。就像下棋——你看不了最后一步,但能往前看一步,加上对后续局面的大致评估。


二、J~\tilde{J} 从哪来?——三种主要途径

这是全书的核心分类。J~\tilde{J} 的不同获取方式,对应不同的方法族:

途径 1:策略前展(Policy Rollout)

用一个已知的次优策略 μ\mu 来计算 J~\tilde{J}:

J~k+1(xk+1)=Jk+1,μ(xk+1)\tilde{J}_{k+1}(x_{k+1}) = J_{k+1, \mu}(x_{k+1})

即:从 xk+1x_{k+1} 出发,按照策略 μ\mu 走到底的期望费用。

  • μ\mu 称为基础策略(base policy)
  • μ~\tilde{\mu} 称为前展策略(rollout policy)
  • 通常 μ~\tilde{\mu} 比 μ\mu 更好(一步前瞻 ≥\geq 直接用 μ\mu)

途径 2:问题近似(Problem Approximation)

把原问题简化为一个更容易求解的近似问题,用近似问题的最优费用作为 J~\tilde{J}:

  • 确定性等价:用 E[w]\mathbb{E}[w] 代替随机扰动 ww
  • 聚集:把相似状态合并,减少状态数量
  • 截断时域:只看有限步,忽略更远的未来

途径 3:参数化近似(Parametric Approximation)

用参数化函数族来近似 J~\tilde{J}:

J~k+1(x,r)=ϕk(x,r)\tilde{J}_{k+1}(x, r) = \phi_k(x, r)

  • rr:参数向量(如神经网络的权重)
  • 通过训练(最小二乘拟合、梯度下降等)来确定 rr
  • ϕk\phi_k 可以是线性特征架构、神经网络等

三种途径的关系:

策略前展 ←→ 用某策略的费用函数作为 J̃
问题近似 ←→ 用简化问题的最优费用作为 J̃  
参数化   ←→ 用训练得到的参数函数作为 J̃

三者可以组合使用,例如先用问题近似得到初始 J~\tilde{J},再用参数化方法微调。


三、多步前瞻

一步前瞻只用 J~k+1\tilde{J}_{k+1} 做一次最小化。可以推广为 ℓ\ell 步前瞻:

J~k(xk)=min⁡uk,…,uk+ℓ−1E{∑i=kk+ℓ−1gi(xi,ui,wi)+J~k+ℓ(xk+ℓ)}\tilde{J}_k(x_k) = \min_{u_k, \ldots, u_{k+\ell-1}} \mathbb{E} \left\{ \sum_{i=k}^{k+\ell-1} g_i(x_i, u_i, w_i) + \tilde{J}_{k+\ell}(x_{k+\ell}) \right\}

即:往前精确看 ℓ\ell 步,从第 k+ℓk+\ell 步开始用近似 J~k+ℓ\tilde{J}_{k+\ell}。

前瞻步数 精确度 计算量
1 步 最低 最低
ℓ\ell 步 更高 指数增长(ℓ\ell 步的组合爆炸)
NN 步(全部) 精确 = 精确 DP

实践权衡:多步前瞻能提高策略质量,但计算量指数增长。实践中通常用 1-3 步前瞻。在棋类程序中,通过 Alpha-Beta 剪枝来减少多步前瞻的计算量。


四、Q 因子形式的值空间近似

当不知道系统方程 fkf_k(无模型设定)时,用 Q 因子更方便:

Q~k(xk,uk)=gk(xk,uk)+J~k+1(fk(xk,uk))\tilde{Q}_k(x_k, u_k) = g_k(x_k, u_k) + \tilde{J}_{k+1}(f_k(x_k, u_k))

策略:

μ~k(xk)=arg⁡min⁡ukQ~k(xk,uk)\tilde{\mu}_k(x_k) = \arg\min_{u_k} \tilde{Q}_k(x_k, u_k)

如果直接近似 Q 因子(而非费用函数),就不需要知道 fkf_k——只需要能观察到 xk+1x_{k+1} 即可。

这是 Q 学习的基础:Q 学习直接近似 Q 因子,完全不需要系统模型。后面第 5 章会详细讨论。


五、性能界——近似有多好?

Bertsekas 给出了值空间近似的性能保证。核心结论:

如果 J~\tilde{J} 与 J∗J^* 的误差为 δ\delta:

max⁡x∣J~(x)−J∗(x)∣≤δ\max_x |\tilde{J}(x) - J^*(x)| \leq \delta

那么一步前瞻策略的费用满足:

Jμ~(x)≤J∗(x)+2δ1−αJ_{\tilde{\mu}}(x) \leq J^*(x) + \frac{2\delta}{1 - \alpha}

(无穷阶段折扣问题,α\alpha 为折扣因子)

关键信息:

  1. 近似误差 δ\delta 越小,策略越好——这是显然的
  2. 误差被放大 21−α\frac{2}{1-\alpha} 倍——折扣因子越接近 1,误差放大越严重
  3. 这只是一个上界,实际性能可能好得多

六、在线 vs 离线

值空间近似可以在两个时机执行:

离线(Offline)

  • 预先计算好 J~\tilde{J}(或其参数)
  • 运行时只需查表或前向计算
  • 适合:J~\tilde{J} 的计算量大,但运行时要求快速响应

在线(Online)

  • 运行时实时计算 J~(xk+1)\tilde{J}(x_{k+1})
  • 只计算当前需要的状态,不计算所有状态
  • 适合:状态空间大,但每次只需要一个决策

学习心得:策略前展通常是在线的——从当前状态出发,用基础策略模拟到终点,计算费用。这避免了预先计算所有状态的 J~\tilde{J}。MCTS(蒙特卡洛树搜索)就是在线策略前展的典型例子。


七、值空间近似的全景

值空间近似
├── J̃ 的获取方式
│   ├── 策略前展(第 2.2 节)
│   │   ├── 在线策略前展
│   │   ├── 蒙特卡洛树搜索(MCTS)
│   │   └── 基于专家的策略前展
│   ├── 问题近似(第 2.3 节)
│   │   ├── 确定性等价
│   │   ├── 聚集
│   │   └── 截断时域
│   └── 参数化近似(第 3 章)
│       ├── 线性特征架构
│       ├── 神经网络
│       └── 训练方法(最小二乘、梯度下降)
│
├── 前瞻步数
│   ├── 一步前瞻
│   ├── 多步前瞻
│   └── 全程(= 精确 DP)
│
├── 执行时机
│   ├── 离线(预先计算)
│   └── 在线(实时计算)
│
└── 表示形式
    ├── 费用函数 J̃
    └── Q 因子 Q̃(无模型友好)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。