强化学习导论:从感知到决策
第1章:强化学习导论:从感知到决策
1.1 引言:一个关于学习与决策的故事
想象这样一个场景:婴儿第一次尝试站立。她不知道哪块肌肉需要用力,不懂得如何保持平衡,甚至无法用语言描述这个过程。然而,通过一次又一次的跌倒与尝试,她逐渐学会了控制身体,最终实现独立行走。这个看似简单的过程,实际上蕴含着机器学习领域中一个极为深刻的研究课题——强化学习(Reinforcement Learning,RL)。
强化学习是机器学习的一个重要分支,其核心任务是让智能系统通过与环境的交互,学会做出最优决策。与监督学习中依赖标注数据进行模仿不同,强化学习强调从经验中学习(learning from experience),强调在与环境的动态交互中不断试错、累积知识、优化行为策略。这一独特的学习范式,使得强化学习成为实现通用人工智能(Artificial General Intelligence,AGI)的关键技术之一。
In this opening chapter, we embark on a journey to understand the fundamentals of reinforcement learning. We will explore the core concepts that define this field, examine its distinguishing characteristics compared to other machine learning paradigms, and trace its historical evolution from early theoretical foundations to modern deep reinforcement learning systems. Through carefully selected examples and intuitive explanations, we aim to build a solid conceptual framework that will support your learning throughout this book.
本章将首先介绍强化学习的基本定义与核心要素,包括智能体(agent)、环境(environment)、状态(state)、动作(action)、奖励(reward)等关键概念。这些概念构成了理解强化学习问题的基石。随后,我们将通过迷宫探索和AlphaGo下棋这两个经典案例,帮助读者建立对强化学习问题的直观认识。通过这些案例,读者将深刻理解强化学习的本质特征:如何通过与环境的交互学习最优策略。
接下来,我们将系统梳理强化学习的发展历程。从早期的试错学习理论,到动态规划的兴起,再到深度强化学习的突破,每一个阶段都凝聚着研究者们对智能决策问题的深刻洞察。通过了解这段历史,读者不仅能够理解当前技术的来龙去脉,还能把握未来发展的方向。
最后,我们将介绍本书的整体结构与学习路径。本书共包含15章,内容涵盖强化学习的基础理论、核心算法、进阶主题以及前沿应用。合理的学习路径将帮助读者循序渐进地掌握这门复杂而迷人的学科。
1.2 强化学习的定义与核心要素
1.2.1 什么是强化学习?
强化学习的正式定义可以追溯到Richard S. Sutton和Andrew G. Barto在其经典著作《Reinforcement Learning: An Introduction》中给出的描述:强化学习是一种通过与环境交互学习如何映射情境(situations)到动作(actions)的学习方法,其目标是最大化数值化的奖励信号(numerical reward signal)。这个定义虽然简洁,却包含了强化学习的三个核心问题:感知、决策、反馈。
强化学习的基本框架可以用一个马尔可夫决策过程(Markov Decision Process,MDP)来形式化描述。MDP由以下五个要素组成:
- **智能体(Agent)**:学习和决策的主体
- **环境(Environment)**:智能体所处的外部世界
- **状态(State)**:描述环境当前情况的信息
- **动作(Action)**:智能体可以采取的行为
- **奖励(Reward)**:环境对智能体行为的反馈信号
这五个要素之间的交互构成了强化学习的基本范式。我们可以用一个统一的框架来描述这个交互过程:
```mermaid graph TD A[智能体 Agent] -->|动作 Action| B[环境 Environment] B -->|状态 State| A B -->|奖励 Reward| A C[时间步 t] --> D[时间步 t+1] ```
At its core, reinforcement learning addresses a fundamental question in artificial intelligence: how can an agent learn to make good decisions through trial and error? Unlike traditional programming where rules are explicitly encoded, RL agents discover effective strategies through experience. The agent observes the current state of the environment, selects an action based on its current policy, receives feedback in the form of rewards, and updates its knowledge to make better decisions in the future.
强化学习的独特之处在于其延迟反馈(delayed feedback)特性。在许多实际问题的学习过程中,智能体执行的动作所产生的最终结果,往往需要经过一系列中间步骤才能显现。例如,在棋类游戏中,一步棋的优劣可能要到数十步之后才能见分晓。这种信用分配问题(credit assignment problem)是强化学习面临的独特挑战,也是其与其他学习范式的主要区别之一。
另一个重要特性是强化学习的主动探索(exploration)与利用(exploitation)权衡问题。智能体需要不断在探索新策略和利用已有知识之间做出选择。过度探索会导致学习效率低下,而过度利用则可能陷入局部最优。这一权衡是强化学习理论研究的核心问题之一。
1.2.2 智能体与环境
智能体(Agent)是强化学习系统的核心组件,负责感知环境、执行动作、学习策略。一个典型的强化学习智能体通常包含以下几个组成部分:
策略(Policy)是智能体行为的核心,定义了智能体在给定状态下选择动作的方式。策略可以是确定性的(deterministic),表示为 $\pi: \mathcal{S} \rightarrow \mathcal{A}$,即每个状态对应唯一确定的动作;也可以是随机的(stochastic),表示为 $\pi: \mathcal{S} \times \mathcal{A} \rightarrow [0, 1]$,即给定状态下选择不同动作的概率分布。数学上,对于确定性策略,给定状态 $s$,智能体选择的动作为 $a = \pi(s)$;对于随机策略,给定状态 $s$,选择动作 $a$ 的概率为 $\pi(a|s) = P(a|s)$。
价值函数(Value Function)评估智能体在特定状态或状态-动作对下的长期价值。状态价值函数(state-value function)$V^\pi(s)$ 表示遵循策略 $\pi$ 时,从状态 $s$ 开始能够获得的期望累计奖励:
$$V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid S_0 = s \right]$$
其中 $\gamma \in [0, 1]$ 是折扣因子(discount factor),用于平衡即时奖励与长期奖励的重要性。$R_t$ 表示在时间步 $t$ 获得的即时奖励。
动作价值函数(action-value function)$Q^\pi(s, a)$ 则进一步考虑动作的选择:
$$Q^\pi(s, a) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid S_0 = s, A_0 = a \right]$$
模型(Model)是智能体对环境行为的认知,包括状态转移概率 $P(s'|s, a)$ 和奖励函数 $R(s, a)$。模型的存在使得智能体能够进行基于模型的强化学习(Model-Based Reinforcement Learning),通过模拟环境来规划动作;而没有模型的学习方法则称为无模型强化学习(Model-Free Reinforcement Learning)。
环境(Environment)是智能体外部的一切事物,是智能体与之交互的对象。环境根据智能体的动作给出新的状态和奖励。在数学上,环境通常被建模为一个马尔可夫决策过程。环境的特性——包括状态空间的大小、动作空间的类型、奖励信号的设计——直接影响着学习任务的难度和算法的选择。
在强化学习中,智能体与环境的交互是序贯决策(sequential decision making)的过程。智能体在每个时间步观察环境的状态,根据策略选择并执行动作;环境响应动作,转移到新状态并给予奖励;这个过程持续进行,直到任务完成或达到终止条件。整个交互过程可以用以下序列表示:
$$S_0, A_0, R_1, S_1, A_1, R_2, S_2, A_2, R_3, \ldots$$
1.2.3 状态与动作空间
状态和动作空间的性质是决定强化学习问题难度的关键因素。根据空间类型的不同,学习任务呈现出截然不同的特征。
状态空间(State Space)描述了环境可能呈现的所有情况。根据状态空间的大小,可以分为:
离散状态空间(Discrete State Space):状态空间包含有限个可数状态。例如,棋盘游戏中的不同棋盘布局、自动售货机的不同库存水平。在离散状态下,状态可以用整数或向量表示,便于存储和计算。
连续状态空间(Continuous State Space):状态空间包含无限个连续值。例如,机器人的位置和速度可以取任意实数值、股票的价格和交易量也是连续变化的。处理连续状态空间需要函数逼近(function approximation)技术,如深度神经网络。
高维状态空间(High-Dimensional State Space):当状态信息由多个维度共同描述时,即使每个维度是离散的,组合起来的状态空间也可能非常庞大。典型的例子是图像输入,围棋棋盘有 $3^{19\times19} \approx 10^{170}$ 种可能的局面,这一数字远超宇宙中原子总数的估计值。
动作空间同样可以分为离散动作空间(Discrete Action Space)和连续动作空间(Continuous Action Space)。离散动作空间下,智能体在有限个动作中进行选择,如上下左右移动、选择不同策略等。连续动作空间下,智能体需要输出具体的数值,如机器人关节的角度、车辆的转向角度等。
在连续动作空间中,动作通常是实数向量 $\mathcal{A} \subseteq \mathbb{R}^n$。处理连续动作的算法,如深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)、软演员-评论家(Soft Actor-Critic,SAC)等,需要特殊的网络架构来输出连续值。
值得注意的是,实际问题中的状态往往是部分可观测的(partially observable)。这引出了部分可观测马尔可夫决策过程(Partially Observable Markov Decision Process,POMDP)的概念。在POMDP中,智能体无法直接观察到环境的完整状态,只能获得与状态相关的观测(observation)。这更接近现实世界的实际情况,如自动驾驶汽车无法获得道路上所有车辆的精确信息,扑克玩家无法看到对手的手牌。
1.2.4 奖励信号与目标
奖励信号(Reward Signal)是强化学习区别于其他学习范式的核心特征之一。奖励是环境向智能体传递信息的主要方式,定义了学习的目标。与监督学习中的标签不同,奖励信号通常是由人工设计的,其设计质量直接影响智能体能否学习到期望的行为。
奖励函数 $R(s, a, s')$ 或 $R(s, a)$ 定义了在特定状态和动作下智能体获得的即时奖励。这个奖励是标量数值,可以是正数(表示好的行为)、负数(表示不好的行为)或零(表示中性行为)。智能体的最终目标是最大化长期累计奖励,而不仅仅是眼前的即时奖励。
累计奖励(Cumulative Reward)的定义为:
$$G_t = R_{t+1} + R_{t+2} + R_{t+3} + \cdots = \sum_{k=0}^{\infty} R_{t+k+1}$$
引入折扣因子 $\gamma$ 后,累计奖励变为:
$$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 = 0$ 时,智能体只关注即时奖励,表现为短视行为;当 $\gamma$ 接近 1 时,智能体会更多地考虑未来的长期收益。折扣因子不仅影响学习策略的远见性,还保证了数学上的便利性:当 $\gamma < 1$ 时,无限序列的和是有限的,这使得价值函数能够良好定义。
奖励设计(Reward Design)是强化学习应用中的关键挑战。设计者需要仔细考虑:什么行为应该被奖励?奖励的幅度应该是多少?如何平衡多个可能冲突的目标?设计不当的奖励可能导致智能体学习到意想不到的“捷径”策略。例如,如果只奖励机器人到达目标位置而惩罚到达障碍物,机器人可能学会直接冲向障碍物以快速获得负奖励从而“跳过”这一步,而不是学会避开障碍。
强化学习的目标是找到一个最优策略(Optimal Policy) $\pi^*$,使得对于任意初始状态 $s$,都能获得最大的期望累计奖励:
$$\pi^* = \arg\max_\pi V^\pi(s), \quad \forall s \in \mathcal{S}$$
这个目标通常通过策略迭代(Policy Iteration)或值迭代(Value Iteration)等方法来实现,我们将在后续章节中详细讨论。
1.3 强化学习与其他机器学习范式
1.3.1 机器学习的三种范式
理解强化学习,需要将其置于更广阔的机器学习背景下进行考察。机器学习根据学习方式的不同,通常分为三大范式:监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习。三者各有特点,适用于不同的应用场景。
监督学习是最常见的机器学习方法,其核心是从标注数据中学习输入到输出的映射关系。在监督学习中,每个训练样本由输入特征和对应的标签组成,学习算法通过最小化预测输出与真实标签之间的差异来优化模型。图像分类、语音识别、自然语言处理等任务通常采用监督学习方法。监督学习的优势在于学习目标明确、理论框架成熟、算法效率较高;其局限性在于过度依赖大规模标注数据,且难以处理需要序列决策的复杂任务。
无监督学习则从无标签数据中发现潜在的结构和模式。聚类、降维、生成模型等是无监督学习的典型应用。无监督学习不依赖人工标注,因此在标注成本高昂或数据量巨大的场景下具有独特优势。然而,无监督学习的学习目标通常不够明确,难以直接评估学习结果的质量。
强化学习处于一个独特的位置:它既不像监督学习那样依赖精确的标签,也不像无监督学习那样完全缺乏学习信号。强化学习通过奖励信号(reward signal)来指导学习,这是一种介于完全监督和完全无监督之间的弱监督形式。强化学习的独特之处在于其序贯决策(sequential decision making)的特性——当前的动作不仅影响即时奖励,还可能对未来的状态和奖励产生深远影响。
1.3.2 强化学习与监督学习的本质区别
强化学习与监督学习的核心差异体现在以下几个方面:
第一,学习信号的来源不同。 监督学习依赖于显式的标签(explicit labels),即每个输入都配有正确答案。例如,在图像分类任务中,每张图片都有明确的类别标签。强化学习则依赖于延迟的奖励(delayed reward),智能体执行动作后获得的反馈往往需要经过多个时间步才能真正体现动作的优劣。在下棋游戏中,一步棋的优劣可能要等到棋局结束才能判定。
第二,样本的独立性假设不同。 监督学习假设训练样本是独立同分布(Independent and Identically Distributed,I.I.D.)的,即每个样本之间没有关联。强化学习的样本具有时间依赖性(temporal dependency)——连续时间步的状态和动作是密切相关的,当前的状态是基于历史交互的结果。这种时间依赖性使得强化学习面临特殊的统计学挑战。
第三,探索与利用的权衡。 监督学习不需要考虑探索问题,因为样本的标签已经明确指出正确答案。强化学习则面临探索-利用困境(Exploration-Exploitation Dilemma):智能体需要在利用已有知识获取高奖励和探索未知状态以发现更好的策略之间做出权衡。这一权衡问题在监督学习中完全不存在。
第四,动作的影响范围不同。 在监督学习中,模型的输出是独立的预测,不会影响后续的输入。在强化学习中,智能体的动作会改变环境状态,从而影响后续的观测和可能的动作。这种交互性(interactivity)是强化学习的本质特征。
```mermaid graph LR subgraph 监督学习 A1[输入] -->