多任务自训练学习通用视觉表示

Multi-Task Self-Training for Learning General Representations

ICCV2021    https://arxiv.org/abs/2108.11353

Golnaz Ghiasi,Barret Zoph,Ekin D. Cubuk,Quoc V. Le,Tsung-Yi Lin

摘要:尽管在训练各种任务的专用模型方面取得了快速进展,但是学习一个适用于许多任务的通用模型对于计算机视觉来说仍然是一个挑战。在这里,我们介绍了多任务自训练(MuST),它利用不同的多个专用教师模型(例如分类的ImageNet模型)中的知识来训练单个通用学生模型。我们的方法有三个步骤。首先,我们在标记数据集上分别训练专用教师。然后,我们使用这些专用教师给一个无标签数据集打标签,来创建一个多任务伪标签数据集。最后,该数据集(其包含来自在不同数据集/任务上训练的教师模型的伪标签)用于训练多任务学习的学生模型。我们在6个视觉任务中评估学生模型的特征表示,包括图像识别(分类、检测、分割)和三维几何估计(深度和表面法线估计)。MuST在未标记或部分标记的数据集上具有可扩展性,在大规模数据集上进行训练时,其性能优于专门的监督模型和自监督模型。最后,我们展示了MuST能够改进已经强大的检查点checkpoints[24](ALIGN),这些检查点已经通过数十亿个样本进行了训练。结果表明,自训练是一个很有希望的方向,可以聚合标记和未标记的训练数据来学习通用的特征表示。

图1.多任务自训练(MuST)概述。专用教师代表在单个任务和数据集上训练的监督模型(例如,在ImageNet上训练的分类模型)。专用教师模型根据自己的任务和数据集进行分别培训。然后,它们在共享数据集上生成伪标签。最后,使用共享数据集上的伪(监督)标签联合训练单个通用学生模型。

1. 引言

视觉表征学习是计算机视觉的核心问题。有监督和自监督的预训练在将学习到的特征表示迁移到下游任务方面显示了良好的效果。通常情况下,模型使用监督目标[30,11]或自监督目标[5,17,18]进行预训练。尽管监督训练中的迁移学习被广泛采用,但这些特征对于下游任务可能并不一定有用。例如,何恺明等发现ImageNet预训练无法改善COCO实例分割[19]。相比之下,Shao等人展示了从Objects365检测数据集中学习的特征,极大地提高了COCO实例分割[49]。使用与下游目标任务一致的专门任务进行预训练,仍然可以在目标检测[34,49]和语义分割[4]方面获得最佳性能。

直观地说,通过训练一个模型来同时完成多个任务,可以学习一般特征。最近在NLP方面的工作开始显示出在学习多任务学习的通用模型方面有希望的结果[60,9]。在计算机视觉中,训练多任务模型的最大挑战是数据收集和标注。尽管有COCO[37]等数据集,但为同一图像数据集收集各种标注(例如,实例分割、人物关键点、图像描述)是相当具有挑战性的。由于对图像进行注释非常耗时,因此很难根据大量图像和大量任务来扩展这些工作。大规模多任务数据集的缺乏阻碍了计算机视觉多任务学习的发展。

在这项工作中,我们研究使用自训练来解决这个问题。我们建议使用伪标记来实现大规模多任务特征学习。Zoph等人[67]观察到,相比预训练,自训练进一步改善了迁移学习,并且自训练即使在预训练未能超过随机初始化模型的情况下也有效。预训练和自训练之间的差距表明,自训练可以从伪标签中学习更好的特征。受这一观察结果的启发,我们首先研究是否可以只使用伪标签来学习好的特征。我们使用COCO或Objects365等数据集训练教师模型,以便在未标记的图像上生成伪标签。图2显示了ImageNet上的伪标签样本。令人惊讶的是,我们发现仅使用这些伪标签训练的学生模型保留了其专用教师模型的大部分迁移学习性能。这一发现表明,伪标签可以有效地提取监督数据集中的知识。因此,我们可以使用伪标签将知识从多个教师模型迁移到单个学生模型,以进行表征学习。

图2.ImageNet上的伪标签示例。左:使用Objects365教师模型标记的边界框。中:用COCO教师模型标记的语义分割。右:使用MiDaS教师模型标记的深度。

我们提出了多任务自训练(MuST)来训练一个通用学生模型,该模型基于从针对不同任务和数据集训练的教师模型中提取的信息。图1显示了该算法的概述。MuST有三个步骤。首先,它在标记数据集上分别训练专用教师。例如,一名教师可以接受深度预测训练,另一名教师可以接受目标检测训练。然后使用专用的教师标记较大的未标记数据集,以创建多任务伪标记数据集。例如,这些教师可以在ImageNet数据集上生成深度估计和物体检测。最后,该数据集(现在包含在不同数据集/任务上训练的教师模型的伪标签)用于训练具有多任务学习的学生模型。因此,例如,学生可以同时进行深度预测和目标检测。

在我们的实验中,我们有四个教师模型:分类、语义分割、物体框检测和深度估计。我们基于ResNet[21]和特征金字塔网络(FPN)[36]设计了一个简单的模型架构(图3)。ResNet FPN主干中的参数在不同任务之间共享。对于每个单独的任务,它都有一个小的特定于任务的头部,由几个卷积层和一个线性预测层组成。我们的实验表明,这种简单的模型架构能够吸收共享主干中不同任务的知识。通用学生模型与所有迁移学习任务的专用教师模型一致。

最近的自监督算法,如SimCLR〔5〕、MOCO〔18〕表现出可以创建与其监督对手相当或更好的表示。在我们的实验中,MuST在分割和深度估计任务上也比SimCLR[5]有很大的优势。我们还观察到,由SimCLR学习的表示与ImageNet(1.3M图像)监督学习的相当,但在JFT(300 M图像)上并没有很好的扩展。相反,MuST在ImageNet和JFT上都优于SimCLR[5]。此外,在除图像分类任务外的6项任务中,有5项任务的性能MuST也优于有监督的JFT预训练。结果表明了MuST在学习一般特征表示方面的潜力,随着未标记数据的增多,这种能力会有所提高。

最后,我们展示了MuST可以改进已经很强的检查点,如ALIGN[24]。我们使用MuST伪标签对ALIGN检查点(这些检查点以前通过数十亿个有监督样本训练)进行微调,并在一系列下游任务(检测、分割和深度估计任务)上发现有改进。

我们的贡献总结如下:

•    我们提出了多任务自训练(MuST),这是一种通过伪标签多任务学习创建通用视觉表示的简单算法。

•    我们通过跨多个数据集(例如,ImageNet、Objects365、COCO、JFT)联合训练来进行实验,以学习优于监督和自监督方法学习的表示的通用特征表示。

•    我们在6项计算机视觉任务,包括图像识别(分类、检测、分割)和三维几何体估计(深度和表面法线估计)上进行有监督、自监督和MuST的对比实验。

•    与特定于任务的最先进模型相比,MuST可用于改进已经强大的检查点,并在各种任务上取得有竞争力的结果。

2    相关工作

多任务学习:    多任务学习在深度学习中有着丰富的历史[46]。多任务学习的一个常见策略是为不同的任务共享“主干”模型的隐藏层[2]。最近,多任务学习提高了NLP的准确性[9,38]。尽管如此,Raffel等人发现,多任务学习的表现通常不如预训练后的微调[42](Exploring the limits of transfer learning with a unifified text-to-text transformer, JMLR, 2020)。

在视觉领域,Zamir等人利用室内数据集研究了26项任务的迁移学习依赖性[64]。我们感兴趣的不是探索任务依赖关系,而是推动一个单一的模型,该模型可以吸收所有任务的知识,以学习通用表示。Kokkinos等人[29]和Xiao等人[57]通过简单地将没有特定任务标签的样本的损失归零,跨多个数据集训练模型。我们建议应用伪标签,以便用所有任务对每个图像进行标注。Girshick等人将多任务损失用于分类和边界框回归,以改进目标检测器的训练[15]。我们遵循类似的方法,使用一个大型主干模型和较小的头部来执行多个任务。

自训练:    自训练是将未标记数据纳入监督学习的一种流行技术[62、48、45、33]。该方法使用监督模型在未标记数据上生成伪标签。然后在伪标记数据上训练学生模型。Yalniz等人[61]表明,在大型未标记数据集(规模达数亿)上使用伪标签进行“预训练”的模型可以提高分类精度。Noisy学生[58]通过与130M伪标记图像联合训练,利用自训练在ImageNet上推动最先进的性能。Chen等人[3]通过自训练获得了最先进的城市景观全景分割结果。Zoph等人[67]通过自训练改进了物体检测和语义分割的最新技术(Rethinking pre-training and self-training)。以上所有工作都集中在一项任务上。相反,我们的工作重点是利用多任务学习的自训练来学习通用表征。

表示学习:    从ImageNet预训练中进行迁移学习是计算机视觉中应用最广泛的方法。BiT[30]和ViT[11]在JFT-300M数据集[51]上预训练了模型,并在对下游视觉任务进行微调时获得了良好的性能。特别是,Mahajan等人表明,使用Instagram预训练的模型有利于其他分类任务,但可能会损害定位性能[39]。Li等人发现,OpenImagesV4预训练[32]在迁移到物体检测和语义分割时优于ImageNet预训练[34]。Shao等人使用Objects365数据集展示了类似的发现[49]。这一发现表明,针对单个分类任务的有监督预训练可能无法为许多下游应用创建足够通用的表示。

自监督训练是一种流行的无监督数据表示学习方法[25,5,17,18,22,53]。通过强制图像表示在数据增强[1]下彼此一致,SimCLR和MoCo训练的表示可用于下游分类任务[5,18]。Grill等人提出使用在线和目标神经网络来学习表示,他们对分类任务以及语义分割、目标检测和深度估计进行了评估[17]。另一方面,最近的工作证明了当前自监督学习方法的局限性[41]。他们发现,自监督学习中常用的激进的裁剪(如MoCo[18]、PIRL[40]、SimCLR[5]等中使用的裁剪)会导致遮挡不变的表示,这对下游分类任务是有效的。然而,这些表示不一定对自然图像的其他对称性(如视点不变性)保持不变,这对于其他下游任务(如语义分割)可能是必要的[41]。

3.    方法

3.1. 专用教师模型

我们想向一组教师学习,他们用伪标签提供丰富的训练信号。我们采用了四个教师模型,包括计算机视觉中的四个重要任务:分类、检测、分割和深度估计。这些任务需要对物体和三维几何图形进行视觉理解。伪标签的样本如图2所示。我们从头开始在中/大规模数据集(例如ImageNet[47],Objects365[49],COCO[28])上训练分类、检测和分割教师模型。对于深度教师模型,我们从开源库[44](https://github.com/intel-isl/MiDaS)下载预先训练的检查点。

伪标签:    我们通过伪标记将专用教师模型中的知识迁移到未标记或部分标记的数据集。我们按照[67](Rethinking...)中的实践生成用于检测和分割的伪标签。对于检测,我们使用硬评分阈值0.5来生成伪框标签。对于分割,我们使用硬分数阈值0.5来生成语义分割掩码,而预测分数较小的像素被设置为忽略标签。对于分类,我们使用软标签,它包含所有类的概率分布,因为我们发现性能优于硬标签。对于深度,我们只使用预测的深度作为伪标签,而无需进一步处理。

3.2. 多任务学生模型

模型架构:    我们的目标是通过多项任务训练学生学习通用的视觉表示。首先要设计的是一个模型体系结构,它可以跨任务共享大部分参数。我们定义了三个任务类别:(1)分类,(2)目标检测,(3)像素预测。像素级预测任务包括语义分割、深度估计和表面法线预测。每个类别的任务在主干模型中共享相同的特征表示。

我们设计了基于ResNet[21]和特征金字塔网络(FPN)[36]的主干模型。图3显示了我们架构的概述。我们按照通常的做法设计分类和检测任务的特征表示。我们使用C5特征图(橙色)进行分类,使用{P3,P4,P5,P6,P7}特征金字塔(青色)进行检测。我们按照[67]中的实践,将{P3,P4,P5,P6,P7}融合到P2特征图(绿色)中进行像素级预测。融合操作只需将所有特征映射重新缩放到级别2并求和(这不会引入任何新参数)。

图3.用于多任务学习的ResNet FPN主干架构。橙色:用于分类的top-level特征。青色:用于框检测和实例分割的多尺度特征。绿色:像素级任务的高分辨率功能(例如,分割、深度和表面法线估计)

每个任务类别共享相同的头部架构(编者注:共享结构但不共享参数)。分类头遵循ResNet设计。它是对C5特征平均池化后再接个线性预测层。目标检测任务遵循Mask R-CNN中的头部结构[20]。我们为RPN使用2个隐藏卷积层,为Fast R-CNN使用4个隐藏卷积层和1个全连接层。像素级预测头具有3个卷积层,接在C2特征后面,这3个卷积层后面接着最终的线性预测层。如果学生模型从同一任务类别中的多个任务中学习(例如,语义分割和深度预测),则每个任务都拥有其特定于任务的头部,而不共享其参数。

师生训练:    我们想研究从伪标签学习的有效性。因此,我们设计了教师和学生模型的训练,使他们之间的主要区别在于数据集和标签。与模型蒸馏[23]和噪声学生[58]不同,我们在教师和学生训练中使用相同的模型容量和数据增强。尽管教师可以为自己的任务使用更专业的网络结构进行训练,但我们使用图3所示的相同体系结构训练教师和学生模型。

向多名教师学习:    我们建议多任务自训练(MuST)来训练一个有多名教师的学生模型。以前的多任务学习工作利用了多个数据集中的信息,主要集中在每个样本仅标记一个任务或几个任务的场景中[9,29]。在MuST中,每个图像都有对所有任务的监督。标签可能来源于监督标签或伪标签。例如,在ImageNet上进行训练时,我们可以使用监督标签进行分类,使用伪标签进行检测、分割和深度。

在多任务学习中,平衡每个任务的损失贡献是一个开放的研究领域[26,6,7,63]。多任务学习的损失是所有任务损失的加权和。权重决定任务的损失贡献。在ImageNet实验中,我们采用,其中表示批量大小,表示学习率,下标表示学生或教师模型。该方程源自[16]中的缩放规则,该规则根据批量大小按比例缩放学习率。唯一的例外是深度损失,我们通过参数扫描选择其权重。在JFT300M上的实验中,我们使用[26]中的算法在训练过程中学习每个任务的wi。([26]是Multi-task learning using uncertainty to weigh losses for scene geometry and semantics, CVPR2018)

跨数据集训练:    MuST能够灵活利用已标记和未标记的数据。它可以通过在未标记的数据上生成伪标签来增加图像的数量。或者,它可以使用部分标记有一个或多个任务的图像。在我们的实验中,我们展示了一个跨ImageNet、objects365和COCO数据集的样本训练。只要有监督标签可用,我们就使用监督标签,并使用伪标签为所有缺席的任务生成标签。

跨数据集训练的一个挑战是平衡来自不同大小数据集的数据。我们没有设计抽样启发法[9],而是从数据集的并集中均匀抽样。这是因为在MuST中,每个图像的每个任务都被标记,因此我们不需要担心由于数据集大小不平衡而导致任务采样不足/过多。与其他自训练算法相比,第二个主要区别在于监督标签和伪标签被同等对待。我们不会像[67,58]那样独立地对监督标签和伪标签的样本进行批处理,并为它们分配不同的权重。图像从数据集中统一采样,并放入一个小批量中。无论损失是根据监督标签还是伪标签计算的,每个样本在其损失上共享相同的权重。这使得使用和扩展多个任务变得非常简单。

3.3    迁移学习

为了评估MuST和其他基线表示的表示质量,我们在一组下游计算机视觉任务中对它们进行了微调。对于每个微调任务的性能,我们采用端到端微调而不是线性探头。我们对CIFAR-100分类、Pascal检测、Pascal语义分割、NYU深度、ADE语义分割和DIODE表面法线进行了微调。还请注意,所有下游数据集都不同于专业教师模型所训练的数据集。此外,表面法线预测是一项没有专门的教师模型训练的任务,用于测试表征对held out任务的鲁棒性。在对下游任务的表示进行微调时,我们会扫描学习率和训练步骤的数量(完整细节见附录)。这允许在不同表示之间进行公平比较。

4    实验

4.1    实验设置

训练数据集:表1概述了我们在实验中使用的数据集。我们用四种不同的数据集和任务来训练我们的监督教师模型。然后,这些监督模型将在未标记/部分标记的图像上生成伪标签。

评估数据集:    接下来,我们将描述我们的所有表示都将微调的数据集。表1提供了清单。我们有不同的数据集,总共有五个不同的任务。注意:曲面法线任务从未用作测试表示的任务通用性的训练任务。

4.2    多任务自训练学习

我们通过实验比较了我们的MuST表征学习算法与最先进的自监督和监督学习方法。

MuST改进ImageNet的预训练:    表2将MuST算法与ImageNet上的自监督和监督学习进行了比较。在一组6个下游任务上,必须分别在4个和5个任务上改进最先进的自监督学习和监督学习。MuST不仅使用ImageNet分类标签,而且还使用从物体365检测、COCO语义分割和MiDas深度训练的监督模型生成的伪标签。针对ImageNet图像训练的这些附加信息导致更具普遍性的特征表示。我们观察到,在ImageNet上的自监督和有监督的预训练并没有学习到几乎同样适用于图像分类以外的任务的特征。

MuST通过更多任务/数据集进行改进,以学习通用特征:    MuST算法利用在不同数据集上训练的独立监督模型生成的伪标签。接下来,我们将研究从针对不同任务/数据集训练的多个不同教师模型生成伪标签的重要性。表3显示了从仅使用监督ImageNet标签开始的表示质量改进,然后添加从三个不同数据集获得的三种不同类型的伪标签。随着我们继续从不同的任务/数据集中添加伪标签,我们的表示在质量上有所提高。对于每一项新增加的任务,我们在所有6项下游任务中都取得了显著的改进。

伪标签保留教师模型的迁移学习性能:    接下来,我们将研究伪标签如何有效地保持在监督数据集上训练的教师模型的迁移学习性能。为了验证这一点,我们训练了两个有监督的教师模型:Objects365上的物体检测模型和COCO上的语义分割模型。表4的前两行显示了他们在6个下游任务上的监督学习绩效和迁移学习绩效。接下来,我们在两个没有标签的数据集上生成伪标签:ImageNet(1.2M图像)和JFT(300M图像)。现在,我们在ImageNet和JFT上的伪标签上从头开始训练模型。表4中接下来的4行显示了这些结果。我们观察到,对于目标检测和分割伪标签,我们获得了监督学习质量的下降(例如26.1 vs 20.6/20.7),但当表示被迁移时,它们获得了与教师模型相似或更好的迁移学习性能。JFT训练获得的表示通常会比    ImageNet导致更好的迁移学习性能,这表明了MuST方法的可扩展性。当我们得到越来越多的未标记数据时,我们的方法可以很容易地利用它,并且表示质量得到了提高。

跨数据集的多任务自我训练:    MuST利用在不同监督学习数据集上训练的教师模型生成的伪标签。然后,一个的自然比较是了解如何将MuST与监督多任务监督训练进行比较,其中模型是在数据集和标签的联合上进行训练的[29]。表5比较了在三个数据集(ImageNet、COCO和Objects365)上,MuST与监督多任务训练的表示质量。对于多任务训练,我们以相同的概率从数据集中抽取样本。概率与数据集大小成比例的抽样样本效果不佳。由于ImageNet和Objects365数据集比COCO数据集大得多,因此对于256个批量大小,在分割任务上,只有15个样本具有非零损失值。另一方面,在MuST中,每幅图像都有任何类型的标签,我们可以用概率与数据集大小成正比的方法来抽样。在比较表征质量时, MuST在6/6下游任务中获得最佳性能。

4.3    扩展多任务自训练

MuST的一个好处是它可以扩展到无限量的未标记图像。为了验证这一假设,我们从具有1.2M图像的ImageNet设置转移到具有300M图像的JFT。

扩展数据集大小和训练迭代:    现在,我们不再在1.2M图像上生成伪标签,而是扩展MuST训练,让所有三个有监督的教师模型在300M图像上生成伪标签。这个过程是可并行的,这使得整个运行时比模型的训练要低。表6显示了MuST与JFT数据集上的自监督学习和监督学习的比较。在使用相同的未标记数据时,5/6下游任务的性能必须优于自监督SimCLR算法。我们还针对JFT上可用的多类标签训练了一个有监督的基线,发现仅使用未标记的图像,MuST在5/6下游任务上优于其表示。考虑到MuST从伪标签间接利用的监督图像总数仅为3.7M张,相比300M张标记的JFT图像,这是非常令人印象深刻的。添加JFT监督标签可以进一步提高图像分类和分割的性能,显示了MuST在使用标记和未标记数据时的灵活性。最后,学生模型不仅能够学习迁移的一般特征,还能够为多个任务生成高质量的预测。图4显示了我们最强的模型所做的预测。

图4。多任务学生模型生成的预测的可视化。MuST学生模型不仅学习通用的特征表示,而且使用单个模型进行高质量的视觉预测。

进一步提升预训练模型(Bootstrapping from Pre-trained Models)    下一步,我们将研究MuST是否可以改进使用数十亿个训练样本训练的检查点。我们使用ALIGN检查点[24],其使用了1.8B图像-文本对进行训练,我们用这个检查点初始化教师模型和学生模型的参数。我们使用与之前实验相同的教师模型任务。伪标签在JFT-300M数据集上生成,MuST学生模型在JFT上训练1个epoch。图5显示了与ImageNet检查点[52]相比,嘈杂学生[58]、ALIGN[24]和MuST w/ALIGN的相对迁移学习性能增益(relative transfer learning performance gains)。该图显示,在6个下游任务中,MuST w/ALIGN将ALIGN检查点提高了4个。对于CIFAR-100和DIODE表面法线预测,性能稍差。我们使用EfficientNet-L2架构重复实验,并在JFT上训练0.36 epoch的学生模型。我们在表7中报告了4个下游任务,显示了对ALIGN检查点的改进。我们发现,使用MuST训练的学生模型提高了大型ALIGN EfficientNet-L2检查点,并且与专门用于每个数据集和任务的最先进模型相比具有竞争力。值得注意的是,MuST提供了可在短迭代中微调就实现最先进性能的检查点,而典型的自训练方法[67]需要为每个下游任务进行伪标记和长时间的训练迭代。

图5。与ImageNet预训练模型[52]相比,相对迁移学习性能提高。使用更多数据或标签训练的检查点通常会在将学习迁移到下游任务方面提供收益。使用MuST微调EfficientNet-B7 ALIGN检查点可以进一步提高4/6下游任务的迁移学习性能。

5    讨论

哪种预训练方法在大规模训练中表现最好?    尽管自监督学习在ImageNet大小的数据集(130万张图像/1k类)上优于监督学习,但在JFT大小的数据集(3亿张图像/18k类)上,监督学习仍然是一种更好的预训练方法。这种差距可以通过使用更多的未标记数据进行自监督学习来弥补。然而,自训练也可以通过在未标记的数据上生成伪标签来扩展一个或多个监督模型。总的来说,自监督和自训练都可以扩展,但目前,自训练在学习通用特征方面表现更好。一个有希望的方向是将自监督和自训练结合起来进行表征学习[65,12,59]。

为什么使用MuST而不是自监督学习?(Why use MuST over self-supervised learning?)    这两种方法对于未标记的训练数据都是可扩展的,但MuST能够轻松地将所有标记和未标记的数据组合在一起。然而,自监督学习依赖于从pre-text任务到下游任务的泛化,这并不总是提供良好的性能。如果预先知道感兴趣的下游任务,那么设计伪标签就更容易了。鉴于本文中教师模型的任务,MuST推广到看不见的任务(例如,表面法线预测)。

6    结论

本文提出了一种可扩展的多任务自训练方法。我们在ImageNet和JFT上比较了监督和自监督学习方法,并在视觉识别、定位和三维几何预测等6个数据集上进行了评估。我们表明,MuST优于或等同于监督和自监督学习的6个迁移学习任务中的5个,除了分类任务。此外,MuST还可以改进已经强大的检查点,这些检查点经过了数十亿样本的训练。结果表明,多任务自训练是一种可扩展的预训练方法,能够学习通用的特征表示。我们希望这项工作将鼓励进一步研究创造通用的视觉表现。

附录

A    训练和评估数据集的详细信息

A.1    训练数据集

在本节中,我们将介绍用于训练教师模型的5个数据集

ImageNet:    ImageNet[47]是一个分类数据集,包含1.2M的训练图像和1000个unique类。它的所有图像都是中心裁剪的,并且每个图像都有一个主物体。

Objects365:    Objects365[49]是一个物体检测数据集,具有365个不同的类和600k训练图像。

COCO:    COCO数据集[37]包含具有各种不同标签的118k图像(例如,物体检测、实例分割、全景分割)。对于所有实验,我们都使用全景分割标签。

MiDaS:    用于生成深度伪标签的MiDaS深度模型[44]在一组不同的5个深度数据集上进行训练。这5个深度数据集分别是DIML室内[27](220k图像)、MegaDepth[35](130k图像)、ReDWeb[56](3600)、WSVD[55](1.5M)和3D电影(75k)。该模型被训练为对所有数据集的深度范围和比例保持不变(The model is trained to be invariant to the depth range and scale across all datasets),从而生成一个生成鲁棒伪标签的模型。

JFT:    JFT[51]是一个大规模的图像多标签分类数据集,有300M的标签图像。该数据集用于测试MuST的规模和各种自监督学习算法。

A.2    评价数据集

接下来,我们将描述我们的所有表示都将微调的数据集。我们有不同的数据集,总共有五个不同的任务。注意:曲面法线任务从未用来训练,以测试表示的任务泛化性能(Note the Surface Normal task is never used as a training task to test the task generality of the representations.)

CIFAR-100:    CIFAR-100是一个具有50k图像和100个unique类的分类数据集。

PASCAL Detection:    Pascal检测数据集[13]是一个具有20个唯一类的物体检测数据集。我们在PASCAL VOC 2007和PASCAL VOC 2012的trainval集上训练模型,其中包括16.5k图像。

PASCAL Segmentation:    Pascal分割数据集[13]是一个具有20个唯一类的语义分割数据集。我们在PASCAL VOC 2012分割数据集的训练集上训练模型,该数据集具有1.5k图像。

NYU Depth V2:    NYU Depth V2数据集[50]是一个深度估计数据集,包含47584个训练图像和654个训练图像。

ADE分割:    ADE20k[66]是一个分割数据集,包含有150个物体和内容类的20k图像。数据集包含各种不同的室内和室外场景以及物体类。

DIODE表面法线:    DIODE数据集[54]是包含16884个图像的深度和表面法线数据集。该数据集包含用于训练和测试的各种室内和室外场景。我们只使用曲面法线标签。

B    实施细节

B.1    训练教师模型

在本节中,我们将介绍训练教师模型的详细信息,这些模型用于在MuST中生成伪标签。所有模型均使用ResNet-152主干模型进行训练。

物体365检测:    我们使用批量大小为256,训练140个epoch。图像大小为640。我们采用比例抖动[0.5,2.0](即在320×320到1280×1280之间随机重新采样图像,并将其裁剪为512×512)。学习率为0.32,权重衰减设置为4e-5。模型通过随机初始化进行训练。最终性能为26.1 AP。

COCO分割:    我们使用COCO全景分割数据集中的注释[28]。我们训练了一个语义分割模型,该模型只预测每个像素的语义类,而不预测物体实例。我们使用批量大小为256,训练384个epoch。图像大小为896。我们应用比例抖动[0.5,2.0]。学习率为0.32,权重衰减设置为4e-5。模型通过随机初始化进行训练。最终性能为53.8 mIoU。

MiDaS Depth:    我们直接从github存储库下载预先训练好的MiDaS,并将其用作生成伪标签的教师模型。

ImageNet分类:    我们使用批量2048和400个epoch的训练。图像大小为224。学习率为0.8,权重衰减为4e-5。我们采用随机增强[10](2L-15M, 2 layers with magnitude 15)和标签平滑(0.1)来正则模型训练。最终性能为81.6的top-1准确度。

B.2    多任务学生模型的训练

在我们的实验中,我们使用批量大小为256来训练学生模型。图像大小为640。我们在训练期间应用缩放抖动[0.5,2.0]。权重衰减在ImageNet实验中为4e-5,在JFT实验中为3e-6。未应用随机增强[10]或标签平滑。

B.3    对评估数据集进行微调

对于微调,我们使用预先训练的模型初始化ResNet和FPN主干中的参数,并随机初始化其余层。我们通过对学习率和训练步骤组合进行广泛的网格搜索来执行端到端微调,以确保每个预先训练的模型达到最佳微调性能。我们对不同的权重衰减进行了实验,但没有发现有太大的差异,我们将其设置为1e-4。为了简单起见,所有模型都使用余弦学习率进行训练。下面我们将描述每个任务的数据集、评估指标、模型体系结构和训练参数。

CIFAR-100:    我们使用标准的CIFAR-100训练和测试集,并报告top-1准确度。我们将图像分辨率调整为256×256。我们用随机初始化的线性层替换预训练模型中的分类头,该线性层预测101个类,包括背景。我们使用512的批量大小,搜索5000到20000的训练步骤和0.005到0.32的学习率的组合。我们发现SimCLR的最佳学习率(0.16)远高于监督模型(0.005)。这一趋势适用于以下任务。

PASCAL Segmentation:    我们使用PASCAL VOC 2012训练集和验证集,并报告mIoU度量。训练图像以512×512的比例抖动[0.5,2.0]重新采样。我们从预训练主干和FPN[36]层初始化模型。我们移除预训练的分割头,并训练一个随机初始化的头。我们使用64的批量大小,搜索5000到20000个训练步骤和0.005到0.32的学习率的组合。

PASCAL Detection:    我们使用PASCAL VOC 2007+2012 trainval集和VOC 2007测试集,报告AP50和11个召回点,以计算平均精度。训练图像以比例抖动[0.5,2.0]重新采样到896。我们从预先训练的主干和FPN[36]层初始化模型,并随机初始化头部。我们使用32的批量大小,搜索5000到20000个训练步骤和0.005到0.32的学习率的组合。

NYU Depth:    我们使用NYU Depthv2数据集,包括47584个训练和654个验证图像。我们报告了预测深度值与真值相比在1.25相对比率内的百分比(We report the percentage of predicted depth values within 1.25 relative ratio compared to the ground truth)。训练图像被重新采样为640,比例抖动[0.5,2.0]。我们从预先训练的主干和FPN[36]层初始化模型,并随机初始化头部。我们使用64的批量大小,搜索10000到40000个训练步骤和0.005到0.32的学习率的组合。

DIODE:    我们使用带有16884个训练和446个验证图像的DIODE室外数据集。我们报告的角度误差百分比小于11.25◦ . 我们使用原始图像分辨率768进行训练和评估。使用缩放抖动[0.5,2.0]应用训练图像。我们从预先训练的主干和FPN[36]层初始化模型,并随机初始化头部。我们使用32的批量,搜索20000到80000个训练步骤和0.01到0.16的学习率的组合。

C    学生模型预测的可视化

图6显示了单个多任务学生模型所做预测的更多可视化样本。图像从ImageNet数据集中的验证集采样。

你可能感兴趣的:(多任务自训练学习通用视觉表示)