强化学习(RL)是一个序贯决策框架,智能体在此框架中通过在环境内执行动作来学习,旨在最大化获得的奖励。例如,RL 算法可以控制视频游戏中角色(智能体)的移动(动作),以最大化分数(奖励)。在机器人领域,RL 算法能控制机器人(智能体)在现实世界(环境)内的活动,执行特定任务以赚取奖励。在金融领域,RL 算法或许会控制一个虚拟交易员(智能体),在交易平台(环境)上进行资产买卖(动作),以最大化利润(奖励)。
以学习下棋为例,游戏结束时,根据智能体的胜、负或平,奖励分别为 +1、-1 或 0,而在游戏的其他时间步骤中奖励为 0。这体现了 RL 的挑战。首先,奖励是稀疏的,即只有在完成整场游戏后才能获得反馈。其次,奖励与导致其发生的动作之间存在时间上的延迟,如在获得胜利的三十步之前可能就已获得决定性优势,这要求将奖励与关键动作关联起来,这种情况称为时间信用分配问题。第三,环境具有随机性,对手的每次移动不总是相同的,这使得判断一个动作是真正有效还是仅仅依赖运气变得困难。最后,智能体需要在探索环境(例如,尝试新的开局方式)与利用已有知识(例如,使用之前成功的开局)之间做出平衡,这种平衡称为探索与利用的权衡。
强化学习是一个广泛的框架,不必须依赖深度学习。然而,在实际应用中,先进的系统通常会使用深度网络,这些网络对环境(如视频游戏画面、机器人传感器、金融时间序列或棋盘)进行编码,并将其直接或间接映射到下一步动作(图 1.13)。
强化学习将环境观察转化为动作,其目标是最大化与所获奖励相关的数值。通常,我们通过学习一个策略来最大化马尔科夫决策过程中的预期回报。本节将解释这些术语。
马尔科夫过程是一种假设,认为世界总是存在于一系列可能的状态中。马尔科夫性指的是,一个状态的出现概率只与其前一个状态有关,而与更早的状态无关。状态之间的转变通过转移概率
马尔科夫奖励过程 包含一个分布
在马尔科夫奖励过程中,还引入了一个折扣因子
回报是对未来奖励进行累积折扣计算后的总和,用于评估沿此轨迹的未来收益。折扣因子小于一意味着越近期的奖励比远期的奖励更有价值。
马尔科夫决策过程(MDP)为每一个时间步增加了一组可能的动作。这些动作
在部分可观测马尔科夫决策过程(POMDP)中,状态并不直接显现给智能体(图 19.4)。智能体得到的是观测值
策略(图 19.5)是指导智能体在各个状态下采取何种行动的规则。策略可以是随机的,即为每个状态定义一系列动作的概率分布;也可以是确定性的,即智能体在特定状态下总是执行相同的动作。随机策略
环境与智能体之间形成一个交互循环(图 19.6)。智能体接收上一时间步的状态
上一节我们介绍了马尔科夫决策过程,以及智能体如何根据策略进行动作。我们的目标是找到一个最大化预期回报的策略。在本节中,我们将对这一概念进行数学上的精确定义。为了做到这点,我们给每个状态
回报
在特定策略
状态价值反映了从某一状态出发,长期遵循特定策略所能期待的平均奖励。在后续状态转移可能快速获得较大奖励的情况下,这一价值尤为显著(假定折扣因子
同样,动作价值或状态-动作价值函数
动作价值显示了从一个状态出发,采取某动作并遵循特定策略之后,长期所能获取的平均奖励。强化学习算法利用这个指标将当前动作与未来的奖励相连接,从而解决时间信用分配问题。
我们追求的策略目标是最大化预期回报。在 MDP 中(POMDP 则不适用),总能找到一个既确定性又静态的策略,以最大化所有状态的价值。如果我们掌握了这一最优策略,我们便能获得最优状态价值函数
同理,最优状态-动作价值函数可以在最优策略下得到:
进一步地,如果我们知道了最优动作价值
事实上,有些强化学习算法就是基于动作价值和策略的交替估计来实现的(参见第 19.3 节)。
对于任何策略,我们可能无法准确知道状态价值
同理,动作的价值等于执行该动作所获得的即时奖励
将方程 19.8 代入方程 19.7,我们可以得到时间
同样,将方程 19.7 代入方程 19.8,我们可以得到时间
这两个关系构成了贝尔曼方程,它们是许多强化学习方法的基础。简言之,它们要求状态价值和动作价值之间保持一致性。因此,当我们更新某个状态或动作价值的估计时,会引起其他所有价值的连锁调整。
表格型强化学习算法,也就是不依赖函数逼近技术的算法,分为基于模型和无模型两种方法。基于模型的方法利用 MDP 结构来明确寻找最佳策略,通过分析转移矩阵
无模型方法则不依赖于 MDP 的具体模型,分为两种:1. 值估计方法,旨在估计最优状态-动作价值函数,然后为每个状态指定最大价值动作的策略;
- 策略估计方法,通过梯度下降直接估计最优策略,无需经过模型或价值的估计阶段。
在这两个方法系列中,蒙特卡洛方法通过模拟多个给定策略的 MDP 轨迹来积累信息,进而优化策略。然而,在策略更新前模拟众多轨迹有时既不可行也不实际。时序差分(TD)方法允许在智能体遍历 MDP 过程中实时更新策略。
接下来简述动态规划、蒙特卡洛值估计和 TD 值估计方法。第 19.4 节将介绍深度网络如何用于 TD 值估计方法,而第 19.5 节继续讨论策略估计。
动态规划算法基于完整了解转移和奖励结构的前提。与大多数强化学习算法不同,后者依靠观测智能体与环境的交互来间接获得这些数据。
状态价值
策略评估: 遍历各状态
其中
策略改进: 更新策略时,我们贪心地选择能使每个状态价值最大化的动作:
根据策略改进定理,这种方法能够保证策略的持续优化。这两个步骤持续迭代,直到策略稳定(图 19.10)。
这种方法有多种变体。在策略迭代中,会先将策略评估迭代至收敛,然后再进行策略改进。值的更新可以在每次扫描时就地或同步进行。值迭代中,策略评估只进行一次扫描就直接进入策略改进。异步动态规划算法无需每步都系统地遍历所有状态,而是可以任意顺序地就地更新部分状态。
与动态规划算法不同,蒙特卡洛方法不需要预先知道 MDP 的转移概率和奖励结构。它们通过重复采样 MDP 的轨迹并观察奖励来积累经验。这些方法在计算行动价值(基于累积的经验)和更新策略(基于行动价值)之间交替进行。
为了估计行动价值
这是一种在策略学习方法;使用当前最优策略来指导智能体穿行于环境中。这个策略是基于每个状态观察到的行动价值确定的,但是未使用的行为的价值是无法估计的,同时没有机制促使算法去探索这些未知行为。一种解决方法是采用探索初始法。在此方法中,每种可能的状态-行为对都会启动一个轮次,确保每种组合至少被观察一次。然而,如果状态数量庞大或起始点无法控制,则这种方法不切实际。另一种方法是采用 ε-贪婪策略,即以 ε 的概率采取随机行动,而将剩余的概率分配给最优行动。ε 的选择实现了利用与探索之间的权衡。在这种情况下,基于 ε-贪婪策略的在策略学习方法会寻找最佳策略,但这通常不是最佳的整体策略。
相反,在离策略学习方法中,通过不同的行为策略 π′ 生成的轮次来学习最优策略 π(目标策略)。通常目标策略是确定性的,而行为策略是随机的(例如,ε-贪婪策略)。因此,行为策略能够探索环境,而学到的目标策略则保持高效。某些离策略方法明确采用重要性采样(第 17.8.1 节)来估计在策略 π 下的行动价值,使用来自 π′ 的样本。其他方法,如 Q 学习(将在下一节描述),则基于最优行动来估计价值,即便实际选择的行动可能并非如此。
动态规划方法采用自举方法来更新数值,确保它们在当前策略下自洽。蒙特卡洛方法通过对 MDP 的采样来获得信息。时序差异 (Temporal Difference, TD) 方法融合了自举和采样。不过,与蒙特卡洛方法不同的是,TD 方法在智能体遍历 MDP 状态的过程中就更新数值和策略,而不是之后。
SARSA(状态-行动-奖励-状态-行动)是一种在策略 (on-policy) 算法,其更新公式为:
其中,$\alpha \in \mathbb{R}^+$ 表示学习率。方括号内的项称为TD 误差,用于衡量经过单步操作后,估计的行动价值
相对而言,Q-学习 是一种离策略 (off-policy) 算法,其更新公式如下(图 19.12):
其中,每一步的行动选择是基于不同的行为策略
在这两种情况下,策略通过在每个状态下取行动价值的最大值来更新(方程 19.13)。可以证明,这些更新是收敛映射(参见方程 16.20);只要每个状态-行动对被访问无限次,行动价值就会最终收敛。
上文描述的表格式 Monte Carlo 和 TD (时序差分) 算法反复遍历整个马尔科夫决策过程 (MDP) 并更新动作价值。但是,只有当状态-动作空间较小时,这种方法才是可行的。遗憾的是,这种情况并不常见;即便是在棋盘这样的限制环境中,也存在超过
在拟合 Q-学习中,法定状态的离散表示
这进而引导了以下更新公式:
拟合 Q-学习与 Q-学习的区别在于它不再保证收敛性。参数的改变可能会同时影响目标
深度网络非常适合于从高维状态空间进行预测,因此在拟合 Q-学习中成为模型的自然选择。理论上,它们能够同时处理状态和动作作为输入以预测值,但实践中,网络只接收状态作为输入,并同时预测各个动作的值。
Deep Q-Network 是一个突破性的强化学习架构,它利用深度网络学会了玩 ATARI 2600 游戏。观测数据包括 220×160 像素的图像,每个像素拥有 128 种可能的颜色(见图 19.13)。这些图像被重塑为 84×84 像素,并且只保留了亮度值。不幸的是,单一帧图像无法展现完整的状态。例如,游戏中物体的速度未知。为解决这个问题,网络在每个时间步骤摄取最后四帧图像,组成
对标准训练过程进行了数项修改。首先,根据游戏得分驱动的奖励被限制在 −1 到 +1 之间,这种做法旨在平衡不同游戏间得分的巨大差异,并允许使用统一的学习率。其次,系统采用了经验回放机制。不是仅基于当前步骤的
最终,通过固定目标参数到 φ− 值并定期更新,解决了拟合 Q-网络中的收敛问题,给出了以下更新公式:
现在网络不再追逐不断变化的目标,从而减少了振荡的倾向。
利用这些和其他启发式方法,结合
Q-学习的一个潜在问题是,在进行更新时对动作执行最大化操作:
这导致估计的状态价值
这个问题的核心在于同一个网络同时负责选择目标(通过最大化操作)和更新值。双重 Q-学习通过同时训练两个模型
如此一来,目标的选择与目标本身被分开,有助于避免这些偏见。在实际应用中,新的元组
$$ \begin{aligned} \phi_1 &\leftarrow \phi_1 + \alpha \left[ r(s_t, a_t) + \gamma \cdot q \left( s_{t+1}, \text{argmax}a [q(s{t+1}, a, \phi_1)], \phi_2 \right) - q(s_t, a_t, \phi_1) \right] \frac{\partial q(s_t, a_t, \phi_1)}{\partial \phi_1} \ \phi_2 &\leftarrow \phi_2 + \alpha \left[ r(s_t, a_t) + \gamma \cdot q \left( s_{t+1}, \text{argmax}a [q(s{t+1}, a, \phi_2)], \phi_1 \right) - q(s_t, a_t, \phi_2) \right] \frac{\partial q(s_t, a_t, \phi_2)}{\partial \phi_2} \end{aligned} \tag{19.21} $$
Q-学习首先估计动作价值,然后利用这些价值来更新策略。与之相反,策略基方法直接学习一个随机策略
- 随机策略有助于自然探索空间;我们不需要在每个时间步采取最优动作。
- 当我们调整随机策略时,损失函数会平滑变化。这意味着我们可以使用梯度下降法,即使奖励是离散的。这与在离散分类问题中使用最大似然估计类似。模型参数的变化使得真实类别变得更有可能,从而使损失平滑变化。
- MDP 的假设通常是不准确的;我们通常不具有对状态的完全了解。例如,考虑一个代理只能观察到其附近位置的导航环境(如图 19.4)。如果两个位置外观相同,但附近的奖励结构不同,随机策略就能允许采取不同的行动,直至解决这种歧义。
考虑通过马尔科夫决策过程 (MDP) 的一条轨迹
策略梯度算法旨在最大化许多此类轨迹上的期望回报
其中回报是沿轨迹获取的所有奖励之和。
为了最大化这个量,我们采用梯度上升法更新:
我们希望通过经验观察到的轨迹的总和来近似这个积分。这些轨迹来源于分布
这个方程简单来说,就是通过增加观察到的轨迹
我们可以使用“似然比恒等式”简化这个表达式:
产生如下更新:
轨迹的对数概率
由于只有中间项依赖于
其中
进一步简化这个表达,我们注意到:
其中
REINFORCE 是一种初期策略梯度算法,该算法利用了前述结果并加入了折现因素。它采用蒙特卡罗方法,根据当前策略
对于每个轨迹
接着,我们在每个轨迹的每个时间步更新参数:
$$
\theta \leftarrow \theta + \alpha \cdot \gamma^{t} \frac{\partial \log [\pi(a_t|s_{it}, \theta)]}{\partial \theta} r[\tau_{it}] \quad \forall i, t, \tag{19.33}
$$
其中
策略梯度方法存在高方差的问题,可能需要多个轮次才能获得稳定的导数更新。降低方差的一个方法是用基线
只要基线
期望值就不会改变。然而,如果基线与其他无关且增加不确定性的因素相关联,那么减去基线就能减少方差(见图 19.16)。这是控制变量方法的一个特殊情况(参见问题 19.7)。
这就引出了如何选择
$$ b = \frac{\sum_{i} \sum_{t=1}^T (\frac{\partial \log[\pi_{\text{ait}}[s_{it}, \theta]]}{\partial \theta})^2 r[\tau_{it}]}{\sum_{i} \sum_{t=1}^T (\frac{\partial \log[\pi_{\text{ait}}[s_{it}, \theta]]}{\partial \theta})^2 }. \tag{19.36} $$ 实际操作中,这通常被近似为:
通过减去这个基线,可以消除由于所有轨迹的回报
更佳的方案是使用依赖于当前状态
这里,我们正在对一些状态比其他状态具有更高总回报而引入的方差进行补偿,不论采取何种行动。
一个合理的选择是基于当前状态的预期未来奖励,即状态值
Actor-critic 算法属于时间差分 (TD) 策略梯度算法,能够在每一步骤更新策略网络的参数。这与必须等待一个或多个轮次结束才能更新参数的蒙特卡罗 REINFORCE 算法形成对比。
在 TD 方法中,我们不能获取到沿此轨迹的未来奖励
其中,值
将其代入方程 19.38,我们得到如下更新:
同时,我们利用损失函数对参数
$$
L[\phi] = \sum_{i=1}^{I} \sum_{t=1}^{T} \left( r_{it} + \gamma \cdot v[s_{i,t+1}, \phi] - v[s_{it}, \phi] \right)^2. \tag{19.42}
$$
预测
强化学习的核心是与环境的交互。但在某些情况下,例如自动驾驶车辆的驾驶或进行金融交易,由于环境中的不稳定行为可能危险,或数据收集过程耗时且成本高昂,让未经训练的智能体进入环境进行探索是不现实的。
然而,在这两种情况下,我们可以从人类操作者那里收集历史数据。离线强化学习 (Offline RL) 或批量强化学习 (Batch RL) 旨在通过观察过去的行为序列
虽然存在基于 Q-Learning 和策略梯度的离线 RL 方法,但这一领域开启了新的可能性。特别地,我们可以将其视作一个序列学习问题,目的是在给定状态、奖励和行动的历史下预测下一个行动。决策变换器(Decision Transformer)采用 Transformer 解码器框架(见第12.7节)进行预测(见图 19.17)。
但目标是基于未来奖励预测行动,这些在标准的
这种方法在训练时自然有效,但在推理时会遇到问题,因为我们不知道剩余回报。这可以通过在第一步设定目标总回报,并随着奖励的获得逐步减少这个值来解决。例如,在 Atari 游戏中,目标总回报可能是赢得比赛所需的总分。
决策变换器还可以从在线经验中进行微调,并逐渐学习。它们的优势在于摒弃了大部分强化学习的机制及其相关的不稳定性,转而采用了标准的监督学习方法。Transformer 能够处理大量数据,并在广阔的时间范围内整合信息,使时间信用分配问题变得更易于处理。这为强化学习开辟了一条新的、令人兴奋的道路。
增强学习 (Reinforcement Learning) 是针对马尔科夫决策过程 (Markov Decision Processes) 及其类似系统的序贯决策框架。本章介绍了增强学习的表格方法,包括动态规划(环境模型已知)、蒙特卡罗方法(通过运行多个回合并根据获得的奖励调整动作值和策略)和时差分方法(在回合进行中更新这些值)。
深度Q学习 (Deep Q-Learning) 是一种时差分方法,使用深度神经网络预测每个状态的动作价值,能够训练智能体在Atari 2600游戏中达到类似人类的水平。策略梯度方法直接对策略进行优化,而非对动作进行价值赋值。这些方法生成的是随机策略,在部分可观测的环境中尤其重要。这些更新过程含有噪声,为减少其方差已经引入了多种改进措施。
当无法直接与环境互动而必须依赖历史数据学习时,就会使用离线增强学习。决策变换器 (Decision Transformer) 利用深度学习的最新进展构建状态-动作-奖励序列模型,并预测能够最大化奖励的动作。
Sutton 和 Barto 在 2018 年的作品中详细介绍了表格型增强学习方法。Li (2017)、Arulkumaran 等人 (2017)、François-Lavet 等人 (2018) 和 Wang 等人 (2022c) 分别提供了深度增强学习领域的综述。Graesser 和 Keng 的 2019 年作品是一本优秀的入门资源,其中包含了 Python 代码示例。
深度增强学习的里程碑:增强学习的重大成就主要在视频游戏或现实世界游戏中实现,这些游戏提供了具有有限动作和固定规则的约束性环境。深度Q学习(由 Mnih 等人在 2015 年提出)在 ATARI 游戏的基准测试中达到了人类水平的表现。AlphaGo(由 Silver 等人在 2016 年提出)战胜了围棋的世界冠军,这是一个之前被认为计算机难以掌握的游戏。Berner 等人在 2019 年构建的系统在 Dota 2(五对五玩家游戏)中击败了世界冠军队,显示出了玩家间合作的必要性。Ye 等人在 2021 年开发的系统能够在有限的数据下超越人类玩家在 Atari 游戏中的表现,这与之前需要大量经验的系统形成鲜明对比。最近,FAIR 在 2022 年推出的 Cicero 系统在需要自然语言协商和玩家协调的《外交》游戏中展示了人类级别的表现。
RL 还成功应用于组合优化问题,Mazyavkina 等人在 2021 年的研究中有所涉及。例如,Kool 等人在 2019 年开发的模型在解决旅行商问题上与最佳启发式方法表现相当。最近,Fawzi 等人在 2022 年提出的 AlphaTensor 将矩阵乘法视作一种游戏,学会了用更少的乘法操作更快地进行矩阵乘法,这一发现对深度学习领域,尤其是因其重度依赖矩阵乘法的特性,意义重大,标志着 AI 领域自我进化的重要里程碑。
经典增强学习方法:关于马尔科夫决策过程 (MDPs) 理论的早期贡献分别由 Thompson 在 1933 年和 1935 年作出。Bellman 在 1966 年引入了 Bellman 递归,Howard 在 1960 年引入了策略迭代方法。Sutton 和 Barto 在 2018 年的研究中指出,Andreae 在 1969 年的工作首次使用 MDP 形式主义来描述增强学习。
现代增强学习的发展起源于 Sutton (1984) 和 Watkins (1989) 的博士论文。Sutton 在 1988 年引入时序差分学习,Watkins (1989) 和 Watkins & Dayan (1992) 提出了 Q 学习,并证明了它通过 Banach 定理收敛到一个固定点,因为 Bellman 操作是收缩映射。Watkins (1989) 首次明确地将动态规划和增强学习联系起来。SARSA 是由 Rummery & Niranjan (1994) 开发的。Gordon (1995) 提出了拟合 Q 学习,用机器学习模型预测每个状态-动作对的价值。Riedmiller (2005) 引入了神经拟合 Q 学习,使用神经网络从一个状态一次性预测所有动作的价值。Singh & Sutton (1996) 对蒙特卡罗方法进行了早期研究,探索启动算法则由 Sutton & Barto (1999) 提出。这是对五十多年工作的极简总结,Sutton & Barto (2018) 的著作中有更为全面的论述。
深度 Q 网络:Mnih 等人在 2015 年设计的深度 Q 学习是神经拟合 Q 学习的理论衍生。它利用了当时卷积网络的进展,开发出一种拟合 Q 学习方法,在 ATARI 游戏基准测试中达到人类水平的表现。深度 Q 学习存在致命的三重问题,即训练在包含自举、离策略学习和函数逼近的方案中可能不稳定(Sutton & Barto, 2018)。很多后续研究致力于让训练过程更加稳定。Mnih 等人 (2015) 引入了经验回放机制(Lin, 1992),Schaul 等人 (2016) 对其进行改进,优先考虑更重要的经验,从而加快学习速度,这就是所谓的优先经验回放。
原始的 Q 学习论文使用四帧图像串联,以便网络观察到对象的速度,使底层过程更接近完全可观测。Hausknecht & Stone (2015) 引入了深度递归 Q 学习,使用循环网络架构,一次只处理一个帧图像,因为它能“记住”之前的状态。Van Hasselt (2010) 指出由于最大化操作导致的状态价值系统性过高估计,并提出了双 Q 学习,通过同时训练两个模型来解决这个问题。这种方法后来被应用于深度 Q 学习(Van Hasselt 等人,2016),虽然其有效性后来受到了质疑(Hessel 等人,2018)。Wang 等人 (2016) 引入了深度对决网络,其中网络的两个部分分别预测状态的价值和每个动作的相对优势,这种解耦可以提高稳定性,因为有时状态的价值更为重要,而具体采取哪种动作的影响不大。
Fortunato 等人(2018)提出了噪声深度 Q-网络,其特点是 Q-网络中的部分权重乘以噪声以增加预测的随机性并促进探索行为。该网络能够在逐步收敛到合理策略的过程中学会减少噪声的强度。分布式 DQN(Bellemare 等人,2017a;Dabney 等人,2018,继 Morimura 等人,2010)的目标是估计回报分布的更全面信息,而不仅仅是期望值。这使得网络有可能减轻最坏情况下的影响,并且还可以通过预测更高阶矩来提高性能,因为这为训练提供了更丰富的信号。Rainbow(Hessel 等人,2018)结合了六项对原始深度 Q-学习算法的改进,包括决策网络、分布式 DQN 和噪声 DQN,从而提高了在 ATARI 基准测试上的训练速度和最终性能。
策略梯度:Williams(1992)首次提出了 REINFORCE 算法。"策略梯度方法"一词最早见于 Sutton 等人(1999)。Konda 和 Tsitsiklis(1999)引入了演员-评论家算法。使用不同的基准来降低方差在 Greensmith 等人(2004)和 Peters & Schaal(2008)的工作中被探讨。Mei 等人(2022)后来指出,价值基准主要是减少更新的激进性而非其方差。
策略梯度已经被改进以产生确定性策略(Silver 等人,2014;Lillicrap 等人,2016;Fujimoto 等人,2018)。最直接的方法是对所有可能的行动进行最大化,但如果行动空间是连续的,则每一步都需要一个优化过程。深度确定性策略梯度算法(Lillicrap 等人,2016)按照行为价值梯度的方向调整策略,这表明使用了演员-评论家方法。
现代策略梯度:我们之前提到,策略梯度可以从参数更新的角度进行介绍。但它们也可以视为基于当前策略参数下预期奖励的重要性采样来优化一个代理损失。这种方法允许我们合理地进行多次优化步骤。然而,这样做可能会导致很大的策略更新。在监督学习中,过度更新只是一个较小的问题,因为后续可以对轨迹进行修正。但在强化学习中,这会影响到未来的数据收集,可能造成极大的破坏。
为了缓和这些更新,提出了几种方法。自然策略梯度(Kakade,2001)基于自然梯度(Amari,1998),它通过 Fisher 信息矩阵来调整下降方向,从而提供了更优的更新路径,减少了陷入局部平稳区的可能。然而,对于参数众多的模型,计算 Fisher 矩阵并不实际。在信赖区域策略优化(TRPO)中(Schulman 等人,2015),通过对旧策略和新策略之间的 KL 散度施加约束来最大化代理目标。Schulman 等人(2017)提出了一种更简化的方案,将 KL 散度作为正则化项引入,其权重根据 KL 散度与设定目标的距离调整,以反映我们希望策略变化的程度。邻近策略优化(PPO)(Schulman 等人,2017)则是一种更简化的方法,通过剪裁损失来保证较小的更新幅度。
演员-评论家模型:在第19.6节描述的演员-评论家模型(Konda & Tsitsiklis, 1999)中,评论家部分使用了单步估计方法。此外,还可以使用 k 步估计方法(在此方法中,我们观测 k 个打折后的奖励,并使用状态值的估计来近似后续奖励)。随着 k 的增加,估计的方差也增加,但偏差则减少。广义优势估计(Schulman 等人,2016)将多步的估计结果综合起来,并通过单个参数来调整偏差与方差之间的权衡。Mnih 等人(2016)提出了异步演员-评论家模型(A3C),在该模型中,多个代理在并行环境中独立运行并更新相同的参数。每隔 T 时间步,策略和价值函数根据 k 步回报的混合来更新。Wang 等人(2017)引入了几种方法,使异步演员-评论家模型更加高效。软演员-评论家模型(Haarnoja 等人,2018b)在成本函数中增加了一个熵项,以鼓励探索并减少过拟合,使策略倾向于更加不自信。
离线强化学习:离线强化学习中,策略的学习是通过观察其他代理的行为及其获得的奖励来实现的,而无需直接干预策略。这与模仿学习类似,后者旨在复制另一代理的行为,但不需要奖励信息(参见 Hussein 等人,2017)。离线强化学习可被视为与离策略强化学习相同的处理方式。然而,实践中,观测到的策略与实际应用的策略之间的分布偏移可能导致对行动价值过于乐观的估计,进而影响性能(参见 Fujimoto 等人,2019;Kumar 等人,2019a;Agarwal 等人,2020)。保守 Q-学习(Kumar 等人,2020b)通过对 Q-值进行正则化,学习价值函数的保守下界估计。决策变换器(Chen 等人,2021c)是一种简便的离线学习方法,利用了广泛研究的自注意力架构。后续,它可以通过在线训练进行进一步微调(Zheng 等人,2022)。
强化学习和聊天机器人:聊天机器人的训练可以采用一种称为强化学习结合人类反馈(RLHF)的技术(Christiano 等人,2018;Stiennon 等人,2020)。例如,InstructGPT(ChatGPT 的前身,Ouyang 等人,2022)起始于一个标准的 Transformer 解码器模型。接着,基于人类注释者编写的提示-响应对进行微调。在这一训练阶段,模型优化以预测真实响应中的下一个词。
遗憾的是,产生足够的训练数据以保证高质量表现的成本非常高。为了解决这个问题,人类注释者随后指出他们更偏好的模型响应。这些成本更低的数据用于训练奖励模型,即一个第二个 Transformer 网络,它根据提示和模型响应给出评分。最后,经过微调的聊天机器人模型进一步训练,以根据奖励模型的监督产生高奖励。由于无法通过聊天机器人输出的采样过程计算导数,因此无法使用标准的梯度下降法。于是,使用近似策略优化(一种可计算导数的策略梯度方法)对模型进行训练,以产生更高的奖励。
强化学习的其他领域:强化学习是一个广阔的领域,足以单独编成一本书,而本文的综述仅触及了表面。我们未涉及的强化学习的其他重要领域包括基于模型的强化学习,在这个领域中,状态转移概率和奖励函数是被建模的(参见 Moerland 等人,2023)。这种方法支持前瞻性规划,并且具有可以针对不同奖励结构重用同一模型的优势。像 AlphaGo(Silver 等人,2016)和 MuZero(Schrittwieser 等人,2020)这样的混合方法为状态的动态、策略和未来位置的价值分别建立了模型。
本章只简要讨论了如 epsilon-greedy 方法、噪声 Q-学习和添加熵项以惩罚过度自信策略等探索方法。内在动机是指为探索增加奖励的方法,这样做可以赋予智能体“好奇心”(参见 Barto,2013;Aubret 等人,2019)。层次化强化学习(参见 Pateria 等人,2021)是指将最终目标分解成子任务的方法。多智能体强化学习(参见 Zhang 等人,2021a)探讨了多个智能体在共享环境中共存的情况,这可以是竞争性或合作性的情境。
问题 19.1 在图 19.18 展示的 MDP 示例中考虑一条特定的轨迹。假设折扣因子
问题 19.2 证明策略改进定理。假设从策略
对于所有其他状态,两个策略保持一致。证明原始策略
$$ \begin{align} v[s_t | \pi] &\leq q[s_t, \pi'[a_t|s_t] | \pi] \ &= \mathbb{E}{\pi'}[r{t+1} + \gamma \cdot v[s_{t+1} | \pi]]. \end{align} \tag{19.44} $$
提示:首先尝试用新策略
问题 19.3 假设状态值和策略按图 19.10a 初始化,展示它们在进行两次迭代后变成图 19.10b 中的状态。迭代包括:(i) 策略评估(其中所有状态基于当前值进行更新,然后替换前一个值),和 (ii) 策略改进。状态转移给策略指示的方向分配一半的概率,其余概率平均分配给其他有效动作。无论采取何种动作,当企鹅离开洞穴时奖励函数返回 -2;当企鹅离开鱼瓦片且剧情结束时,奖励函数返回 +3,因此鱼瓦片的价值为 +3。
问题 19.4 Boltzmann 策略通过基于当前状态-动作奖励函数
讨论如何通过调整温度参数
问题 19.5 当学习率
证明这是一个压缩映射(参照方程 16.30),所以:
$$ | f[q_1(s, a)] - f[q_2(s, a)] |{\infty} \leq \gamma | q_1(s, a) - q_2(s, a) |{\infty} \quad \forall q_1, q_2. \tag{19.47} $$
其中 $| \cdot |{\infty}$ 表示 $\ell{\infty}$ 范数。根据 Banach 定理,存在一个固定点,且更新最终会收敛。
问题 19.6 证明: $$ \mathbb{E}_\tau \left[ \frac{\partial}{\partial \theta} \log[Pr(\tau|\theta)]b \right] = 0, \tag{19.48} $$ 所以添加基线更新不改变策略梯度更新的期望值。
问题 19.7* 假设我们要根据样本
问题 19.8 在方程 19.34 中,梯度的估计可表示为:
$$
\mathbb{E}\tau \left[ g(\theta)(r[\tau] - b) \right], \tag{19.50}
$$
其中
$$
g(\theta) = \sum{t=1}^{T} \frac{\partial}{\partial \theta} \log[Pr(a_t|s_t, \theta)], \tag{19.51}
$$
且
$$
r[\tau] = \sum_{k=t}^{T} r_k. \tag{19.52}
$$
证明最小化梯度估计方差的
图 19.1 马尔可夫过程。马尔可夫过程由一组状态和定义从当前状态
图 19.2 马尔可夫奖励过程。它把一个奖励分布
图 19.3 马尔可夫决策过程。a) 智能体(企鹅)可以在每个状态中选择一组动作之一执行。动作会影响到转移到下一状态的概率及获得奖励的可能性。b) 在这里,四个动作分别对应上、右、下、左移动。c) 在任何状态下(如状态 6),动作会改变到下一个状态的转移概率。企鹅有 50% 的概率向预定方向移动,但由于冰面滑,它也可能以相同的概率滑到其他相邻位置。因此,在面板 (a) 中,实际采取的动作(灰色箭头)不一定与轨迹(橙色线)一致。这里的动作并不影响奖励,因此
图 19.4 部分可观测马尔可夫决策过程(POMDP)。在 POMDP 中,智能体无法完全知晓状态。例如,企鹅在状态三时只能看到虚线框内的区域,这与其在状态九的视角无异。在前者中,向右移动将导致掉入冰洞(奖励为 -2),而在后者中,则可获得鱼(奖励为 +3)。
图 19.5 策略。a) 确定性策略在每个状态下总是采取相同的动作(箭头指示)。虽然有些策略优于其他策略,但这种策略能够基本引导企鹅从左上角向右下角移动以获取奖励。b) 此策略更具随机性。c) 随机策略为每个状态设定一个动作的概率分布(概率由箭头大小表示),这有助于智能体更全面地探索状态,这在部分可观测的马尔可夫决策过程中可能是必要的以达到最优表现。
图 19.6 强化学习循环。智能体在时间点
图 19.7 状态和动作价值。a) 状态
图 19.8 状态值与动作值的关系。状态六的值
图 19.9 动作值与状态值的关系。在状态六采取动作二的价值
图 19.10 动态规划。a) 最初,状态值设为零,策略随机选定(箭头表示)。b) 状态值根据其邻近值进行更新(经过两次迭代后的方程 19.11)。策略调整为指向价值最高的状态(方程 19.12)。c) 经过多次迭代,算法逐步优化至最佳策略,此时企鹅会尽量避开洞并寻找鱼。
图 19.11 蒙特卡洛方法。a) 初始时,策略(箭头)是随机设置的。通过反复模拟 MDP,记录下各次模拟的轨迹(橙色和棕色路径表示两个轨迹)。b) 通过对这些轨迹观测到的回报进行平均,经验性地估计动作价值。这里,所有动作价值起初都是零,后根据观测到的动作进行更新。c) 接下来可以根据获得最优(或较优)奖励的动作来更新策略。
图 19.12 Q-learning:a) 智能体在状态st处开始,并按策略采取动作at=2。它未在冰面上滑倒,并向下移动,在离开原始状态时获得奖励r[st,at]=0。b) 找到新状态下的最大动作价值(此处为0.43)。c) 基于对后续状态的最大动作价值的当前估计、奖励、折现因子γ=0.9和学习率α=0.1,原始状态的动作2的价值被更新为1.12。这导致原始状态的最高动作价值发生变化,因而策略也随之改变。
图 19.13 阿塔里基准。阿塔里基准包含了 49 款阿塔里 2600 游戏,如突破、乒乓及多种射击、平台等类型的游戏。a-d) 单屏幕游戏的状态无法仅通过一个画面完全确定,因为物体的速度信息不可见。因此,通常用几个连续帧(此处为四帧)来表达状态。e) 通过操纵杆模拟用户的动作输入。f) 共有十八种动作,对应八个方向的移动或停止,并且对这九种状态,按钮可按下或不按。
图 19.14 深度 Q-网络架构。输入
图 19.15 策略梯度。同一策略下的五次模拟(亮度高表示奖励大)。轨迹 1、2 和 3 持续获得高奖励,但这种轨迹在当前策略下已频繁出现,故无需变动。相反,轨迹 4 奖励较低,策略需调整以避免生成类似轨迹。轨迹 5 奖励高且不常见,根据方程 19.25,它将引起策略的最大改变。
图 19.16 使用控制变量降低估计方差。a) 考虑基于少量样本估计
图 19.17 决策变换器。决策变换器把离线强化学习处理为序列预测问题。输入是状态、动作和剩余回报的序列,每个元素都被转换为固定大小的嵌入。每一步,网络预测下一动作。在测试阶段,剩余回报未知;实际中,通常从一个初始估计出发,逐渐扣除观测到的奖励。
图 19.18 通过 MDP 的一条轨迹。企鹅在到达第一个鱼位置时获得 +1 奖励,掉入洞时失去 -2 奖励,到达第二个鱼位置时再获得 +1 奖励。折扣因子