资讯

Q 学习是什么?通过试错学会每个动作值多少分

2026-11-053 分钟阅读百科
TL;DRQ 学习(Q-Learning)是 Christopher Watkins 在 1989 年提出的无模型强化学习算法,通过与环境交互不断更新状态-动作价值(Q 值),最终学到最优策略;2013 年 DeepMind 将它与深度神经网络结合提出 DQN,学会了玩雅达利游戏。

Q 学习(Q-Learning)是强化学习中最经典的算法之一,由 Christopher Watkins 在 1989 年的博士论文中提出。它是一种无模型的强化学习方法:智能体不需要事先知道环境的规律,只需要通过不断地尝试、观察结果,就能学会在每种情况下应该采取什么行动。

什么是 Q 值

Q 学习的核心是学习一个 Q 函数,Q 值表示“在某个状态下采取某个动作,之后一直按最优方式行动,预期能获得的总奖励”。字母 Q 来自英文的 Quality,表示这个动作的“质量”有多好。如果知道了每个状态下每个动作的 Q 值,决策就变得非常简单:每次都选择 Q 值最高的那个动作。

在状态和动作数量都不多的问题中,可以用一张表格来存储所有的 Q 值,称为 Q 表:每一行代表一个状态,每一列代表一个动作,格子里存着对应的 Q 值。一开始,表中的值都是随机的或者为零,智能体对环境一无所知。

它是怎么学习的

智能体在环境中反复地行动:在当前状态下选择一个动作,执行之后,观察得到的奖励和到达的新状态;然后用这次的经验来更新 Q 表中对应的值。更新的思路是:这个动作的价值,应该等于这一步得到的即时奖励,加上新状态下最好的那个动作的价值乘以一个折扣因子。把 Q 值朝着这个“目标值”调整一点,调整的幅度由学习率控制。随着经历的增多,Q 表中的值会逐渐变得准确。理论上已经证明,只要每个状态和动作都被充分地尝试,Q 学习最终能收敛到最优的 Q 值。

探索与利用

Q 学习面临一个经典的两难:如果总是选择当前 Q 值最高的动作,可能会错过一些还没尝试过、实际上更好的动作;如果总是随机地尝试,又无法利用已经学到的知识。常用的方法是 ε-贪婪策略:以一个较小的概率随机地选择动作进行探索,其余时候选择当前最好的动作,并且随着学习的进行,逐渐降低探索的概率。

Q 学习还有一个特点叫“离策略”:它在更新时假设之后会采取最优的动作,而不管智能体实际上采取的是什么动作,因此它可以从探索性的、甚至是别人的经验中学习最优策略。

深度 Q 网络

当状态非常多时,比如以游戏画面的像素作为状态,Q 表就会大到无法存储。2013 年,DeepMind 提出了深度 Q 网络(DQN),用一个深度神经网络来代替 Q 表,输入游戏画面,输出每个动作的 Q 值。为了让训练稳定,DQN 引入了经验回放和目标网络两项关键技术。2015 年发表在《自然》杂志上的成果显示,DQN 仅凭游戏画面和得分,就学会了玩几十款雅达利游戏,其中不少达到或超过了人类的水平,这是深度强化学习兴起的标志性事件之一。

相关话题与公司