跳到主内容
快讯直播
AI智模界
AI 词典

Q-Learning:给每个动作打分再挑最高分

一句话定义

Q-Learning 是一种强化学习(reinforcement learning)算法:它给“在什么状态下做什么动作”这件事逐一打分,这个分数叫 Q 值(Q-value),之后照着分数高的动作去执行。

分数是怎么记账的

先厘清三个词:状态(state)是当前处境,动作(action)是你能做的事,奖励(reward)是做完之后马上到手的好处或坏处。

打个比方:一位刚上岗的销售,不知道面对哪种客户该用哪套开场白。客户类型就是状态,开场白就是动作,客户是继续聊还是挂电话就是奖励。他做一次、记一笔:面对这类客户,用这套话术,加上后续可能带来的成交,长期看大概值多少分。这个“长期看值多少分”,就是 Q 值。

关键在于 Q 值算的不是眼前那一下,而是把未来的收益也折进来。更新逻辑可以粗略理解成:

新分数 = 老分数 + 学习率 ×(刚拿到的奖励 + 打折后的“下一步最高分” − 老分数)

括号里那一项是“实际比预期好多少”,算法只按这个差额修正,所以叫时序差分(temporal difference)。折扣因子决定你多看重远期收益——接近 0 就只顾眼前,接近 1 就愿意为长远忍耐。

学的时候,它并不总选最高分动作,否则永远发现不了更好的路。常见做法是留一个小概率随机试新动作,这叫探索与利用(exploration vs. exploitation)的权衡。

和相邻概念的区别

概念回答的问题输出
状态值函数 V(s)这个局面本身有多好一个分数
动作值函数 Q(s,a)在这个局面做这个动作有多好一个分数
策略 π到底该做什么动作或动作概率

策略是“怎么选”,值函数是“选得好不好”。Q-Learning 属于异策略(off-policy):它一边按探索规则行动,一边却在学最优策略下的 Q 值,两者可以不是同一套。相比之下,SARSA 学的是自己实际执行的那套策略。当状态多到一张表格装不下时,就用神经网络来拟合 Q 值,这就是 DQN 的思路——表变成了函数。

对从业者和普通人的实际意义

Q-Learning 适合这类问题:动作是可枚举的离散选项、能低成本反复试错、回报可以延迟。推荐排序、资源调度、游戏 AI、简单的机器人决策里都能见到它的影子。它的短板也明显:样本效率低,需要大量交互;Q 值容易高估;动作连续时不好直接套用,通常要换或改算法。具体实现细节以官方文档为准。

对普通人来说,它更像一种思路:把模糊的“经验”拆成“什么情况、我做了什么、结果如何”三类记录,持续修正预期,并刻意留一点空间去试没走过的路。很多凭感觉决策的场景,缺的正是这本账。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。