迄今为止回顾的方法,例如Q学习、SARSA和基本策略梯度,通常依赖于价值函数(如V(s)或Q(s,a))或策略(π(a∣s))的表格表示。这意味着我们为每个单一状态或状态-动作对维护一个显式的值或概率。虽然在小型、离散的环境(如井字棋或小型网格世界)中简单且在理论上清晰,但随着问题复杂度的增加,这种方法很快变得不实用。
表格表示的局限
考虑状态空间非常大或连续的环境。
- 游戏: 象棋估计有1047个状态,围棋大约有10170个。为这些游戏存储表格是不可能的。即使是Atari Pong这样更简单的视频游戏,如果天真地用像素值表示,也会有天文数字般的可能屏幕配置(状态)。
- 机器人: 机械臂的状态可能由其关节的连续角度和速度决定。移动机器人的状态包括其连续位置和方向。将这些空间精细离散化会导致状态数量的激增,而粗略离散化则会丢失重要信息。
- 实际控制: 控制工业流程、管理金融投资组合或优化物流网络涉及高维状态空间,通常包含连续变量。
状态或状态-动作对数量的这种激增通常被称为维度灾难。表格方法主要在两个方面受到其影响:
- 内存: 存储表格需要大量的内存。
- 学习时间: 每个状态或状态-动作对可能需要访问多次才能获得准确的估计。在大型空间中,智能体可能永远不会遇到大多数状态,使学习变得异常缓慢或不完整。
此外,表格方法无法泛化。了解一个状态并不能提供关于类似但未访问状态的信息。如果你得知某个特定的棋盘位置很差,表格方法无法推断出另一个略有不同但策略上等效的位置也很差,除非明确访问它。
引入参数化函数逼近
为应对这些局限,我们引入函数逼近。我们不再将每个状态或状态-动作对的显式值存储在表格中,而是使用一个参数化函数(通常用参数θ表示)来逼近真实的价值函数或策略。
- 价值函数逼近:
- 状态价值函数:V(s)≈V^(s;θ)
- 动作价值函数:Q(s,a)≈Q^(s,a;θ)
- 策略逼近:
- 随机策略:π(a∣s)≈πθ(a∣s)
- 确定性策略:a=μ(s)≈μθ(s)
这里,V^、Q^、πθ和μθ代表函数(如线性函数、神经网络、决策树等),其行为由参数向量θ决定。学习算法的目标是找到使逼近尽可能准确的参数θ。
对比表格方法与函数逼近在表示价值函数或策略方面的异同。
函数逼近器的类型
强化学习中可以使用各种函数逼近器:
-
线性函数逼近: 这是最简单的形式。我们首先定义一个特征向量ϕ(s)来表示状态s(或者ϕ(s,a)用于状态-动作对)。逼近随后是这些特征的线性组合:
V^(s;θ)=θTϕ(s)=i=1∑dθiϕi(s)
Q^(s,a;θ)=θTϕ(s,a)=i=1∑dθiϕi(s,a)
这里,d是特征的数量。逼近的质量很大程度上取决于人工设计的特征ϕ的质量。虽然简单且计算效率高,但线性方法可能缺乏表示复杂非线性价值函数或策略的能力。
-
非线性函数逼近(神经网络): 深度神经网络(DNN)已成为现代强化学习中函数逼近的主要选择,促成了深度强化学习(DRL)这一方向。神经网络可以直接从原始输入(如屏幕像素或关节角度)中学习复杂的非线性关系,而无需手动进行特征工程。
- 价值网络: V^(s;θ)或Q^(s,a;θ)由带有参数θ(权重和偏置)的神经网络表示。
- 策略网络: πθ(a∣s)或μθ(s)由神经网络表示。对于离散动作,网络通常输出每个动作的概率(例如,使用softmax输出层)。对于连续动作,它可能输出分布的均值以及可能的方差(例如,高斯分布)。
常见的架构包括用于向量输入的多层感知器(MLP)、用于图像输入的卷积神经网络(CNN)以及用于序列输入或部分可观环境的循环神经网络(RNN,如LSTM或GRU)。DNN的优势在于它们能够自动学习分层特征并逼近高度复杂的函数。
算法如何适应
强化学习算法通过使用基于梯度的优化方法来适应与函数逼近器协同。我们不再更新表格条目,而是更新参数θ。
-
基于价值的方法(例如,Q学习): 在表格Q学习中,更新规则将Q(st,at)调整到目标值yt=rt+1+γmaxa′Q(st+1,a′)。使用函数逼近Q^(s,a;θ)时,我们将其视为一个监督学习问题。目标yt(通常使用一个单独的、缓慢更新的目标网络θ−来计算以确保学习过程的稳定,这将在第2章中看到)成为输入(st,at)的“标签”。我们旨在最小化预测Q值Q^(st,at;θ)与目标yt之间的误差。一个常用的损失函数是均方贝尔曼误差(MSBE):
L(θ)=E[(yt−Q^(st,at;θ))2]
其中yt=rt+1+γmaxa′Q^(st+1,a′;θ−)。
参数θ随后使用梯度下降法根据此损失进行更新:θ←θ−α∇θL(θ)。
-
基于策略的方法(例如,REINFORCE): 正如前面回顾的,策略梯度定理给出了预期回报J(θ)的梯度表达式:
∇θJ(θ)=Eτ∼πθ[t=0∑T−1Gt∇θlogπθ(at∣st)]
这里,πθ(a∣s)是我们的参数化策略(例如,一个神经网络)。我们通过在环境中运行当前策略πθ生成采样轨迹(τ)来估计此梯度。参数随后使用梯度上升法进行更新:θ←θ+α∇θJ(θ)。
-
Actor-Critic方法: 这些方法将在第3章中详细介绍,它们对策略(actor)和价值函数(critic)都使用函数逼近。Critic有助于为策略更新提供更低方差的估计,它结合了基于价值和基于策略方法的思路。
优势与挑战
使用函数逼近带来显著益处:
- 可扩展性: 使得强化学习能够应用于表格方法无效的大型或连续状态/动作空间。
- 泛化能力: 允许智能体将已访问状态的知识泛化到类似但未见的状态。如果V^(s1;θ)很高,并且s2在特征或网络表示上“接近”s1,那么V^(s2;θ)也很可能很高。
- 效率: 通过运用逼近器捕获的状态空间底层结构,可以潜在地更快地学习。深度学习方法能够自动进行特征提取。
然而,它也带来新的难题:
- 失去收敛性保证: 与表格方法不同,对最优价值函数或策略的收敛性并非总能得到保证,特别是在非线性逼近器和离策略数据的情况下。
- 不稳定性: 学习过程可能变得不稳定或发散。当结合以下三个要素时,这个问题尤为突出:函数逼近、离策略学习(从由不同策略生成的数据中学习)和自举(基于其他估计更新估计,如在TD学习中)。这种组合被称为“致命三要素”,我们将在后文中说明。
- 超参数敏感性: 性能可能对逼近器架构的选择、学习率、优化算法以及其他超参数高度敏感。
“函数逼近对于将强化学习应用于复杂问题不可或缺。理解如何有效地将其与核心强化学习算法结合,并知晓相关的挑战,是掌握高级强化学习技术的核心所在。后续章节将大量地在此思路基础上进行,特别是使用深度神经网络作为主要的函数逼近器。”