缩减深度学习

2020-12-05 21:24:33

构造MNIST-1D数据集。与原始MNIST数据集一样,任务是学习对数字0-9进行分类。与由28x28图像组成的MNIST数据集不同,这些示例中的每一个都是一维点序列。为了生成一个示例,我们从10位模板开始,然后如上所示随机填充,翻译,添加噪声并对其进行转换。

从任何科学标准来看,人类基因组计划都是巨大的:它涉及数十亿美元的资金,数十个机构以及十多年的加速研究。但这只是冰山一角。在该项目开始之前很久,科学家就在努力组装复杂的人类遗传学。而且大多数时候,他们不是在研究人类。遗传学的基础发现集中在豌豆,霉菌,果蝇和小鼠等简单得多的生物上。迄今为止,生物学家将这些较简单的生物用作遗传“最小工作实例”,以节省时间,精力和金钱。一个精心设计的果蝇实验,例如Feany和Bender(2000),可以教给我们关于人类的惊人数量。

果蝇的深度学习类似物是MNIST数据集。大量的深度学习创新,包括辍学,亚当,卷积网络,生成对抗网络和变体自动编码器,都作为MNIST实验开始了。一旦这些创新在小规模实验中证明了自己的实力,科学家们便找到了将其扩展到更大,影响更大的应用程序的方法。

果蝇和MNIST的关键优势在于它们可以极大地加快探索性研究的迭代周期。以果蝇为例,果蝇的生命周期只有几天,而且其营养需求可以忽略不计。这比哺乳动物,尤其是人类更容易与他人合作。对于MNIST,训练一个强大的分类器需要几十行代码,不到一分钟的时间,耗电量可忽略不计。这与最先进的视觉,文字和游戏模型形成鲜明对比,后者可能需要花费数月甚至数十万美元的电力来训练。

尽管具有历史意义,MNIST仍然存在三个明显的缺点。首先,它在区分线性,非线性和平移不变模型方面做得很差。例如,逻辑,MLP和CNN基准在其上可获得94%,99 +和99 +%的精度。这使得很难衡量CNN的空间先验的贡献或判断不同正则化方案的相对有效性。其次,对于玩具数据集而言,它有些大。每个输入示例都是一个784维向量,因此要执行超参数搜索或调试金属学习循环需要大量的计算。第三,MNIST很难破解。应该从程序上生成理想的玩具数据集,以便研究人员可以平稳地更改背景噪声,平移和分辨率等参数。

为了解决这些缺点,我们提出了MNIST-1D数据集。它是MNIST的极简,低内存和低计算量替代方案,专为探索性深度学习研究而设计,其中优先考虑快速迭代。训练示例小了20倍,但它们在测量1)线性和非线性分类器与2)带有和不带有空间归纳偏差(例如平移不变性)的模型之间的差异方面仍然更好。该数据集是通过过程生成的,但仍可以与现实世界中的数字分类进行类比。

构造MNIST-1D数据集。类似于MNIST,分类器的目标是确定输入中存在哪个数字。与MNIST不同,每个示例都是一维点序列。为了生成示例,我们从一个数字模板开始,然后随机填充,翻译和转换它。

可视化MNIST-1D数据集上通用模型的性能。该数据集根据它们是否使用非线性特征(逻辑回归与MLP)或它们是否具有空间归纳偏差(MLP与CNN)将它们清晰地分开。人类做得最好。变焦效果最佳。

使用tSNE可视化MNIST和MNIST-1D数据集。 MNIST图中定义明确的聚类表明,大多数示例根据类别都是线性可分离的。同时,MNIST-1D图揭示了缺乏明确定义的聚类,这表明学习数据的非线性表示对于成功进行分类更为重要。感谢Dmitry Kobak制作此剧情。

在本节中,我们将探讨如何使用MNIST-1D研究核心“深度学习科学”现象的几个示例。

寻找彩票。深度学习模型的参数比必要的多十倍甚至一百倍,这并不罕见。这种过度参数化有助于训练,但会增加计算开销。一种解决方案是在训练过程中从模型中逐渐减少权重,以使最终网络只是其原始大小的一小部分。尽管此方法有效,但传统观点认为,稀疏网络不能从头开始训练。 Frankle&的最新工作卡宾(2019)挑战了这一传统观念。作者报告称,在较大网络中发现了稀疏的子网络,这些子网络可以训练到同等甚至更高的精度。这些“彩票”子网络可以通过简单的迭代过程找到:训练网络,修剪最小的权重,然后将其余的权重倒回其原始初始化并重新训练。

自从原始论文发表以来,大量工作试图解释这种现象,然后将其用于更大的数据集和模型。但是,很少有工作试图找出这种影响的“最小工作实例”,以便对其进行更仔细的研究。下图显示了MNIST-1D数据集不仅使这成为可能,而且使我们能够通过精心控制的实验来阐明彩票成功的一些原因。与许多后续的彩票实验不同,这一过程仅花费研究人员两天的时间即可完成。好奇的读者也可以在几分钟内在浏览器中重现这些结果。

查找和分析彩票。在a-b)中,我们隔离了一个"最小可行示例"的效果。 Morcos等人(2019)的最新工作表明,彩票可以在数据集之间转移。我们想确定空间归纳偏差是否起作用。因此,我们进行了一系列实验:在c)中,绘制了92%稀疏票证的渐近性能。在d)中,我们反转了数据集中的所有一维信号,有效保留了空间结构,但更改了各个数据点的位置。这类似于将图像上下翻转。在这种消融作用下,彩票继续获胜。

接下来,在e)中,我们置换一维信号的索引,从而有效地从数据集中删除空间结构。这种消融对彩票性能的损害更大,表明彩票性能的一部分可归因于空间归纳偏差。最后,在f)中,我们保留彩票稀疏性结构,但使用不同的随机种子初始化其权重。与Frankle& amp;的报道结果相反。 Carbin(2019),我们看到我们的彩票继续优于稠密的基线,这与我们的假设(即彩票面具具有空间归纳偏差)相吻合。在g)中,我们通过测量模型的第一层中未掩盖的权重彼此相邻的频率来验证我们的假设。彩票的相邻权重比偶然预测的要多得多,这意味着本地连通性结构有助于引起空间偏差。

可视化随机票和彩票的第一层重量蒙版。为了便于解释,我们根据隐藏的未遮盖参数的数量沿遮盖层轴对遮罩进行了排序。这有助于揭示彩票面罩对本地连接的偏见。请注意,彩票蒙版中还有更多垂直相邻的未蒙版参数。这些垂直相邻的参数对应于沿输入维的局部连通性,这又将稀疏模型偏向具有空间结构的数据。变焦效果最佳。

观察深双下降。神经网络的另一个有趣特性是“双重下降”现象。这个短语指的是一种训练制度,其中更多的数据,模型参数或梯度步骤实际上会降低模型的测试精度1 2 34。直觉是在监督学习期间存在插值阈值,其中学习过程由模型组成和优化算法,几乎不能适应整个训练集。在此阈值下,实际上只有一个模型可以拟合数据,并且该模型对标签噪声和模型错误指定非常敏感。

在深度模型的上下文中,这种效果的一些属性(例如哪些因素影响其宽度和位置)尚未得到很好的理解。我们将MNIST-1D数据集视为探索这些属性的好工具。实际上,经过研究人员几个小时的努力,我们能够重现两次下降的模式。下图显示了我们对于完全连接的网络和卷积模型的结果。我们还观察到了以前工作中未曾提及的细微差别:使用均方误差损失时,插值阈值位于\(n * K \)模型参数,其中\(n \)是训练示例的数量,而\(K \)是模型输出的数量。但是,当使用负对数似然损失时,插值阈值位于\(n \)模型参数–它不取决于模型输出的数量。这是一个有趣的经验观察,可以解释在此类任务上使用对数似然损失而不是MSE损失的某些优势。您可以在此处重现这些结果。

观察深双下降。 MNIST-1D是确定如何定位深度模型的插值阈值的良好环境。在完全连接的模型中,此阈值相当容易预测,而对于CNN,RNN和Transformers等其他模型,则很难预测。在这里,我们看到CNN在相同的插值阈值处有一个双下降峰,但效果不那么明显。

基于梯度的金属化。金属学习的目标是“学习如何学习”。一个模型通过两个优化级别来做到这一点:第一个是快速的内部循环,它对应于传统的学习目标,第二个是缓慢的外部循环,它更新了学习过程的“元”属性。基于元素的金属化最简单的例子之一就是基于梯度的超参数优化。这个概念由Bengio(2000)提出,然后由Maclaurin等人扩展到深度学习模型。 (2015)。基本思想是实现一个完全可微的神经网络训练循环,然后在整个过程中反向传播,以优化诸如学习速率和体重减轻之类的超参数。

Metalearning是一个有前途的主题,但是很难扩展。首先,金属学习算法会消耗大量时间和计算资源。第二,由于超参数的数量(每个优化级别一组)数量的两倍,并且大多数深度学习框架都无法很好地用于金属学习,因此实现趋于变得复杂。这特别鼓励在诸如MNIST-1D之类的小规模数据集上调试和迭代金属学习算法。例如,只需花费几个小时即可实现和调试如下所示的基于学习率的基于梯度的超参数优化。您可以在此处重现这些结果。

重获学习速度:从第三幅图可以看出,最佳学习速度为0.6。与许多基于梯度的金属学习实现不同,我们的算法需要几秒钟来运行,并且占用数十行代码。这使研究人员可以在扩展之前迭代新颖的想法。

金属化激活功能。实现了基于梯度的金属化学习的“最小工作实例”后,我们意识到它允许简单而新颖的扩展:金属化激活函数。经过几个小时的研究,我们能够使用第二个神经网络参数化分类器的激活函数,然后使用元梯度来学习权重。如下所示,我们学到的激活函数大大优于基线非线性,例如ReLU,Elu 5和Swish6。您可以在此处重现这些结果。

金属化激活功能。从ELU形状开始,我们使用基于梯度的金属学习来找到在MNIST-1D数据集上训练的神经网络的最佳激活函数。激活函数本身由第二个(元)神经网络参数化。请注意,上图中的tanh基线(蓝色)遮盖了ELU基线(红色)。

我们将此激活函数转移到了在MNIST和CIFAR-10图像上训练的卷积模型中,发现它实现了中间包性能。它特别擅长于在优化的早期就降低培训损失,这是在MNIST-1D中进行培训的目标。但是,当我们根据最终测试损失对非线性进行排序时,它可以达到中间性能。我们怀疑在较大的模型和数据集上运行相同的金属学习算法会进一步完善我们的激活函数,从而使其至少与最佳的手工设计激活函数匹配。不过,我们将其留给以后的工作。

衡量深度网络的空间先验。深度学习成功的很大一部分源于“深度先验”,其中包括硬编码的翻译不变性(例如卷积过滤器),明智的架构选择(例如自我关注层)和条件良好的优化环境(例如批处理)正常化)。这些先验的原理是卷积的平移不变性。此数据集的主要动机是构造一个玩具问题,可以有效地量化模型的空间先验。这篇文章中的第二幅图说明,使用MNIST-1D确实可以做到这一点。可以想象,其他具有更适度空间先验的模型将位于MLP和CNN基准之间连续的某个位置。在这里复制。

基准池化方法。我们的最终案例研究从一个特定的问题开始:合并和样本效率之间是什么关系?我们没有看到证据表明合并可以使模型或多或少地提高样本效率,但这似乎是一个重要的关系。考虑到这一点,我们用不同的合并方法和训练集大小训练了模型,结果发现,尽管合并在低数据状态下趋于有效,但在高数据状态下并没有太大的区别。我们尚不完全了解这种影响,但假设池化是一种中等的体系结构先验,在低数据状态下它总比没有好,然后最终在高数据状态下限制了模型的表达。同样,在低数据状态下,最大池化也可能是一个好的架构,但是在高数据状态下,开始删除信息,因此与L2池相比,性能更差。在这里复制。

对常见的合并方法进行基准测试。我们观察到,池化有助于在低数据状态下的性能,而在高数据状态下会降低性能。尽管我们并不完全理解这种影响,但我们假设池化是一个中等的体系结构先验,在低数据状态下总比没有好,但在高数据状态下过分限制。

本文不反对大规模机器学习研究。这类研究一次又一次地证明了它的价值,并已成为ML研究生态系统中最令人兴奋的方面之一。相反,这篇文章主张进行小型机器学习研究。神经网络在缩放或性能方面没有问题,但在可解释性,可再现性和迭代速度方面确实存在问题。我们认为,精心控制的小型实验是解决这些问题的好方法。

实际上,小规模研究是大规模研究的补充。就像在生物学中,果蝇遗传学帮助指导人类基因组计划一样,我们认为小规模研究应始终关注如何成功扩展规模。例如,这篇文章中报告的一些发现正处于应该对其进行大规模调查的地步。我们想证明大规模彩票还学习了空间归纳偏差,并证明它们发展了本地连通性。我们还希望尝试在较大的模型上金属化激活函数,以期找到一种在总体上胜过ReLU和Swish的激活。

我们应该强调的是,只有在受控的环境中我们已经隔离并理解了这些结果之后,我们才准备扩展这些结果。我们认为,一旦隔离并理解了相关的因果机制,对系统进行扩展只是一个好主意。

这项工作的核心灵感来自对MNIST数据集的钦佩,我们敢说。尽管它有一些明显的缺陷(我们已经解决了其中的一些缺陷),但它也具有许多可爱的特质和不足的优势:它简单,直观,并且为探索创造性的新想法提供了理想的沙箱。

我们的工作也与Rawal等人的合成培养皿具有哲学上的相似之处。 (2020)。它同时出版,作者对生物学进行了类似的引用,以鼓励使用小型合成数据集进行探索性研究。他们的工作与我们的工作不同,因为他们使用金属学习来获取他们的数据集,而我们是手工构建的。合成培养皿的目的是加速神经体系结构搜索,而我们的数据集的目的是加速“深度学习的科学”问题。

还有许多其他小型数据集通常用于研究“深度学习的科学”问题。 CIFAR-10数据集中的示例比MNIST示例大四倍,但是训练示例的总数是相同的。 CIFAR-10在区分MLP和CNN架构以及各种CNN架构(例如原始CNN与ResNet)之间做得更好。 FashionMNIST数据集的大小与MNIST相同,但难度更高。最后一个选择是Scikit-learn的数据集:有很多选择,其中一些是综合的,其他是真实的。但是,无法对数字分类进行现实的类比,并且通常可以使用简单的线性方法或基于核的方法在数字分类上做得很好。

为了探索神经网络规模的极限,有一种反常的可能性,我们可能需要首先探索神经网络规模的极限。向下缩放模型和数据集,以保持其行为细微差别的规模,这将使研究人员可以快速迭代基本和创造性的想法。这种快速的迭代周期是获得有关如何将越来越复杂的归纳偏差纳入我们的模型的见识的最佳方法。然后,我们可以在空间尺度上传递这些归纳偏差,以显着提高大规模模型的采样效率和泛化特性。我们认为不起眼的MNIST-1D数据集是朝着这个方向迈出的第一步。

Trunk,GerardV。“维度问题:一个简单的例子。” IEEE Transactions on Pattern Analysis and Machine Intelligence 3(1979):306-307。 ↩

贝尔金,米哈伊尔, ......