来源:互联网 更新时间:2026-08-06 15:32
咱们今天来聊一个强化学习里非常核心的算法——Q-Learning。前面几篇文章,已经把基础概念、贝尔曼方程、无模型算法都过了一遍,现在终于要触及这片“深水区”了。本篇内容主要基于 Ketan Doshi 的博客专栏,同时参考了李宏毅老师的讲稿和《动手学强化学习》中的相关章节,后续还会延伸到强化学习在大语言模型中的应用。目标只有一个:用最简单直白的语言,把 Q-Learning 的原理和魅力讲清楚。

这是强化学习系列的第 6 篇文章。前 5 篇分别介绍了基础概念(两篇)、算法分类与贝尔曼方程、以及无模型算法(两篇)。如果你还没看过,建议先回头补一补,因为今天的内容会频繁用到那些知识。不过别担心,我会尽量让本文自成一体。
Q-Learning 是查找表方法中最有趣的一个,也是后续 Deep Q Learning(DQN)的基石。它维护一张 Q 表,这张表的行为状态,列为动作,每个单元格存储对应状态-动作对的估计 Q 值。初始时所有 Q 值均为 0,随着智能体与环境互动并收获反馈,算法会反复改进这些值,直到它们收敛到最优。更新的核心工具就是前面提过的贝尔曼方程。
咱们用一个简单游戏来演示。想象一个 3x3 的网格:玩家从“Start”方格出发,目标是到达“Goal”方格,到达后获得 5 分奖励。有些方格安全(Reward=0),有些危险(Reward=-10)。玩家在每个方格可以选择上下左右四个方向移动。
这样一来,一共有 9 个状态(每个格子一个),4 个动作,所以 Q 表是 9 行 4 列。初始所有 Q 值都是 0。比如单元格 ((2,2), up),它存储的就是在位置 (2,2) 执行“向上”动作的 Q 值。之后就是在互动过程中不断更新这些值。
智能体通过学习每个状态-动作对的最优 Q 值来找到最优策略。最优 Q 值(也称最优动作价值函数)代表在给定状态和动作下,按照最优策略能够获得的最大期望总回报。换句话说,它假设智能体在后续每一步都能选到最佳动作,是一个理想标杆。
最初智能体瞎选动作,但通过与环境交互,它会根据获得的奖励逐步调整 Q 值。这个流程和之前文章里讲的无模型方法类似,这里不再重复。Q-Learning 独特的地方在于它的更新方式——它用了一个基于贝尔曼方程的变体公式。
咱们通过一个具体步骤来感受一下。算法第 2 步,智能体利用 ε-贪婪策略从当前状态(S1)选一个动作(a1),执行它,然后获得奖励(R1)和下一个状态(S2)。接着第 4 步,算法需要用来自下一个状态的 Q 值来更新当前状态-动作对的 Q 值。
这里出现了 Q-Learning 的一个关键特点:下一个状态有很多可选动作,该用哪个?答案是——选下一个状态中 Q 值最高的那个动作(a4)。请注意,
简言之,每次更新涉及两个动作:
这种“双重动作”是 Q-Learning 的标签。听起来有点绕,但咱们接着看下一个时间步就明白了:此时下一个状态变成了当前状态,智能体再次用 ε-贪婪策略选动作。如果它偏向探索,选的动作(a2)可能与之前用来更新 Q 值的那个目标动作(a4)完全不同——它选了 a2。这意味着实际执行的动作和学习时用的目标动作不是同一个,所以这叫“离线策略(off-policy)学习”。
行为策略(beha vior policy)是智能体实际与环境互动时遵循的策略(比如 ε-贪婪),目标策略(target policy)是智能体希望学到的、能最大化回报的最优策略。离线策略指行为策略和目标策略不同;在线策略(on-policy)则是指它们相同。Q-Learning 属于前者。
游戏开始时,智能体对哪个动作好毫无头绪,所以 Q 表全是 0。随后它用 ε-贪婪策略选动作,从环境获取反馈,再用更新公式计算新 Q 值。这个新值就带上了实际观测到的奖励信息。
慢慢地,Q 表里的一方寸开始有了数据。但关键是,这些更新是随机的还是在向更准确的方向靠拢?答案显然是后者——这就是 Q-Learning 能收敛到最优值的奥秘。
乍一想,从任意初始估计出发,每次都拿新估计去更新旧估计,居然能得到更准的结果?这有点反直觉。其实原因在于:
更新公式包含三个项,按权重比例计算。其中两个是估计值(起初不准),但第三个项——获得的奖励——是来自环境的真实数据。正是这个“真”分量,让智能体能基于实际经验来修正自己的猜测。
我们盯住 Q 表里某个特定的单元格(比如状态 S3 和动作 a1),看它如何演变。第一次访问时它的值是 0,更新后基于 R1 有了一个初值。第二次访问时,Q 表里其他单元格也有了些填充,而且即使是同一状态-动作对,每次获得的奖励也可能不同——这反映了环境的动态性。
更关键的是,目标动作(图中用紫色表示)在每次访问中可能不同。我们把所有访问叠在一张图上,会发现:随着多次迭代,奖励的波动会逐渐稳定到它们的期望值,于是 Q 值也跟着趋向稳定。回顾定义:状态-动作值表示从特定状态执行特定动作后,按策略一直走到回合结束所能获得的平均总回报。多次重复后,平均值就是 Q 值。
奖励项会稳定,但更新公式里的另外两个估计项呢?起初它们很不准,但同样会通过实际观测慢慢修正。我们把目光聚焦在一个回合的最后两个时间步。当到达终止状态时,终止状态没有下一个状态,所以更新公式中的“max”项为 0——终止 Q 值的更新完全依赖实际奖励,不依赖任何估计。这样一来,终止 Q 值本身就非常可靠了。
然后,在后续回合中再次访问终止前的状态时,更新公式里的“max”项就得用这个已经较准的终止 Q 值。这就像是把精准度向上一时间步“回流”。如此反复,沿着路径从后往前,每个 Q 值都逐渐被实际数据“浸润”,准确性一路提升。
迭代越多,更精确的 Q 值就越远地传播到路径前方。每个单元格经过越来越多的更新,最终逼近最优。
Q 值变得更精确,但我们真正需要的是最优值。怎么知道正在接近它?别忘了,Q-Learning 隐式地使用 ε-贪婪策略来计算 Q 值。这种策略鼓励探索——探索的状态-动作对越多,就越有可能尝试过所有可能选项,从而找到真正的最优 Q 值。这就是 ε-贪婪策略最终能找到最优解的两个理由(虽然这里只是直观解释,但数学上严格证明是成立的)。
每迭代一次,Q 值就改善一点。当你运行足够多次,评估了所有可能性,再也找不到更好的 Q 值了,那就收敛了。
(此处保留 GPT4.0 的概括内容,但原文中没有给出具体文本,只有空段落,所以按原文处理)
Ondo将于今日上线股票永续合约
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
区块链OTC交易所有哪几家比较正规?
新破天一剑太极刀任务攻略 破天一剑怎么取太极刀
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
合集38个项目筹集5.406亿美元 Figure融资2亿
AMD英特尔集体失眠!英伟达Rosa CPU搭载Rigel核:单核性能碾压x86
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
五菱星光L六座新能源SUV上市:三版可选,中配12.28
抖音怎么取消申请退货退款?抖音上取消退货怎么操作
蚂蚁庄园今日答案7月21日(今日已更新) 蚂蚁庄园今天正确答案是什么呢
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
macOS 28将移除Rosetta 2兼容层,Intel应用面临运行危机
潜水员戴夫丛林DLC接吻的鱼任务攻略
电视剧《白领公寓》剧情介绍
探索我的世界材质包16x32x64x 解密我的世界材质包16x32x64x的魅力与技术
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc