Skip to content

第16章 强化学习 ​

🎯 学习目标 ​

  • 理解强化学习的基本概念:状态、动作、奖励、策略
  • 掌握马尔可夫决策过程(MDP)的定义
  • 理解值函数和Q函数的概念
  • 了解Q-Learning和策略梯度方法

16.1 任务与奖励 ​

强化学习基本概念

强化学习(Reinforcement Learning, RL) 研究智能体(agent)如何在环境(environment)中学习,通过试错来发现能获得最大奖励的行为策略。

RL的核心要素

  • 智能体(Agent):学习和决策的主体
  • 环境(Environment):智能体交互的对象
  • 状态(State) s∈S:环境的当前情况
  • 动作(Action) a∈A:智能体可以执行的操作
  • 奖励(Reward) r:环境对智能体动作的即时反馈
  • 策略(Policy) π:状态到动作的映射,π(a|s)

交互循环

st→at→rt+1,st+1→at+1→…
  1. 智能体观察当前状态 st
  2. 根据策略π选择动作 at
  3. 环境转移到新状态 st+1,给予奖励 rt+1
  4. 重复上述过程

💡 RL vs 监督学习

  • 无直接监督信号:只有奖励反馈,没有正确答案标签
  • 延迟反馈:当前动作的结果可能在很久之后才显现
  • 探索与利用:需要在尝试新动作和使用已知好动作之间权衡
  • 序列决策:当前决策影响未来状态和奖励

累积奖励与回报

RL的目标是最大化累积奖励(return),而不仅仅是即时奖励。

回报定义

从时刻t开始的累积奖励(回报):

Gt=rt+1+γrt+2+γ2rt+3+…=∑k=0∞γkrt+k+1

γ∈[0,1] 是折扣因子(discount factor),控制未来奖励的重要程度。

折扣因子的作用

  • γ = 0:只关心即时奖励(短视)
  • γ → 1:平等对待所有未来奖励(远见)
  • 0 < γ < 1:近期奖励更重要,远期奖励逐渐衰减

折扣因子确保无限时间范围的回报有界,且符合"鸟在手胜于林中鸟"的直觉。

任务类型

  • 情节式任务(Episodic):有明确的终止状态,如棋局、游戏关卡。每个情节独立。
  • 持续式任务(Continuing):没有自然终止点,持续运行,如机器人控制、股票交易。

智能体在网格世界中学习找到最优路径,观察Q值的更新和策略的形成过程:

Q-Learning 网格世界

🤖0.0
0.0
0.0
0.0
0.0
0.0
0.0
🚧0.0
0.0
0.0
0.0
0.0
🚧0.0
0.0
0.0
0.0
🚧0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
🎯0.0
训练回合
0
当前步数
0
累计奖励
0.0
路径长度
1

图例说明

🤖智能体
🎯目标 (+100)
🚧障碍物 (-10)
↑↓←→最优动作方向

单元格数字为最大Q值,颜色深浅反映Q值大小

16.2 K-摇臂赌博机 ​

多臂赌博机问题

K-摇臂赌博机(K-armed Bandit) 是RL的简化版本,只有一个状态,用于理解探索与利用的权衡。

问题设定

  • 有K个摇臂(动作),每个摇臂的奖励服从未知分布
  • 每次选择一个摇臂,获得该摇臂的随机奖励
  • 目标:最大化T次拉动后的累积奖励

核心挑战:需要在探索(尝试未知摇臂以获取信息)和利用(选择当前最优摇臂)之间权衡。

动作价值

真实价值:q∗(a)=E[r|a]

估计价值(基于样本平均):Qt(a)=拉动a获得的奖励总和拉动a的次数

探索与利用策略

ε-贪心策略(ε-Greedy)

  • 以概率 1−ε 选择当前最优动作(利用):a∗=arg⁡maxaQ(a)
  • 以概率 ε 随机选择一个动作(探索)

简单有效,但探索效率较低(随机探索)。

UCB(Upper Confidence Bound)

选择具有最大上界置信区间的动作:

at=arg⁡maxa[Qt(a)+cln⁡tNt(a)]

Nt(a): 动作a被选择的次数;c: 控制探索程度的参数。UCB基于"乐观面对不确定性"原则,优先探索不确定的动作。

汤普森采样(Thompson Sampling)

贝叶斯方法,为每个动作维护奖励分布的后验:

  1. 为每个动作从其后验分布中采样一个期望奖励
  2. 选择采样值最大的动作
  3. 根据观测奖励更新后验分布

自然地平衡探索与利用,理论性质优秀。

💡 应用场景

  • 在线广告:选择展示哪个广告以最大化点击率
  • 临床试验:动态分配病人到不同治疗方案
  • 推荐系统:探索新内容 vs 推荐已知喜好

16.3 有模型学习 ​

马尔可夫决策过程(MDP)

马尔可夫决策过程(Markov Decision Process, MDP) 是RL的数学框架,由五元组 (S, A, P, R, γ) 定义。

  • S:状态空间
  • A:动作空间
  • P:状态转移概率,P(s′|s,a)
  • R:奖励函数,R(s,a,s′)
  • γ:折扣因子

马尔可夫性质:未来状态只依赖于当前状态和动作,与历史无关:

P(st+1|st,at,st−1,at−1,…)=P(st+1|st,at)

价值函数

  • 状态价值函数:Vπ(s)=Eπ[Gt|st=s],从状态s开始,遵循策略π的期望回报
  • 动作价值函数:Qπ(s,a)=Eπ[Gt|st=s,at=a],从状态s执行动作a后,遵循策略π的期望回报

贝尔曼方程与动态规划

贝尔曼期望方程

Vπ(s)=∑aπ(a|s)∑s′P(s′|s,a)[R(s,a,s′)+γVπ(s′)]

贝尔曼最优方程

V∗(s)=maxa∑s′P(s′|s,a)[R(s,a,s′)+γV∗(s′)]

最优策略:π∗(s)=arg⁡maxaQ∗(s,a)

动态规划算法

  • 策略迭代(Policy Iteration):策略评估(计算 Vπ)→ 策略改进(π′=greedy(Vπ))→ 重复直到收敛
  • 价值迭代(Value Iteration):直接迭代贝尔曼最优方程 → 收敛后提取最优策略

限制:需要完整的环境模型(P和R),且状态空间不能太大。

16.4 免模型学习 ​

蒙特卡洛方法

蒙特卡洛(Monte Carlo, MC)方法 通过完整的情节采样来估计价值函数,无需环境模型。

MC策略评估

  1. 按策略π运行一个完整情节,记录轨迹
  2. 对轨迹中每个状态s,计算从s开始的实际回报G
  3. 更新 V(s) 为访问s时获得的回报的平均值
  4. 重复1-3多个情节

优点:简单,无偏估计。缺点:需要等到情节结束,方差大。

时序差分学习

时序差分(Temporal Difference, TD)学习 结合MC和动态规划的思想,每一步都可以更新价值估计。

TD(0)算法

观察到转移 s→r,s′ 后,更新:

V(s)←V(s)+α[r+γV(s′)−V(s)]

TD目标:r+γV(s′);TD误差:δ=r+γV(s′)−V(s);α:学习率。

SARSA算法

On-policy TD控制算法,直接学习Q函数:

Q(s,a)←Q(s,a)+α[r+γQ(s′,a′)−Q(s,a)]

名称来源于更新使用的序列:(St,At,Rt+1,St+1,At+1)

Q-Learning算法

Off-policy TD控制算法,直接学习最优Q函数:

Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)−Q(s,a)]

关键区别:Q-Learning使用max选择下一动作(贪心),而SARSA使用策略实际选择的动作。

TD方法优点:可以在线学习(每步更新);适用于持续任务;通常比MC收敛更快。SARSA (on-policy) 更保守,Q-Learning (off-policy) 更激进。

16.5 值函数逼近 ​

函数逼近的必要性

当状态空间或动作空间非常大(连续、高维)时,无法为每个状态-动作对维护单独的Q值。值函数逼近 使用参数化函数近似价值函数。

V^(s,w)≈Vπ(s),Q^(s,a,w)≈Qπ(s,a)

其中 w 是可学习的参数向量。

常用函数逼近器

  • 线性函数:V^(s,w)=wTϕ(s),ϕ(s) 是特征向量
  • 神经网络:深度神经网络,自动学习特征表示(深度强化学习)
  • 核方法:基于核函数的非线性逼近

深度Q网络(DQN)

DQN(Deep Q-Network) 使用深度神经网络逼近Q函数,实现端到端的强化学习,是深度强化学习的里程碑。

DQN的关键技术

  • 经验回放(Experience Replay):将经验 (s,a,r,s′) 存入回放缓冲区,训练时随机采样batch,打破样本相关性,提高数据效率
  • 目标网络(Target Network):使用独立的目标网络计算TD目标,定期从主网络复制参数,稳定训练过程

DQN损失函数

L(w)=E[(r+γmaxa′Q^(s′,a′,w−)−Q^(s,a,w))2]

w− 是目标网络的参数。

💡 DQN的成就

DQN在多款Atari游戏上达到或超越人类水平,仅使用原始像素输入,展示了深度学习与强化学习结合的巨大潜力。

策略梯度方法

策略梯度(Policy Gradient)方法 直接参数化策略 π(a|s,θ),通过梯度上升优化策略参数。

REINFORCE算法

目标:最大化期望回报 J(θ)=Eπθ[G]

∇θJ(θ)=Eπθ[Gt∇θlog⁡πθ(at|st)]

参数更新:θ←θ+αGt∇θlog⁡πθ(at|st)

Actor-Critic方法

结合策略梯度和值函数逼近:

  • Actor:策略网络,决定动作
  • Critic:价值网络,评估状态/动作

用Critic的估计代替REINFORCE中的回报,降低方差。代表算法:A3C、DDPG、SAC、PPO等。

策略梯度优点:适用于连续动作空间;可以学习随机策略;有更好的收敛性保证。缺点:通常样本效率较低;容易陷入局部最优;方差较大,训练不稳定。

16.6 模仿学习 ​

模仿学习概述

模仿学习(Imitation Learning) 通过观察专家演示来学习策略,避免从零开始探索,加速学习过程。

行为克隆(Behavioral Cloning)

将模仿学习视为监督学习问题:

  1. 收集专家轨迹数据 D={(s1,a1∗),(s2,a2∗),…}
  2. 训练策略 πθ 使其最小化:
L(θ)=E(s,a∗)∈D[loss(πθ(s),a∗)]

问题:协变量偏移(covariate shift),学习的策略在未见状态上可能表现很差。

数据聚合(DAgger)

迭代地收集数据和训练策略,减轻协变量偏移:

  1. 初始化策略 π1
  2. 对于迭代 i = 1, 2, ...:用当前策略 πi 收集轨迹 → 请专家标注 → 聚合所有数据 → 训练新策略 πi+1

DAgger让策略在自己产生的状态分布上学习,提高泛化能力。

逆强化学习

逆强化学习(Inverse Reinforcement Learning, IRL) 从专家演示中推断奖励函数,然后用该奖励函数训练策略。

在许多任务中,设计奖励函数很困难,但容易获得专家演示。IRL假设专家的行为是某个奖励函数下的最优策略,通过观察专家行为来反推奖励函数。

最大熵IRL

假设专家策略不完全确定,遵循最大熵原则:

p(τ)∝exp⁡(∑tr(st,at))

通过最大似然估计学习奖励函数参数。

💡 应用

  • 自动驾驶:从人类驾驶行为学习驾驶策略
  • 机器人学习:从人类演示学习操作任务
  • 游戏AI:学习玩家偏好,生成有趣的对手

基于周志华《机器学习》教材