深度解析 DeepMind 2025 Nature 论文:自动发现最先进的强化学习算法 (DiscoRL)

本文基于 DeepMind 发表于 Nature 的论文《Discovering State-of-the-Art Reinforcement Learning Algorithms》(Oh et al., 2025),系统梳理了 DiscoRL 的核心架构、数学原理与实验细节。

强化学习(RL)长期以来依赖人类专家的直觉来设计算法(如 Q-learning, PPO, MuZero 等)。而 DeepMind 的这项工作提出:如果让 AI 自己去“发现” RL 算法会怎样?

DiscoRL 成功发现了一种能在广泛任务上超越人类设计算法的全新 RL 规则。本文将为你剥丝抽茧,用最直观的类比和深度的原理解析,彻底搞懂这篇 Nature 论文。


一、 核心思想:元学习 (Meta-Learning) 的直观理解

要理解 DiscoRL,首先要理解它的底层框架——元学习 (Meta-Learning)

元学习不是学“某一个具体任务的答案”,而是学**“解决这一类任务的方法”本身**(Learn to learn)。

一个直观的类比:学生与教研员

  • 普通 RL(学生):学生做题,对答案,改错,目标是期末考试考高分。
  • 元学习(教研员):教研员不亲自考试,他的工作是**“观察几百个学生做题的过程,然后修改自己的教学方案/出题策略”**。如果教研员的方案足够好,任何一个新学生用这套方案,都能学得又快又好。

在 DiscoRL 中:

  • 128 个 Agent(学生):在各自的环境里打游戏,参数是 θ\thetaθ
  • Meta-Network(教研员):在外面看着这 128 个 Agent,参数是 η\etaη。它不直接告诉 Agent 怎么打游戏,而是给 Agent “出目标 (targets)”

二、 DiscoRL 的两套参数:η\etaηθ\thetaθ

论文中有两套核心参数,千万不能混淆:

维度 θ\thetaθ (学生) η\etaη (教研员)
身份 Agent 网络参数 Meta-network 网络参数
数量 128 套(每 agent 一套) 1 套(全局共享)
更新频率 每 batch 都更新(快内循环) 每 20 步内循环才反传一次(慢外循环)
学的内容 怎么在某一个游戏里得高分 “怎么出题让所有学生都学得快”
训完之后 丢弃(只是训练副产物) 保留下来,就是发现的 RL 算法本身

💡 核心认知η\etaη 训练好之后,带着这套 η\etaη 参数的 meta-network 本身,就是 DeepMind “发现”出来的那个新 RL 算法。Disco57 和 Disco103 的差别,本质上就是用了不同环境集合训出来的两套 η\etaη


三、 目标函数:J(θ)J(\theta)J(θ)J(η)J(\eta)J(η)

论文中反复出现的 JJJ 符号,代表的是目标函数 (Objective)

  • J(θ)J(\theta)J(θ):Agent 的目标。即单个 Agent 在单个环境里,用当前的策略能拿到多少累积奖励。
  • J(η)J(\eta)J(η):Meta-network 的目标。即跨所有环境、所有 Agent 的 J(θ)J(\theta)J(θ) 的期望。教研员的 KPI,就是所有学生的平均成绩。

内外循环的启动顺序:
教研员(η\etaη)和学生(θ\thetaθ)同时初始化,但内层循环必须先跑。学生先做 20 步题(更新 θ\thetaθ),教研员收集了这 20 步的反馈后,才进行第 1 次外层反传(更新 η\etaη)。

外层的更新公式是著名的元梯度 (Meta-Gradient)
∇ηJ(η)≈∇ηθ⋅∇θJ(θ) \nabla_\eta J(\eta) \approx \nabla_\eta \theta \cdot \nabla_\theta J(\theta) ηJ(η)ηθθJ(θ)
这就是“梯度的梯度”——把“学生整体进步”对“教研员参数 η\etaη”求梯度。


四、 Agent 的 5 个输出头 (Heads)

> 🖼️ **[此处可插入博客图片:Agent 与 Meta-network 架构图 (对应论文 Fig. 1b)]**

Agent 网络本质是一个共享主干(ResNet + LSTM)加上 5 个并列的输出口。这 5 个头可以类比为打游戏时的 5 种心理活动:

  1. π\piπ (策略):“我现在该按哪个键?”(必须有)
  2. y(s)y(s)y(s) (状态预测):“我对当前画面有什么感受?”(语义由 AI 自己学)
  3. z(s,a)z(s, a)z(s,a) (动作预测):“如果我按了这个键,后果会怎样?”(语义由 AI 自己学)
  4. q(s,a)q(s, a)q(s,a) (价值):“做这个动作能拿多少分?”(Retrace 计算,命脉)
  5. p(s,a)p(s, a)p(s,a) (辅助策略):“做完这个动作,下一步我打算怎么按?”(锦上添花)

谁来给这 5 个头出“标准答案 (Targets)”?

  • π,y,z\pi, y, zπ,y,z 的 target(即 π^,y^,z^\hat{\pi}, \hat{y}, \hat{z}π^,y^,z^)由 Meta-network (η\etaη) 自动生成。
  • q,pq, pq,p 的 target(即 q^,p^\hat{q}, \hat{p}q^,p^)由 经典 RL 方法(Retrace 和下一时刻策略)直接算出来。

⚠️ 极易绕晕的坑yyyzzz 是网络的输出,不是参数!产生它们的权重在 θ\thetaθ 里。Meta-network 实际只输出 3 个 target(π^,y^,z^\hat{\pi}, \hat{y}, \hat{z}π^,y^,z^),其权重在 η\etaη 里。


五、 方法论最大突破:Target 分布 vs Scalar Loss

论文明确指出:Meta-network 输出的是 target 分布,而不是 scalar loss (标量损失)

  • Scalar Loss(标量损失):就像老师只给你一个分数(“你这步操作扣了 5 分”)。
  • Target 分布:就像老师直接把标准答案拍在你面前(“你的输出应该长这样”)。

为什么 Target 分布更强?
因为 target 本身是不参与梯度反传的 (Stop-gradient)。如果用 scalar loss,你只能学到“对目标可导”的算法;而用 target 分布,Agent 只是在用 KL 散度去逼近这个目标,它完美兼容了像 Q-learning 这种包含 max 操作(不可导)的经典算法。
因此,Target 分布在数学上严格超集了 Scalar Loss。

⚠️ 注意:打破的是 scalar loss 瓶颈,而不是 scalar reward。环境给的 reward 全程都在用。


六、 杀手锏实验:“预测分支清零”

为了证明 yyyzzz 这两个完全由 AI 自动发掘的预测头不是摆设,论文做了一个极具冲击力的探针实验(Fig. 4e):

> 🖼️ **[此处可插入博客图片:预测分支清零对照实验柱状图 (对应论文 Fig. 4e)]**

操作:在 Meta-network 推理时,把 Agent 喂给它的 y,zy, zy,z 输入强行设为 0。

  • 弱清零:只在算 y^,z^\hat{y}, \hat{z}y^,z^ 时清零输入。结果性能显著下降,证明 Bootstrapping(自举)机制确实在被使用(Meta-network 需要用未来的 y,zy, zy,z 来推算现在的目标)。
  • 强清零:算策略目标 π^\hat{\pi}π^ 时也清零输入。结果性能下降得更厉害,证明 y,zy, zy,z 深度参与了策略更新本身,主动驱动了学习

这与消融实验的区别:
第 11 页的消融实验(去掉 y,zy, zy,z 导致 IQM 从 11.6 暴跌至 5.0,-57%)是从头重训没有 y,zy, zy,z 的版本;而清零实验是拿训好的模型做探针。两者互为佐证,把 y,zy, zy,z 的核心地位钉死。


七、 Scaling 与泛化:ProcGen 与 DMLab

DiscoRL 提出了算法发现的 Scaling Law:环境多样性越大,发现的算法越通用。

  • Disco57:只在 57 个 Atari 游戏上元训练。
  • Disco103:在 57 个 Atari + 16 个 ProcGen + 30 个 DMLab 上元训练。

为什么引入 ProcGen 和 DMLab?

  • ProcGen:程序化生成的 2D 游戏,每一局关卡都不同,专治“死记硬背”,逼迫算法学到真正的泛化。
  • DMLab-30:3D 第一人称视角任务,考察 3D 空间感知、记忆和导航。

结果表明,Disco103 在未见过的全新任务(如 Crafter, NetHack, Sokoban)上,Zero-shot 迁移能力远超 Disco57。这证明了:用复杂多样的环境去元学习,是确保发现的算法具有通用性的必要条件。


结语

DiscoRL 的出现,标志着强化学习研究从“手工设计算法”向“设计发现算法的过程”迈出了历史性的一步。它不仅在性能上压倒了人类设计的经典算法,更向我们展示了 AI 自动发掘出的学习规律(如自动涌现的 Bootstrapping)与人类几十年的智慧结晶不谋而合。

如果你对论文中的数学推导或代码实现有更多疑问,欢迎在评论区留言讨论!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐