
GAIA,一个用于所有下游任务的过渡学习系统。
三个要点
✔️ 聚焦于物体检测领域,我们提出了一个名为GAIA的迁移学习系统
✔️ 结合迁移学习和加权学习,为各种架构同时生成强大的预训练模型,为下游任务找到合适的架构,高效可靠。发现了一种方法
✔️ 在UODB、COCO、Objects365、Open Images、Caltech、CityPersons、KITTI、VOC、WiderFace、DOTA、Clipart、Comic等数据集上证实了有希望的结果。
GAIA: A Transfer Learning System of Object Detection that Fits Your Needs
written by Xingyuan Bu, Junran Peng, Junjie Yan, Tieniu Tan, Zhaoxiang Zhang
(Submitted on 21 Jun 2021)
Comments: CVPR2021.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
近年来,在大型数据集上使用先验学习的过渡学习在计算机视觉和自然语言处理中发挥了重要作用。
然而,使用大规模的预学习来满足特定任务的要求是非常昂贵的,因为有许多应用场景有独特的要求,如延迟约束和特殊的数据分布。
因此,本文着重于物体检测领域,提出了一个名为GAIA的过渡学习系统,该系统能够为下游任务自动和有效地生成定制的解决方案。
GAIA提供强大的、预先训练好的权重,并能选择符合下游要求的模型,如延迟约束和指定的数据域,并在一个任务的数据点非常少时收集相关数据。
本文的具体贡献如下。
- 展示如何成功结合转移学习和加权学习,同时为各种架构生成强大的预训练模型。
- 它还提出了一种高效可靠的方法来为下游任务寻找合适的架构。
GAIA对10个下游任务取得了令人惊讶的好结果,而不需要专门调整超参数,这要归功于预训练和特定任务的架构选择。 - GAIA在下游任务中保留了从每个类别的两个图像中发现相关数据的能力,以支持微调
,这增加了GAIA在数据匮乏的环境中的实用性。
GAIA用UODB获得了有希望的结果,这个数据集包括COCO、Objects365、Open Images、Caltech、CityPersons、KITTI、VOC、WiderFace、DOTA、Clipart和Comic。
以COCO为例,GAIA可以有效地生成覆盖从16毫秒到53毫秒的广泛延迟和从38.2到46.5的AP的模型。
在接下来的章节中,在对作为先验知识的过渡学习进行简要描述后,将解释所提出的方法、实验细节和结果。
什么是迁移学习?
在迁移学习中,通过转移以前在一些数据上训练过的模型的参数,重新使用以前训练过的模型。
这里,以前训练的数据是源数据,以前训练源数据的模型是源模型。
接下来要学习的数据是目标数据,要学习的模型是目标模型。
源模型能够通过学习检测出源数据的特征,通过重用源模型,学习可以从源数据的共同特征可以从目标数据中检测出来的状态开始,从而使得通过少量的学习就可以建立一个高度精确的模型。这种方法可以通过少量的学习来建立高度精确的模型。
如下图所示,有两种类型的转移学习,用于不同的情况:一种是不更新源模型的参数,用目标数据来更新所有的参数,但从源模型挪用的部分除外;另一种是用目标数据重新训练所有的层。
建议的方法
GAIA,一个转移学习框架,以及它的详细实施。
GAIA由两个主要部分组成:任务诊断性统一和特定任务适应。
在任务无关的统一中,从多个来源收集数据以建立一个具有统一标签空间的大型数据池。
然后,它使用一种叫做分权学习的技术来训练超级网,这使得来自不同架构的模型能够被集体优化。
在特定任务的适应中,GAIA为给定的下游任务搜索最佳架构,用从先前训练的超网中提取的权重初始化网络,并使用下游数据进行微调。
这个过程被称为 "特定任务架构选择"(TSAS)。
此外,对于一个任务的数据数量较少的时候,GAIA可以从一个庞大的数据池中收集与特定任务最相关的相关数据。
这个过程被称为 "特定任务数据选择"(TSDS)。
统一标签空间,构建巨大的数据池。
所提出的方法考虑用几个独立的数据集构建一个具有统一标签空间∪L的巨大数据池,以便在一个任务的数据点很少时,从巨大的数据池中收集与给定任务最相关的数据作为相关数据。
如果要处理的数据集数量为$N$,数据集$D$和相应的标签$L$被定义为$D={d_1,d_2,...,d_N}$和$L={l_1,l_2,..l_N}$ 被定义为。
L$的第l_i$个元素,$l_i={c_{i1},c_{i2},。.c_{i|l_i|}}$。
其中,$c_{ij}$表示数据集$d_i$的第j$个标签。
为了构建一个统一的标签空间∪L$,也就是目标,将$L$中标签空间最大的一个作为初始值。
接下来,我们将其他标签空间映射到∪L。
如果数据集$d_i$的第p$个类别$c_{ip}$的词2vec相似度高于0.8的阈值,我们将其标记为同一类别。
如果词2vec相似度小于0.8的阈值,我们将其标记为一个新类别,并将$c_{ip}$处理为∪LL.
这些过程在所有数据集上进行,以建立一个巨大的数据池。
特定任务架构选择(TSAS)
TSAS为给定的下游任务寻找最佳架构,用从先前训练的超网中提取的权重初始化网络,并利用下游数据进行微调。
为了训练超级网,使用了上一节所述的程序建立的巨大数据池。
具体的TSAS算法如下。
- 为每个输入规模和深度的组合随机选择五个模型,并检查它们是否满足目标域和计算成本约束
直接评估如此选择的模型并选择性能最好的模型。 - 在选定的模型中,那些直接评估值在前50%的模型要进行快速微调(1个历时的预热,然后是2个历时的训练),并根据结果选择最佳架构。
最初为每种输入尺度和深度的组合选择一个有代表性的模型,是为了确认具有类似输入尺度和深度的模型,如图1所示,能提供类似的精确度。
图1:输入尺度和深度相似的模型在COCO数据集上的表现
特定任务的数据选择(TSDS)。
TSDS从一个巨大的数据池中收集与给定任务最相关的数据,作为相关的数据,用于当一个任务的数据数量较少时。
数据收集是$D_s^*$的一个子集,这样,给定大量的上游夯实的上游数据集$D_s$和特定的任务(下游)数据集$D_t$,任务(下游)数据集$D_t$的模型$mathcal{F}$的风险最小为$D_s^*。\in P(D_s)$ (其中$P(D_s)$是$D_s$的幂集)可以重新表述为找到$D_s^*$的一个子集,使$D_s^*$的风险最小。这可以用一个数学公式表示,如下面的公式1。
其中$mathcal{F}(D_t\cup D_s^*)$是在$D_t$和$D_s^*$上训练的模型,$mathbb{E}_{D_t}$是$D_t$验证集的风险。
具体的数据完成算法如下。
- 每张图片的每个类别的表征向量为$D_s=left{I_{s_1}, I_{s_2}, cdots, I_{s_P}right}$和$D_t=left{I_{t_1}, I_{t_2}, \cdots, I_{t_Q}right}$。计算。
- 通过对每个图像/类别的模型的所有耦合层的输出进行平均,得到一个表示向量$V(I_{s_i},c_{\lor q})$。
- 利用$V(I_{s_i},c_{lor q})$和$V(I_{t_j},c_{lor q})$的余弦相似度,找到每个类别中最相关的数据。
- 对于每个$I_{tj}$,从$D_s$中选择前k$图像(top-k),或者收集所有$P/times Q$对中的相似图像(most-similar)。
- 继续处理top-k或most-similar,直到收集到目标数量的卡片。 例)|$D_s^*$|=1000
实验装置
GAIA在一个统一的标签空间下使用Open Images、Objects365、MS-COCO、Caltech和CityPersons进行训练。
Open Images、Objects365和MS-COCO是常见的检测数据集,各有500个。365,和80类号码。
本文对每个数据集的使用将如下。
- Open Images 2019challenge:170万张图片用于训练,40千张图片用于验证。
- Objects365:600k图像用于训练,30k图像用于验证
COCO:115k子集用于训练,5k用于验证 - 加州理工学院:42k图像用于训练,4k图像用于验证
- CityPersons:3k图像用于训练,0.5k图像用于验证。
这些上游数据集的统一形成了一个由700个类组成的统一的标签空间。
作为下游任务,我们还针对通用物体检测基准(UDOB)进行了广泛的实验。
,我们遵循官方的数据分区(分为训练和验证)以及构成UDOB的所有10个不同子数据集的指标。结果如下。
结果和讨论
在COCO数据集上进行了实验,以证实GAIA可以通过数据完成和最佳架构搜索和使用来生成高质量的模型。
首先,我们比较了ResNet50和ResNet101在不同权重初始化下的训练结果。
如图2所示,采用GAIA预训练的模型比采用ImageNet预训练的模型有明显的改进,ResNet50的改进率为5.83%,ResNet101的改进率为6.66%。
为了公平起见,由于COCO数据集中的数据包含在SuperNet数据池中,我们还将带有3x ImageNet预训练的模型结果(标有*的结果)与GAIA的结果进行了比较。
结果显示,GAIA有3.23%的显著改善,COCO有4.22%的显著改善,表明其他来源的数据是有效的。
图2:GAIA预训练的模型与ImageNet预训练的模型的准确性比较。
除了ResNet50和ResNet101以外的模型没有预训练的权重,所以定制架构的模型需要从头开始训练。
如图3所示,用GAIA训练的模型在训练时间相似的情况下比从头开始训练的模型平均高出12.67%。
图3:GAIA在不同训练时间对COCO数据集的准确性与从头学习时的准确性对比
为了评估GAIA的多功能性,我们对UODB进行了转移学习实验。
结果(平均精度)见图4。
从图4可以看出,GAIA在所有数据集上都有很好的准确性。
他们还显示,在COCO预培训中,有2.9%的改进。
这些结果足以验证GAIA的有效性。
,由于用统一的标签空间和大型数据集进行预训练,GAIA实现了平均4.4%的性能提升。
此外,GAIA的TSAS在整体上又获得了2.5%的改善。 图4:从过渡学习实验到UODB的准确率
如图5所示,没有TSDS的GAIA的平均精确度比COCO预训练的基线高出5.6%。
在数据完成方面,选择相关的数据是很重要的。
因此,随机选择数据会对准确性产生负面影响,因为它包括大量的域外数据,这抑制了目标域的学习。
除此之外,与没有TSDS的情况相比,top-k和most-similar导致平均准确率提高0.8%到2.3%,证实了GAIA在数据完成方面的有效性。
图5:有TSDS和无TSDS的GAIA的平均准确率(top-k和最相似的)与COCO预训练的基线准确率的比较。
摘要
在这项研究中,重新考虑了迁移学习的有效通用性及其对下游任务的适应性,并提出了一个名为GAIA的迁移学习系统,它可以根据下游任务自动有效地生成定制的解决方案。
GAIA已经在不同条件下使用两种方法进行了实验验证:"特定任务架构选择"(TSAS)和 "特定任务数据选择"(TSDS),前者为下游任务搜索最佳架构,后者在任务数据数量较少时从数据池中收集与该任务最相关的数据作为相关数据。特定数据选择"(TSDS),当任务的数据数量较少时,从数据池中收集与任务最相关的数据作为相关数据,该方法已在各种条件下的实验中得到验证。
本文的具体贡献如下。
- 展示如何成功结合转移学习和加权学习,同时为各种架构生成强大的预训练模型。
- 它还提出了一种高效可靠的方法来为下游任务寻找合适的架构。由于预训练和特定任务的架构选择,
GAIA对10个下游任务取得了优异的结果,而不需要专门的超参数调整。 - GAIA保留了在下游任务中从每类两个图像中发现相关数据的能力,以支持微调
,这增加了GAIA在数据匮乏环境中的实用性。
与本文相关的类别