Tracks
如果您训练过神经网络,很可能已经调用过成千上万次的 optimizer.step()。您知道它会使用计算得到的梯度来更新模型权重并降低训练损失,故事通常到此为止。
但嵌套学习要求您以不同的方式看待优化器。它将 Adam 之类的自适应优化器解释为具有自身随时间演化状态的学习过程。嵌套学习由 Google Research 在 NeurIPS 2025 论文《Nested Learning: The Illusion of Deep Learning Architectures》中提出。
在本文中,我们将探讨什么是嵌套学习、它如何工作、为何重要,以及 Hope 架构如何将其付诸实践。如果您之前用过 Adam 或 SGD 训练模型,已经具备理解本文所需的背景。
要点速览
- 嵌套学习是 Google Research 提出的机器学习范式,将模型视为一组以不同速度学习的嵌套优化问题,而非由独立优化器训练的一套统一架构。
- 它瞄准灾难性遗忘:在新数据上微调会覆盖模型已有知识的问题,这是使持续学习变难的主要原因。
- 核心转变在于把架构与优化器视为同类事物——以不同速率更新的不同学习层级,使新信息可通过“快”组件进入,而不会抹去“慢”而稳定的知识。
- Hope 是论文的概念验证架构:一种可自我修改的 Titans 变体,配合连续体记忆系统(CMS),记忆模块以一系列速度更新,而非固定的短期/长期二元划分。
- 在论文实验中,Hope 在语言建模和常识推理上优于 Titans、Samba 和标准 Transformer,并在长上下文检索与持续学习任务中表现稳健。
- 这仍属早期研究。尚无官方实现,也没有可直接
pip install的版本,只有社区在 GitHub 上的复现,因此应将其视为值得关注的方向,而非可立即商用的方案。
什么是嵌套学习?
嵌套学习是一种机器学习范式,它不把单个模型视为由独立优化器训练的一套架构,而是视为一组各自以自身速度学习的嵌套优化问题。它将模型的架构与训练算法重新框定为同类事物——同时运行并适应的不同学习层级。
它将一个机器学习系统组织为在不同时标上运作的多个学习层级。
- 参数层级在成千上万次训练步骤中缓慢学习。
- 记忆层级决定在近期输入中要保留哪些信息。
- 优化器层级学习如何更新其下方的层级。
更高层级可以影响更低层级的行为,这使得结构具有层次性,而不只是模块化。
嵌套学习的关键原则
嵌套学习遵循以下四项关键原则:
- 架构与优化同属一个学习系统。在嵌套学习中,优化器成为学习过程的一部分,并可随时间自适应。
- 不同组件以不同速度学习。模型的核心参数可能在数千个样本上缓慢更新,而短期上下文机制会在每个新输入时更新,记忆系统的更新速度介于两者之间。
- 深度来自嵌套的学习过程。传统深度学习通过堆叠网络层来获得深度。嵌套学习通过叠加多个学习与自适应层级来获得深度,其中参数、记忆系统、优化器和更新机制都可在不同时间尺度上学习。
- 部署后仍可继续学习。记忆系统与学习机制等组件也可在推理阶段继续适应。
嵌套学习 vs 传统深度学习
多年来,我们依赖于深度学习架构:数据流经神经网络,评估模型预测与真实值之间的误差(称为损失),并运行优化器来调整模型参数以降低该误差。
重复上述过程直到模型足够好。然后冻结参数并部署模型。从那以后,它不再从新输入中学习,不适应数据分布变化,也不会随着使用而改进。
嵌套学习改变了这一点。除了模型参数外,记忆模块、优化器和其他组件也会随时间持续学习。
|
维度 |
传统深度学习 |
嵌套学习 |
|
深度 |
通过堆叠神经网络层获得深度。 |
通过将学习过程嵌套在彼此之内获得深度。 |
|
学习 |
主要在训练期间发生。 |
训练期间发生,且部署后继续。 |
|
优化器 |
用于更新模型权重的固定工具。 |
可学习并更新自身规则的自适应组件。 |
|
记忆 |
编码在模型参数与短期上下文中。 |
存在于多个层级与时间尺度上。 |
|
推理 |
模型权重是固定的。 |
某些组件在推理期间仍可继续适应。 |
为何嵌套学习重要
模型通过更新参数来学习新信息,但同样的更新也可能覆盖先前学到的知识。这种现象称为灾难性遗忘。
研究者提出了诸如冻结层、Elastic Weight Consolidation(EWC)等正则化方法,以及回放缓冲等技术,以在学习新任务时保留既有知识。但这些方法旨在防止模型遗忘,并未从根本上改变学习发生的方式。
嵌套学习认为,这种单一时间尺度的方法正是持续学习依然困难的原因之一。它不是依赖单一参数集来吸收每一条新信息,而是将适应分散到多个学习层级。
不同层级以不同速度适应,使得在不不断重写旧知识的情况下纳入新信息成为可能。这一思想部分受人类认知的启发。毕竟,并非所有学习都以同一速度发生:
- 反射几乎可以瞬时适应。
- 短期记忆在数分钟或数小时内形成。
- 信念、习惯与专业技能可能需要数月或数年发展。
嵌套学习如何工作
嵌套学习将一个机器学习系统组织成多个层级,每个层级都是具有自身角色与更新速度的独立学习过程。要理解其工作原理,逐一走过各层级并看它们如何连接会很有帮助。

参数层级
参数是神经网络中的权重,存储模型从训练数据中学到的内容。训练期间,优化器会在每个批次后使用计算得到的梯度更新这些权重。
每次更新幅度都很小,因此有意义的变化会在许多训练步骤中逐步发生。结果是,参数层级学得稳定、长期的知识,但对新信息的适应较慢。
记忆层级
记忆层级捕捉近期输入中的信息,而这些信息对于适应过慢的参数层级来说难以及时学到。
它并非存储所见的一切,而是保留最有用的信息并丢弃其余内容。这使模型能够适应新上下文,而无需立刻更新其长期知识。
优化器层级
优化器决定训练期间应如何更新模型参数。它利用基于模型预测计算得到的梯度来确定每次更新的幅度与方向。
Adam 等自适应优化器不仅使用当前梯度,还会跟踪近期的梯度历史,并在计算下一次参数更新时使用这些历史信息。
如果 Adam 已经在做这些,嵌套学习还能带来什么?
不同之处在于可被学习的内容。在标准深度学习中,Adam 更新其状态的规则在训练开始前即被固定,并不会改变。Adam 会自适应参数,但没有任何东西来适应 Adam 本身。
嵌套学习在优化器之上引入了元学习过程,能够评估优化器的表现并随时间修改其规则。优化器不再是固定的基础设施,而是自身也可以改进的对象。
层级如何交互
这些不同层级并非各自为政。信息在层级之间流动,每个层级都会影响其他层级随时间的学习方式。
- 参数层级通过训练逐步构建长期知识。
- 记忆层级提供近期上下文,帮助系统更快地响应新信息。
- 优化器决定参数如何被更新。
这些层级协同作用,使模型在短期适应与长期学习之间取得平衡。
Hope 架构
Hope 是论文的概念验证架构,是 Titans 架构的自我修改变体,Google 用它来检验嵌套学习在实践中是否奏效。它将可重写自身更新规则的记忆与连续体记忆系统结合,从而能以多种速度持续学习,而不是在训练后冻结。
自我修改的 Titans
Titans 包含用于存储模型认为出人意料或重要信息的记忆模块。模型不仅依赖参数,还通过这些记忆模块将有用信息带入后续步骤。
Hope 更进一步。随着新数据进入,记忆模块会持续更新。系统也会调整其用于未来更新的规则。这正是其被称为自我修改架构的原因。
连续体记忆系统
多数记忆架构将记忆划分为两类:短期与长期。信息要么保存在快速、临时的存储中,要么被巩固进稳定的长期存储。Hope 用连续体取代这种二元划分,即一系列以不同速度更新的记忆模块。
一些记忆组件快速更新,用于捕捉最新信息;另一些则更缓慢地变化,以保留在更长时间里累积的稳定知识。这意味着新信息可以先通过快速更新的层进入,而不会立刻干扰较慢、更稳定的记忆。
Hope 的表现
论文在语言建模、长上下文推理、持续学习与知识纳入等任务上评估了 Hope,不同任务采用不同基线。语言建模与常识推理以 Titans、Samba 和标准 Transformer 为基线;而在长上下文检索任务中,将 Hope 与 Titans 对比 TTT 与 Mamba2。
在语言建模与常识推理基准上,Hope 获得了更低的困惑度与更高的准确率,优于三种基线。

更有说服力的结果来自需要模型在长上下文中检索特定信息的任务。论文测试了难度逐步提升的多个变体:密钥检索、数字检索,以及最难的词级检索。Hope 在所有变体上均优于基线,其中 CMS 设计对长上下文性能提升贡献突出。
该架构在持续学习基准上也表现良好。在通常会引发灾难性遗忘的任务序列训练中,Hope 保留的既有知识比论文中报告的对比模型更多。
嵌套学习 vs 其他持续学习方法
嵌套学习并非首次尝试解决灾难性遗忘。多年来,研究者提出了持续学习技术,使模型在学习新任务时保留已学知识。下面看看各类方法的关键差异。
|
方法 |
Elastic Weight Consolidation(EWC) |
渐进式神经网络 |
经验回放 |
嵌套学习 |
|
核心机制 |
添加正则项,减缓对先前任务重要权重的更新。 |
为每个新任务新增专用网络,并与已学网络建立横向连接,以便知识前向迁移。 |
在训练中将先前任务的样本与新任务样本一同存储与回放。 |
将学习组织为在不同时间尺度上运行、彼此交互的多个层级 |
|
如何防止遗忘 |
保护先前任务的权重;在学习新任务时保留旧知识。 |
早期网络被冻结并保存。新任务使用自己的网络,互不干扰。 |
将过去样本混入当前训练。 |
层级以不同频率更新,使新信息先进入“快”组件,而不会立即取代“慢”组件中的稳定知识。 |
|
计算开销 |
低到中等 |
高 |
中到高,随回放缓冲区大小而扩展。 |
仍在评估中 |
|
可扩展性 |
中等;随时间保护更多参数可能削弱模型学习新任务的能力。 |
受限,因为模型规模会随每个新任务增长 |
有效,但需要维护回放缓冲 |
面向扩展而设计,但仍属早期研究。 |
|
成熟度 |
较为成熟 |
较为成熟 |
广泛使用 |
早期研究 |
诸如 EWC、渐进式神经网络与经验回放等方法,都是在训练期间减缓遗忘的神经网络技术。底层架构大体保持不变。
嵌套学习则重思架构本身,使学习在多个层级与时间尺度上发生:快速变化的记忆处理近期经验,而较慢变化的参数捕捉长期知识。
嵌套学习的实践
社区的非官方复现已开始在 GitHub 上出现,为研究者提供了试验该架构并尝试复现实验结果的途径。
尽管如此,嵌套学习尚未与主流深度学习框架进行官方集成,您也无法简单地 pip install 嵌套学习并将其添加到现有的 PyTorch 或 JAX 项目中。构建与评估这些模型仍需直接使用研究代码。
但其发展方向聚焦于社区采纳。因此请关注 Hope 或连续体记忆系统(CMS)模块被集成进主流框架,并在生产系统中落地应用。
结语
嵌套学习挑战了现代深度学习的一项核心假设。它不再仅靠堆叠更多层让模型更强,而是在不同时间尺度上运行的多种学习过程中探索智能的涌现。
这种转变也改变了我们对优化的思考。传统深度学习将模型架构与学习算法视为相互分离的组件。嵌套学习让二者更紧密结合,旨在让“学习”本身变得层次化。
这仍处于早期阶段。嵌套学习依然是活跃的研究领域,其诸多理念在成为主流机器学习的一部分之前,还需要更广泛的验证。如果您希望夯实嵌套学习背后的相关概念(包括神经网络、优化与记忆机制),建议查看我们的综合课程 Deep Learning in Python。
嵌套学习常见问答
什么是 LLM 中的持续学习?
LLM 的持续学习是指模型能够在不遗忘先前知识的情况下,持续从新数据中学习。大多数 LLM 默认并不擅长这一点。当您在新信息上对其进行微调时,它们往往会覆盖旧知识。持续学习研究正是专门用来解决该问题的。
嵌套学习是否需要多个机器学习模型?
不一定。嵌套学习更侧重将学习任务组织为多个层级,而非是否使用多个模型。有的实现使用单个模型配合嵌套的训练阶段或分层表示,另一些则会组合多个专用模型。
嵌套学习的计算代价是否很高?
可能会,但并非总是显著更高。额外的成本来自在常规训练之外,还需维护与更新更高层级的学习过程。像 Hope 这样的现代嵌套学习架构在设计上考虑了效率,使其在许多研究环境中可行。然而,在生产环境中部署嵌套学习仍是一个有待探索的方向。
何时应避免使用嵌套学习?
如果您的数据分布不会变化,只需在固定基准上获得强性能,那么嵌套学习会徒增复杂性而回报不大。当可解释性非常重要时也应谨慎使用。学习过程越能自我适应,就越难解释模型实际在做什么以及为何如此。
如何在嵌套学习与迁移学习之间做选择?
两者解决的问题不同。迁移学习将模型在一个领域学到的知识应用到另一个领域,是一次性的适应。嵌套学习旨在构建一个能随着新信息到来而持续适应的系统。如果您的目标任务固定,迁移学习更简单且通常足够;如果环境动态且模型需要保持最新,嵌套学习更合适。