读文献 Large Scale Learning of General Visual Representations for Transfer 阅读心得

摘要

这篇文章扩大了预训练的规模,并提出一种简单易用的迁移学习算法叫做大迁移(BiT)。通过组合一系列仔细选择的组件,迁移时应用简单的启发式算法,在20个数据集上实现了非常好的识别效果。重点是在小数据集上,86.4%在ILSVRC-2012,这个数据集每个类只有25张图片;97.6%在CIFAR10(修改成每个类只有10张图片的形式)。

Introduction

要执行迁移学习,首先要在大型通用数据集上预训练网络。从训练前到新任务的知识转移通常需要使用预训练学习到的权重,初始化后续任务的网络。这样就可以用较少的后续任务标记示例获得良好的性能。迁移学习也可以将计算需求转移到预训练任务。尽管预训练阶段很消耗算力,但后续任务通常需要较少的训练迭代。
我们在JFT-300M数据集上预训练BiT-Large(BiT-L),该数据集包含300 M带噪声标签的图像。BiT-L在许多视觉分类任务中获得了最先进的性能,训练集从10到1M不等(图1)。这些任务包括ImageNet的ILSVRC-2012[8]、CIFAR-10/100[25]、Oxford IIIT Pet[35]、Oxford Flowers-102[34](包括低数据变量)和1000个样本VTAB-1k基准[55],它本身由19个不同的数据集组成。我们也在公共ImageNet-21k数据集上训练BiT-M,并展示了与传统的ILSVRC-2012预训练相比的巨大改进。
在这里插入图片描述
另外,这篇文章提出了一个设置超参数的启发式方法,在很多新任务上都很有效。
本文的目标不是引入一个新的组件,或者为最先进的深度学习管道增加更多的复杂性。相反,我们的目标是简化并创建一个预训练/传输管道,该管道使用最少的必要技巧,以在广泛的流行分类任务中获得非常强的性能。我们还研究了不同组件的影响,并深入了解了规模、架构和训练超参数之间的相互作用。对于实践者,我们计划发布一个在公共ImageNet-21k数据集上训练的性能BiT-M模型。

BiT的组件

我们回顾了构建一个经过预训练的网络所必需的组件,该网络可以在许多任务中获得良好的性能。它们分为两组:上游组用于训练前,下游组用于微调新任务。

2.1 Upstream Pre-Training

我们发现,长时间的训练计划对于拥有大量数据的训练至关重要。我们在三个大型数据集上训练三个BiT模型:包含130万个图像(位)的ILSVRC-2012[38]、包含14M个图像(位-M)的ImageNet-21k[8]和包含300万个图像(位-L)的JFT[40]。

第二部分是组正则化(GN)[49]。批正则化(BN)[19]是一种常用的用于稳定训练的技术,在大多数最先进的视觉模型中都有使用。然而,BN在迁移学习中可能会受到损害,这可能是因为需要更新运行统计数据。我们在第4.3节中对此进行了实证研究。当训练时每个类只有很少的图像时,BN也可能是有害的,因为批处理统计变得太嘈杂。在这种情况下,当GN与权重标准化(WS)结合使用时,可以提高ImageNet和COCO的性能[29]。我们证明了GN和WS在较大批量下都是有效的,并且对迁移学习有显著的影响。

2.2 Transfer to Downstream Task

我们提出了一个简易的微调方法,适用于许多不同的任务,训练集大小跨越许多数量级。特别是,我们避免了对每个新任务和数据集大小进行昂贵的超参数搜索。

我们的启发式超参数配置,我们称之为位超参数配置,根据数据集特征选择分辨率、混合的使用和训练计划;
在这里插入图片描述
在微调过程中,我们使用有限的数据预处理:将图像调整为固定的正方形大小,裁剪出较小的随机正方形,并在训练时随机水平翻转图像。在测试时,我们只将图像调整为固定大小。我们应用的每项任务唯一的启发式方法是,我们不会对可能破坏标签语义的任务执行随机水平翻转或裁剪,例如在预测像素空间中的对象方向或座标时。
最近的研究表明,现有的增强方法会导致ConvNets的训练和测试分辨率之间的不一致[45]。一种常见的启发式方法是在测试时通过一个小的因素来提高分辨率。一个更好的解决方案,由[45]提出,是引入一个额外的步骤,在这个步骤中训练的模型被微调到测试分辨率。这很适合迁移学习:我们在微调步骤中包括分辨率的变化。
应用MIXUP插值技术于这次迁移学习中,事实证明效果不错。
最后,我们注意到我们不使用权技术重衰减,既不朝向零,也不朝向预先训练的重量。我们也不使用随机丢弃方法。尽管网络非常大,BiT-L有大约10亿个参数,但即使传输到非常小的数据集,在不需要这些技术和它们各自的超参数的情况下,性能也出奇地好。我们发现一个适当选择的时间表是足够的。根据样本数自动选择时间表,较大的数据集具有较长的时间表(见表1)。

实验

我们使用三个不同规模的数据集训练了三个上游模型:BiT-S、BiT-M、BiT-L。我们使用一系列的下游任务评估这些模型。【跨越了高和低的数据区域】

3.1 Data for upstream pre-training

BiT-S是在ImageNet数据集的流行ILSVRC-2012变体上进行训练的。这个数据集包含128万个图像和1000个类。每个图像都有一个标签,并且标签是根据WordNet层次结构组织的。
BiT-M是在完整的ImageNet-21k数据集[8]上进行训练的,该数据集有1420万个图像和21k个类,也使用WordNet组织。
BiT-L是在JFT-300M数据集上训练的,如[40,33,50]所示。此数据集是[16,6]中使用的新版本。JFT-300M由大约3亿张图片组成,每张图片平均有1.26个标签。标签被组织成18 291个类的层次结构。注释是使用自动管道执行的,因此不完善;大约20%的标签有噪音。

3.2 Downstream tasks

使用各种类型、各种大小的标准数据集进行验证,主要包括ILSVRC-2012 [8],CIFAR-10/100 [25], Oxford-IIIT Pet [35] and Oxford Flowers-102 [34].
还使用了VTAB。

3.3 Hyperparameter Details

对于我们所有模型的上游预训练,我们使用普通的ResNet-v2架构[14],除了我们用组规范化[49]替换所有批规范化[19]层,并在所有卷积层中使用权重标准化[36]。第4.3节分析了这一变化。BiT-S和BiT-M模型使用ResNet-101体系结构,其中每个隐藏层的宽度都是原来的三倍(ResNet101x3)。为了从更大的数据集中获益,BiT-L使用ResNet-152x4模型,该模型有9.3亿个可训练参数。我们在第4.1节中探讨了数据集和模型大小之间的耦合。
在这里插入图片描述
我们训练了90个阶段的BiT-S和BiT-M,并在30、60和80个阶段将学习率降低了10倍。对于BiT-L,我们训练了40个阶段,初始学习率为0.03,有5000个线性预热步骤,在10、23、30和37个阶段后学习率下降。我们使用4096的全局批处理大小,并在云端TPUv3-512[22]上进行训练,得到每个芯片8个图像。对于大批量优化,我们采用了[9]中的配方。特别是,我们对5000个优化步骤使用线性学习率预热,并将学习率乘以批量大小除以256。

提出了了一个启发式设置BiT hyperparam来确定所有下游超参数。在数以百计的超参数选择中,位超参数根据任务的图像分辨率和训练集大小选择最重要的。

对于所有任务,我们将初始学习率设置为0.003,将批大小设置为512。我们将小于96×96像素的输入图像调整为160×160像素,然后随机裁剪128×128像素。我们将较大的图像调整为448×448,对BiT-S和BiT-M进行384×384大小的裁剪。对BiT-L,我们从512×512图像中进行480×480大小的裁剪。有关如何应用水平翻转和随机裁剪的详细信息,请参见附录B。

我们定义了三种任务机制:我们称之为小任务(标记示例少于20k),称之为中等任务(标记示例少于500k),任何较大的数据集都是一个大任务。对于小任务,我们微调位为500步;对于中等任务,我们微调位为10k步;对于大任务,我们微调位为20k步。在微调过程中,我们在30%、60%和90%的训练步骤中将学习率降低10倍。最后,我们使用MixUp[56],α=0:1,用于中大型数据集。

在这里插入图片描述

3.4 Evaluation on Standard Computer Vision Benchmarks

我们在标准基准上评估BiT-L,并将其性能与当前的最新结果进行比较(表2)。在这里,我们将执行与任务无关的大规模预训练(一般表示)的模型与执行与任务相关的大规模预训练(专业表示)的模型分开。专家方法以特定任务为条件,例如ILSVRC-2012,然后使用大型支持数据集(如JFT-300M[33]或Instagram-1B[52])进行训练。更多细节将在第5节中讨论。专家代表非常有效,但每项任务都需要大量的培训成本。相比之下,广义表示只需要一次大规模的训练,然后是更简单的适应阶段。

BiT-L的性能优于先前报道的通用SOTA模型,而且几乎在所有情况下都优于专家模型。BiT-L模型在没有对每个数据集进行大量超参数调整的情况下实现了这些结果:我们对所有运行(包括19个VTAB任务)使用BiT超参数,并且不执行代价高昂的调整。

受内部JFT-300M数据集上BiT-L训练的强大结果的启发,我们将注意力放在公共ImageNet-21k数据集上。这个数据集是广泛使用的ILSVRC-2012的10倍多,但大部分被研究界忽略。在表3中,我们证明,与在ILSVRC-2012(BiT-S)上训练的相同模型相比,在ImageNet-21k上训练的BiT-M可以显著改善视觉表现,这是由我们所有的基准测试所测量的。

在我们的详细分析中,特别是在第4.2节中,我们讨论了可能阻碍广泛采用ImageNet-21k作为数据集模型进行预训练的陷阱,并强调了BiT的关键组件,这些组件使我们能够在这个大型数据集上取得成功。

3.5 Evaluation On Low-data Regime

在本节中,我们研究需要多少标记样本才能有效地将BiT-L传输到新的下游任务。为此,我们在下游训练数据的小子集上微调我们的模型。我们在低数据中测试BiT-L。

在这里插入图片描述
图2(左半部分)显示了ILSVRC-2012、CIFAR-10和CIFAR-100上BiT-L的性能如何取决于每个类的可用标记样本数。具有相同数量训练数据的多个点对应于不同的随机数据子样本(我们为每个类配置的每个示例评估5个随机子样本)。令人惊讶的是,即使每个类只有很少的样本,BiT-L也显示出了强大的性能,并很快接近完整数据体制的性能。特别是,在ILSVRC-2012中,每个类只有一个标记样本,达到74.3%的最高1级准确率,在25个样本中,最高1级准确率达到86.4%。在CIFAR-100数据集上,我们实现了85.0%,每个类只有10个样本。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章