基于价值的方法,如Q学习,其主要思想是学习状态-行动对的价值 Q(s,a),然后根据这些价值得到策略(通常是隐式地,如epsilon-贪婪)。策略梯度方法提供了一种根本不同的方法:它们直接对策略进行参数 (parameter)化,并优化其参数以使预期回报最大化。
我们将策略记作 πθ(a∣s),表示在策略参数 θ 下,在状态 s 中采取行动 a 的概率。目标是找到使性能目标函数最大化的参数 θ,通常是从初始状态分布开始的预期总折扣奖励。我们可以将此目标定义为:
J(θ)=Eτ∼πθ[t=0∑Tγtr(st,at)]
这里,τ=(s0,a0,r1,s1,a1,r2,…) 表示通过遵循策略 πθ 生成的轨迹,γ 是折扣因子,而 r(st,at) 是在状态 st 采取行动 at 后获得的奖励。
主要挑战是计算此目标函数关于策略参数 ∇θJ(θ) 的梯度。直接对目标函数求导似乎很困难,因为期望取决于由 πθ 引起的轨迹分布,而该分布本身又依赖于 θ。策略梯度定理提供了一种便捷的解决办法。它指出目标函数的梯度可以表示为:
∇θJ(θ)=Eτ∼πθ[t=0∑T∇θlogπθ(at∣st)Qπθ(st,at)]
或者,使用 πθ 下访问的状态和行动的期望表示法:
∇θJ(θ)=Es∼dπθ,a∼πθ(a∣s)[∇θlogπθ(a∣s)Qπθ(s,a)]
其中 dπθ(s) 是策略 πθ 下的平稳状态分布。术语 ∇θlogπθ(a∣s) 有时被称为“分数函数”。它告诉我们如何调整参数 θ,以提高在状态 s 中采取行动 a 的对数概率。该定理告诉我们,要用行动价值函数 Qπθ(s,a) 来加权这个方向。直观上,这讲得通:我们希望增加导致高于平均回报的行动的概率,并降低导致低于平均回报的行动的概率。
REINFORCE算法
策略梯度定理提供了梯度的形式,但我们仍然需要 Qπθ(st,at),这通常是未知的。REINFORCE算法(也称为蒙特卡洛策略梯度)提供了一种使用采样轨迹来估计此梯度的简单方法。
REINFORCE使用从时间步 t 开始的完整回报 Gt=∑k=tTγk−trk+1,作为 Qπθ(st,at) 的无偏样本估计。由于我们正在采样轨迹,我们可以用采样轨迹的平均值来近似期望。对于单个轨迹,每个时间步 t 的更新方向是 Gt∇θlogπθ(at∣st)。
基本的REINFORCE算法流程如下:
- 初始化策略参数 (parameter) θ。
- 重复:
a. 通过遵循当前策略 πθ 生成一个完整的片段轨迹 τ=(s0,a0,r1,…,sT,aT,rT+1)。
b. 对于每个时间步 t=0,1,…,T:
i. 计算从该时间步起的回报:Gt=∑k=tTγk−trk+1。
ii. 计算此步骤的策略梯度估计:gt=Gt∇θlogπθ(at∣st)。
c. 使用片段中累积的梯度更新策略参数(或者通常通过对片段中的 gt 求和并进行一步更新):θ←θ+α∑t=0Tgt,其中 α 是学习率。
这是REINFORCE更新逻辑的可视化表示:
REINFORCE算法的示意性概述:使用当前策略 πθ 生成轨迹,计算每个步骤的回报 Gt 和分数函数 ∇logπθ(at∣st),然后更新策略参数 θ。
优点与缺点
像REINFORCE这样的策略梯度方法有几个优点:
- 直接优化: 它们直接优化我们关注的量:预期回报。
- 连续行动: 它们自然地处理连续行动空间,在其中找到行动的最大值(如Q学习的更新 maxa′Q(s′,a′) 所需)是有问题的。我们可以使用高斯分布等来定义 πθ(a∣s),其参数 (parameter)是神经网络 (neural network)的输出。
- 随机策略: 它们可以学习随机策略,这在部分可观察的环境中或面对对手时可能有利。基于价值的方法通常学习确定性策略(从Q值的贪婪选择中得出)。
然而,REINFORCE也有一个显著的缺点:
- 高方差: Qπθ(st,at) 的蒙特卡洛估计 Gt 可能具有非常高的方差。单个轨迹可能纯粹由于偶然性而异常好或坏,导致梯度估计噪声大,学习缓慢且不稳定。
这种高方差是开发更先进策略梯度方法的主要原因,例如行动者-评论者算法(将在第3章讨论),这些方法使用学习到的价值函数(评论者)来减小策略梯度估计(来自行动者)的方差。
使用函数逼近的策略表示
正如价值函数可以用于大型状态空间,使用线性函数或神经网络 (neural network)进行逼近一样,策略 πθ(a∣s) 也可以使用函数逼近器来表示。在深度强化学习 (reinforcement learning)中,πθ 通常由一个神经网络表示,该网络接收状态 s 作为输入,并输出行动分布的参数 (parameter)(例如,离散行动的概率,或连续行动的均值和标准差)。参数 θ 然后对应于该神经网络的权重 (weight)和偏差。这种与函数逼近的结合使得策略梯度方法能够扩展到高维状态和行动空间的复杂问题,构成了本课程后续讨论的许多高级技术的基础。