在ViT、MLP-Mixer等进行4800多次实验,谷歌发现大规模预训练存在瓶颈

视学算法

共 3638字,需浏览 8分钟

 · 2021-10-29

视学算法报道

机器之心编辑部
大规模预训练模型在各种任务上取得了不错的性能,但是也存在一些限制。来自谷歌的研究者系统地研究了大规模预训练模型在图像识别任务中扩大数据、增加模型大小和训练时间对各种下游任务的影响,并查明限制、原因,以提供指导。

大规模机器学习研究的最新进展表明,通过适当地扩大数据、增加模型大小和训练时间,会提高预训练模型迁移到下游任务中的性能。一个突出的示例是 Brown 等人的研究,他们表明 GPT-3 在小样本(few-shot)设置下,在许多自然语言处理任务以及基准上取得了显著性能,而 GPT-3 就是一个在大量数据上训练而成的大型 transformer 模型。在图像识别任务中,对 Instagram 图像、 JFT-300 的训练已被证明在迁移和小样本设置中非常有效,即使没有提供示例(零样本),像 CLIP 这样的模型也能取得不错性能。 

所有这些模型的发展都暗含着两种一致的观点:1) 扩大模型和数据规模可以显著提高性能;2) 上游任务性能的改进以理想的方式迁移到下游任务。

这些观点表明,在一个大规模语料库上花费计算和研究精力来提高性能是有回报的,因为这将使我们能够很轻松地解决许多下游任务。这也意味着在提高上游性能的同时,我们不需要担心下游任务,因为它们的改进是基于线性趋势的。

事实真的是这样吗?(通过适当地扩大数据、增加模型大小和训练时间,会提高预训练模型迁移到下游任务中的性能。)来自谷歌的研究者系统地研究了这种现象,并确定随着上游任务(US)准确率的提高,下游任务(DS)的性能会达到饱和。特别是,该研究探索了超过 4800 次关于 Vision Transformer、MLP-Mixer 和 ResNets 的实验,这些模型的参数数量从一千万到一百亿不等,同时,他们在最大规模的可用图像数据(JFT-300M、ImageNet21K)上进行训练,并在超过 20 个下游图像识别任务上进行了实验。

该研究提出了一个可用于下游任务性能的模型,该模型能够反映饱和现象,并且该模型还能捕获上游和下游任务性能的非线性关系。该研究通过深入研究导致这些现象的原因,观察到这种饱和行为与通过模型层演变的表示方式密切相关。此外,该研究还展示了一个更极端的场景,即上游和下游任务的性能相互矛盾,也就是说,为了获得更好的下游性能,我们需要损害上游的准确率。


论文地址:https://arxiv.org/pdf/2110.02095.pdf

佐治亚理工学院机器学习博士生 Aran Komatsuzaki 在推特上表示:「这是一篇探索大规模预训练局限性的文章,他们在 ViT、MLP-Mixer 以及 ResNets 上进行了超过 4800 次实验,参数量高达 10B,并在超过 20 个下游图像任务上进行了评估。研究发现,当我们增加上游任务的准确率时,下游任务的性能就会达到饱和。」


还有网友表示:这是一篇很不错的文章,但是我想了解一些关于数据多样性的研究。


迁移学习效益递减

迁移学习旨在下游任务中具有良好的表现。该研究解决的首个问题是上游任务的性能改进,是如何影响下游任务性能的。

下游任务准确率的扩展规律

下图 1 显示了在超过 3000 次实验的 DS-vs-US ( downstream-vs- upstream  )性能,其中不同架构在 JFT 上进行了预训练,并在小样本设置 (k = 25)的一组 DS 任务上进行了评估。图 2 展示了在 4800 次实验上(在 JFT 或 ImageNet21K 上预训练)的相似图,分别为 1 或 25 个 shot。 

鉴于模型的性能,研究者想要了解如果提高 US 性能,那么 DS 的性能将如何变化?为此,该研究将曲线拟合到 DS-vs-US 性能图,并强调他们的分析与之前的分析方法大不相同,因为之前方法都是分析了 DS 准确率与 US 准确率,而不是 DS 准确率与数据集大小、模型大小或计算存在的关系。由于 US 的大部分性能改进是通过扩展(数据集大小、模型大小、计算)实现的,因此这种方法间接捕获了扩展带来的影响。 

图 1:基于 1500 多个不同的 Vision Transformer、1400 个 MLP-Mixer 和 16 个性能最佳的 ResNet,不同下游任务与上游任务的性能结果。

正如我们在图 2 中看到的,不同的 DS 任务具有不同的饱和值,并且该值随着 US 任务的变化而变化。此外,当改变 shot 数量时,eIR( Irreducible error )也会发生变化。该研究还比较了使用不同 US 数据集(ImageNet21K 和 JFT)训练的模型以及用于迁移的不同 shot 数的相同 DS 任务集的 DS-vs-US 准确率。研究发现饱和时的 DS 准确率依赖于 US 数据集。


为了更清楚地描述这一结果,该研究在图 3 中绘制了不同选择如何影响幂定律参数(power law)。可以看出,US 和 DS 任务的选择将会影响所有的参数 ,而 shot 主要影响 eIR。具体来说,增加 shot 次数会导致 eIR 降低。


数据大小、模型大小、epoch 数量研究

该研究还进行了一组控制实验,他们增加了数据大小、模型大小、epoch 数量,并对由此产生的 DS-vs-US 准确率图进行了研究。

为了便于与早期实验进行比较,在图 5 中,该研究将新的点与图 1 的点重叠;控制实验中的点用颜色显示,图 1 中的点以灰色显示。下图描述了随着 US 数据的增大(从 JFT 的 2% 增加到 100%),DS-vs-US 准确率的变化趋势,模型包括 ViT-Tiny、ViT-Small、Vit-Base、ViT-Large,epoch 的数量为 7、14、 21。


相似的趋势:图 5 中的对照实验显示出与图 1 和图 2 相似的趋势。也就是说,当扩展数据集大小、模型大小和 epoch 数时,对于不同的 DS 任务,DS-vs-US 准确率呈现不同的趋势。某些 DS 任务,性能会更快地饱和,并且超出此范围,然而提高 US 的性能并不会显著改进 DS 性能。

网格搜索等价性:与数据大小和 epoch 数相比,模型大小对提高 US、DS 准确率的影响更为明显。但是请注意,如果我们保持三个参数中的任意两个固定并增加第三个,则这些点将会位于同一条曲线上。在图 5 中,改变数据大小和 epoch 数的影响与改变模型大小的影响在同一条曲线上。因此,我们可以相信,即使我们对所有这些参数进行网格搜索,图 1 仍会呈现相同的图片。

超参数的作用:数据大小、模型大小、epoch 数并不是影响 DS 准确率的唯一因素。当对这三个参数进行控制实验时,这些点最终在同一条曲线上。图 1 中观察到的变化是由于不同的架构、训练超参数和算法的选择产生的结果。超参数的影响引起的变化导致图 1 中的点不在同一条曲线上。

探索不同的 DS-vs-US 趋势

该研究还探索了 DS-vs-US 准确率中饱和行为背后的原因,并解释为什么与其他任务相比,某些 DS 任务的饱和发生得更早。首先,他们将 ImageNet DS-vs-US 图的凸包叠加在所有 DS 任务的 DS-vs-US 图上。图 6 和图 29(在附录 C.3 中)分别显示了 US 任务是 JFT 和 ImageNet21K 的情况。通过实验可以观察到:(1)性能最佳的 ImageNet 模型在几个但不是所有 DS 任务中的性能与性能最佳的模型非常相似。(2) 随着 US 性能的提高,性能最好的 ImageNet 模型和性能最好的 DS 任务模型之间的差距显著缩小。 


正如 Yosinski 等人所讨论的,较低层的网络捕获较低层的特征,这种特征广泛存在于不同的数据集和任务中,而细粒度的特征存在于网络的顶部。此外,在较高层次中学习的示例在之后的模型中会进行学习,置信度较低,不确定性较高。受到这些观察结果的启发,该研究对应用在预训练模型的不同层表示之上的小样本分类器的性能进行了观察。图 7 展示了这个结果。

图 7:研究人员展示了从不同层选择的表示对下游任务性能的影响,以及当上游任务为 JFT 时,扩展(模型、数据和计算)对下游任务性能的影响。
 
由上述研究可以得出,US 准确率的提升并不能转化为 DS 的性能改进,在做大规模预训练模型的你,是否遇到过相似的情况。

© THE END 

转载请联系原公众号获得授权

投稿或寻求报道:content@jiqizhixin.com


点个在看 paper不断!

浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报