跳转到内容

Q学习

本页使用了标题或全文手工转换
维基百科,自由的百科全书

Q学习(英語:Q-learning)是强化学习中一种经典的无模型离策略时序差分控制算法。该算法由克里斯托弗·沃特金斯英语Christopher Watkins于1989年在其博士论文中提出[1],其收敛性由沃特金斯和彼得·达扬英语Peter Dayan于1992年证明[2]

Q学习的核心思想是直接学习最优动作价值函数,而不需要建立环境的转移模型。算法名称中的“Q”代表“Quality”(质量),表示在特定状态下采取特定动作的期望长期回报[3]。Q学习是后来深度Q网络等深度强化学习方法的理论基础。

算法

[编辑]

基本原理

[编辑]

Q学习维护一个函数 ,用于估计在状态 下执行动作 后所能获得的最大期望累积折扣奖励。算法的目标是使 逐步逼近贝尔曼最优方程所定义的最优动作价值函数

马尔可夫决策过程的值迭代不同,Q学习不需要知道转移概率 ,而是通过与环境的实际交互来采样更新。

更新规则

[编辑]

在每一步交互中,智能体在状态 下执行动作 ,观察到奖励 和新状态 ,然后按以下规则更新 值:

其中:

  • 学习率,控制新信息覆盖旧估计的程度;
  • 为折扣因子, 越大则越重视长远奖励;
  • 方括号内的量 称为时序差分误差(TD error)。

伪代码

[编辑]
初始化 Q(s, a) 为任意值(通常为零),对所有终止状态 s 设 Q(s, ·) = 0
对每个回合(episode):
    初始化状态 s
    重复(对回合中的每一步):
        用基于 Q 的策略(如 ε-贪心)从状态 s 选择动作 a
        执行动作 a,观察奖励 r 和新状态 s'
        Q(s, a) ← Q(s, a) + α [r + γ max_a' Q(s', a') - Q(s, a)]
        s ← s'
    直到 s 为终止状态

离策略特性

[编辑]

Q学习是一种离策略算法:更新规则中使用 ,即始终以贪心策略作为更新目标,而智能体实际执行的行为策略可以是其他任意策略(如 -贪心策略)[3]。这意味着Q学习所学到的 函数直接逼近最优动作价值函数 ,与行为策略无关。

作为对比,SARSA是一种在策略算法,其更新目标使用行为策略实际选择的下一个动作 ,而非贪心动作。

探索与利用

[编辑]

Q学习的效果依赖于智能体能充分探索状态-动作空间。如果智能体总是贪心地选择当前估计最优的动作(纯利用),则可能陷入次优策略而错过更好的选择。为此,通常采用以下探索策略[3]

  • -贪心策略:以概率 选择当前Q值最高的动作,以概率 随机选择一个动作。 通常随训练推进逐渐衰减。
  • 玻尔兹曼探索:按 的概率分布选择动作,温度参数 控制探索程度。
  • UCB(Upper Confidence Bound,置信上界)策略:综合考虑动作的估计价值和被选择次数,优先探索不确定性大的动作。

收敛性

[编辑]

沃特金斯和达扬(1992)证明了以下收敛定理[2]

在有限马尔可夫决策过程中,若满足以下条件:

  1. 状态空间和动作空间均有限;
  2. Q值以表格形式存储(即精确表示);
  3. 每个状态-动作对被无限次访问;
  4. 学习率 满足

以概率1收敛到最优动作价值函数

约翰·齐齐克利斯英语John Tsitsiklis于1994年利用随机近似英语Stochastic approximation理论给出了更一般化的收敛证明[4]

函数近似与深度Q网络

[编辑]

表格方法的局限

[编辑]

Q学习最基本的实现方式是用一个表格(Q-table)存储每个状态-动作对的Q值。但在状态空间或动作空间很大(甚至连续)的问题中,表格方法在存储和计算上都不可行。为此,需要使用函数近似来表示Q值,例如线性回归人工神经网络

深度Q网络

[编辑]

深度Q网络(Deep Q-Network,DQN)由DeepMind团队于2013年提出并在2015年发表于《Nature[5],使用深度卷积神经网络来近似Q函数。DQN引入了两项关键技术来解决使用非线性函数近似时的训练不稳定问题:

  • 经验回放:将每步交互的数据 存入缓冲区,训练时从缓冲区中随机采样小批量数据进行更新,打破连续样本之间的时间相关性。
  • 目标网络:使用一个参数更新较慢的副本网络来计算TD目标值,减少更新目标的振荡。

DQN在49款Atari游戏上达到或超越人类水平的表现,标志着深度强化学习时代的开始。

后续改进

[编辑]

DQN之后出现了一系列改进算法:

  • Double DQN[6]:使用在线网络选择动作、目标网络评估Q值,缓解DQN对Q值的系统性高估。
  • Dueling DQN:将网络结构分为状态价值流和优势函数流,提升对无关动作状态的价值估计。
  • 优先经验回放:按TD误差大小赋予样本不同的采样概率,优先学习“惊讶”程度高的经验。
  • Rainbow:将上述多种改进统一在一个框架中,取得了当时的最优性能。

与SARSA的比较

[编辑]
特性 Q学习 SARSA
策略类型 离策略 在策略
更新目标 由行为策略选出)
收敛目标 最优策略的 当前行为策略的
探索时的行为 更激进,可能忽略探索带来的风险 更保守,会考虑探索策略下的实际风险

在有悬崖或陷阱的环境中,SARSA倾向于学到更安全但可能较慢的路径,而Q学习倾向于学到最短但可能经过危险区域的路径[3]

应用

[编辑]

Q学习及其变体已被应用于众多领域:

  • 游戏:DQN在Atari游戏中展现了超越人类的表现;AlphaGo的早期版本也部分借鉴了Q学习的思想。
  • 机器人控制:用于训练机器人的运动控制、抓取和导航策略。
  • 推荐系统:将用户与系统的交互建模为序列决策过程,利用Q学习优化长期用户满意度。
  • 网络优化:用于通信网络中的路由选择、资源分配和拥塞控制。
  • 自动驾驶:在模拟环境中训练车辆的决策策略,如车道保持、超车和交叉路口通行。

参考文献

[编辑]
  1. ^ Christopher J. C. H. Watkins. Learning from Delayed Rewards (学位论文). King's College, Cambridge. 1989. 
  2. ^ 2.0 2.1 Christopher J. C. H. Watkins; Peter Dayan. Q-learning. Machine Learning. 1992, 8 (3–4): 279–292. doi:10.1007/BF00992698. 
  3. ^ 3.0 3.1 3.2 3.3 Richard S. Sutton; Andrew G. Barto. Reinforcement Learning: An Introduction 2nd. MIT Press. 2018. ISBN 978-0-262-03924-6. 
  4. ^ John N. Tsitsiklis. Asynchronous stochastic approximation and Q-learning. Machine Learning. 1994, 16 (3): 185–202. doi:10.1007/BF00993306. 
  5. ^ Volodymyr Mnih; et al. Human-level control through deep reinforcement learning. Nature. 2015, 518 (7540): 529–533. doi:10.1038/nature14236. 
  6. ^ Hado van Hasselt; Arthur Guez; David Silver. Deep Reinforcement Learning with Double Q-learning. Proceedings of the 30th AAAI. 2016: 2094–2100. arXiv:1509.06461可免费查阅. 

参见

[编辑]