神经网络中的顿悟(grokking)指的是,当神经网络在数据集上训练时,即使模型在训练集上已经表现出过拟合的迹象,只要我们持续训练,模型有可能突破一个临界点,从而获得更高的泛化性能。
历史
相关基础知识
神经网络的记忆与泛化
神经网络的记忆指对训练数据的拟合能力,可以看作是神经网络“背诵”训练集数据的过程,记忆能使训练误差很低,但若过强会导致过拟合,只抓住噪声与偶然细节;泛化则是把从训练数据中学到的共性规律应用到未见样本上的能力,在验证集表现稳定、误差低。记忆与泛化两者需要平衡:既要有足够容量去拟合数据中存在的真实模式,又要通过正则化、早停、交叉验证等手段抑制过拟合。直观地说,记忆像“背答案”,泛化像“学方法、会举一反三”;实践中人们通常以降低验证误差为目标,避免训练误差下降而验证误差上升的过拟合,也避免训练与验证误差都高的欠拟合。
神经网络中的涌现(Emergent Abilities)
顿悟是一种特殊的涌现现象,表现为泛化能力的突然跃升。在大语言模型(LLM)发展时代,神经网络中涌现的概念已经引发了广泛关注。已有研究者系统研究了不同模型的能力差异,将其定义为小型模型不具备、但突然出现在大型模型中的能力特征[1]。
早停机制(Early Stop)
通常情况下,人们在用神经网络构建机器学习模型时,倾向于在过拟合阶段前的某个点停止训练,称作早停机制。这是一种简单有效的正则化方法:在训练过程中持续监控验证集指标(如验证损失或准确率),当该指标在若干轮(耐心值)内不再改善即停止训练,以防模型在训练集上继续降低损失、却在验证集上开始恶化而产生过拟合。
顿悟的发现
OpenAI在ICLR2021数学推理workshop中发布的论文《Grokking: Generalization beyond overfitting on small algorithmic datasets》首次引入了神经网络中的顿悟(grokking)概念。而顿悟现象的发现其实源于一个有趣的巧合:当 OpenAI 团队开始探索神经网络如何进行数学运算时,他们使用一个小型 Transformer来进行模加法运算(a+b mod p = c),测试了 Transformer 在 未知的a 和 b 组合下能否正确预测答案 c。正如预期,当网络进入过拟合状态时,训练数据的损失接近于零(它开始记住所见内容),而测试数据的损失开始上升,即神经网络没有泛化能力。然而,在一次实验中,负责训练神经网络的那位成员忘记了停止训练,随着继续训练它突然在未见过数据上变得准确,模型已经完全理解了运算规则,测试数据的准确率飙升到 100%。随后,团队使用不同的任务和不同的网络验证了结果,这一发现得到了证实。
顿悟的场景
模运算
其他数学运算
非算数任务
大语言模型
顿悟现象的可解释性分析
结构化表征
时钟和披萨算法
控制权之争
参数空间
损失函数景观
特征学习
促进顿悟的方法
权重范数
权重初始化
梯度分量增强
彩票假设掩码
知识迁移
顿悟与其他现象的关联
双降(double descent)
大语言模型的能力涌现
- ↑ Wei J; Tay Y; Bommasani R; Raffel C; Zoph B; Borgeaud S; Yogatama D; Bosma M; Zhou D; Metzler D; Chi E. H.; Hashimoto T; Vinyals O; Liang P; Dean J; Fedus W. (2022). "Emergent abilities of large language models". Transactions on Machine Learning Research. ISSN 2835-8856.