哪怕只有几十个神经元,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/
暂无评论内容