谷歌发现大模型「领悟」现象!训练久了突然不再死记硬背,多么痛的领悟

萧箫 发自 凹非寺
量子位 | 公众号 QbitAI

哪怕只有几十个神经元,AI也能出现泛化能力!

这是几个谷歌科学家在搞正经研究时,“不经意间”发现的新成果。

他们给一些很简单的AI模型“照了个X光”——将它们的训练过程可视化后,发现了有意思的现象:

随着训练时间增加,一些AI会从“死记硬背”的状态中脱离出来,进化出“领悟力”(grokking),对没见过的数据表现出概括能力。

1a8adf4862e295ba77409d0599b3de96.png

这正是AI掌握泛化能力的关键。

基于此,几位科学家专门写了个博客,探讨了其中的原理,并表示他们会继续研究,试图弄清楚大模型突然出现强理解力的真正原因。

1d244b95c69536c93cad00e01960252e.gif

一起来看看。

并非所有AI都能学会“领悟”

科学家们先探讨了AI出现“领悟力”(grokking)的过程和契机,发现了两个现象:

  • 一、虽然训练时loss会突然下降,但“领悟”并不是突然发生的,它是一个平滑的变化过程。

  • 二、并非所有AI都能学会“领悟”。

先来看第一个结论。他们设计了一个单层MLP,训练它完成“数奇数”任务。

“数奇数”任务,指识别一串长达30位“0”“1”序列中的前3位是否有奇数个“1”。例如,在000110010110001010111001001011中,前3位没有奇数个1;010110010110001010111001001011中,前3位有奇数个1。

在训练前期阶段,模型中各神经元的权重(下图中的热图)是杂乱无章的,因为AI不知道完成这一任务只需要看前3个数字。

但经过一段时间的训练后,AI突然“领悟了”,学会了只看序列中的前3个数字。具体到模型中,表现为只剩下几个权重会随着输入发生变化:

d4069eca8671733fabfa176d97cafa1e.gif

这个训练过程的目标被称之为最小化损失(提升模型输出准确率),采用的技术则被称之为权重衰减(防止模型过拟合)。

85be5f4001ec5f0bc50a0347a117194d.png

训练过程中,有一些权重与任务的“干扰数字”(30位序列的后27位)相关,下图可视化为灰色;有一些则与完成任务的“前3位数字”有关,下图可视化为绿色

当最后一个灰色权重降到接近0,模型就会出现“领悟力”,显然这个过程不是突然发生的。

abed1740198a84972f31deb62ad75abd.png

再来看第二个结论。不是所有AI模型都能学会“领悟”。

科学家们训练了1125个模型,其中模型之间的超参数不同,每组超参数训练9个模型。

最后归纳出4类模型,只有2类模型会出现“领悟力”。

如下图,“白色”和“灰色”代表学不会“领悟”的AI模型,“黄色”和“蓝色”代表能“领悟”的AI模型。

acebbcac193b60923a16e23b9a0141f3.png

总结概括规律就是,一旦权重衰减、模型大小、数据量和超参数的设置不合适,AI的“领悟力”就有可能消失——

以权重衰减为例。如果权重衰减太小,会导致模型过拟合;权重衰减太大,又会导致模型学不到任何东西。

嗯,调参是门技术活……

4a44b466786f11096c918b1f8ce58e33.png

了解现象之后,还需要探明背后的原因。

接下来,科学家们又设计了两个小AI模型,用它来探索模型出现“领悟力”、最终掌握泛化能力出现的机制。

更大的模型学会泛化的机制

科学家们分别设计了一个24个神经元的单层MLP和一个5个神经元的单层MLP,训练它们学会做模加法(modular addition)任务。

模加法,指(a + b) mod n。输入整数a和b,用它们的和减去模数n,直到获得一个比n小的整数,确保输出位于0~(n-1)之间。

显然,这个任务的输出是周期性的,答案一定位于0~66之间。

f387c21562af2770f8a6605ba7de923f.png

首先,给只有5个神经元的单层MLP一点“提示”,设置权重时就加入周期性(sin、cos函数)。

085254c9cc92cf7a2db4f0d63caa055a.png

在人为帮助下,模型在训练时拟合得很好,很快学会了模加法。

058e0364bd0b69cad8f936d342b5465e.png

然后,试着“从头训练”具有24个神经元的单层MLP,不特别设置任何权重。

可以看到,训练前期,这只MLP模型的权重(下面的热图)变化还是杂乱无章的:

44ea309942ab606a3784d216ae665fe3.gif

然而到达某个训练阶段后,模型权重变化会变得非常规律,甚至随着输入改变,呈现出某种周期性变化:

24acba8580c751d64b1103c1cdf4c6b8.gif

如果将单个神经元的权重拎出来看,随着训练步数的增加,这种变化更加明显:

5de83a48335f5baa00aad7ccdb3fe449.gif

这也是AI从死记硬背转变为具有泛化能力的关键现象:神经元权重随着输入出现周期性变化,意味着模型自己找到并学会了某种数学结构(sin、cos函数)。

f7d789970d8bd87614c5b5aa413298e8.png

这里面的频率(freq)不是固定的一个值,而是有好几个。

之所以会用到多个频率(freq),是因为24个神经元的单层MLP还自己学会了使用相长干涉(constructive interference),避免出现过拟合的情况。

不同的频率组合,都能达到让AI“领悟”的效果:

2661570e46a37627117ac0d90c945a22.png

用离散傅里叶变换(DFT)对频率进行隔离,可以发现和“数奇数”类似的现象,核心只有几个权重起作用:

e65f7deea50f1109e6be4565d064afa3.gif

总结来看,就像前面提到的“数奇数”任务一样,“模加法”实验表明,参数量更大的AI也能在这个任务中学会“领悟”,而这个过程同样用到了权重衰减

从5个神经元到24个神经元,科学家们成功探索了更大的AI能学习“领悟”的机制。

接下来,他们还计划将这种思路套用到更大的模型中,以至于最后能归纳出大模型具备强理解力的原因

不仅如此,这一成果还有助于自动发现神经网络学习算法,最终让AI自己设计AI。

55c5fa0e5beb0e7500824fd8127518d9.png

团队介绍

撰写博客的作者来自谷歌的People + AI Research(PAIR)团队。

7d0a4380cf178f6c5784ab250be0cf36.png

这是谷歌的一个多学科团队,致力于通过基础研究、构建工具、创建框架等方法,来研究AI的公平性、可靠性等。

c32d15883187dc3814e00855a7249f2d.png

一句话总结就是,让“AI更好地造福于人”。

博客地址:
https://pair.withgoogle.com/explorables/grokking/

「AIGC+垂直领域社群」

招募中!

欢迎关注AIGC的伙伴们加入AIGC+垂直领域社群,一起学习、探索、创新AIGC!

请备注您想加入的垂直领域「教育」或「广告营销」,加入AIGC人才社群请备注「人才」&「姓名-公司-职位」。

b8922867eb82de8e5d633a197cbc58d9.png

点这里👇关注我,记得标星哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值