强化学习基础知识点(上):核心概念与多臂老虎机
这篇文章是阅读《动手学强化学习》时整理的入门笔记。文章按照概念之间的依赖关系展开:先理解强化学习要解决的问题,再通过多臂老虎机认识“边学习边决策”,最后逐步进入马尔可夫决策过程、价值函数与贝尔曼方程。
强化学习(Reinforcement Learning,RL)看起来有很多公式,但它研究的问题其实很朴素:
当现在的选择会影响未来的处境时,机器应该怎样通过试错,学会做出长期来看更好的决策?
读完本文后,你应该能够回答下面几个问题:
智能体、环境、状态、动作、奖励和策略分别是什么?
即时奖励和长期回报有什么区别?为什么需要折扣因子?
多臂老虎机为什么能够体现“探索与利用”的矛盾?
马尔可夫过程、马尔可夫奖励过程和马尔可夫决策过程有什么关系?
状态价值函数与动作价值函数分别表示什么?
贝尔曼期望方程和贝尔曼最优方程有什么区别?
为什么强化学习的数据分布会随策略改变?
一、强化学习在解决什么问题?
一句话概括:
强化学习是智能体在与环境持续交互的过程中,通过试错获得奖励信号,并不断调整策略,最终学会最大化长期累积回报的决策方法。
从 AlphaGo 落子、机器人行走,到推荐排序和资源调度,都可以看到强化学习的身影。这些任务有一个共同点:模型做出的动作不仅影响眼前结果,还可能改变之后能够遇到的状态和获得的奖励。
1. 六个基本概念
假设我们正在训练一个机器人走迷宫。在时间步 ,一轮交互通常包含以下过程:
环境向机器人提供当前状态 ;
机器人根据策略选择动作 ;
环境执行该动作,转移到下一状态 ;
环境返回即时奖励 。
例如,机器人可能在状态 下选择“向右走”,随后到达新的位置 ,并因为撞墙收到奖励 。
一段交互序列可以写成:
其中各个概念的含义如下:
概念 | 记号 | 含义 | 迷宫中的例子 |
|---|---|---|---|
智能体 | Agent | 做决策和学习的一方 | 机器人 |
环境 | Environment | 智能体之外、会响应动作的系统 | 迷宫及其规则 |
状态 | 当前决策所依据的环境信息 | 当前位置、附近墙壁 | |
动作 | 智能体可以执行的选择 | 上、下、左、右 | |
奖励 | 环境对本次转移给出的即时反馈 | 到达终点 | |
策略 | 智能体选择动作的规则 | 在路口按一定概率选择方向 |
策略可以是确定性的:
表示策略接收状态 ,直接输出一个确定动作。
策略也可以是随机性的:
表示智能体在状态 下选择动作 的概率。例如,在某个路口向左和向右的概率分别为 和 。
2. 为什么强化学习属于序贯决策?
普通预测往往只需要回答一次“这是什么”,而强化学习需要连续回答“现在应该做什么”。更重要的是,当前动作会改变下一时刻的状态:
因此,某一步获得的即时奖励最高,并不意味着这个动作长期最优。
例如,机器人可以绕路捡到一枚价值 的金币,但绕路会使它错过终点的 。如果只看眼前奖励,它会选择金币;如果考虑长期结果,它可能应该直接前往终点。
这就是强化学习最重要的直觉:
一个动作的好坏,不能只看它立即带来的奖励,还要看它对未来状态和未来奖励的影响。
二、强化学习究竟优化什么?
在继续学习具体模型之前,需要先弄清楚强化学习的目标。后面的价值函数、贝尔曼方程以及各种算法,都是为这个目标服务的。
1. 奖励与回报不是一回事
是执行动作 后立即得到的奖励,它只评价当前这一次转移。
但强化学习关心的是从当前时刻开始,未来一连串奖励的总效果。为此,我们定义折扣回报:
其中:
是一次即时奖励;
是从时刻 开始的一条实际轨迹所获得的长期回报;
是折扣因子。
如果任务在有限的 步结束,则回报写成:
2. 为什么需要折扣因子?
折扣因子控制智能体对未来奖励的重视程度:
:只考虑下一步奖励;
越接近 :越重视长期收益;
在无限时序任务中,如果奖励有界且 ,折扣通常还能保证回报有限。
例如,未来三步的奖励依次为 ,取 ,则当前回报为:
越远的奖励所占权重越小。
!!! note "折扣不只是表示不耐心" 折扣因子有多种解释:它可以表示对较远奖励的偏好,也可以表示任务继续存在的概率,还可以让无限奖励序列具有有限和。因此,不宜简单地把折扣理解成“未来不重要”。
3. 回报具有递推结构
把回报的第一项单独取出:
也就是说:
当前回报 = 当前一步奖励 + 折扣后的下一时刻回报。
这个简单的递推关系,是后面所有贝尔曼方程的起点。
4. 从回报到价值
即使从同一个状态出发并执行同一个策略,由于策略和环境可能具有随机性,不同轨迹得到的 也可能不同。
因此,我们通常不使用某一次偶然得到的回报评价状态,而是关注回报的期望。
状态价值函数定义为:
它回答:
处于状态 ,之后一直遵循策略 ,平均能够获得多少长期回报?
动作价值函数定义为:
它回答:
处于状态 ,第一步先执行动作 ,之后遵循策略 ,平均能够获得多少长期回报?
回报与价值的区别是:
是一条实际轨迹产生的随机结果;
和 是对许多可能轨迹的回报求期望。
5. 强化学习的最终目标
设初始状态服从分布 。策略 的总体表现可以定义为:
强化学习希望找到:
也就是从所有候选策略中,找到期望长期回报最大的策略。
三、最简单的试错决策:多臂老虎机
在进入包含状态转移的完整强化学习之前,我们先看一个更简单的问题:多臂老虎机(Multi-Armed Bandit,MAB)。
它有动作和奖励,但没有需要建模的状态转移,因此能让我们专注理解强化学习中的一个核心矛盾:探索与利用。
1. 问题定义
想象面前有 根拉杆。每根拉杆都对应一个未知的奖励分布。每次只能选择一根拉杆,并观察一次奖励。目标是在总共 次机会中获得尽可能多的累积奖励。
它可以形式化为:
动作集合为 ;
第 根拉杆的奖励分布为 ;
在第 轮选择 ,随后观察 ;
最大化期望累积奖励 。
动作 的真实价值是它的期望奖励:
最优拉杆为:
问题在于,智能体事先并不知道 ,只能通过不断尝试来估计它。
2. 用样本均值估计动作价值
如果动作 已经被选择了 次,对应奖励为 ,那么可以使用样本均值估计它的价值:
样本足够多时,样本均值通常会逐渐接近真实期望。
3. 样本均值的增量更新
假设旧估计由 个样本得到:
得到新奖励 后:
它可以概括为:
使用这种更新方式时,只需要保存旧估计和访问次数,不必保存全部历史奖励。这个结构以后还会出现在蒙特卡洛方法、时序差分学习和 Q-learning 中。
4. 探索与利用
面对未知的拉杆价值,智能体有两类选择:
探索(exploration):尝试尚不了解的拉杆,以获取新信息;
利用(exploitation):选择当前估计最好的拉杆,以争取当前收益。
如果只探索,智能体会一直尝试较差的拉杆,不能充分利用已经获得的知识;如果只利用,早期的偶然结果可能让它过早锁定一个并不真正最优的拉杆。
因此,多臂老虎机不是“先收集数据、再做决定”的普通统计估计。每次收集数据的动作本身,也会带来实际收益或损失。智能体必须一边学习,一边决策。
5. -贪心策略
一种最简单的探索方法是 -贪心:
以概率 选择当前估值最大的动作;
以概率 从全部 个动作中均匀随机选择。
如果规定估值并列时按照固定规则选出一个贪心动作 ,那么:
例如,、 时,贪心动作被选中的概率为:
其余每个动作被选中的概率为 。
太大会在明显较差的动作上浪费较多机会;太小则可能过早相信不准确的估计。实践中有时会让 随时间衰减,例如:
这样前期更重视探索,后期更重视利用。不过,衰减太快也可能使智能体锁定错误动作。
6. 什么是懊悔?
为了评价一个老虎机算法,可以比较“始终选择真实最优拉杆”和“算法实际选择”之间的期望收益差距。
第 轮选择 所产生的即时懊悔为:
经过 轮的累积懊悔为:
也可以按照各个动作被选择的次数改写:
反复选择差距较大的次优动作,会使懊悔增长得更快。
因为:
其中 与算法无关,所以最小化期望累积懊悔,等价于最大化期望累积奖励。
7. 从老虎机到完整强化学习
多臂老虎机 | 完整强化学习 / MDP |
|---|---|
没有状态,或视为只有一个状态 | 存在多个状态 |
动作只影响本轮奖励 | 动作还会影响下一状态和未来奖励 |
估计每个动作的即时价值 | 估计不同状态下的长期动作价值 |
主要矛盾是探索与利用 | 还要处理延迟奖励和信用分配 |
多臂老虎机保留了“通过试错了解动作”的核心,却暂时去掉了状态变化。接下来加入状态和状态转移,就进入了马尔可夫决策过程。
四、从随机过程到马尔可夫决策过程
1. 什么是随机过程?
随机变量描述一次随机现象,例如明天的天气 ;随机过程描述随机现象随时间的变化:
其中每个 都是一个随机变量,表示系统在时刻 的状态。例如, 可以表示第 天的天气,也可以表示机器人在第 步的位置。
一般的随机过程可能依赖整个历史:
2. 什么是马尔可夫性质?
如果当前状态已经包含预测下一状态所需要的全部历史信息,那么过程具有马尔可夫性质:
这不是说过去完全没有用,而是说:
过去对未来有用的信息,已经被压缩进当前状态 中。
例如,在下棋时,如果状态包含完整棋盘和当前行棋方,那么预测下一棋盘只需要当前状态和下一步落子,不必重新读取整份棋谱。如果状态只记录“当前轮到谁”,它就缺少预测下一状态所需的信息。
!!! note "状态是否满足马尔可夫性质取决于如何定义状态" 同一个真实系统,使用不同的状态表示,可能得到不同结论。强化学习中的“状态”不是随便选择的观测量,而应尽量包含决策和预测未来所需的信息。
3. 马尔可夫过程:只有状态转移
具有马尔可夫性质的随机过程称为马尔可夫过程(Markov Process,MP)或马尔可夫链,通常写成:
其中:
是状态集合;
是状态转移概率。
对于任意状态 ,所有可能下一状态的概率之和为 :
当状态空间有限时, 可以写成状态转移矩阵:
矩阵第 行表示从状态 出发,下一步到达各状态的概率,因此每一行之和等于 。
马尔可夫过程只描述状态怎样变化,其中还没有动作和奖励。
4. 马尔可夫奖励过程:加入奖励
在马尔可夫过程中加入奖励函数和折扣因子,就得到马尔可夫奖励过程(Markov Reward Process,MRP):
这里采用:
表示从状态 出发进行一次转移时得到的期望即时奖励。
因为 MRP 没有动作,所以一旦给定初始状态,系统只会按照转移概率 演化。
5. 马尔可夫决策过程:再加入动作
在 MRP 的基础上加入动作,就得到马尔可夫决策过程(Markov Decision Process,MDP):
其中:
:状态集合;
:动作集合;
:在状态 执行动作 后到达 的概率;
:发生转移 时的期望即时奖励;
:折扣因子。
例如,机器人选择“向右走”,但由于地面湿滑,它可能以 的概率向右移动,以 的概率停在原地,以 的概率滑向下方。同一个动作不一定总是产生相同结果。
对任意状态—动作对 ,有:
三种过程的关系可以概括为:
MDP 与 MRP 最关键的区别是:MRP 中系统按照固定概率转移;MDP 中智能体可以通过动作影响即时奖励和下一状态。
策略 通常不属于环境本身。MDP 描述环境的规则,策略描述智能体怎样在这个环境中行动。
6. 给定策略后,MDP 会诱导出一个 MRP
随机策略满足:
给定策略 后,可以把动作的影响按照策略概率平均掉,从而得到一个由该策略诱导的 MRP。
为简化记号,先定义状态—动作的期望奖励:
策略下状态 的期望即时奖励为:
策略下从 转移到 的概率为:
之所以对动作求和,是因为智能体先以概率 选择动作 ,环境随后以概率 到达 。
五、怎样评价一个策略?
1. 状态价值与动作价值的关系
回顾两个定义:
二者的区别只在第一步:
的第一步动作也按照策略采样;
已经把第一步动作固定为 。
因此,根据全期望公式:
2. MRP 的贝尔曼方程
先看没有动作的 MRP。根据回报递推关系:
对状态 条件下的回报求期望:
第一项是 ;第二项需要枚举下一状态。因此:
这就是 MRP 的贝尔曼方程。它表达的是:
当前状态价值 = 当前期望奖励 + 折扣后的下一状态期望价值。
写成矩阵形式:
移项可得:
这个解析解要求完整已知转移矩阵和奖励,并且矩阵求逆在大规模问题中代价较高,因此主要用于较小的 MRP 或理论分析。
3. MDP 的贝尔曼期望方程
在 MDP 中,从动作价值函数出发:
枚举动作执行后可能到达的下一状态:
再代入 :
这两个式子称为贝尔曼期望方程。它们进行了两类平均:
按照策略 对动作进行加权;
按照环境转移概率 对下一状态进行加权。
“期望”二字强调:这里评价的是一个给定策略 的平均表现,还没有在所有动作之间选择最大值。
六、怎样寻找最优策略?
1. 最优价值函数
最优状态价值函数定义为:
它表示从状态 出发,在所有策略中能够取得的最大期望回报。
最优动作价值函数定义为:
它表示在状态 先执行动作 ,之后采取最优决策时能够取得的最大期望回报。
在有限状态、有限动作的折扣 MDP 中,至少存在一个最优策略。最优策略不一定唯一,但所有最优策略具有相同的最优价值函数。
2. 贝尔曼最优方程
对于一个普通策略,状态价值是动作价值按照策略概率计算的加权平均:
对于最优价值,不再按照一个给定策略对动作取平均,而是直接选择价值最大的动作:
固定第一步动作 后,环境转移到下一状态 ,之后继续取得最优价值:
合并两式,得到最优状态价值的贝尔曼最优方程:
使用 ,还可以得到动作价值形式:
贝尔曼期望方程与贝尔曼最优方程的区别如下:
方程 | 回答的问题 | 动作处理方式 |
|---|---|---|
贝尔曼期望方程 | 给定策略 有多好? | 按 加权平均 |
贝尔曼最优方程 | 所有策略中最多能获得多少回报? | 对动作取 |
前者用于策略评估,后者用于寻找最优价值与最优策略。
得到 后,可以恢复一个确定性最优策略:
这里使用 ,是因为可能存在多个并列最优动作。价值迭代与 Q-learning 等算法,都建立在这些递推关系之上。
七、强化学习的数据怎样产生?
1. 数据来自智能体与环境的交互
强化学习通常没有一份永远不变的“标准答案数据集”。它的数据来自智能体与环境的交互,常写成一条条转移样本:
产生一个样本可以分成两次采样:
第一处随机性来自策略,第二处随机性来自环境。
若一条轨迹记为:
那么忽略奖励的单独概率项,并把奖励视为由转移产生时,轨迹概率可以写成:
这个公式揭示了强化学习的一大难点:
策略 发生变化,轨迹分布 也会随之变化。
智能体没有选择的动作,通常就不会获得该动作产生的数据;而缺少这些数据,又会影响智能体判断哪个动作更好。这正是探索问题产生的根源。
2. 不知道环境模型时怎样估计价值?
直接使用贝尔曼方程或矩阵解,通常要求知道环境模型 和 。如果不知道完整模型,但能够按照策略与环境交互,就可以从采样轨迹中估计价值。
蒙特卡洛方法(Monte Carlo,MC)的依据是:
因此,可以收集多次访问状态 后得到的实际回报:
再用样本均值近似价值:
它可以使用与多臂老虎机相同的增量均值形式更新:
MC 的优点是不要求提前知道 和 ;局限是通常要等一条轨迹结束后才能得到完整回报,而且样本回报的方差可能较大。
八、强化学习与有监督学习有什么区别?
两者都可以看成优化某种期望,但它们面对的问题结构并不相同。
1. 有监督学习的目标
给定来自数据分布 的样本,有监督学习通常寻找参数 ,使预测损失的期望最小:
模型参数会改变预测结果,但在常见的离线监督学习设定中,不会因为模型对当前样本的预测而立即改变下一条训练样本。
2. 强化学习的目标
强化学习寻找策略 ,最大化策略产生的轨迹上的期望回报:
这里的数据分布 本身依赖策略。策略一旦改变,智能体到达的状态、执行的动作以及观察到的奖励都可能改变。
3. 核心区别
对比维度 | 有监督学习 | 强化学习 |
|---|---|---|
学习信号 | 标签或目标值 | 标量奖励,通常没有“正确动作”标签 |
数据来源 | 通常是预先收集的数据集 | 智能体与环境交互产生 |
数据分布 | 经典设定中通常视为相对固定 | 会随策略变化,时间上也具有关联 |
问题形式 | 多数是单步预测 | 多步序贯决策 |
当前输出的影响 | 通常不改变下一输入 | 动作会改变下一状态和未来数据 |
反馈时间 | 标签通常直接对应样本 | 奖励可能延迟,需要进行信用分配 |
主要矛盾 | 拟合与泛化 | 探索与利用、短期与长期 |
例如,训练猫图片分类器时,模型把当前图片预测错了,并不会因此改变数据集中的下一张图片。
训练机器人走迷宫时,如果机器人向左走,它下一步就会出现在左侧区域,只能收集那里的数据;如果它向右走,则会看到另一批状态和奖励。
因此可以把二者的区别浓缩成一句话:
有监督学习通常在给定数据分布上学习预测;强化学习则通过行动改变环境状态,也改变自己之后能够收集到的数据。
九、进阶理解:策略如何改变状态—动作分布?
占用度量不是理解基础强化学习的必要前提。如果你是第一次接触强化学习,可以先阅读小结,等理解 MDP、价值函数和策略优化后再回来看这一节。
1. 占用度量的直觉
占用度量(occupancy measure)可以理解为:
一个策略长期运行时,智能体把交互时间花在了哪些状态—动作对上。
例如,机器人运行了 100 步,其中有 40 步处于状态 并执行动作 ,那么 的经验访问比例就是 。
在无限时序的折扣任务中,一种常见的归一化折扣占用度量定义为:
这里:
是第 步访问 的概率;
让更远时间步具有更小权重;
是归一化系数。
因为:
所以:
进一步对所有状态—动作对求和:
因此, 可以看成状态—动作对上的概率分布。
2. 用占用度量改写优化目标
设:
从目标函数出发:
当奖励有界且 时,可以交换期望与求和:
根据占用度量的定义:
因此:
由于 是与策略无关的正常数,所以最大化 等价于最大化:
这提供了另一种理解策略优化的方式:环境给定后,奖励函数是固定的;策略通过改变占用度量,让智能体更多地访问有利的状态—动作对,从而提高长期回报。
本文使用归一化定义。如果定义未归一化占用度量 , 那么目标可以直接写成 ,前面不再出现 。
十、小结
本文最值得记住的不是某个孤立公式,而是下面这条逻辑链:
智能体根据策略在环境中选择动作;
环境响应动作,返回即时奖励和下一状态;
当前动作还会改变未来能够到达的状态,因此强化学习属于序贯决策;
多步奖励通过折扣累加形成回报;
因为轨迹具有随机性,我们使用期望回报定义价值;
强化学习的目标是找到期望长期回报最大的策略;
多臂老虎机先在没有状态转移的情况下展示探索与利用的矛盾;
MP、MRP 和 MDP 逐步加入马尔可夫状态、奖励和动作;
贝尔曼期望方程用于评价给定策略,贝尔曼最优方程用于描述最优价值;
策略不仅决定动作,也决定智能体以后能够收集到什么数据。
最后用一句话概括:
强化学习不是让机器记住每道题的标准答案,而是让它学会在后果未知、反馈可能延迟的世界里,怎样通过行动获得更好的长期结果。

