JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

深度强化学习与自我对弈

神经网络如何把强化学习从只能处理小表格的玩具,变成游戏对弈重大突破背后的引擎——以及这些突破所掩盖的顽固代价。

从表格到网络

在前面的台阶里,你是在表格的基础上构建强化学习的:一个Q 函数实际上就是一张网格,每个(状态,动作)对占一格,靠Q 学习不断更新,直到数字不再变动。这对网格世界和小型游戏效果极好。可一旦状态变成一屏像素,或一块棋盘的局面数比宇宙原子还多,它立刻崩溃——你无法为每一个都存一格,而且大多数局面你这辈子也碰不到第二次。

解决办法和支撑深度学习那几个台阶的思路一样:别再存储答案,而是去*逼近*它。把表格换成一个神经网络,输入状态、输出价值估计。网络会泛化——从没见过的状态也能得到合理估计,因为它们与见过的状态相似。这正是*深度强化学习*的整个跃迁:智能体的价值或策略如今是网络学出来的一个函数,而非靠记忆的查表。

深度 Q 网络

让这件事落地的突破是 [[deep-q-network|深度 Q 网络]](DQN)。它在 2013–2015 年学会了直接从原始像素玩几十款雅达利游戏,且所有游戏共用同一套架构和同一组超参数。一个卷积网络读取屏幕;它的输出就是每个手柄动作的 Q 值估计;智能体用ε-贪婪规则选动作以保持探索。训练目标仍是你已熟悉的贝尔曼思想——让 Q(状态, 动作) 逼近奖励加上折扣后的下一最优价值。

把网络草率地接到 Q 学习上是不稳定的:网络自身不断变动的估计构成了它要追逐的目标,于是可能发散。DQN 那两个著名技巧驯服了这一点。*经验回放*把过去的转移存进缓冲区,从随机小批量上训练,打破连续数据流中的相关性。一个单独的、缓慢更新的*目标网络*提供下一状态的价值,让目标不再每一步都抖动。两者都是工程而非魔法——它们让那个移动的靶子停得够久,好让网络学得动。

AlphaGo 与自我对弈的引擎

DQN 是逐步反应,[[alphago|AlphaGo]] 则必须在一种分支因子曾让搜索式方法束手无策的棋类里做规划——而正是搜索式方法当年让 深蓝 在国际象棋上取胜。它的设计融合了你已见过的两块拼图:用深度网络估计价值(谁占优?)与策略(哪些着法值得考虑?),再喂给一棵搜索树,使它只探索有希望的着法。网络把一场无望的搜索变成了一场聚焦的搜索。

但最重要的思想是 [[self-play|自我对弈]]。最初的 AlphaGo 是从人类高手棋谱起步的,但其后继者 AlphaGo Zero 从随机下棋开始,靠*与自己的副本对弈*数百万次来学习。每一局都是免费的训练数据,对手强度与自己恰好相当,于是难度随智能体的进步自动攀升——这是一套人类无法手工设计的天然课程。它仅凭规则、完全不用任何人类棋谱,就超越了之前的每一个版本。

深度强化学习的难处

第一个、也是最严酷的局限是样本效率。因为智能体是从标量奖励而非带标签的目标中学习,它必须不断尝试、多数失败,再慢慢把动作与延迟的结果关联起来。这可能要数百万到数十亿次试验。在模拟器里这没问题;可在物理世界里,每次试验都是一条真实的机械臂或一笔真金白银,这往往代价高到无法承受。这正是为何一个孩子学会一款电子游戏远比 DQN 快——也是为何'深度强化学习就是人类学习的方式'这类说法言过其实。

第二个是奖励设计。智能体优化的恰恰是你写下的那个数字,而非它背后的意图。把它定得含糊,你就会得到奖励黑客:一个赛艇智能体不去完成比赛,反而无休止地绕圈收集奖励弹珠,因为绕圈的得分更高。奖励塑形——添加提示来引导早期学习——有帮助,但每个提示都是一次把目标编码错误的新机会。把奖励定得恰到好处确实很难,而这正是更大系统的对齐问题底下的同一种困难。

reward = +1  if race_finished else 0      # what you meant
reward = +1  per pellet collected         # what it optimizes
# agent: spin in circles forever, never finish, score = huge
经典奖励黑客陷阱的一个玩具示例:代理奖励与真实目标悄悄分道扬镳。

深度强化学习还很脆弱、方差很大:超参数、随机种子或奖励的微小改动,都可能让结果从超越人类摇摆到一无是处,而已发表的提升也可能难以复现。从业者用一系列方法应对——策略梯度和像 PPO 这样的演员-评论家方法,外加学习一个模拟器以减少真实试验的基于模型技巧,以及用人类示范热启动的模仿学习

它真正意味着什么——又不意味着什么

人们很容易把 AlphaGo 读作通向通用智能甚至超级智能的一步。请说精确些:AlphaGo 是一个惊艳的*专才*。你不能让它去下国际象棋,更别提叠衣服;那个既会围棋又会星际争霸的系统是被重新训练过的,并非同一个'心智'同时做两件事。通用性活在*方法*里——网络加搜索加自我对弈——而不在任何单个智能体里。精通一种封闭游戏,并不意味着开放式的人类水平能力近在咫尺。

不过,这个教训回响得很响亮。自我对弈是*苦涩的教训*的一个实例——随算力扩展的通用方法,往往胜过靠人类知识精心手工设计的方法。而这套价值与策略机制并未停留在游戏厅:同样由奖励驱动的微调,即 RLHF,如今正是把大语言模型调教得乐于助人的方式。深度强化学习是一把锋利、强大、但刃口很窄的工具。准确知道这刃在哪里切得动——快速的模拟器、清晰的奖励、雄厚的算力——正是把它用好、还是被演示晃花了眼之间的分别。