今天小编分享的科学经验:谷歌发现大模型「领悟」现象!训练久了突然不再死记硬背,多么痛的领悟,欢迎阅读。
哪怕只有几十个神经元,AI 也能出现泛化能力!
这是几个谷歌科学家在搞正经研究时," 不经意间 " 发现的新成果。
他们给一些很简单的 AI 模型 " 照了个 X 光 " ——将它们的训练过程可视化后,发现了有意思的现象:
随着训练时间增加,一些 AI 会从 " 死记硬背 " 的状态中脱离出来,进化出 " 领悟力 "(grokking),对没见过的数据表现出概括能力。
这正是 AI 掌握泛化能力的关键。
基于此,几位科学家专门写了个博客,探讨了其中的原理,并表示他们会继续研究,试图弄清楚大模型突然出现强理解力的真正原因。
一起来看看。
并非所有 AI 都能学会 " 领悟 "
科学家们先探讨了 AI 出现 " 领悟力 "(grokking)的过程和契机,发现了两个现象:
一、虽然训练时 loss 会突然下降,但 " 领悟 " 并不是突然发生的,它是一个平滑的变化过程。
二、并非所有 AI 都能学会 " 领悟 "。
先来看第一个结论。他们设计了一个单层 MLP,训练它完成" 数奇数 "任务。
" 数奇数 " 任务,指识别一串长达 30 位 "0""1" 序列中的前 3 位是否有奇数个 "1"。例如,在 000110010110001010111001001011 中,前 3 位没有奇数个 1;010110010110001010111001001011 中,前 3 位有奇数个 1。
在训练前期阶段,模型中各神经元的权重(下图中的热图)是杂乱无章的,因为 AI 不知道完成这一任务只需要看前 3 个数字。
但经过一段时间的训练后,AI 突然 " 领悟了 ",学会了只看序列中的前 3 个数字。具体到模型中,表现为只剩下几个权重会随着输入发生变化:
这个训练过程的目标被称之为最小化损失(提升模型输出准确率),采用的技术则被称之为权重衰减(防止模型过拟合)。
训练过程中,有一些权重与任务的 " 干扰数字 "(30 位序列的后 27 位)相关,下图可视化为灰色;有一些则与完成任务的 " 前 3 位数字 " 有关,下图可视化为绿色。
当最后一个灰色权重降到接近 0,模型就会出现 " 领悟力 ",显然这个过程不是突然发生的。
再来看第二个结论。不是所有 AI 模型都能学会 " 领悟 "。
科学家们训练了1125 个模型,其中模型之间的超参数不同,每组超参数训练 9 个模型。
最后归纳出 4 类模型,只有 2 类模型会出现 " 领悟力 "。
如下图," 白色 " 和 " 灰色 " 代表学不会 " 领悟 " 的 AI 模型," 黄色 " 和 " 蓝色 " 代表能 " 领悟 " 的 AI 模型。
总结概括规律就是,一旦权重衰减、模型大小、数据量和超参数的設定不合适,AI 的 " 领悟力 " 就有可能消失——
以权重衰减为例。如果权重衰减太小,会导致模型过拟合;权重衰减太大,又会导致模型学不到任何东西。
嗯,调参是门技术活……
了解现象之后,还需要探明背后的原因。
接下来,科学家们又设计了两个小 AI 模型,用它来探索模型出现 " 领悟力 "、最终掌握泛化能力出现的机制。
更大的模型学会泛化的机制
科学家们分别设计了一个24 个神经元的单层 MLP和一个5 个神经元的单层 MLP,训练它们学会做模加法(modular addition)任务。
模加法,指 ( a + b ) mod n。输入整数 a 和 b,用它们的和减去模数 n,直到获得一个比 n 小的整数,确保输出位于 0~ ( n-1 ) 之间。
显然,这个任务的输出是周期性的,答案一定位于 0~66 之间。
首先,给只有 5 个神经元的单层 MLP 一点 " 提示 ",設定权重时就加入周期性(sin、cos 函数)。
在人为帮助下,模型在训练时拟合得很好,很快学会了模加法。
然后,试着 " 从头训练 " 具有 24 个神经元的单层 MLP,不特别設定任何权重。
可以看到,训练前期,这只 MLP 模型的权重(下面的热图)变化还是杂乱无章的:
然而到达某个训练阶段后,模型权重变化会变得非常规律,甚至随着输入改变,呈现出某种周期性变化:
如果将单个神经元的权重拎出来看,随着训练步数的增加,这种变化更加明显:
这也是 AI 从死记硬背转变为具有泛化能力的关键现象:神经元权重随着输入出现周期性变化,意味着模型自己找到并学会了某种数学结构(sin、cos 函数)。
这里面的频率(freq)不是固定的一个值,而是有好几个。
之所以会用到多个频率(freq),是因为 24 个神经元的单层 MLP 还自己学会了使用相长干涉(constructive interference),避免出现过拟合的情况。
不同的频率组合,都能达到让 AI" 领悟 " 的效果:
用离散傅里叶变换(DFT)对频率进行隔离,可以发现和 " 数奇数 " 类似的现象,核心只有几个权重起作用:
总结来看,就像前面提到的 " 数奇数 " 任务一样," 模加法 " 实验表明,参数量更大的 AI 也能在这个任务中学会 " 领悟 ",而这个过程同样用到了权重衰减。
从 5 个神经元到 24 个神经元,科学家们成功探索了更大的 AI 能学习 " 领悟 " 的机制。
接下来,他们还计划将这种思路套用到更大的模型中,以至于最后能归纳出大模型具备强理解力的原因。
不仅如此,这一成果还有助于自动发现神经网络学习算法,最终让 AI 自己设计 AI。
团队介绍
撰写博客的作者来自谷歌的 People + AI Research(PAIR)团队。
这是谷歌的一个多学科团队,致力于通过基础研究、构建工具、创建框架等方法,来研究 AI 的公平性、可靠性等。
一句话总结就是,让 "AI 更好地造福于人 "。
博客地址:
https://pair.withgoogle.com/explorables/grokking/