第1章:智能体的觉醒——强化学习到底在学什么?
在神经科学和行为心理学的实验中,有一个经典场景:一只老鼠被放置在一个复杂的迷宫中,它的目标只有一个——找到藏在某处的奶酪。老鼠没有迷宫的地图,也不认识路,它唯一能依赖的只有自己的感官和一次次的尝试。当它向一个方向移动时,可能遇到死胡同(撞墙),也可能发现新的通道;有时它会在迷宫中兜圈子,毫无进展;但偶尔,它会闻到奶酪的香味,最终抵达终点,享受美味。在这个过程中,老鼠没有“老师”告诉它每一步该怎么走,也没有“标准答案”可以参考。它只能通过行动、观察结果、然后调整未来的行为来学习。这,就是强化学习最原始、最生动的写照。
这个简单的故事,其实已经包含了强化学习的所有核心要素。让我们来拆解一下:那只不断探索、做出决策的老鼠,就是智能体;它所在的黑暗迷宫,就是它必须应对的环境;而那块诱人的奶酪,则是环境给予的奖励。智能体的目标很明确:通过一系列动作,最终获得尽可能多的奶酪。但它不知道迷宫的结构,也不知道奶酪在哪里,只能通过试错来摸索。有时它可能运气好,很快找到奶酪;但更多时候,它会在错误的方向上浪费很多步,甚至永远找不到。这就是强化学习面临的典型场景:在不确定的环境中,通过 sequential decision making(序列决策)来最大化长期收益。
一、迷宫中的三要素:智能体、环境与奖励
强化学习(Reinforcement Learning, RL)的核心框架可以用一个简单的循环来描述:智能体观察环境当前的状态,然后选择一个动作施加于环境;环境接收到动作后,转移到新的状态,并给出一个奖励信号。智能体根据这个反馈来更新自己的行为策略,以便下次做出更好的选择。这个循环周而复始,智能体在交互中逐渐学习。
智能体是学习和决策的主体。它可以是真实的机器人,也可以是软件程序。在迷宫老鼠的例子中,智能体就是那只老鼠;在更现代的语境中,智能体可能是玩电子游戏的AI、自动驾驶汽车的控制系统,或者下围棋的AlphaGo。智能体的核心能力是感知(从环境中获取信息)和行动(影响环境)。但关键点在于:智能体并不被直接告知什么是“正确”的行为,它必须自己从经验中总结。
环境是智能体交互的外部世界。环境定义了智能体能观察到的内容(状态)、可以执行的动作,以及奖励的规则。在迷宫中,环境包括所有墙壁、通道、奶酪的位置。环境可以是完全可观测的(比如象棋,棋盘状态完全可见),也可以是部分可观测的(比如扑克,看不到对手的手牌)。环境的动态性也很重要:它可能随智能体的动作而改变,也可能有自己的随机性(比如迷宫墙壁偶尔移动)。
奖励是环境反馈给智能体的标量信号,用来评价智能体行为的好坏。奖励通常是即时的、数值化的(比如+1找到奶酪,-1撞墙),但智能体的目标不是最大化即时奖励,而是长期累积奖励。这正是强化学习与监督学习的根本区别之一:监督学习中的标签通常是每个样本的“正确答案”,而强化学习的奖励是稀疏的、延迟的,并且可能只在任务完成时才有。
这三个要素构成了一个封闭的交互循环。我们可以用下面的流程图来直观展示:
```mermaid graph LR A[智能体] -->|动作 a_t| B[环境] B -->|状态 s_{t+1} 和奖励 R_{t+1}| A ```
在这个循环中,时间被离散为步骤 $t=0,1,2,...$。在每一步 $t$,智能体观察环境的当前状态 $s_t \in \mathcal{S}$($\mathcal{S}$ 是状态空间),然后根据某种策略 $\pi$ 选择动作 $a_t \in \mathcal{A}$($\mathcal{A}$ 是动作空间)。环境接收到动作后,按照自身的动力学(dynamics)转移到新状态 $s_{t+1}$,并产生奖励 $R_{t+1} \in \mathbb{R}$。智能体的目标是学习一个策略 $\pi$,使得从任意初始状态开始,长期累积奖励的期望值最大。
二、试错与延迟奖励:强化学习的独特范式
现在,让我们把强化学习和更常见的监督学习做一个对比。监督学习是机器学习中最成熟、应用最广的范式,比如图像分类、语音识别。在监督学习中,我们有一个固定的数据集,每条数据包含输入特征 $x$ 和对应的标签 $y$。模型的任务是学习一个映射 $f: x \mapsto y$,使得对于新的输入,预测尽可能接近真实标签。训练过程通常是梯度下降,最小化预测误差。
强化学习则截然不同。首先,没有固定的数据集。智能体的经验是在与环境的实时交互中产生的,而且这些经验是序列相关的:当前的状态和动作会影响未来的状态和奖励。其次,反馈是延迟且稀疏的。在迷宫例子中,老鼠只有在找到奶酪时才能获得正奖励,在此之前的所有动作都没有明确指示哪些是好的、哪些是坏的。这带来了著名的信用分配问题:当最终获得奖励时,应该归功于之前一系列动作中的哪一个?是最近的一步,还是很久以前的一个关键转弯?智能体必须学会将最终结果“回溯”到之前的行为,这比监督学习中每个样本直接对应标签要困难得多。
第三,决策是 sequential 的。监督学习通常是独立同分布样本的预测,而强化学习中的决策影响未来状态,从而影响后续的奖励。一个糟糕的早期动作可能导致后续很多步都处于不利状态,甚至无法完成任务。因此,智能体必须考虑长远后果,不能只看眼前利益。
下表总结了关键区别:
| 维度 | 监督学习 | 强化学习 | |------|----------|----------| | 数据来源 | 静态数据集(预先收集) | 动态交互(在线生成) | | 反馈信号 | 每个样本的标签(密集、准确) | 延迟的标量奖励(稀疏、可能噪声) | | 目标 | 最小化预测误差(如交叉熵) | 最大化长期累积奖励 | | 样本关系 | 独立同分布(i.i.d.) | 序列相关、时间依赖 | | 示例任务 | 手写数字识别、机器翻译 | 游戏AI、机器人控制、推荐系统 |
这种“试错”与“延迟奖励”的范式,使得强化学习具有独特的挑战性,但也带来了巨大的潜力:它允许智能体在缺乏明确指导的情况下,通过自主探索掌握复杂技能,甚至超越人类水平。AlphaGo 之所以能击败世界冠军,正是因为它通过数百万局自我对弈(试错),从最终的输赢结果(延迟奖励)中学会了超越人类认知的围棋策略。
三、核心术语:状态、动作、策略与回报
要深入理解强化学习,我们必须精确化一些基本概念。这些术语构成了整个领域的语言基础。
状态 是环境在某一时刻的描述。状态可以是完全可观测的(如棋盘局面),也可以是部分可观测的(如机器人仅通过摄像头感知环境)。状态空间 $\mathcal{S}$ 可能是离散的(有限个状态)或连续的(如传感器读数)。在迷宫中,状态可以是老鼠的坐标 $(x,y)$,或者更丰富的描述(如“在走廊交叉口,左边有墙”)。状态的关键属性是马尔可夫性:如果当前状态包含了所有历史信息对未来预测足够,那么环境就满足马尔可夫性质。在完全可观测环境中,当前状态通常就是马尔可夫状态;但在部分可观测环境中,智能体可能需要维护一个信念状态(belief state),即基于历史观测对真实状态的概率分布。
动作 是智能体可以执行的操作。动作空间 $\mathcal{A}$ 可以是离散的(如“左、右、上、下”)或连续的(如机械臂的关节角度)。动作的选择受环境约束:有些动作在某些状态下可能不可行(如撞墙时不能继续向前)。动作的粒度也很重要:在围棋中,动作是落子于棋盘交叉点;在机器人控制中,动作可能是电机扭矩。
策略 是智能体的行为准则,它定义了在给定状态下选择动作的方式。策略 $\pi$ 可以是一个确定性函数 $\pi: \mathcal{S} \mapsto \mathcal{A}$,即每个状态对应一个唯一动作;也可以是随机性的 $\pi: \mathcal{S} \times \mathcal{A} \mapsto [0,1]$,表示在状态 $s$ 选择动作 $a$ 的概率 $\pi(a|s)$。策略是强化学习优化的直接对象:我们寻找的是最优策略 $\pi^*$,它能最大化长期累积奖励。策略可以是简单的查表(表格形式),也可以是复杂的函数(如深度神经网络),后者是深度强化学习的基础。
回报 是智能体从某个时间步开始,未来奖励的累积值。由于未来奖励可能不确定,我们通常考虑期望回报。更重要的是,我们使用折扣累积奖励来权衡当前与未来奖励:
$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}$$
其中 $\gamma \in [0,1]$ 是折扣因子。当 $\gamma=0$ 时,智能体只关心即时奖励,成为短视的“傻瓜”;当 $\gamma$ 接近1时,智能体更重视长期收益。折扣的数学意义是:未来奖励相当于当前奖励的 $\gamma^k$ 倍,这反映了时间偏好(类似经济学中的贴现)。此外,折扣也能保证无限序列的回报有限(当奖励有界时),便于数学处理。
价值函数 是评估状态或状态-动作对好坏的指标。状态价值函数 $V^\pi(s)$ 表示在策略 $\pi$ 下,从状态 $s$ 开始所能获得的期望回报:
$$V^\pi(s) = \mathbb{E}_\pi[G_t | S_t = s] = \mathbb{E}_\pi\left[\sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \Bigg| S_t = s\right]$$
动作价值函数 $Q^\pi(s,a)$ 表示在状态 $s$ 采取动作 $a$ 后,再遵循策略 $\pi$ 的期望回报:
$$Q^\pi(s,a) = \mathbb{E}_\pi[G_t | S_t = s, A_t = a]$$
最优价值函数 $V^*(s)$ 和 $Q^*(s,a)$ 则对应所有策略中的最大值。价值函数是强化学习算法的核心:通过估计价值,智能体可以判断哪些状态或动作更有长期价值,从而指导决策。例如,如果 $Q^*(s,a) > Q^*(s,a')$,那么在状态 $s$ 下动作 $a$ 比 $a'$ 更优。
这些术语看似抽象,但贯穿始终。在后续章节中,我们将看到如何通过采样来估计价值,如何通过价值来改进策略,以及如何用深度神经网络来近似这些函数。
四、核心挑战:不完美信息下的最优决策
现在,我们回到那个根本问题:智能体如何在不完美信息下做出最优决策?迷宫中的老鼠看不到整个迷宫,只能局部感知;围棋中的AlphaGo虽然能看到完整棋盘(完全可观测),但对手的意图未知(部分可观测);自动驾驶汽车只能通过传感器感知周围,无法知道远处车辆司机的意图。这种部分可观测性是现实世界的常态。
在强化学习理论中,完全可观测环境通常建模为马尔可夫决策过程(Markov Decision Process, MDP)。MDP 假设状态具有马尔可夫性:下一状态 $s_{t+1}$ 的概率只依赖于当前状态 $s_t$ 和动作 $a_t$,与更早的历史无关。这大大简化了问题,因为智能体只需基于当前状态做决策。然而,当环境部分可观测时,MDP 假设被打破,我们需要更一般的框架——部分可观测马尔可夫决策过程(POMDP)。在 POMDP 中,智能体只能获得观测 $o_t$(可能是状态的噪声或部分信息),而非真实状态 $s_t$。因此,智能体必须基于历史观测序列 $o_1, o_2, ..., o_t$ 来推断当前状态(或维护一个信念分布),并据此决策。这显著增加了计算复杂度,因为有效策略可能依赖于整个历史。
除了部分可观测性,另一个核心挑战是探索与利用的权衡(Exploration-Exploitation Trade-off)。智能体需要利用当前已知能获得高奖励的动作来获取收益,但也需要探索未知动作以发现可能更高的长期奖励。如果只利用不探索,智能体可能陷入局部最优,错过全局最优策略;如果过度探索,又可能浪费大量时间在低奖励区域。这个权衡在延迟奖励场景下尤为突出:一个动作的短期奖励可能很低,但长期价值很高(比如在迷宫中先走一条长通道才能到达奶酪),智能体需要坚持探索才能发现它。
在简单问题中,我们可以通过穷举搜索解决,但在大规模问题(如围棋有 $10^{170}$ 种状态)中,必须采用高效的学习算法。强化学习算法正是为了解决这些挑战而设计的:它们通过价值估计来泛化到未访问状态,通过策略优化来逐步改进,通过探索机制(如 $\epsilon$-贪婪、置信区间上界 UCB)来平衡探索与利用。
五、从迷宫到 AlphaGo:具体与抽象的循环
本章开篇用迷宫老鼠的故事引入了强化学习的基本思想,随后抽象出了智能体、环境、奖励、状态、动作、策略、回报等概念,并讨论了核心挑战。这体现了全书“从具体到抽象,再回到具体”的基调。现在,让我们把这些抽象概念映射到一个里程碑式的应用:AlphaGo。
AlphaGo 是 DeepMind 开发的围棋人工智能,它首次在2016年击败了世界冠军李世石。围棋是一个极具挑战性的领域:状态空间巨大(约 $10^{170}$,远超宇宙原子数),动作空间大(每一步约250种可能),奖励极度延迟(对局可能数百步后才决出胜负),且完全可观测(棋盘状态完全可见)。AlphaGo 的成功正是强化学习范式的完美体现。
在 AlphaGo 的框架中:
- **智能体** 是 AlphaGo 程序本身。
- **环境** 是围棋对弈,包括对手(早期版本是其他程序,后期是自己)和规则。
- **状态** 是当前棋盘布局(19x19网格,每个交叉点有黑、白、空三种可能)。
- **动作** 是选择一个合法位置落子,或 pass。
- **奖励** 仅在对局结束时给出:赢棋为+1,输棋为-1,平局为0(早期版本使用更细粒度的奖励,但最终目标是赢棋)。
- **策略** 是一个深度神经网络 $\pi(a|s)$,输出在状态 $s$ 下选择每个动作 $a$ 的概率。这个网络通过监督学习(从人类棋谱)预训练,然后通过强化学习(自我对弈)微调。
- **价值函数** 是另一个深度网络 $v(s)$,估计从状态 $s$ 开始最终赢棋的概率。
- **决策过程**:在每一步,AlphaGo 使用蒙特卡洛树搜索(MCTS)结合策略网络和价值网络来模拟未来可能对局,选择期望价值最高的动作。而策略网络和价值网络本身通过自我对弈的强化学习不断更新:自我对弈产生新数据(状态、动作、最终奖励),用于训练网络,使其更准确。
这里,延迟奖励问题被克服:虽然每一步没有即时奖励,但通过自我对弈,最终输赢结果可以回溯到每一步的贡献(通过策略梯度和价值学习)。探索问题也被解决:自我对弈本身就是一种探索,不断产生新的棋局,避免过拟合人类棋谱。不完美信息问题在围棋中不存在(完全可观测),但对手的意图未知,AlphaGo 通过模拟对手的可能应对来部分处理。
AlphaGo 之后,其技术演变为 AlphaZero,不再依赖人类数据,完全从随机策略开始,通过自我对弈强化学习,在围棋、象棋、将棋上都达到超人类水平。这进一步证明了强化学习范式:从简单规则出发,通过试错和延迟奖励,智能体能自主发现复杂策略。
六、总结:智能体的觉醒之路
回到最初的问题:强化学习到底在学什么?通过迷宫老鼠的故事和 AlphaGo 的案例,我们可以给出一个清晰的答案:强化学习是让智能体在与环境的交互中,通过试错和延迟奖励信号,学习一个策略以最大化长期累积收益的计算范式。 它学习的不是静态的映射,而是动态的决策能力;它不依赖标注数据,而是从经验中自省;它面对的是序列决策的信用分配、探索与利用的权衡、以及部分可观测环境的不确定性。
本章奠定的基础概念——智能体、
本章奠定的基础概念——智能体、环境、奖励、状态、动作、策略、回报——是构建任何强化学习问题的基石。这些概念不仅抽象简洁,而且具有强大的表达能力,足以描述从简单迷宫到复杂战略游戏的各类问题。然而,仅仅了解这些术语还不足以真正“唤醒”一个智能体。就像老鼠在迷宫中,知道有奶酪存在(奖励)和能移动(动作)是远远不够的——它必须理解自己的行动如何影响未来,如何在不确定中做出选择,以及如何从稀少的反馈中学习。这些深层机制,正是强化学习算法的核心所在。
为了更系统地理解,我们需要将前述概念整合成一个完整的数学框架——马尔可夫决策过程(Markov Decision Process, MDP)。MDP 是强化学习研究的标准模型,它假设环境具有马尔可夫性:下一状态的概率分布仅依赖于当前状态和动作,与更早的历史无关。形式上,一个 MDP 由五元组 $(\mathcal{S}, \mathcal{A}, P, R, \gamma)$ 定义:
- $\mathcal{S}$:状态空间
- $\mathcal{A}$:动作空间
- $P: \mathcal{S} \times \mathcal{A} \times \mathcal{S} \mapsto [0,1]$:状态转移概率函数,$P(s'|s,a)$ 表示在状态 $s$ 执行动作 $a$ 后转移到状态 $s'$ 的概率
- $R: \mathcal{S} \times \mathcal{A} \times \mathcal{S} \mapsto \mathbb{R}$:奖励函数,$R(s,a,s')$ 表示从 $s$ 经 $a$ 到 $s'$ 的即时奖励(有时简化为 $R(s,a)$ 或 $R(s)$)
- $\gamma \in [0,1]$:折扣因子
这个框架将我们之前的所有概念形式化了。智能体的策略 $\pi(a|s)$ 定义了在状态 $s$ 选择动作 $a$ 的概率。价值函数则成为评估策略的关键工具。特别地,状态价值函数 $V^\pi(s)$ 满足贝尔曼方程(Bellman Equation):
$$V^\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) \left( R(s,a) + \gamma \sum_{s' \in \mathcal{S}} P(s'|s,a) V^\pi(s') \right)$$
这个方程是强化学习的“牛顿定律”——它描述了价值函数的自举(bootstrapping)性质:当前状态的价值等于“即时奖励 + 折扣后的未来价值期望”。类似地,动作价值函数 $Q^\pi(s,a)$ 满足:
$$Q^\pi(s,a) = \sum_{s' \in \mathcal{S}} P(s'|s,a) \left( R(s,a,s') + \gamma \sum_{a' \in \mathcal{A}} \