在探讨了基于价值 Value-based 的方法后,我们需要面对价值方法在连续动作空间或高维状态下的局限性。本篇主要介绍策略梯度 Policy Gradient 及 Actor-Critic 行动者-评论家 架构,该分支方法通过将策略参数化,直接对策略函数应用梯度优化以搜寻最优解。
9. 策略梯度方法 Policy Gradient Methods
在之前的章节中无论是 Q-Learning 还是价值迭代,都是先求出最高价值,再间接推导出最优策略 (Value-based)。但在应对连续高维度动作时,策略梯度方法转换了思路:既然可以用神经网络逼近价值,也可以直接用神经网络 θ 逼近策略 π,将策略参数化,这就是 Policy-based 方法。

基本思想很简单:定义一个评价系统好坏的目标,然后沿着使它变优的梯度反向攀登 (Gradient Ascent)。
目标函数定义 Metrics Define
在使用梯度上升算法更新策略参数 θ 前,需要定义用于评价策略优劣的目标函数 J(θ):
-
平均状态价值 Average Value:
J(θ)=vˉπ=s∑d0(s)vπ(s)
其中 d0(s) 为初始状态概率分布。
-
平均单步回报 Average Reward:
J(θ)=rˉπ=s∑dπ(s)a∑π(a∣s;θ)r(s,a)
其中 dπ(s) 为在策略 π 下达到的平稳分布 Stationary distribution。
梯度推导与似然比技巧 Likelihood Ratio
根据策略梯度定理 Policy Gradient Theorem,我们可以得到目标函数关于 θ 的梯度:
∇θJ(θ)=s∑dπ(s)a∑∇θπ(a∣s;θ)qπ(s,a)
为了将其转化为可通过采样估算的数学期望形式,我们引入似然比技巧 Likelihood Ratio。基于对数导数规则 ∇θlnx=x∇θx,展开推导如下:
∇θπ(a∣s;θ)=π(a∣s;θ)π(a∣s;θ)∇θπ(a∣s;θ)=π(a∣s;θ)∇θlnπ(a∣s;θ)
将其代入前式:
∇θJ(θ)=s∑dπ(s)a∑π(a∣s;θ)[∇θlnπ(a∣s;θ)qπ(s,a)]
由此,该式可以完全转化为基于服从分布 S∼dπ 与 A∼π 的期望形式:
∇θJ(θ)=ES∼dπ,A∼π[∇θlnπ(A∣S;θ)qπ(S,A)]
蒙特卡洛算法近似:REINFORCE
在实际应用中,上式中的 qπ(S,A) 往往是未知的。在 REINFORCE 算法中,我们使用整个回合的累积回报 Gt 近似代替 qπ(St,At)。其具体的随机梯度上升更新公式为:
θt+1=θt+αGt∇θlnπ(At∣St;θ)
由于使用基于完整 MC 采样的 Gt,该方法属于 Offline (回合更新) 方法,虽然无偏但具有较高的方差。
10. Actor-Critic 行动者-评论家 架构
鉴于 REINFORCE 算法只能离线更新且方差较大,引入了 Actor-Critic 方法:
- Actor:根据策略网络 π(a∣s;θ) 生成动作并更新策略参数。
- Critic:使用近似网络(如 q(s,a;w) 或 v(s;w))评估当前环境价值,指导 Actor 优化。
这种架构允许使用时序差分 (TD) 进行单步 (Online) 更新。

优势函数与 A2C 算法 Advantage Actor-Critic
为进一步降低采样的方差,我们在评估基准中引入不依赖动作的常数项基准项 Baseline b(s),这不会改变策略梯度的期望(偏置不影响梯度)。理论分析表明最优的 Baseline 为状态价值函数 vπ(s)。
将其代入目标,产生了优势函数 Advantage function δt:
δt=qπ(s,a)−vπ(s)
实践中,由于拟合过多的网络模块十分低效,直接利用 Critic 的单步 TD 误差作为 δt 计算即可:
δt=Rt+1+γV(St+1;w)−V(St;w)
将其代入策略参数更新:
θt+1=θt+αδt∇θlnπ(At∣St;θ)
这就是大名鼎鼎的 A2C (Advantage Actor-Critic),使得 Actor 知道自己不仅要表现好,而且要比环境平均评估更加好,即 δt>0 才会正向更新。
离策略的 Actor-Critic Off-policy AC 与重要性采样 Importance Sampling
当行为策略 (Behavior policy, β) 与我们试图评估的目标策略 (Target policy, π) 不一致时,便需要使用离策略方法。直接在 β 收集的样本上优化 π 是有偏的,必须引入重要性采样 Importance Sampling 进行修正。
重要性采样的核心推导:
假设需要在分布 p1 的采样下估计分布 p0 的期望:
EX∼p0[X]=∑x⋅p0(x)=∑x⋅p1(x)p0(x)p1(x)=EX∼p1[Xp1(x)p0(x)]
将其引入策略梯度公式:我们在行为策略 β (即 p1) 下运行,但需要优化目标策略 π (即 p0)。梯度转化如下:
∇θJ(θ)=s∑dβ(s)a∑β(a∣s)β(a∣s)π(a∣s;θ)∇θlnπ(a∣s;θ)qπ(s,a)
=ES∼dβ,A∼β[β(A∣S)π(A∣S;θ)∇θlnπ(A∣S;θ)qπ(S,A)]
这个乘积项被定义为重要性权重比 ρt=β(At∣St)π(At∣St;θ),它保证了 Off-policy 迭代在理论上的严丝合缝。
确定性策略梯度 Deterministic Policy Gradient, DPG
对于具有无限或者高维连续动作空间的问题(如控制关节力度),随机策略 Stochastic Policy π(a∣s) 无法有效采样。因此引出确定性策略 μ(s;θ),算法直接将输入状态映射到一个具体的连续动作标量值:
a=μ(s;θ)
此时的优化依赖于连续空间的链式求导法则。基于 Critic 提供的平滑函数预测值 q(s,a;w),沿动作方向求偏导,进一步传回 Actor:
∇θJ(θ)=ES∼ρμ[∇θμ(S;θ)∇aq(S,a;w)a=μ(S)]
DPG 的一大特点在于它自然地适应 Off-policy 方法,在搜集经验时往往通过在确定性输出上加入外部探索信号(如高斯噪音)来保障对连续动作空间的有效探索。