文章目录
- 赵世钰《强化学习的数学原理》第十章重点总结
-
- 一、核心原理与架构
-
- [1. 核心思想](#1. 核心思想)
- [2. 基础架构](#2. 基础架构)
- 二、数学推导与更新规则
-
- [1. 策略梯度与优势函数](#1. 策略梯度与优势函数)
- [2. 基础 AC 更新公式](#2. 基础 AC 更新公式)
- 三、经典变体与改进算法
- [四、算法流程(A2C 示例)](#四、算法流程(A2C 示例))
- 五、快速理解
-
- [1、 核心概念与定义](#1、 核心概念与定义)
- 2、关键参数与符号说明
- [3、 基础 Actor-Critic 更新公式](#3、 基础 Actor-Critic 更新公式)
-
- [3.1 Critic 网络更新(价值学习)](#3.1 Critic 网络更新(价值学习))
- [3.2 Actor 网络更新(策略梯度)](#3.2 Actor 网络更新(策略梯度))
- [4、 关键改进算法公式](#4、 关键改进算法公式)
-
- [4.1 广义优势估计(GAE)](#4.1 广义优势估计(GAE))
- [4.2 确定性策略梯度(DPG)](#4.2 确定性策略梯度(DPG))
- [4.3 近端策略优化(PPO)](#4.3 近端策略优化(PPO))
赵世钰《强化学习的数学原理》第十章重点总结
策略梯度方法(Policy Gradient Methods) 的基本思想是最大化一个目标函数 J ( θ ) J(\theta) J(θ)来得到最优策略。用于最大化 J ( θ ) J(\theta) J(θ)的梯度上升算法是
θ t + 1 = θ t + α ∇ θ ln π ( a t ∣ s t , θ t ) ⋅ q t ( s t , a t ) \theta_{t+1}=\theta_t+\alpha∇_θ\lnπ(a_t∣s_t,θ_t)⋅q_t(s_t,a_t) θt+1=θt+α∇θlnπ(at∣st,θt)⋅qt(st,at)
该式清楚地展示了如何融合基于策略的方法和基于价值的方法。一方面,它是基于策略的算法,因为它直接更新策略。另一方面,策略参数 θ t \theta_t θt的更新依赖于对动作值的估计 q t ( s t , a t ) q_t(s_t,a_t) qt(st,at)。这需要另一个基于价值的算法。有两种估计此动作值的方法:蒙特卡洛法和时序差分法。如果 q t ( s t , a t ) q_t(s_t,a_t) qt(st,at)是通过蒙特卡洛估计得到的,则该算法被称为蒙特卡洛策略梯度(REINFORCE)。如果是通过时序差分法得到的,则相应的算法就是Actor-Critic方法。即,把基于时序差分的价值估计引入到策略梯度方法时,就得到了Actor-Critic方法,该方法融合了基于策略和基于价值的两类方法。
一、核心原理与架构
1. 核心思想
- Actor :参数化策略网络 π θ ( a ∣ s ) π_θ(a∣s) πθ(a∣s),输出状态s下动作a的概率(离散)或均值 / 方差(连续),通过策略梯度最大化期望回报 J ( θ ) = ∑ t = 0 ∞ γ t r t J(θ)=∑_{t=0}^{\infin}\gamma^{t}r_t J(θ)=∑t=0∞γtrt。
- Critic :参数化价值网络 V ϕ ( s ) V_ϕ(s) Vϕ(s)或动作价值网络 Q ϕ ( s , a ) Q_ϕ(s,a) Qϕ(s,a),评估 Actor 动作的好坏,计算优势函数 A ( s , a ) = Q ( s , a ) − V ( s ) A(s,a)=Q(s,a)−V(s) A(s,a)=Q(s,a)−V(s)以指导 Actor 更新,降低梯度方差。
- 协同机制:Actor 与环境交互产生轨迹,Critic 用 TD 学习估计价值并计算优势,Actor 用优势加权的策略梯度更新,二者交替 / 同步优化。
2. 基础架构
| 组件 | 功能 | 参数 | 输入 | 输出 | 优化目标 |
|---|---|---|---|---|---|
| Actor | 生成动作、更新策略 | θ | 状态s | 动作a(概率 / 均值) | 最大化 J ( θ ) J(θ) J(θ) |
| Critic | 评估价值、计算优势 | ϕ | 状态s(或s,a) | V ( s ) / δ / A ( s , a ) V(s)/δ/A(s,a) V(s)/δ/A(s,a) | 最小化 TD 误差 δ δ δ |
二、数学推导与更新规则
1. 策略梯度与优势函数
- 策略梯度基本形式: ∇ θ J ( θ ) = E s ∼ ρ π , a ∼ π [ ∇ θ l o g π θ ( a ∣ s ) Q π ( s , a ) ] ∇θJ(θ)=\mathbb E{s∼ρ^π,a∼π}[∇_θlogπ_θ(a∣s)Q^π(s,a)] ∇θJ(θ)=Es∼ρπ,a∼π[∇θlogπθ(a∣s)Qπ(s,a)]。
- 引入基线 b ( s ) b(s) b(s)(常用 V ( s ) V(s) V(s))降方差: ∇ θ J ( θ ) = E [ ∇ θ l o g π θ ( a ∣ s ) ( Q π ( s , a ) − V π ( s ) ) ] = E [ ∇ θ l o g π θ ( a ∣ s ) A π ( s , a ) ] ∇_θJ(θ)=\mathbb E[∇_θlogπ_θ(a∣s)(Q^π(s,a)−V^π(s))]=\mathbb E[∇_θlogπ_θ(a∣s)A^π(s,a)] ∇θJ(θ)=E[∇θlogπθ(a∣s)(Qπ(s,a)−Vπ(s))]=E[∇θlogπθ(a∣s)Aπ(s,a)]。
- 优势函数 A π ( s , a ) = r + γ V π ( s ′ ) − V π ( s ) A^π(s,a)=r+γV^π(s′)−V^π(s) Aπ(s,a)=r+γVπ(s′)−Vπ(s)(TD 误差形式),直接用 Critic 输出计算,无需 MC 完整轨迹。
2. 基础 AC 更新公式
-
Critic 更新(TD 学习)
- 目标:最小化 TD 误差 δ = r + γ V ϕ ( s ′ ) − V ϕ ( s ) δ=r+γV_ϕ(s′)−V_ϕ(s) δ=r+γVϕ(s′)−Vϕ(s)的 MSE 损失 L ( ϕ ) = E [ δ 2 ] L(ϕ)=\mathbb E[δ^2] L(ϕ)=E[δ2]。
- 参数更新: ϕ ← ϕ + β δ ∇ ϕ V ϕ ( s ) ϕ←ϕ+βδ∇_ϕV_ϕ(s) ϕ←ϕ+βδ∇ϕVϕ(s),β为 Critic 学习率。
-
Actor 更新(策略梯度)
- 参数更新: θ ← θ + α ∇ θ l o g π θ ( a ∣ s ) ⋅ A π ( s , a ) θ←θ+α∇_θlogπ_θ(a∣s)⋅A^π(s,a) θ←θ+α∇θlogπθ(a∣s)⋅Aπ(s,a),α为 Actor 学习率。
- 简化版(用 TD 误差δ近似优势): θ ← θ + α ∇ θ l o g π θ ( a ∣ s ) ⋅ δ θ←θ+α∇_θlogπ_θ(a∣s)⋅δ θ←θ+α∇θlogπθ(a∣s)⋅δ。
三、经典变体与改进算法
| 变体 | 核心改进 | 适用场景 |
|---|---|---|
| Q-AC(基础 AC) | Critic 用Q(s,a),直接估计 Q π ( s , a Q^π(s,a Qπ(s,a) | 离散动作、简单任务 |
| Advantage AC(A2C) | 引入 A ( s , a ) = Q ( s , a ) − V ( s ) A(s,a)=Q(s,a)−V(s) A(s,a)=Q(s,a)−V(s),用V(s)作基线 | 通用场景,降方差 |
| Off-Policy AC | 用重要性采样 ρ = π θ ( a ∣ s ) μ ( a ∣ s ) 从 μ \rho=\frac {\pi_\theta (a|s)}{\mu(a|s)}从\mu ρ=μ(a∣s)πθ(a∣s)从μ 采样数据 | 样本复用、离线学习 |
| DPG(确定性 AC) | Actor 输出确定性动作 μ θ ( s ) μ_θ(s) μθ(s),Critic 估计 Q ( s , μ θ ( s ) ) Q(s,μ_θ(s)) Q(s,μθ(s)) | 连续动作、高维控制 |
四、算法流程(A2C 示例)
- 初始化 Actor 参数 θ θ θ、Critic 参数 ϕ ϕ ϕ,环境 e n v env env,学习率 α , β α,β α,β,折扣因子 γ γ γ。
- 采样轨迹:Actor 在 s t s_t st按 π θ ( a ∣ s t ) π_θ(a∣s_t) πθ(a∣st)选 a t a_t at,执行得 r t , s t + 1 r_t,s_{t+1} rt,st+1,收集 ( s t , a t , r t , s t + 1 ) {(s_t,a_t,r_t,s_{t+1})} (st,at,rt,st+1)。
- Critic 更新:计算 TD 误差 δ t = r t + γ V ϕ ( s t + 1 ) − V ϕ ( s t ) δ_t=r_t+γV_ϕ(s_{t+1})−V_ϕ(s_t) δt=rt+γVϕ(st+1)−Vϕ(st),最小化 L ( ϕ ) = E [ δ t 2 ] L(ϕ)=\mathbb E[δ_t^2] L(ϕ)=E[δt2],更新 ϕ ϕ ϕ。
- Actor 更新:计算优势 A t = δ t A_t=δ_t At=δt,用 ∇ θ J ( θ ) = E [ ∇ θ l o g π θ ( a t ∣ s t ) A t ] ∇_θJ(θ)=\mathbb E[∇_θlogπ_θ(a_t∣s_t)A_t] ∇θJ(θ)=E[∇θlogπθ(at∣st)At]更新 θ θ θ。
- 重复 2-4 至收敛或达到最大迭代次数。
五、快速理解
核心定位:融合策略梯度(Actor)与价值学习(Critic),以优势函数降方差,实现高效策略优化
1、 核心概念与定义
| 概念 | 公式 | 说明 |
|---|---|---|
| 目标函数 | J ( θ ) = E π θ ∑ t = 0 ∞ γ t r t J(θ)=\mathbb E_{\pi_{\theta}}∑_{t=0}^{\infin}\gamma^{t}r_t J(θ)=Eπθ∑t=0∞γtrt | Actor 优化目标,最大化轨迹期望累积奖励 |
| 状态价值函数 | V π ( s ) = E π θ [ ∑ k = 0 ∞ γ k r t + k ∣ s t = s ] V^π(s)=\mathbb E_{π_{θ}}[∑{k=0}^∞γ^kr{t+k}∣s_t=s] Vπ(s)=Eπθ[∑k=0∞γkrt+k∣st=s] | 从状态 s s s出发,遵循策略 π π π 的期望回报 |
| 动作价值函数 | Q π ( s , a ) = E π θ [ ∑ k = 0 ∞ γ k r t + k ∣ s t = s , a t = a ] Q^π(s,a)=E_{\pi_{\theta}}[∑{k=0}^∞γ^kr{t+k}∣s_t=s,a_t=a] Qπ(s,a)=Eπθ[∑k=0∞γkrt+k∣st=s,at=a] | 状态 s s s执行动作 a a a后,遵循 π π π的期望回报 |
| 优势函数 | A π ( s , a ) = Q π ( s , a ) − V π ( s ) A^π(s,a)=Q^π(s,a)−V^π(s) Aπ(s,a)=Qπ(s,a)−Vπ(s) | 衡量动作 a a a相对平均水平的优劣,核心降方差工具 |
| TD 误差 | δ t = r t + γ V ϕ ( s t + 1 ) − V ϕ ( s t ) δ_t=r_t+γV_ϕ(s_{t+1})−V_ϕ(st) δt=rt+γVϕ(st+1)−Vϕ(st) | 单步价值预测误差,可近似单步优势函数 |
2、关键参数与符号说明
| 符号 | 含义 | 符号 | 含义 |
|---|---|---|---|
| θ θ θ | Actor 网络参数 | ϕ ϕ ϕ | Critic 网络参数 |
| γ γ γ | 折扣因子(0≤γ≤1) | α , β α,β α,β | Actor/Critic 学习率 |
| π θ ( a ∣ s ) π_θ(a∣s) πθ(a∣s) | 随机策略(离散 / 连续动作概率分布) | μ θ ( s ) μ_θ(s) μθ(s) | 确定性策略(连续动作输出) |
| λ λ λ | GAE 权衡系数 | ϵ ϵ ϵ | PPO 裁剪系数 |
3、 基础 Actor-Critic 更新公式
3.1 Critic 网络更新(价值学习)
-
损失函数(最小化 TD 误差的均方误差)
L ( ϕ ) = E [ δ t 2 ] = E [ ( r t + γ V ϕ ( s t + 1 ) − V ϕ ( s t ) ) 2 ] L(ϕ)=\mathbb E[δ_t^2]=\mathbb E[(r_t+γV_ϕ(s_{t+1})−V_ϕ(s_t))^2] L(ϕ)=E[δt2]=E[(rt+γVϕ(st+1)−Vϕ(st))2]
-
参数更新(梯度下降)
ϕ ← ϕ + β ∇ ϕ V ϕ ( s ) δ t ϕ←ϕ+β∇_ϕV_ϕ(s)δ_t ϕ←ϕ+β∇ϕVϕ(s)δt
β β β:Critic 学习率
3.2 Actor 网络更新(策略梯度)
-
基础形式(用优势函数指导更新)
θ ← θ + α ∇ θ l o g π θ ( a ∣ s ) ⋅ A π ( s , a ) θ←θ+α∇_θlogπ_θ(a∣s)⋅A^π(s,a) θ←θ+α∇θlogπθ(a∣s)⋅Aπ(s,a)
-
简化形式(用 TD 误差近似优势)
θ ← θ + α ∇ θ l o g π θ ( a ∣ s ) ⋅ δ t θ←θ+α∇_θlogπ_θ(a∣s)⋅δ_t θ←θ+α∇θlogπθ(a∣s)⋅δt
4、 关键改进算法公式
4.1 广义优势估计(GAE)
平衡偏差与方差的优势估计方法, λ ∈ [ 0 , 1 ] λ∈[0,1] λ∈[0,1]为权衡系数
A ^ t G A E ( γ , λ ) = ∑ l = 0 T − t − 1 ( γ λ ) l δ t + l \hat{A}t^{GAE(γ,λ)}=∑{l=0}^{T−t−1}(γλ)^lδ_{t+l} A^tGAE(γ,λ)=∑l=0T−t−1(γλ)lδt+l
- λ=0:等价于单步 TD 误差(高偏差、低方差)
- λ=1:等价于 MC 优势估计(无偏差、高方差)
4.2 确定性策略梯度(DPG)
适用于连续动作空间,Actor 输出确定性动作 μ θ ( s ) μ_θ(s) μθ(s)
-
Critic 损失
L ( ϕ ) = E [ ( r t + γ Q ϕ ( s t + 1 , μ θ ( s t + 1 ) ) − Q ϕ ( s t , a t ) ) 2 ] L(ϕ)=\mathbb E[(r_t+γQ_ϕ(s_{t+1},\mu_{\theta}(s_{t+1}))−Q_ϕ(s_t,a_t))^2] L(ϕ)=E[(rt+γQϕ(st+1,μθ(st+1))−Qϕ(st,at))2]
-
Actor 梯度
∇ θ J ( θ ) = E [ ∇ a Q ϕ ( s , μ θ ( s ) ) ∣ a = μ θ ( s ) ⋅ ∇ θ μ θ ( s ) ] ∇θJ(θ)=\mathbb E[∇aQ_ϕ(s,μ_θ(s))∣{a=μ{θ}(s)}⋅∇_θμ_θ(s)] ∇θJ(θ)=E[∇aQϕ(s,μθ(s))∣a=μθ(s)⋅∇θμθ(s)]
4.3 近端策略优化(PPO)
通过裁剪目标函数约束策略更新幅度,避免训练震荡
-
裁剪目标函数
L C L I P ( θ ) = E [ min ( r t ( θ ) A ^ t , c l i p ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] L^{CLIP}(θ)=\mathbb E[\min(r_t(θ)\hat{A}_t,clip(r_t(θ),1−ϵ,1+ϵ)\hat{A}_t)] LCLIP(θ)=E[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
r t ( θ ) = π θ ( a t ∣ s t ) μ θ o l d ( a t ∣ s t ) r_t(\theta)=\frac {\pi_\theta (a_t|s_t)}{\mu_{\theta_{old}}(a_t|s_t)} rt(θ)=μθold(at∣st)πθ(at∣st):策略比值