导语:为了探索神经网络的规模有多大的极限,我们可能首先需要探索神经网络的规模到底有多小的极限。
译者:AI研习社(听风1996)
双语原文链接:Scaling down Deep Learning
不管是按什么样的科学标准,人类基因组项目都是巨大的:它涉及数十亿美元的资金,数十家机构以及超过十多年的快速研究进展。但这仅仅是冰山一角。早在项目开始之前,科学家们就在全力整理人类遗传学这门复杂的科学。而大多数时候,他们研究的不是人类。遗传学的基础性发现都集中在如豌豆、霉菌、果蝇和小鼠等非常简单的生物体上,时至今日,生物学家为了节省时间、精力和金钱,将这些更简单的生物体作为遗传学的 "最小工作范例"。一个精心设计的果蝇实验,如Feany和Bender(2000),可以让我们学到关于人类的令人叹为观止的东西。
与果蝇相似的是深度学习中所使用的是MNIST数据集。大量的深度学习创新工作,包括drop,Adam,卷积网络,生成式对抗网络和变分自编码器,都从MNIST实验开始。一旦这些创新在小型实验中证明了自己的能力,科学家们就找到了将它们扩展到更大、更有影响力的应用。
果蝇和MNIST的关键优势在于它们可以极大地加快探索性研究的迭代周期。以果蝇为例,果蝇的生命周期只有几天,其营养需求可以忽略不计。这比哺乳动物,尤其是人类更容易与之合作。对于MNIST而言,训练一个强大的分类器只需要几十行代码,不到一分钟的时间,耗电量可忽略不计。这与最先进的视觉,文本和游戏模型形成鲜明对比,后者可能需要花费数月甚至数十万美元的电力资料来训练模型。
然而,尽管MNIST具有历史意义,但它有三个显著的缺点。首先,它在区分线性、非线性和平移不变性的模型方面做得很差。例如,logistic、MLP和CNN基准在它身上获得94、99+和99+%的准确率。这就很难衡量CNN的空间先验的贡献,也很难判断不同正则化方案的相对有效性。其次,对于一个玩具(译者注:极小)数据集来说,它有些大。每个输入例子都是一个784维的向量,因此当执行超参搜索或调试元学习循环需要不小的计算量。第三,MNIST很难被改写。理想的小型数据集应该是程序化生成的,这样研究人员就可以轻易地改变背景噪声、平移性和分辨率等参数。
为了解决这些缺点,我们提出了MNIST-1D数据集。它是MNIST的一个极简化、低内存和低计算量的替代方案,专为探索性深度学习研究而设计,其中能够快速迭代是我们优先考虑的要求。训练实例小了20倍,但它们仍能更好地评估1)线性和非线性分类器之间的差异,以及2)是否具有空间归纳偏差(例如平移不变性)的模型。虽然数据集是程序自动化生成的,但仍可以类比到现实世界中的数字分类。
构建MNIST-1D数据集。与MNIST一样,分类器的目标是确定输入中存在哪个数字。与MNIST不同的是,每个例子都是一个一维的点序列。为了生成一个示例,我们从一个数字模板开始,然后随机对其进行填充、平移和转换。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步在MNIST-1D数据集上可视化常见模型的性能。该数据集根据它们是否使用非线性特征(逻辑回归vs. MLP)或是否存在空间归纳偏差(MLP vs. CNN)将它们清晰地分开。人类做得最好。最好可以放大来观察上图结果。
使用案例
在本节中,我们将探讨MNIST-1D如何用于研究核心 "深度学习科学 "现象的几个例子。
寻找彩票。深度学习模型的参数比真正所需参数的多十倍甚至百倍是很正常的。这种过度参数化有助于训练,但会增加计算开销。一种解决方案是在训练过程中逐步修剪模型中的权重,使最终的网络只是其原始大小的一小部分。虽然这种方法可行,但传统观点认为,稀疏网络从头开始训练效果不好。Frankle & Carbin(2019)最近的工作挑战了这种传统观点。作者报告称,在更大的网络发现了稀疏的子网络,这些网络的训练精度相当甚至更高。这些 "彩票 "子网络可以通过一个简单的迭代程序得到:训练一个网络,修剪最小的权重, 然后将其余的权重倒回其原始初始化并重新训练。
自从原始论文发表以来,大量的工作都试图解释这一现象,然后将其用于在更大的数据集和模型上。然而,很少有工作试图找出这种影响的“最小工作实例”,以便对其进行更仔细的研究。下图显示了MNIST-1D数据集不仅会使之成为可能,而且使我们能够通过精心控制的实验,阐明彩票成功的一些原因。与许多后续实验不同的是,这个实验只花了研究人员两天的时间就制作完成了。有兴趣的读者也可以在浏览器中仅需几分钟内便可复现这些结果。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步查询和分析 lottery tickets。在a-b)中,我们隔离了该效应下的一个 "最小可行示例 "。 Morcos et al (2019) 最近的工作表明, lottery tickets可以在数据集之间转移。我们想确认空间归纳偏差是否在其中起到了作用。因此,我们进行了一系列实验:在c)中,我们绘制了92%稀疏 lottery tickets的渐近性能。在d)中,我们将数据集中所有的1D信号反转,有效地保留了空间结构,但改变了各个数据点的位置。这类似于将图像倒转过来。在这种消融作用下, lottery tickets继续保持不败。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步接下来,在e)中,我们对1D信号的索引进行了置换,从而有效地从数据集中去除空间结构。这种消融对 lottery tickets性能的损伤明显更大,说明 lottery tickets中的部分性能可以归结为空间归纳偏差。最后,在f)中,我们保持lottery tickets的稀疏性结构,但用不同的随机种子初始化其权重。与Frankle & Carbin(2019)中报告的结果相反,我们看到我们的 lottery tickets继续优于众多基线模型,与我们的假设一致,即 lottery tickets背后具有空间归纳偏差。在g)中,我们通过测量模型第一层中未掩膜的权重彼此相邻的频率来验证我们的假设。lottery tickets的相邻权重比随机预测的要多很多,这意味着局部连接结构更容易引起空间偏差。
您还可以可视化通过随机和 lottery tickets修剪选择的实际掩膜:VISUALIZE MASKS
观察深度双重下降。神经网络的另一个有趣的属性是 "双重下降 "现象。这句话指的是一种训练机制,其中更多的数据、模型参数量或梯度更新步骤实际上会降低模型的测试精度1 2 3 4。从直觉上看,在监督学习的过程中,有一个阈值插值,在这个阈值下,由模型和优化算法组成的学习过程刚好可以勉强适合整个训练集。在这个阈值上,实际上只有一个模型能够拟合数据,而这个模型对标签的噪声和模型化非常敏感。
这种效应存在几个性质,比如什么因素会影响它的宽度和位置,在深度模型的背景下没有得到很好的理解。我们认为MNIST-1D数据集是探索这些属性的好工具。事实上,经过研究人员几个小时的努力,我们能够重现双下降模式。下图显示了我们对一个全连接的网络和卷积模型的结果。我们还观察到了一个细微的差别,这是我们在以前的工作中没有看到提到的:当使用均方误差损失时,插值阈值位于n∗Kn∗K模型参数,其中nn是训练样本的数量,KK是模型输出数量。但是当使用负对数似然损失时,插值阈值取决于神经网络模型参数-而不依赖于模型输出的数量。这是一个有趣的实验观察,可以解释在这类任务中使用对数似然损失比MSE损失的一些优势。你可以在这里重现这些结果。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步观察深度双重下降。MNIST-1D是确定深度模型的插值阈值的良好环境。这个阈值在全连接模型中相当容易预测,但对于其他模型,如CNNs、RNNs和Transformers,则不太容易预测。在这里,我们看到CNN在相同的插值阈值下有一个双下降峰值,但效果却不那么明显。
基于梯度的元学习。元学习的目标是 "学会如何学习"。一个模型通过有两个层次的优化来实现:第一个是快速的内循环,对应传统的学习目标;第二个是相对慢一些的外循环,更新学习过程的 "元 "属性。元学习最简单的例子之一是基于梯度的超参数优化。这个概念是由 Bengio (2000) 提出的,然后由 Maclaurin et al. (2015)扩展到深度学习模型。其基本思想是实现一个完全可分的神经网络训练循环,然后在整个过程中进行反向传播,以优化学习率和权重衰减等超参数。
元学习是一个很有前景的课题,但它很却难扩展。首先,元学习算法需要消耗大量的时间和计算。其次,实现往往会变得复杂,因为有两倍多的超参数(每个优化级别都有一组),而且大多数深度学习框架并没有为元学习专门设置。这对在MNIST-1D等小规模数据集上调试和迭代元学习算法提出了特别高的要求。例如,实现和调试下图所示的基于梯度的超参数优化学习率只花了几个小时。你可以在这里重现这些结果。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步元学习的学习率:看第三个图,最佳学习率似乎是0.6。与许多基于梯度的元学习实现不同,我们的实现需要几秒钟的时间来运行,只占用几十行代码。这使得研究人员可以在扩大规模之前对新颖的想法进行迭代。
激活函数的元学习。在实现了基于梯度的元学习的 "最小工作示例 "后,我们意识到它可以被扩展到一个简单而新颖的应用中:激活函数的元学习。再花上几个小时的研究时间,我们就能用第二个神经网络对分类器的激活函数进行参数化,然后使用元梯度学习权重。如下图所示,我们学习的激活函数大幅优于ReLU, Elu5, 和Swish6等基线非线性。你可以在这里复现这些结果。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步元学习得到一个激活函数。从一个ELU形状开始,我们使用基于梯度的元学习来寻找在MNIST-1D数据集上训练的神经网络的最佳激活函数。激活函数本身由第二个(元)神经网络进行参数化。请注意,上图中ELU基线(红色)被tanh基线(蓝色)所遮挡。
我们将这个激活函数转移到在MNIST和CIFAR-10图像上训练的卷积模型上,发现它达到了中等的性能。特别是在优化的早期,它的训练损耗很低,这也是MNIST-1D 训练的目标。不过,当我们按最终测试损失对非线性进行排名时,它的性能达到了包中的中等水平。我们怀疑,在更大的模型和数据集上运行相同的元学习算法会进一步完善我们的激活函数,让它至少能匹配人为设计的最佳激活函数。不过,我们还是把这个问题留给以后的工作吧。
测量深度网络的空间先验。深度学习的成功很大一部分源于 "深度先验",其中包括硬编码的平移不变性(如卷积滤波器)、巧妙的架构选择(如自注意力层)和良好条件下的优化场景(如批量归一化)。这些先决条件中的原则是卷积的平移不变性。这个数据集的一个主要动机是构建一个小型问题,可以有效地量化一个模型的空间先验。本篇文章的第二张图说明了MNIST-1D确实可以做到这一点。我们可以想象,其他更适度的空间先验的模型将位于MLP和CNN基准之间的连续空间中的某个位置。在这里可以复现出这些结果。
池化方法的基准测试。我们最后的一个案例研究是从一个具体问题开始的。池化和采样效率之间的关系是什么?我们没有发现有证据表明池化使模型的采样效率提高或降低,但这似乎是一个需要了解的重要关系。考虑到这一点,我们用不同的池化方法和训练集大小来训练模型,发现虽然池化在低维数据中往往是有效的,但在高维数据体系中并没有太大的区别。我们并不完全理解这种效果,但假设池化是一种普通的架构先验,在低数据体系中聊胜于无,但在高维数据体系中却最终限制了模型的表达。同样的道理,max-pooling在低维数据体系中也可能有一个好的架构先验,但在高维数据体系中开始删除信息--因此与L2 pooling相比表现更差。在这里可以复现出这些结果。
探索神经网络规模下限,MNIST-1D数据集迈出了第一步 探索神经网络规模下限,MNIST-1D数据集迈出了第一步通用池化方法的基准测试。我们发现,在低维数据体系下,池化有助于性能,而在高维数据体系下则阻碍了性能。虽然我们并不完全理解这种结果,我们假设池化是一种普通的架构先决条件,在低维数据体系下聊胜于无,但在高数据制度下就会变得过度限制。
何时缩放规模
这篇文章并不是反对大规模机器学习研究的。这种研究已经一次又一次地证明了它的价值,并且已经成为ML研究生态系统中最令人兴奋的方面之一。相反,这篇文章支持小规模的机器学习研究。神经网络在规模或性能方面没有问题,但它们在可解释性、可重复性和迭代速度方面确实存在问题。我们认为精心控制的小规模实验是解决这些问题的好方法。
事实上,小规模研究是对大规模研究的补充。在生物学领域,果蝇遗传学帮助指导了人类基因组计划,我们认为小规模的研究应该始终着眼于如何成功地扩大规模。例如,这篇文章中报告的几项研究结果已经到了应该进行大规模研究的地步。我们想证明,大规模 lottery tickets也能学习空间归纳偏差,并证明他们发展局部连接的证据。我们还想尝试在更大的模型上学习一个激活函数,希望找到一个在通用性上优于ReLU和Swish的激活函数。
我们应该强调的是,我们现在只是准备在受控环境下隔离和理解这些结果,然后再进行扩展。我们认为,只有在相关的因果机制被分离和理解之后,扩大系统的规模才是一个好主意。
其他的小型数据集
这项工作的核心灵感来自于对MNIST数据集的崇拜和迷恋。虽然它有一些明显的缺陷--我们已经解决了其中的一些问题--但它也有许多讨人喜欢的品质和被低估的优点:它简单、直观,为探索创造性的新想法提供了完美的沙盘。
我们的工作也与Rawal等人(2020)的Synthetic Petri Dish在哲学上有相似之处。它与我们这项工作是同时发表的,作者对生物学进行了类似的引用,以激励使用小型合成数据集进行探索性研究。他们的工作与我们的不同之处在于,他们使用元学习来获得他们的数据集,而我们的数据集是由人工构建的。Synthetic Petri Dish的目的是加速神经架构搜索,而我们的数据集的目的是加速 "深度学习的科学 "问题。
还有很多其他小规模的数据集,通常用于研究 "深度学习的科学 "问题。CIFAR-10数据集中的样本数是MNIST的4倍,但训练样本的总数量是一样的。CIFAR-10在区分MLP和CNN架构,以及各种CNN架构(如vanilla CNNs与ResNets)方面做得更好。FashionMNIST数据集与MNIST大小相同,但(区分)难度会更大一些。最后一个选择是Scikit-learn的数据集:有几十个选择,有些是人工合成的,有些是真实的。但要把真实世界类比到比如说数字分类,是不可能的,人们往往可以用简单的线性或基于内核的方法在这些数据集上做得很好。
结束语
为了探索神经网络规模的极限,有一种违反直觉的可能性是,为了探索神经网络的规模有多大的极限,我们可能首先需要探索神经网络的规模到底有多小的极限。以保留其行为在规模上的细微差别来缩放模型大小和数据集,会使研究人员能够快速迭代基础和创新的想法。这种快速迭代周期是获得关于如何将逐渐复杂的归纳偏差纳入我们的模型的见解的最佳方式。然后,我们可以跨空间尺度迁移这些归纳偏差,以显着提高大规模模型的采样效率和泛化特性。我们认为不怎么起眼的MNIST-1D数据集是朝着这个方向迈出的第一步。
脚注
-
Trunk, Gerard V. “A problem of dimensionality: A simple example.” IEEE Transactions on pattern analysis and machine intelligence 3 (1979): 306-307. ↩
-
Belkin, Mikhail, et al. “Reconciling modern machine-learning practice and the classical bias–variance trade-off.” Proceedings of the National Academy of Sciences 116.32 (2019): 15849-15854. ↩
-
Spigler, Stefano, et al. “A jamming transition from under-to over-parametrization affects loss landscape and generalization.” arXiv preprint arXiv:1810.09665 (2018). ↩
-
Nakkiran, Preetum, et al. “Deep double descent: Where bigger models and more data hurt.” arXiv preprint arXiv:1912.02292 (2019). ↩
-
Clevert, Djork-Arné, Thomas Unterthiner, and Sepp Hochreiter. Fast and accurate deep network learning by exponential linear units (elus). ICLR 2016. ↩
-
Ramachandran, Prajit, Barret Zoph, and Quoc V. Le. Searching for activation functions. (2017). ↩
AI研习社是AI学术青年和AI开发者技术交流的在线社区。我们与高校、学术机构和产业界合作,通过提供学习、实战和求职服务,为AI学术青年和开发者的交流互助和职业发展打造一站式平台,致力成为中国最大的科技创新人才聚集地。
如果,你也是位热爱分享的AI爱好者。欢迎与译站一起,学习新知,分享成长。
网友评论