NTK — 把无限宽的神经网络变成一个可解的核方法
是什么
NTK(Neural Tangent Kernel,神经正切核)说的是一件反直觉的事:当神经网络的每一层宽度都拉到无限大时,整个网络的训练过程,等价于一个固定核函数下的核回归。
日常类比:你在桌上捏一团黏土,捏哪里哪里就变形——这就是普通神经网络的训练,每一层都在重塑自己。但如果黏土大得离谱,相对于整团它的变形小到可以忽略,每个点只是被指头轻轻推了一下。整体的形变可以用最简单的弹簧公式描述。NTK 就是这个『弹簧公式』的核函数版本。
把深度学习的训练动力学从一个非线性、非凸、说不清的黑盒,变成一个 200 年前数学家就研究透了的线性核回归问题。
这是 2018 年深度学习理论圈最重要的论文之一,作者是洛桑联邦理工 EPFL 的 Arthur Jacot 和合作者。三个核心人物里没有一位是当时的著名教授,所以这篇论文最初在工业界的关注度远不如它后来引发的影响。
为什么重要
不理解 NTK,下面这些近年理论工作的标题都看不懂:
- 为什么超参数化网络(参数比训练样本多得多)能拟合任意训练集,但仍然泛化——传统统计学习说这必过拟合
- 为什么大模型训练初期 loss 下降的曲线长得那么像核回归
- μP(Maximal Update Parameterization)为什么敢声称『小模型调好的学习率可以直接搬到大模型』
- 为什么 Greg Yang 一系列 Tensor Programs 工作能严格刻画无限宽下的各种架构
NTK 是 2018 年之后深度学习理论的一道分水岭。在它之前几乎没有工具能解析处理训练过程;之后所有相关工作要么以 NTK 为基础,要么以 NTK 为对照组(『真实训练区别于 NTK 在哪里』)。
核心要点
NTK 的推导可以拆成 三步:
-
写出梯度下降的微分方程:网络输出 f(x) 在训练过程中的变化,等于学习率乘以损失对参数的梯度。把这个写成连续时间的微分方程(gradient flow)。
-
用链式法则把参数梯度展开成核:f 在不同样本 x 和 x′ 上的耦合,用一个二元函数 K(x, x′) 描述。这个 K 就是 NTK,等于『f 对参数的梯度』在两个点上的内积。
-
取宽度趋于无穷的极限:在合适的初始化下,NTK 在训练全程几乎不变,且收敛到一个确定的极限核。整个训练动力学退化成一个线性 ODE,闭式解可写。
第三步那个『几乎不变』叫懒惰训练(lazy training):参数变化幅度相对于初始化很小,所以网络几乎一直停在初始化附近,只是输出层在做线性回归。
把这三步合起来理解:训练神经网络这件事,在无限宽极限下,就是『以初始化时的梯度为基函数,做一次线性回归』。过去深度学习被称为黑盒,是因为没人知道训练把网络参数推到了哪里;NTK 视角说,在懒惰区,参数压根没动多远,所有变化都被压到了输出空间的一次线性组合里。
实践案例
案例 1:两层 ReLU 网络的 NTK
最简单的两层网络 f(x) = (1/√m) Σ aᵢ σ(wᵢ·x),其中 m 是隐藏层宽度。
当 m → ∞,NTK 收敛到一个只依赖于 x 和 x′ 夹角的函数:
K(x, x′) = ‖x‖‖x′‖ · κ(angle(x, x′))κ 是一个具体的解析函数(含 arccos)。这个核完全不依赖训练数据,是初始化分布的产物。训练等价于以这个核做岭回归。
值得停下来体会这件事:你以为训练神经网络是在『学习数据』,结果在懒惰区它学到的核函数根本和数据无关,纯粹由初始化分布决定。整个训练过程把『学』退化成了『查表』——查的是这张由初始化预先固定好的核矩阵。
案例 2:『为什么超参数化网络能泛化』的第一个严格证明
传统理论说:参数 ≫ 样本数 → 必过拟合。但深度网络明显违反这条。
NTK 给的解释:在懒惰区,网络不是在『学复杂特征』,而是在做核回归。核回归的泛化误差可以用核的 RKHS 范数控制——只要 NTK 这个核选得好(恰好它对自然图像数据表现不错),泛化就有保证。
第一次有严格定理说『宽度足够大时,深度网络收敛到 0 训练误差,且测试误差有界』。这个结果对深度学习理论圈是一次重要解放:在 NTK 之前,泛化的解释靠的是 Rademacher 复杂度等粗糙工具,对超参数化场景几乎没用;NTK 让大家终于有了一个能写出闭式估计的设定。
案例 3:超参迁移(μP)
Greg Yang 等人把 NTK 思想推到极致:研究宽度趋于无穷时,每个超参数(学习率、初始化方差、batch size)的『正确缩放方式』。
结论是:在 μP 这种特殊参数化下,最优学习率与宽度无关。所以你可以在小模型上调好学习率,直接迁移到 100 倍宽的大模型——省掉昂贵的大模型超参搜索。
OpenAI、Anthropic 这类机构训练大模型时都已经在用 μP 思路。这是 NTK 理论唯一已经规模落地的产品级应用。
案例 4:用 NTK 给『神经网络对抗鲁棒性』找下界
2021 年 Bubeck-Sellke 用 NTK 给『要让网络对抗鲁棒,参数量需要多大』算了下界:参数量必须至少和数据维度同阶,否则无法在保持训练精度的同时抵抗微小扰动。这是 NTK 视角的另一类用法——把核回归的成熟理论平移过来给深度网络套定理。
踩过的坑
-
NTK 不能解释『特征学习』:懒惰训练下隐藏层几乎不变,这意味着无限宽网络『学不到新特征』。但真实网络(尤其是预训练大模型)显然在学特征。所以 NTK 是『不学习特征』的极限,反而是真实训练的对照组。
-
懒惰训练是一种参数化的产物:不同的初始化缩放(standard parameterization vs NTK parameterization vs μP)给出完全不同的极限。论文用的 NTK 缩放恰好让懒惰区出现。换一种缩放可以让特征学习在无限宽下仍然存在——这就是 μP 的出发点。
-
有限宽 ≠ 无限宽:实际跑的网络宽度也就几千上万,离『无限』很远。NTK 在这种规模下只是一个近似,预测和真实训练曲线会逐渐发散。论文证明的精确等价只在极限下成立。
-
大学习率破坏懒惰区:NTK 假定学习率小到参数几乎不动。如果用大学习率(实践中常常需要),训练轨迹会跑出懒惰区,NTK 描述失效。
-
NTK 不是『一个核』而是『一族核』:每种架构、每种激活函数、每种初始化都有自己的 NTK 形式。论文给的是全连接 ReLU 的极限;CNN、Transformer 的 NTK 都被后续工作单独算过,形式各不相同。所以读到『NTK』时要先问『哪一种』。
适用 vs 不适用场景
适用:
- 理论分析超参数化网络的收敛性(loss 是否能降到 0)
- 理论分析超参数化网络的泛化性(测试误差能不能控制)
- 设计能跨规模迁移的超参(μP)
- 作为研究『特征学习』的对照组(『非懒惰区比懒惰区好在哪里』)
不适用:
- 解释为什么预训练大模型能学到通用表示——这本质是特征学习,不在 NTK 描述范围
- 描述 ResNet、Transformer 等架构的实际训练行为——架构归纳偏置在懒惰区会被抹掉
- 优化器选择问题——NTK 假定纯 SGD,对 Adam 之类的二阶信息没刻画
- 解释微调(fine-tuning)的有效性——微调在已经学到的特征基础上做小调整,与『从头开始懒惰训练』完全不同
- 任何依赖深度增加(depth)的现象——NTK 主要研究宽度极限,深度对应的是另一套理论(mean field 等)
历史小故事(可跳过)
- 1996 年:Radford Neal 在博士论文里证明,单隐藏层无限宽网络在初始化时等价于高斯过程。这是『无限宽 = 核方法』的最早雏形,但只覆盖初始化,不覆盖训练。
- 2017 年:Lee 等人把 Neal 的结果推广到深层网络,叫 NNGP(Neural Network Gaussian Process)。仍然只是初始化等价。
- 2018 年 6 月:Jacot、Gabriel、Hongler 这篇论文出现。第一次把『训练动力学』也纳入核方法等价——这就是 NTK。
- 2018 年底到 2020 年:NTK 引爆深度学习理论圈。一年内有上百篇后续工作:收敛证明、泛化界、各种架构的 NTK 形式、有限宽修正。
- 2021 年起:Greg Yang 的 Tensor Programs 系列把 NTK 视角做成统一框架;μP 落地工业界大模型训练。
- 2024 年至今:NTK 已成深度学习理论文献的标准参照系,每篇关于训练动力学的理论文章几乎都要先放一句『我们考虑 vs NTK 的差异』。
学到什么
- 极限是有用的工具:宽度无限是不现实的,但取极限能让混乱的东西露出结构。理论物理常用同样套路(热力学极限、连续介质极限)。
- 懒惰区 vs 特征学习区是两个世界:理解神经网络要分清你身处哪个区——懒惰区有解析理论,特征学习区还基本是经验科学。
- NTK 不是答案,是参照系:真实大模型不在懒惰区,但 NTK 给了一把尺子,让我们能说清『真实训练比懒惰训练多做了什么』。
- 理论也能上生产:μP 是 NTK 理论真正落地工业级训练的一例,证明深度学习理论不全是纸上谈兵。
- 看到反直觉时,先问『取了什么极限』:『无限宽神经网络等价于核方法』听起来像玄学,本质是『在 width → ∞ 加上特定参数化』下的精确陈述。所有惊人的理论结论都附带一组前提条件,搞清楚前提才能理解结论。
一句话总结
无限宽 + 合适参数化 → 训练等价于核回归。这把深度学习的训练动力学从黑盒变成了一个 200 年前就解决的线性问题;代价是抹掉了『学特征』这件事,所以 NTK 是研究真实训练的对照组,不是真实训练本身。
给零基础读者的提醒
如果你完全没接触过深度学习理论,把这页当作一张地图,不要一次理解所有细节。最少带走这三件事:
- 神经网络在某个极限下变得能算——这是 NTK 的存在意义
- 这个极限抹掉了『学特征』,所以不能用它解释 ChatGPT 类大模型为何聪明
- 实际生产里 μP 这一支后续工作,已经把 NTK 思想用于决定大模型的学习率,是它最实用的副产品
延伸阅读
- 论文 PDF:Jacot 2018 arXiv 1806.07572(30 页,前 5 页是核心,后面是证明)
- 综述:Bubeck-Sellke “Universal Law of Robustness”(用 NTK 视角讨论鲁棒性)
- 互动可视化:Distill — A Visual Tour of Neural Tangent Kernel(图解懒惰训练)
- 入门讲义:Sanjeev Arora 普林斯顿课程 COS 597R 的 NTK 章节(中文 GitHub 上有翻译版,搜索『NTK 讲义 中文』)
- 工程实现:Google 出的 neural-tangents 库,几行代码就能算任意架构的 NTK
- μP 工业落地:Yang et al. “Tensor Programs V”(超参迁移完整方法)
- adam-2014 —— Adam 优化器,NTK 假定 SGD 不能直接覆盖它
- alphago —— 大规模深度学习的代表,远在懒惰区之外
关联
- adam-2014 —— 主流优化器,NTK 理论一般假定纯 SGD,对 Adam 还需要扩展
- alphago —— 实际大模型早已超出懒惰区,NTK 作为对照组解释『不在 NTK 区的训练为什么更强』
- adamw-2017 —— 带权重衰减的优化器,NTK 框架下的修正版本是开放问题
- align-2021 —— 表征学习时代的代表工作,反例式说明特征学习不能被 NTK 描述
- adafactor-2018 —— 同年的另一个优化器工作,与 NTK 一起属于『理解大规模训练动力学』这一波研究的支线
- ampere-architecture-2020 —— GPU 算力进步是真实大模型走出懒惰区的硬件前提之一