如果知道每个动作未来能拿多少分,决策就只需挑最高的。本文讲清 Q 学习如何用时间差分修正这张打分表,深度 Q 网络怎样用神经网络替代表格,以及经验回放与目标网络两个稳定技巧。

核心要点

  • Q 函数估计状态与动作的长期回报,有了它决策只需取最大
  • 经验回放打破样本相关性,让每条经历被反复利用
  • 目标网络提供滞后的学习目标,抑制自举更新的震荡

给每个动作打一个分

如果智能体知道在状态 s 下采取动作 a,未来总共能拿到多少回报,决策就变得简单:挑分数最高的动作即可。这个分数就是动作价值函数 Q(s, a)。Q 学习的核心,是让智能体通过不断试错,逐步修正这张巨大的打分表。

修正的依据来自一个递推关系:当前动作的分数,应等于立即得到的奖励,加上下一状态能取得的最好分数乘以折扣因子。智能体每次与环境交互,就拿实际观测去拉近两边的差距,这个差距在时间差分学习中称为 TD 误差。

从表格到神经网络

简单的 Q 学习用一张表存每个状态与动作组合的分数,但真实问题的状态多到无法枚举。屏幕上的一帧图像由成千上万个像素组成,可能的组合近乎无穷。深度 Q 网络(DQN)的做法是用神经网络近似这个函数:输入状态,输出每个动作的估计分数。

2013 年前后,DQN 在雅达利 2600 游戏上达到人类水平,让这一思路广为人知。它只用屏幕像素作为输入,同一套网络就能玩多种游戏,展示了看画面、学操作的可能性。但把函数近似与自举更新结合,训练并不稳定。

两个关键的稳定技巧

第一个技巧是经验回放(experience replay):把智能体的经历存进一个记忆池,训练时随机抽取过去的样本。这样打破了相邻样本之间的时间相关性,也让每条经验被反复利用,数据效率更高。

第二个技巧是目标网络:额外保留一份参数更新较慢的网络,用它来计算学习目标,每隔一段时间再把主网络的参数复制过去。这避免了追着自己尾巴跑的震荡。此后,双重 Q 学习、竞争网络与优先经验回放等改进陆续被提出。

局限与后续

DQN 主要面向离散动作,难以处理连续控制,也容易高估动作价值。策略梯度与演员评论家等方法因此在机器人控制中更为常用。不过,Q 学习所建立的用价值函数指导决策的框架,至今仍是强化学习课程的第一课。

常见问题

为什么不直接算出 Q 函数,非要学?

因为环境本身的规律往往未知或不便建模:你很难写出一条公式,描述游戏中每一步之后局面如何变化、奖励如何给出。Q 学习通过反复交互采样来近似这个函数,代价是需要大量样本,好处是不要求预先掌握环境的完整模型。

本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。