资讯

Grokking 顿悟现象是什么?模型在过拟合很久之后突然学会泛化

2026-11-053 分钟阅读百科
TL;DRGrokking(顿悟)是神经网络训练中的一种现象:模型在很早就把训练集背得滚瓜烂熟、测试表现却很差,但继续训练很长时间后,测试准确率会突然大幅提升,实现良好的泛化,由 OpenAI 研究人员在 2022 年的论文中首先报道。

Grokking(常译为“顿悟”)是指神经网络在训练过程中的一种现象:在训练误差已经降到很低之后,又经过很长一段时间的训练,模型才突然实现良好的泛化。这个现象由 OpenAI 的研究人员在 2022 年的论文《Grokking:在小型算法数据集上超越过拟合的泛化》中首先报道。“grok”一词来自科幻小说家罗伯特·海因莱因的作品,意思是深刻、直觉地理解某件事。

它是怎么被发现的

研究人员在训练神经网络学习一些简单的算法任务,比如模运算(计算两个数相加后除以某个数的余数)时,观察到了一个奇怪的现象。训练的早期,模型很快就把训练集上的题目全部做对了,训练准确率达到 100%,但在没见过的测试题上,准确率很低,几乎是在乱猜。这是典型的过拟合:模型只是死记硬背了训练数据的答案。按照通常的经验,这时候就应该停止训练了。但研究人员继续训练了很久很久,训练步数是达到过拟合时的成百上千倍,结果测试准确率突然急剧上升,最终也达到了接近 100%。模型仿佛在某一刻“顿悟”了,从死记硬背转向了真正理解规律。

为什么有意思

Grokking 的有趣之处在于它是一种动态的现象:训练损失和测试损失之间的差距只存在于训练的中期,一个最终能“顿悟”的网络会实现泛化,让训练表现和测试表现重新接近。它挑战了“过拟合之后再训练也没用”的常规认识,说明神经网络的学习过程可能比我们想象的更复杂:在表面上停滞不前的训练阶段,网络内部可能正在悄悄地发生变化。

它是怎么发生的

后续的研究对 Grokking 的机制进行了深入的探索。一种解释认为,网络中同时存在两种“解法”:一种是记忆训练数据的解法,学得快,但不能泛化;另一种是真正理解规律的解法,学得慢,但能泛化。权重衰减这类正则化会持续地惩罚复杂的、记忆式的解法,偏好更简洁的解法。经过足够长的训练,简洁的泛化解法最终胜出,测试准确率就出现了跳跃。有研究通过机制可解释性的方法,“打开”了学会模运算的网络,发现它学到了一种基于傅里叶变换和三角函数的巧妙算法,并观察到这种算法是在训练过程中逐渐形成、在“顿悟”时刻完成的。研究还发现,训练数据的规模、权重衰减的强度、初始化方式等都会影响 Grokking 是否发生以及何时发生。

Grokking 主要在小规模的算法任务上被清楚地观察到,它是否以及如何出现在大语言模型的训练中,仍是一个研究问题。它为理解神经网络如何从记忆走向泛化,提供了一个独特的观察窗口。

相关话题与公司