Appearance
第16章 强化学习
🎯 学习目标
- 理解强化学习的基本概念:状态、动作、奖励、策略
- 掌握马尔可夫决策过程(MDP)的定义
- 理解值函数和Q函数的概念
- 了解Q-Learning和策略梯度方法
16.1 任务与奖励
强化学习基本概念
强化学习(Reinforcement Learning, RL) 研究智能体(agent)如何在环境(environment)中学习,通过试错来发现能获得最大奖励的行为策略。
RL的核心要素
- 智能体(Agent):学习和决策的主体
- 环境(Environment):智能体交互的对象
- 状态(State)
:环境的当前情况 - 动作(Action)
:智能体可以执行的操作 - 奖励(Reward) r:环境对智能体动作的即时反馈
- 策略(Policy) π:状态到动作的映射,
交互循环
- 智能体观察当前状态
- 根据策略π选择动作
- 环境转移到新状态
,给予奖励 - 重复上述过程
💡 RL vs 监督学习
- 无直接监督信号:只有奖励反馈,没有正确答案标签
- 延迟反馈:当前动作的结果可能在很久之后才显现
- 探索与利用:需要在尝试新动作和使用已知好动作之间权衡
- 序列决策:当前决策影响未来状态和奖励
累积奖励与回报
RL的目标是最大化累积奖励(return),而不仅仅是即时奖励。
回报定义
从时刻t开始的累积奖励(回报):
折扣因子的作用
- γ = 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次拉动后的累积奖励
核心挑战:需要在探索(尝试未知摇臂以获取信息)和利用(选择当前最优摇臂)之间权衡。
动作价值
真实价值:
估计价值(基于样本平均):
探索与利用策略
ε-贪心策略(ε-Greedy)
- 以概率
选择当前最优动作(利用): - 以概率 ε 随机选择一个动作(探索)
简单有效,但探索效率较低(随机探索)。
UCB(Upper Confidence Bound)
选择具有最大上界置信区间的动作:
汤普森采样(Thompson Sampling)
贝叶斯方法,为每个动作维护奖励分布的后验:
- 为每个动作从其后验分布中采样一个期望奖励
- 选择采样值最大的动作
- 根据观测奖励更新后验分布
自然地平衡探索与利用,理论性质优秀。
💡 应用场景
- 在线广告:选择展示哪个广告以最大化点击率
- 临床试验:动态分配病人到不同治疗方案
- 推荐系统:探索新内容 vs 推荐已知喜好
16.3 有模型学习
马尔可夫决策过程(MDP)
马尔可夫决策过程(Markov Decision Process, MDP) 是RL的数学框架,由五元组 (S, A, P, R, γ) 定义。
- S:状态空间
- A:动作空间
- P:状态转移概率,
- R:奖励函数,
- γ:折扣因子
马尔可夫性质:未来状态只依赖于当前状态和动作,与历史无关:
价值函数
- 状态价值函数:
,从状态s开始,遵循策略π的期望回报 - 动作价值函数:
,从状态s执行动作a后,遵循策略π的期望回报
贝尔曼方程与动态规划
贝尔曼期望方程
贝尔曼最优方程
最优策略:
动态规划算法
- 策略迭代(Policy Iteration):策略评估(计算
)→ 策略改进( )→ 重复直到收敛 - 价值迭代(Value Iteration):直接迭代贝尔曼最优方程 → 收敛后提取最优策略
限制:需要完整的环境模型(P和R),且状态空间不能太大。
16.4 免模型学习
蒙特卡洛方法
蒙特卡洛(Monte Carlo, MC)方法 通过完整的情节采样来估计价值函数,无需环境模型。
MC策略评估
- 按策略π运行一个完整情节,记录轨迹
- 对轨迹中每个状态s,计算从s开始的实际回报G
- 更新 V(s) 为访问s时获得的回报的平均值
- 重复1-3多个情节
优点:简单,无偏估计。缺点:需要等到情节结束,方差大。
时序差分学习
时序差分(Temporal Difference, TD)学习 结合MC和动态规划的思想,每一步都可以更新价值估计。
TD(0)算法
观察到转移
TD目标:
SARSA算法
On-policy TD控制算法,直接学习Q函数:
名称来源于更新使用的序列:
Q-Learning算法
Off-policy TD控制算法,直接学习最优Q函数:
关键区别:Q-Learning使用max选择下一动作(贪心),而SARSA使用策略实际选择的动作。
TD方法优点:可以在线学习(每步更新);适用于持续任务;通常比MC收敛更快。SARSA (on-policy) 更保守,Q-Learning (off-policy) 更激进。
16.5 值函数逼近
函数逼近的必要性
当状态空间或动作空间非常大(连续、高维)时,无法为每个状态-动作对维护单独的Q值。值函数逼近 使用参数化函数近似价值函数。
其中 w 是可学习的参数向量。
常用函数逼近器
- 线性函数:
, 是特征向量 - 神经网络:深度神经网络,自动学习特征表示(深度强化学习)
- 核方法:基于核函数的非线性逼近
深度Q网络(DQN)
DQN(Deep Q-Network) 使用深度神经网络逼近Q函数,实现端到端的强化学习,是深度强化学习的里程碑。
DQN的关键技术
- 经验回放(Experience Replay):将经验
存入回放缓冲区,训练时随机采样batch,打破样本相关性,提高数据效率 - 目标网络(Target Network):使用独立的目标网络计算TD目标,定期从主网络复制参数,稳定训练过程
DQN损失函数
💡 DQN的成就
DQN在多款Atari游戏上达到或超越人类水平,仅使用原始像素输入,展示了深度学习与强化学习结合的巨大潜力。
策略梯度方法
策略梯度(Policy Gradient)方法 直接参数化策略
REINFORCE算法
目标:最大化期望回报
参数更新:
Actor-Critic方法
结合策略梯度和值函数逼近:
- Actor:策略网络,决定动作
- Critic:价值网络,评估状态/动作
用Critic的估计代替REINFORCE中的回报,降低方差。代表算法:A3C、DDPG、SAC、PPO等。
策略梯度优点:适用于连续动作空间;可以学习随机策略;有更好的收敛性保证。缺点:通常样本效率较低;容易陷入局部最优;方差较大,训练不稳定。
16.6 模仿学习
模仿学习概述
模仿学习(Imitation Learning) 通过观察专家演示来学习策略,避免从零开始探索,加速学习过程。
行为克隆(Behavioral Cloning)
将模仿学习视为监督学习问题:
- 收集专家轨迹数据
- 训练策略
使其最小化:
问题:协变量偏移(covariate shift),学习的策略在未见状态上可能表现很差。
数据聚合(DAgger)
迭代地收集数据和训练策略,减轻协变量偏移:
- 初始化策略
- 对于迭代 i = 1, 2, ...:用当前策略
收集轨迹 → 请专家标注 → 聚合所有数据 → 训练新策略
DAgger让策略在自己产生的状态分布上学习,提高泛化能力。
逆强化学习
逆强化学习(Inverse Reinforcement Learning, IRL) 从专家演示中推断奖励函数,然后用该奖励函数训练策略。
在许多任务中,设计奖励函数很困难,但容易获得专家演示。IRL假设专家的行为是某个奖励函数下的最优策略,通过观察专家行为来反推奖励函数。
最大熵IRL
假设专家策略不完全确定,遵循最大熵原则:
通过最大似然估计学习奖励函数参数。
💡 应用
- 自动驾驶:从人类驾驶行为学习驾驶策略
- 机器人学习:从人类演示学习操作任务
- 游戏AI:学习玩家偏好,生成有趣的对手