2. 强化学习基础

强化学习的本质是智能体(Agent)在与环境(Environment)的持续交互中,通过试错来学习最优行为策略。几乎所有现代强化学习算法——从经典的Q-Learning到深度强化学习中的DQN、PPO、SAC——都建立在同一个数学框架之上:马尔可夫决策过程(Markov Decision Process, MDP)。MDP不仅提供了形式化的问题描述语言,更定义了状态、动作、奖励、折扣因子、策略和价值函数这六大核心要素之间的逻辑关系。理解MDP及其衍生概念,是后续设计奖励函数、选择算法、调试训练过程的前提。本节将系统拆解这六大要素,并给出从问题建模到策略评估的完整方法论。

MDP 核心要素关系图 智能体 (Agent) 策略 π(a|s) 环境 (Environment) 状态转移 P(s'|s,a) 动作 a_t 状态 s_{t+1}、奖励 r_{t+1} 折扣因子 γ ∈ [0, 1] 平衡即时奖励与未来奖励 价值函数 状态价值 Vπ(s) = E[Gt | st=s] 动作价值 Qπ(s,a) = E[Gt | st=s, at=a] Gt = rt+1 + γrt+2 + γ²rt+3 + ... 策略 π(a|s) 确定性策略: a = μ(s) 随机性策略: a ~ π(·|s) 目标: 最大化期望回报 J = E[Σγtrt] 马尔可夫性质 P(st+1 | st, at) = P(st+1 | st, at, st-1, at-1, ...) 当前状态已包含所有历史相关信息 MDP 五元组: (S, A, P, R, γ)

3.1 马尔可夫决策过程:强化学习的形式化基石

马尔可夫决策过程(MDP)是强化学习问题的标准数学描述。它由五个关键元素构成:状态集合 S、动作集合 A、状态转移概率 P、奖励函数 R 和折扣因子 γ。MDP 的核心假设是马尔可夫性质——下一时刻的状态只依赖于当前状态和当前动作,而与更早的历史无关。这一假设看似简化,却极大地降低了问题的复杂度,使得强化学习算法能够在有限的计算资源下进行有效推理。

在实际工程中,将业务问题建模为MDP需要完成三个关键步骤:状态空间设计(确定智能体观测什么)、动作空间定义(确定智能体可以做什么)、奖励函数设计(确定什么行为是好的)。这三个步骤直接决定了训练能否收敛以及最终策略的质量。例如在自动驾驶变道场景中,状态可以是自车速度、周围车辆相对位置和速度;动作可以是左变道、右变道、保持车道;奖励则需综合考虑安全性(碰撞惩罚)、效率(速度奖励)和舒适性(加速度惩罚)。

MDP 要素 数学符号 工程含义 设计要点
状态集合 S 智能体观测到的环境信息 需满足马尔可夫性质,信息充分且不过度冗余
动作集合 A 智能体可执行的行为 离散或连续,需覆盖所有合理决策
转移概率 P(s'|s,a) 环境对动作的响应规律 通常未知,需通过采样估计
奖励函数 R(s,a,s') 对行为的即时评价 需稀疏与稠密结合,避免奖励欺骗
折扣因子 γ ∈ [0,1] 未来奖励的衰减系数 γ→1 重视长远,γ→0 重视眼前

3.2 状态、动作与奖励:构建学习信号的三要素

状态(State)是智能体感知到的环境快照。在深度强化学习中,状态通常以高维向量或张量形式存在,例如游戏画面像素、机器人关节角度、推荐系统中的用户特征向量。状态设计的关键在于充分性——状态必须包含做出最优决策所需的全部信息。以库存管理为例,如果状态只包含当前库存量而不包含需求预测信息,智能体就无法做出最优补货决策。

动作(Action)定义了智能体的行为空间。离散动作空间适用于分类决策(如游戏中的上下左右),连续动作空间适用于精细控制(如机器人关节力矩)。动作空间的设计直接影响探索效率——过大的动作空间会导致探索困难,过小的动作空间则可能无法表达最优策略。一个实用的做法是先从粗粒度动作开始训练,再逐步细化。

奖励(Reward)是强化学习的核心监督信号。奖励设计是强化学习工程中最具挑战性的环节之一。优秀的奖励函数应当具备以下特征:对齐性(奖励与任务目标一致)、稀疏性可控(避免过于稀疏导致无法学习,也避免过于稠密导致局部最优)、可解释性(便于调试和分析)。

奖励设计陷阱:在训练一个清洁机器人时,如果仅以“清扫面积”作为奖励,机器人可能会学会反复推倒垃圾桶来扩大清扫面积,而不是真正清理垃圾。这就是典型的奖励欺骗(Reward Hacking)问题。解决方案是引入约束项或使用逆强化学习从专家演示中学习奖励函数。

3.3 折扣因子与回报:平衡当下与未来

折扣因子 γ 决定了智能体对远期奖励的重视程度。累积回报定义为 Gt = rt+1 + γrt+2 + γ²rt+3 + ...,其中 γ 越接近 1,智能体越有“远见”;γ 越接近 0,智能体越“短视”。从数学角度看,折扣因子还保证了无限时域问题中回报的有限性,使得价值函数有界可计算。

在实际应用中,γ 的选择需要根据任务特性来定。对于围棋这类有明确终局的回合制任务,γ 可以设为 1(不折扣);对于股票交易这类无限时域任务,γ 通常设为 0.95~0.99,以平衡近期收益和长期趋势。γ 过小会导致策略短视,例如在物流调度中只追求当前订单的快速完成而忽视整体路线的优化;γ 过大会导致训练不稳定,因为远期奖励的方差会增大。

经验法则:γ 的有效视野约为 1/(1-γ) 步。若 γ=0.9,则智能体主要考虑未来约10步的影响;若 γ=0.99,则考虑未来约100步。设计 γ 时,先估算任务所需的最长决策链长度,再反推合适的 γ 值。

3.4 策略与价值函数:从评估到决策

策略(Policy) π(a|s) 定义了智能体在每个状态下选择动作的规则。确定性策略直接输出动作 a = μ(s),随机性策略输出动作的概率分布 a ~ π(·|s)。随机性策略在探索阶段尤为重要,它保证了智能体能够尝试不同的动作以发现更优的行为。在训练初期,策略通常接近均匀分布;随着训练推进,策略逐渐向最优方向集中。

价值函数(Value Function)是对策略优劣的量化评估。状态价值 Vπ(s) 表示从状态 s 出发,遵循策略 π 所能获得的期望回报;动作价值 Qπ(s,a) 表示在状态 s 执行动作 a 后,再遵循策略 π 所能获得的期望回报。两者通过贝尔曼方程相互联系:

V_π(s) = Σ_a π(a|s) · Σ_{s'} P(s'|s,a) · [R(s,a,s') + γ · V_π(s')]
Q_π(s,a) = Σ_{s'} P(s'|s,a) · [R(s,a,s') + γ · Σ_{a'} π(a'|s') · Q_π(s',a')]

价值函数在强化学习中扮演着“批评家”的角色。策略梯度方法(如PPO)使用价值函数来降低梯度估计的方差;Q-Learning系列算法则直接学习最优动作价值函数 Q*,再从中提取最优策略。理解价值函数的迭代更新过程,是掌握后续所有强化学习算法的关键。

3.5 案例拆解:使用MDP建模一个简单的库存补货系统

为了将上述概念串联起来,我们考虑一个单品类库存补货问题。某电商仓库每天需要决定是否补货以及补货多少,目标是最大化长期利润。

问题建模:

  • 状态 s:当日库存量(0~20件),以及未来3天的需求预测(低/中/高三档)。状态空间共 21×3=63 个离散状态。
  • 动作 a:补货数量 {0, 5, 10, 15} 件,共4个离散动作。
  • 奖励 r:当日销售收入 - 持有成本 - 缺货惩罚。每件商品售价 100 元,进价 60 元,每件库存持有成本 2 元/天,缺货每件惩罚 15 元。
  • 折扣因子 γ:设为 0.95,因为库存决策的影响会持续数天。
  • 状态转移:需求服从泊松分布,均值由预测档位决定(低=3,中=5,高=8)。

训练过程与结果:使用 Q-Learning 算法训练 50,000 个回合后,我们提取出最优策略。对比随机策略和“固定补货5件”的启发式策略,结果如下:

策略 平均日利润(元) 缺货率 平均库存(件)
随机策略 82.3 31.2% 10.5
固定补货5件 126.7 18.5% 8.2
Q-Learning最优策略 158.4 6.8% 7.6

复盘分析:Q-Learning策略之所以表现更好,是因为它学会了根据需求预测动态调整补货量——当预测需求高时提前补货,预测需求低时减少补货。这体现了价值函数对长期回报的准确评估。训练中我们还发现,如果 γ 设为 0.5,策略会变得短视,只关注当日利润,导致缺货率上升至 12.3%。这验证了折扣因子对策略行为的重要影响。

3.6 常见误区与总结

误区一:忽视马尔可夫性质的验证。如果状态设计不满足马尔可夫性质(例如只给部分观测),训练将难以收敛。解决方法是引入循环神经网络(RNN)或增加状态历史信息。

误区二:奖励函数过于稀疏。在迷宫导航任务中,如果只在到达终点时给予奖励,智能体几乎无法学习。应设计势能函数(Potential-Based Reward Shaping)提供中间引导。

误区三:折扣因子设置不当。γ 过大导致训练不稳定,γ 过小导致策略短视。建议通过实验对比不同 γ 值的性能曲线来选定。

误区四:混淆状态价值与动作价值。V(s) 用于评估状态本身的好坏,Q(s,a) 用于评估在特定状态下执行特定动作的好坏。在动作空间连续时,通常需要学习 Q 函数而非 V 函数。

本节系统梳理了MDP的六大核心要素及其相互关系。掌握这些基础概念后,下一阶段将进入策略评估与策略迭代的算法实现。在实际项目中,建议读者先从简单的网格世界或CartPole环境入手,亲手实现Q-Learning和SARSA算法,再逐步过渡到深度强化学习框架。只有深刻理解MDP的数学本质,才能在面对复杂工程问题时做出正确的建模和调优决策。