《强化学习与最优控制》【学习笔记12】策略空间近似:策略梯度与执行-评论家

举报
yd_269763035 发表于 2026/11/10 00:36:07 2026/11/10
【摘要】 《强化学习与最优控制》第 4 章 · 策略空间近似值空间近似先学"好坏"再决策。策略空间近似直接学"怎么做"——参数化策略 μ~(x,r)\tilde{\mu}(x, r)μ~​(x,r),通过优化参数 rrr 来最小化期望费用。这是连续控制和随机策略的自然框架。 一、为什么需要策略空间近似?值空间近似的局限:局限原因策略空间近似如何解决连续控制空间无法枚举所有 uuu 做 arg⁡min⁡...

《强化学习与最优控制》第 4 章 · 策略空间近似

值空间近似先学"好坏"再决策。策略空间近似直接学"怎么做"——参数化策略 μ~(x,r)\tilde{\mu}(x, r),通过优化参数 rr 来最小化期望费用。这是连续控制和随机策略的自然框架。


一、为什么需要策略空间近似?

值空间近似的局限:

局限 原因 策略空间近似如何解决
连续控制空间 无法枚举所有 uu 做 arg⁡min⁡\arg\min 策略网络直接输出 uu
随机策略 值空间方法天然确定性 策略网络输出概率分布
离散可微 arg⁡min⁡\arg\min 不可微 策略参数可微,可梯度优化
探索不自然 需要额外 ϵ\epsilon-贪心 随机策略天然含探索

二、策略参数化

确定性策略

u=μ~(x,r)u = \tilde{\mu}(x, r)

策略网络直接输出控制值。例如:u=W2σ(W1x+b1)+b2u = W_2 \sigma(W_1 x + b_1) + b_2。

随机策略

u∼π(⋅∣x,r)u \sim \pi(\cdot | x, r)

策略网络输出控制的概率分布(或分布参数)。

控制空间 分布类型 网络输出
离散 Categorical 各动作的 logit → softmax
连续(有界) Beta α,β\alpha, \beta 参数
连续(无界) Gaussian 均值 μ(x,r)\mu(x, r),方差 σ\sigma

学习心得:随机策略不只是为了探索——它使目标函数可微。确定性策略的期望费用对参数不可微(因为 arg⁡min⁡\arg\min 不连续),而随机策略的期望费用是光滑的,可以梯度优化。


三、策略梯度定理

目标函数

J(r)=Eπr[∑k=0∞αkg(xk,uk)]J(r) = \mathbb{E}_{\pi_r} \left[ \sum_{k=0}^{\infty} \alpha^k g(x_k, u_k) \right]

策略梯度定理

∇rJ(r)=Eπr[∇rln⁡π(uk∣xk,r)⋅Qπr(xk,uk)]\nabla_r J(r) = \mathbb{E}_{\pi_r} \left[ \nabla_r \ln \pi(u_k | x_k, r) \cdot Q^{\pi_r}(x_k, u_k) \right]

  • ∇rln⁡π(uk∣xk,r)\nabla_r \ln \pi(u_k | x_k, r):策略的对数梯度(score function)
  • Qπr(xk,uk)Q^{\pi_r}(x_k, u_k):动作值函数

直觉

如果在状态 xx 采取动作 uu 后效果好(QQ 大),就增大 π(u∣x,r)\pi(u|x, r) 的概率(沿 ∇rln⁡π\nabla_r \ln \pi 方向更新参数)。


四、REINFORCE 算法

基本形式

用蒙特卡洛回报 GkG_k 代替 QπrQ^{\pi_r}:

r←r−α∑k∇rln⁡π(uk∣xk,r)⋅Gkr \leftarrow r - \alpha \sum_k \nabla_r \ln \pi(u_k | x_k, r) \cdot G_k

(注意:最小化费用用减号)

减少方差:基线

r←r−α∑k∇rln⁡π(uk∣xk,r)⋅(Gk−b(xk))r \leftarrow r - \alpha \sum_k \nabla_r \ln \pi(u_k | x_k, r) \cdot (G_k - b(x_k))

  • b(xk)b(x_k):基线函数(只依赖状态,不依赖动作)
  • 合理的基线可以大幅减少梯度估计的方差
  • 常用选择:b(x)=Vπ(x)b(x) = V^{\pi}(x)(状态值函数)

学习心得:策略梯度方法的方差很大——单条轨迹的回报波动可能很大。基线是减少方差的关键技巧。用 Gk−V(xk)G_k - V(x_k) 代替 GkG_k(即"比平均好多少"代替"绝对值"),可以显著降低方差。


五、执行-评论家方法

核心思想

用评论家(critic)近似 QπQ^{\pi} 或 VπV^{\pi},用执行者(actor)更新策略:

执行者(策略网络):  π(u | x, r)       →  决定怎么走
评论家(值函数网络): Q̃(x, u, w) 或 Ṽ(x, w)  →  评估走得好不好

循环:
  1. 用执行者与环境交互,收集轨迹
  2. 用评论家估计优势 A(x, u) = Q̃(x, u) - Ṽ(x)
  3. 更新执行者:r ← r - α ∇ln π · A
  4. 更新评论家:w ← w + β ∇Ṽ · (G - Ṽ)  ← TD 学习

优势函数

Aπ(x,u)=Qπ(x,u)−Vπ(x)A^{\pi}(x, u) = Q^{\pi}(x, u) - V^{\pi}(x)

用优势代替 QQ 可以进一步减少方差——优势衡量"比平均好多少",天然有正有负。


六、A2C / A3C

A2C(Advantage Actor-Critic)

同步版本:多个 worker 收集数据后统一更新。

A3C(Asynchronous Advantage Actor-Critic)

异步版本:多个 worker 独立与环境交互,异步更新全局网络。

A3C 架构:
  全局网络(r_global, w_global)
    ↑↓ 异步更新
  Worker 1 ← 环境 1
  Worker 2 ← 环境 2
  ...
  Worker N ← 环境 N

每个 worker:

  1. 从全局网络复制参数
  2. 与环境交互 nn 步
  3. 计算梯度并更新全局网络

学习心得:A3C 的异步更新打破了数据相关性——各 worker 独立探索不同环境,产生的数据天然不相关。这类似于 DQN 的经验回放,但不需要存储历史数据。


七、PPO(近端策略优化)

问题

策略梯度的步长难以调节:

  • 步长太大:策略剧烈变化,性能崩溃
  • 步长太小:学习缓慢

PPO 的解决方案

限制策略更新的幅度——新旧策略的概率比不能偏离太远:

L(r)=E[min⁡(ρtAt,clip(ρt,1−ϵ,1+ϵ)At)]L(r) = \mathbb{E}\left[ \min\left( \rho_t A_t, \text{clip}(\rho_t, 1-\epsilon, 1+\epsilon) A_t \right) \right]

  • ρt=π(ut∣xt,rnew)π(ut∣xt,rold)\rho_t = \frac{\pi(u_t | x_t, r_{\text{new}})}{\pi(u_t | x_t, r_{\text{old}})}:新旧策略概率比
  • ϵ\epsilon:裁剪范围(如 0.2)
  • AtA_t:优势估计

PPO 的特点

  • On-policy(需要新策略产生的数据)
  • 裁剪保证策略不会更新太远
  • 实践中稳定且效果好,是目前最常用的策略梯度方法

与信任区域方法的关系:PPO 是 TRPO(Trust Region Policy Optimization)的简化版。TRPO 用 KL 散度约束策略更新,PPO 用裁剪近似这个约束。PPO 更简单、更快,效果接近。


八、确定性策略梯度(DPG)

动机

随机策略梯度需要从 π(⋅∣x,r)\pi(\cdot | x, r) 中采样,方差大。确定性策略直接输出 u=μ(x,r)u = \mu(x, r)。

确定性策略梯度定理

∇rJ(r)=Eρμr[∇rμ(x,r)⋅∇uQμr(x,u)∣u=μ(x,r)]\nabla_r J(r) = \mathbb{E}_{\rho^{\mu_r}} \left[ \nabla_r \mu(x, r) \cdot \nabla_u Q^{\mu_r}(x, u) \big|_{u = \mu(x, r)} \right]

  • 不需要对 uu 积分(确定性)
  • 但需要 ∇uQ\nabla_u Q(Q 对控制的梯度)→ 需要 Q 网络可对控制求导

DDPG(Deep Deterministic Policy Gradient)

执行者:u = μ(x, r)           ← 确定性策略网络
评论家:Q̃(x, u, w)             ← Q 网络网络

更新评论家:w ← w + α (g + γ Q̃(x', μ(x', r⁻)) - Q̃(x, u)) ∇_w Q̃
更新执行者:r ← r + β ∇_r μ(x, r) · ∇_u Q̃(x, u)|_{u=μ(x,r)}

学习心得:DDPG 适用于连续控制空间(如机器人关节角度)。确定性策略不需要从分布中采样,方差更小。但确定性策略的探索是问题——需要额外加噪声(如 Ornstein-Uhlenbeck 噪声)来保证探索。


九、值空间近似 vs 策略空间近似:总结

维度 值空间近似 策略空间近似
学什么 费用函数 JJ 或 QQ 策略 μ\mu 或 π\pi
决策方式 arg⁡min⁡uQ(x,u)\arg\min_u Q(x, u) 直接 μ(x,r)\mu(x, r)
连续控制 难(需优化 uu) 自然
随机策略 不自然 自然
样本效率 高(off-policy 可回放) 低(on-policy 不可回放)
稳定性 可能不稳定(致命三要素) 通常稳定(on-policy)
代表方法 DQN, Q 学习 PPO, A3C, DDPG

选择建议:

  • 离散控制 + 大状态空间 → DQN
  • 连续控制 → PPO 或 DDPG
  • 需要稳定训练 → PPO(on-policy)
  • 需要样本效率 → DQN(off-policy + 经验回放)

十、策略空间近似在全书中的位置

强化学习的两大框架
├── 值空间近似(第 2-3 章、第 5 章)
│   ├── 策略前展
│   ├── 问题近似 / MPC
│   ├── 拟合值迭代
│   ├── Q 学习 / DQN
│   └── 投影方程 / TD(λ)
└── 策略空间近似(第 4 章)← 本篇
    ├── 策略梯度 / REINFORCE
    ├── 执行-评论家 / A2C / A3C
    ├── PPO
    └── 确定性策略梯度 / DDPG

下一篇将是全书总结与学习路线图,将所有方法串联起来。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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