强化学习解决的是序贯决策优化问题。智能体通过与环境的不断交互,根据环境反馈的奖励或惩罚来学习在不同状态下应采取的最优动作,目标是最大化累积奖励。
与监督学习、无监督学习的核心区别:
- 数据在序列交互中产生,非一次性给定
- 决策是序列决策,而非单步静态决策
- 学习依据是评价性反馈(奖励值),而非明确的正确标签
强化学习问题定义
强化学习基本概念
强化学习的基本框架包含以下要素:
| 要素 | 说明 |
|---|---|
| 智能体(Agent) | 执行动作并与环境交互的学习主体 |
| 环境(Environment) | 智能体所处的外部世界,对动作做出响应 |
| 状态 | 智能体在某一时刻对环境的观察描述 |
| 动作 | 智能体在某一状态下可采取的行为 |
| 奖励 | 环境对智能体执行某动作后给出的即时反馈(正数为奖励,负数为惩罚) |
| 策略 | 智能体选择动作的规则, 表示在状态 下选择动作 的概率 |
| 轨迹(Trajectory) | 智能体与环境交互产生的一系列状态-动作-奖励序列 |
交互过程:在时间步 ,智能体观察到状态 ,执行动作 ,环境返回奖励 ,智能体进入新状态 。
学习目标:找到最优策略 ,使得累计奖励的期望最大。累计奖励通常定义为回报(Return):
其中 为折扣因子,用于调节当前奖励与未来奖励的相对重要性。
马尔可夫决策过程(MDP)
强化学习问题通常被建模为马尔可夫决策过程。
定义:一个MDP由五元组 组成:
| 符号 | 含义 |
|---|---|
| 有限的状态集合 | |
| 有限的动作集合 | |
| 状态转移概率: | |
| 奖励函数: | |
| 折扣因子 |
马尔可夫性质:下一状态只依赖于当前状态和当前动作,与历史状态无关:
强化学习问题定义要素
强化学习在MDP框架下,需定义以下要素:
- 状态空间 :所有可能状态的集合
- 动作空间 :所有可能动作的集合
- 状态转移函数 :在状态 执行动作 后转移到状态 的概率
- 奖励函数 :在状态 执行动作 转移到 后获得的奖励
- 折扣因子 :权衡短期和长期奖励
贝尔曼方程
贝尔曼方程是强化学习的理论基石,它将状态价值函数进行递归分解。
状态价值函数
在策略 下,从状态 出发所能获得的期望累计回报:
动作价值函数
在策略 下,从状态 出发、执行动作 后所能获得的期望累计回报:
贝尔曼期望方程
将价值函数分解为即时奖励与后续状态价值之和:
贝尔曼最优方程
最优策略 下的价值函数满足:
基于价值的强化学习
基于价值的方法通过估计状态价值函数或动作价值函数,隐式地确定最优策略(通常为贪心策略)。
策略迭代的基本模式
策略迭代是求解MDP的经典方法,交替执行以下两步直至收敛:
- 策略评估:基于当前策略 ,计算其价值函数
- 策略改进:根据 更新策略,使用贪心策略
策略优化定理
定理:如果 是对 的贪心改进,即 对所有 成立,则 一定不比 差,即 。
这保证了策略迭代过程单调改善,最终收敛到最优策略。
策略评估方法
当状态转移概率已知时,可采用迭代方法进行策略评估。
迭代策略评估
从任意的初始价值函数 开始,使用贝尔曼方程迭代更新,直到收敛:
当 时, 。
基于价值的强化学习算法
Q-learning(Q学习)
Q学习是一种无模型、离策略的强化学习算法,直接学习最优动作价值函数 。
核心更新公式(时间差分更新):
- :学习率,控制新信息对Q值的影响程度
- :TD目标(Temporal Difference Target)
- :TD误差
Q表格:为每个状态-动作对维护一个Q值,最终策略为 。
特点:
- 离策略:学习最优Q值时采用的行为策略(如 -贪心)与学习的目标策略(贪心策略)可以不同
- 局限性:Q表格无法处理大规模或连续状态空间
SARSA(状态-动作-奖励-状态-动作)
SARSA是一种同策略算法,更新公式中使用实际执行的动作:
与Q-learning的区别:SARSA的更新依赖于实际采取的下一个动作 ,而Q-learning使用 。
探索与利用
强化学习中的核心矛盾:探索(Exploration)与利用(Exploitation)。
| 策略 | 说明 |
|---|---|
| 贪心策略 | 总是选择Q值最大的动作,只利用不探索 |
| -贪心策略 | 以概率 随机选择动作(探索),以 选择最优动作(利用)。 通常随时间衰减 |
| Softmax策略 | 根据Q值使用Boltzmann分布选择动作,Q值越高的动作被选中的概率越大 |
- 探索:尝试未执行过的动作,获取更多环境信息
- 利用:根据已有经验,选择已知最佳的动作
- 目标:在探索和利用之间找到平衡,以获得最大的长期回报
参数化与深度强化学习
参数化Q函数(DQN)
当状态空间巨大或连续时,无法用Q表格存储。Deep Q-Network(DQN)使用深度神经网络逼近Q函数: 。
DQN的关键技术
| 技术 | 作用 |
|---|---|
| 经验回放 | 将交互经验 存入回放池,训练时随机采样小批量数据,打破数据相关性,提高样本利用率 |
| 目标网络 | 使用独立的、定期更新的目标网络计算TD目标,缓解训练中的震荡和不稳定 |
DQN的损失函数:
- :当前Q网络参数
- :目标Q网络参数(定期从 复制)
- :经验回放池
基于策略的强化学习
基于价值的方法隐式推导策略(贪心),但在连续动作空间或随机策略场景下存在局限。基于策略的方法直接对策略进行参数化和优化。
策略梯度定理
目标函数: ,其中 为一条轨迹, 为参数化的策略。
策略梯度定理给出了目标函数关于策略参数 的梯度:
- 梯度方向使“好动作”(高Q值)的概率增大,“坏动作”(低Q值)的概率减小
基于蒙特卡洛采样的策略梯度法(REINFORCE)
REINFORCE 是最基本的策略梯度算法,使用蒙特卡洛采样估计梯度。
算法流程:
- 使用当前策略 采样完整的轨迹
- 对轨迹中的每一步,计算回报
- 更新参数:
特点:
- 无偏但高方差:使用真实回报 无偏估计梯度的幅值
- 需要等待轨迹结束才能更新(回合更新,非单步更新)
Actor-Critic算法
Actor-Critic结合了基于策略的方法(Actor) 和基于价值的方法(Critic):
| 组件 | 角色 | 功能 |
|---|---|---|
| Actor(演员) | 策略网络 | 决定在状态下该做什么动作 |
| Critic(评论家) | 价值网络 或 | 评价Actor的动作好坏,提供梯度更新信号 |
- Critic 使用TD误差代替REINFORCE中的回报 来估计梯度,显著降低方差
- Actor 根据Critic的评估信号更新策略参数
优势函数 ,衡量动作 比平均表现好多少。使用优势函数可以进一步降低方差:
深度强化学习的应用
深度强化学习在围棋游戏中的应用
AlphaGo 是深度强化学习的里程碑式应用,结合了以下技术:
| 技术 | 作用 |
|---|---|
| 监督学习(策略网络) | 从人类棋谱学习初始走棋策略 |
| 强化学习(策略提升) | 通过自我博弈提高棋力 |
| 价值网络 | 估计当前棋盘局面的胜率 |
| 蒙特卡洛树搜索(MCTS) | 在落子时进行前瞻搜索,选择最佳走法 |
AlphaGo在2016年击败了围棋世界冠军李世石,展示了深度强化学习的巨大潜力。
深度强化学习在实际应用中的问题
| 问题 | 说明 |
|---|---|
| 样本效率低 | 需要大量交互数据才能学到有效策略,在真实环境中成本高昂 |
| 奖励设计困难 | 复杂任务中,设计合适的奖励函数很困难;稀疏奖励导致学习缓慢 |
| 泛化能力差 | 训练环境和测试环境稍有不同,策略可能失效 |
| 稳定性问题 | 训练过程可能不稳定,收敛性难以保证 |
| 安全与伦理 | 探索过程中可能做出危险动作,部署前需在模拟器充分验证 |
小结
强化学习为智能体在环境中自主学习序列决策提供了理论框架和算法支持。
- MDP 是对序列决策问题的形式化建模
- 贝尔曼方程 将价值函数进行递归分解,奠定了求解基础
- 基于价值的算法(如Q-learning)通过学习最优Q函数导出策略
- 基于策略的算法(如REINFORCE、Actor-Critic)直接优化策略参数
- 深度强化学习(如DQN)利用神经网络处理高维状态空间,使得强化学习在围棋、游戏、机器人控制等领域取得了突破性进展