没有合适的资源?快使用搜索试试~ 我知道了~
神经数据服务器:大规模迁移学习数据搜索引擎
Client DatasetI have a small dataset, what data can I use to pre-train my model?…Mixture of Experts ModelsDownload Dataset ExpertsFast AdaptFast Adapt to Client DatasetUpload accuraciesDownload links to recommended data points1234Indexed Large-Scale Image DatasetsOptimal Data SubsetA search engine for finding relevant transfer learning data for A.I. applicationsclientdataserver38930神经数据服务器:用于迁移学习数据的大规模搜索引擎0Xi Yan 1 , 2 � David Acuna 1 , 2 , 3 � Sanja Fidler 1 , 2 , 301 多伦多大学 2 Vector研究所 3 NVIDIA0xi.yan@mail.utoronto.ca, { davidj, fidler } @cs.toronto.edu0摘要0迁移学习已被证明是一种在缺乏训练数据的领域训练深度学习模型的成功技术。主要方法是在大规模通用数据集(如ImageNet)上预训练模型,然后在目标领域上微调其权重。然而,在日益增多的大规模数据集的新时代中,选择用于预训练的相关数据成为一个关键问题。我们引入了神经数据服务器(NDS),这是一个用于寻找与目标领域最相关的迁移学习数据的大规模搜索引擎。NDS由一个数据服务器和一个客户端组成,数据服务器索引了几个大型热门图像数据集,并使用客户端的目标数据来确定最相关的样本。数据服务器使用更紧凑的混合专家模型来表示大型数据集,并以较低的计算成本在一系列数据服务器-客户端事务中执行数据搜索。我们展示了NDS在各种迁移学习场景中的有效性,并在图像分类、目标检测和实例分割等多个目标数据集和任务上展示了最先进的性能。神经数据服务器可通过http://aidemos.cs.toronto.edu/nds/作为网络服务使用。01. 引言近年来,计算机视觉应用的数量和种类呈爆炸性增长。这些应用范围从通用图像分类任务到监控、体育分析、服装推荐、早期疾病检测以及地图制作等等。然而,我们只是刚刚开始探索深度学习能够实现的可能性。新时代计算机视觉应用的一个关键组成部分是需要标记数据。为了达到高性能,通常需要使用大量数据来训练深度学习模型。迁移学习为减少每个目标应用所需的大规模标记数据提供了一种有希望的方法。在迁移学习中,神经网络会在大规模通用数据集(如ImageNet)上进行预训练,然后在目标领域上微调其权重[11,24,0� 作者贡献相同0神经数据服务器0图1:神经数据服务器:用于寻找用户目标领域相关的迁移学习数据的搜索引擎。在NDS中,数据服务器索引了几个热门图像数据集,并使用混合专家模型来表示它们,然后使用客户端的目标数据来确定最相关的样本。请注意,NDS仅索引可用的公共数据集,而不托管这些数据集。数据推荐是通过提供相关示例的链接来完成的。043 ]在现有的大规模通用数据集上进行预训练,然后在目标领域进行微调。虽然迁移学习是一个经过深入研究并在许多应用中被证明成功的概念[11, 24,43],但在文献中对于决定使用哪些数据来预训练模型的问题却鲜有关注。鉴于可用数据集的规模不断增加,我们认为这是一个需要回答的关键问题。为了强调我们的观点,最近的努力在策划计算机视觉基准时列出了超过400个公共数据集,涵盖了通用图像、人脸、时尚照片以及自动驾驶数据等多个领域。此外,数据集的规模也在显著增加:最近发布的OpenImages[31]包含900万张标记图像(大小为600GB),相比之下,其前身MS-COCO[33](33万张图像,30GB)小了20倍。视频基准YouTube8m[1](19亿帧,1.5TB)相比于Davis[9](1万帧,1.8GB)大了800倍,而最近发布的自动驾驶数据集nuScenes[10]的帧数比2012年发布的KITTI[20]多了100倍。显然,下载和本地存储这些数据集已经变得麻烦且昂贵。这一问题还因训练神经网络所需的计算资源而进一步加剧,而这些网络需要处理的数据量非常庞大。01个列出CV数据集的网站:https://www.visualdata.io/,https://pytorch.org/docs/stable/torchvision/datasets.html,https://datasetsearch.research.google.com/38940Cityscapes0miniModaNet0客户端数据集从索引数据集(OpenImages + COCO)中选择的图像0Pascal-VOC0图2:我们的神经数据服务器推荐给每个客户端数据集的数据服务器(COCO+OpenImages)的示例图像。0后者在研究中更加明显,因为网络架构不断发展,可能需要测试许多网络架构。此外,对于商业应用,数据许可可能是另一个需要考虑的财务问题。最近的研究[23,37]还表明,预训练数据量与下游任务性能之间并没有“越多越好”的关系。相反,他们表明,选择适当的数据子集对于在目标数据集上获得良好性能是重要的。0在本文中,我们介绍了神经数据服务器(NDS),这是一个用于找到对目标领域最有用的迁移学习数据的大规模搜索引擎。可以将NDS想象为一个网络服务,其中一个被称为数据服务器的集中服务器向客户端(图1)推荐数据。客户端是一个有着特定AI应用的最终用户,并且拥有一小组标记的目标数据。我们假设每个客户端只对下载与客户端目标领域最相关的服务器索引数据的子集感兴趣,限制在用户指定的预算(最大期望大小)内。我们还要求数据服务器与客户端之间的交互既要计算高效又要保护隐私。这意味着服务器不能看到客户端的数据。我们还希望尽量减少数据服务器对每个客户端的在线计算量,因为它可能同时为多个客户端提供服务。0我们对几个流行的图像数据集进行索引,并使用混合专家(MoE)模型表示它们,该模型存储在数据服务器上。MoE的大小比数据本身要小得多,并用于探测在客户端目标领域中数据的有用性。具体而言,我们确定每个专家在目标数据集上的准确性,并根据这些准确性向客户端推荐数据。0我们在几个下游任务和领域上实验证明了与基线相比的显著性能改进。此外,我们还表明,仅使用20%的预训练数据,我们的方法在性能上与在整个数据服务器上进行预训练相当或更好。我们获得了显著的改进0通过仅下载服务器数据的26GB,我们实现了比在整个数据服务器(538GB)上进行预训练更好的性能改进,而在整个数据服务器上进行预训练可能需要几周的时间。我们的神经数据服务器将作为一个网络服务提供,旨在提高终端用户的AI应用性能并降低开发成本。02.相关工作迁移学习。深度学习的成功和收集大规模数据集的困难最近引起了对迁移学习、跨领域注释和领域自适应的长期存在历史的重视[39, 15, 4, 44, 3,46]。在神经网络的背景下,对新数据集进行预训练模型微调是知识迁移的最常见策略。这个领域的大部分文献都分析了预训练对大规模数据集[44, 34,17]的影响,包括网络架构、网络层和训练任务[49,50]。与我们的工作同时进行的是Achille等人提出了一个从一系列分类器中选择最佳预训练特征提取器的框架[2]。相比之下,我们的工作旨在确定用于预训练的最佳数据点集。与我们最相关的工作是[16,37],它们表明仅对相关示例进行预训练对于在细粒度分类任务上获得良好性能是重要的。具体而言,在[16]中,作者使用源类别和目标类别之间的预定义相似度度量来贪婪地选择源数据集中最相似的类别,以用于预训练。另一方面,[37]利用在源域上预训练的模型获取目标图像的伪标签,并使用这些伪标签对源示例进行重新加权。与我们的方法不同,[16,37]仅限于分类任务,并且不容易扩展到不断增长的数据中心(每次添加新数据集时需要重新训练模型)。因此,他们的方法在处理我们的场景时并不自然,我们的场景中索引数据集具有不同的任务和标签集,并且索引数据集的数量可能随时间增长。联邦学习。[35, 8]引入了分布式机器学习1: procedure FASTADAPT(DT , {eθi}):2:For i = 1, ..., K3:zi ← PERFORMANCE/FINET(eθi, T )⊲ Sec 3.3.138950客户0与相关数据的URL链接0向客户端发送URL链接0源数据集0源数据集目标数据0数据服务器:专家混合(离线计算)数据服务器:为客户端推荐数据0将专家发送到客户端0快速适应0将转移性能发送到数据服务器0计算重要性0图3:神经数据服务器概述。NDS由一个数据服务器组成,该服务器使用混合专家模型表示索引数据集。专家被发送到客户端,以计算客户端目标域中的准确性。然后,数据服务器使用这些准确性来推荐相关的数据样本。0算法1 数据服务器的模块01:需要表示学习算法E,专家数量K 2:gθ ← HARDGATING(S,K)�第3.2节:将S划分为本地子集以获得门控3:Si:= {x∈S | gθ,i(x)= 1}4:过程MOE({Si},E,K):5:对于i = 1,...,K 6:在Si上运行E以获得专家eθi 7:返回{eθi}8:过程OUTPUT DATA({Si},z,budget):9:w ← softmax(z,T = 0.1) 10:π(x)= � Ki = 1 wigθ,i(x)10| Si | 11:按照[πx1,...,πxn]的速率从S中采样S� 12:返回S� |预算0算法2 我们神经数据服务器的概述01:输入:S(源),T(目标),b(所需数据的预算)2:{eθi} ← MOE(DS,E,K)3:z ← FASTADAPT(T,{eθi})4:S� ← OUTPUTDATA(S,z,b)5:返回S� 6:输出:S� ∈ S下载0算法3 客户端模块04:返回z0通过在大量客户端设备(即手机)上训练集中模型的目标,我们的工作与在分散数据上训练集中模型的目标类似。然而,在我们的情况下,数据的表示是集中式的(数据服务器),客户端利用转移学习场景来进行自己的(分散式)模型。0主动和课程学习。在主动学习[42]中,通过搜索未标记的数据,找到由预言机标记的最佳样本,而在课程学习[7]中,寻找逐渐增加难度的数据子集进行训练。在这两种情况下,数据搜索是在训练特定模型的每次迭代中执行的。搜索通常是通过在当前模型快照上对数据样本进行推理,并根据基于不确定性的度量选择示例来完成的。我们的情况不同之处在于,我们不能在大量索引数据上使用客户端模型进行推理,因为这将给数据服务器带来过高的计算开销。此外,我们不假设数据服务器可以访问客户端的模型:这将要求客户共享他们的推理代码,而许多用户可能不愿意这样做。0学习生成合成图像。与NDS相关的还有[41, 28, 47,36]。这些方法旨在通过优化/搜索与合成器接口的一组参数来弥合合成与真实图像之间的差距。0在NDS中,搜索必须在大规模(非参数化)数据集上进行,并且目标数据不能发送到服务器端。我们的方法也有显著的不同。0更高效的计算。03.神经数据服务器神经数据服务器(NDS)是一个旨在推荐转移学习数据的搜索引擎。NDS由一个数据服务器组成,该服务器可以访问大规模的源数据集,并旨在向客户端建议最相关的数据样本。客户端是一个最终用户,他希望在转移学习场景中通过预算约束的数据来提高其模型在目标领域中的性能。我们注意到,数据服务器不托管数据,因此其推荐将作为URL列表提供给原始数据集提供者托管的数据样本。数据服务器的索引数据集可能完全标记,也可能不完全标记,并且数据样本之间的标签类型(例如,分割掩模,检测框)可能会有所不同。客户端的目标数据集被认为只有一小部分标记示例,而且标签类型可能与数据服务器的数据集中的标签不同。主要挑战在于要求数据服务器-客户端事务具有较低的计算开销。与为可能的众多用户提供信息的任何搜索引擎一样,我们希望数据服务器执行的在线计算量最小。因此,我们将大部分计算推迟到客户端进行,同时仍然希望这个过程快速进行。此外,事务理想情况下应保护客户的隐私,即客户的数据和模型架构都不可访问,因为客户可能具有敏感信息,例如医院记录或机密技术。在NDS中,我们使用在自监督任务上训练的专家混合(MoE)来表示数据服务器的数据。MoEHere, h ˆS∪T indicates that h is trained on the union of dataˆS and T . Intuitively, we are trying to find the subset of datafrom S that helps to improve the performance of the modelon the target dataset. However, what makes our problemparticularly challenging and unique is that we are restrict-ing the visibility of the data between the dataserver and theclient.This means that fetching the whole sample set S is pro-hibitive for the client, as it is uploading its own datasetto the server. We tackle this problem by representing thedataserver’s indexed dataset(s) with a set of classifiers thatare agnostic of the client (Section 3.2), and use these to op-timize equation 1 on the client’s side (Section 3.3.1).38960自然地将索引数据集划分为不同的子集,并生成权重编码每个子集表示的分类器。专家模型在数据服务器上进行离线训练,并用于与客户端进行在线交互。特别地,专家模型被发送到每个客户端,并用作确定数据服务器的数据样本对于客户端的目标领域的重要性的代理。为了计算重要性,专家模型在客户端的数据集上进行快速调整,并在一个简单的自监督任务上计算其准确性。我们通过实验证明,每个调整后的专家的准确性指示了用于训练专家的数据划分的有用性。然后,数据服务器使用这些准确性构建最终的数据样本列表,这些数据样本与客户端相关。图3提供了一个示例,而算法2总结了我们的NDS。在第3.1节中,我们形式化了我们的问题。在第3.2节中,我们描述了如何训练我们的混合专家模型,并分析了专家(数据服务器端)的表示学习算法的不同选择。在第3.3.1节中,我们提出了如何利用专家在客户端的目标领域中的性能进行数据选择。0让X表示输入空间(本文中为图像),Y表示给定任务a的标签集。通常,我们假设有多个任务可用,每个任务与不同的标签集相关联,并用Y表示这些标签集。还考虑到X ×Y上的两个不同的分布,称为源域Ds和目标域Dt。让S(数据服务器)和T(客户端)分别是从Ds和Dt独立绘制的两个样本集。我们假设|S| �|T|。因此,我们的问题依赖于找到子集S� ∈P(S),其中P(S)是S的幂集,使得S�∪T最小化模型h在目标域上的风险:03.1. 问题定义0这里,hˆS∪T表示h在数据ˆS和T的并集上进行训练。直观地说,我们试图找到来自S的数据子集,有助于提高模型在目标数据集上的性能。然而,使我们的问题特别具有挑战性和独特性的是,我们限制了数据在数据服务器和客户端之间的可见性。这意味着对于客户端来说,获取整个样本集S是禁止的,因为它正在将自己的数据集上传到服务器。我们通过使用与客户端无关的一组分类器来表示数据服务器的索引数据集来解决这个问题(第3.2节),并在客户端上使用这些分类器来优化方程1(第3.3.1节)。0S � = arg min ˆ S∈P ( S ) E ( x , ˆ y ) �D t [ L ( h ˆ S∪T ( x) , ˆ y )](1)03.2. 数据服务器我们现在讨论数据服务器的索引数据集的表示。这个表示是离线预先计算的,并存储在数据服务器上。03.2.1 使用混合专家进行数据集表示0我们使用混合专家模型[27]来表示数据服务器的数据S。在MoE中,我们进行预测:0y(x) =0i=1 gθ,i(x)eθi(x)(2)0在这里,gθ表示一个门控函数(即K个门控函数的总和等于1),e θi表示第i个专家模型,具有可学习的权重θi,x表示输入图像,K表示专家的数量。可以将门控函数视为将数据点软分配给每个专家,专家试图对其分配的数据点进行最佳猜测。MoE模型通过使用最大似然估计(MLE)在目标L上进行训练:θ = arg min θ E (x, ˆ y) �S [ L (y (x), ˆy)](3)0我们在第3.2.2节中讨论了目标L的选择,处理源数据集中的标签可能针对不同任务定义的事实。虽然MoE目标允许端到端训练,但在大规模数据集上这样做的计算成本非常高,特别是当K相当大时(我们需要在每个训练示例上向每个专家反向传播梯度)。缓解这个问题的一种直接方法是将每个专家与由硬门控定义的本地聚类相关联,如[26,22]中所示。实际上,我们定义了一个分区函数g,将数据集划分为互斥的子集Si,并在每个子集上训练一个专家。这使得训练易于并行化,因为每个专家都独立地在其数据子集上进行训练。此外,这使得可以通过在其上训练额外的专家并将其添加到数据服务器上的方式轻松地添加新的数据集,从而避免了对完整索引数据集重新训练MoE的需要。在我们的工作中,我们使用两种简单的分区方案来确定门控:(1)超类分区和(2)无监督分区。对于超类分区(1),我们将源数据集中的每个类c表示为类别c的图像特征fc的均值,并在{ f c}上执行k均值聚类。这给出了一个分区,其中每个簇是包含一组相似类别的超类。这种分区方案仅适用于具有类别监督的数据集。对于无监督分区(2),我们使用k均值聚类对图像特征进行源数据集的分区。在这两种情况下,图像特征是从预训练的神经网络中获得的(即从在ImageNet上预训练的网络的倒数第二层提取的特征)。03.2.2 训练专家0我们讨论了训练专家的两种不同情况。在简化的情况下,数据服务器和客户端的数据集定义的任务相同,例如分类。在这种情况下,我们只需为x∈Si338970对于S中数据的每个子集,我们讨论了一个更具挑战性的情况,即数据集之间的任务不同。理想情况下,我们希望学习一个可以推广到各种下游任务并且可以以任务无关的方式使用的表示。为此,我们使用自监督方法来训练MoE。在自监督中,我们利用一个简单的代理任务来学习有意义的表示。此外,这不需要任何标签来训练专家,这意味着数据服务器的数据集可能已经被标记或未被标记。如果客户端希望获取原始数据并自行标记相关子集,则这将非常有用。具体而言,我们选择将图像旋转分类作为自监督任务,如[21]所示,该任务被证明是一种简单而强大的表示学习代理。形式上,给定一张图片x,我们通过对x执行一组几何变换{r(x,j)}3j=0来定义其对应的自监督标签y,其中r是图像旋转操作,j定义了一个特定的旋转角度(预定义的角度集合为{0, 90,180, 270})。然后,我们最小化专家的以下学习目标:0L(θi) = - �0j=0 log eθi(r(x, j))j (4)0这里,e(.)j中的索引j表示类别j的输出值。03.3. 数据服务器-客户端事务0在本节中,我们描述了数据服务器和客户端之间确定服务器数据的相关子集的事务。客户端首先下载专家以测量它们在客户端数据集上的性能。如果任务相似,我们在客户端上快速适应专家。否则,我们使用代理任务(例如图像旋转)(第3.3.1节)评估专家在客户端数据上的性能。每个专家的性能被发送回数据服务器,数据服务器将此信息用作确定与客户端相关的数据点的代理。我们在以下子节中详细描述这些步骤。03.3.1 快速适应目标数据集(在客户端上)0在服务器和客户端上执行单个任务:首先讨论数据集任务在客户端和数据服务器上相同的情况,例如分类。虽然任务可能相同,但标签集可能不同(不同领域可能存在不同的类别)。一种直观的方法是去除在服务器上训练的专家的分类头部,并在客户端数据集上的专家的倒数第二层表示上学习一个小的解码器网络,例如[50]。对于分类任务,我们在每个预训练的专家表示之上学习一个简单的线性层几个时期。然后,我们使用适应的专家在一个保留的验证集上评估目标任务的性能。我们将每个适应的专家的准确性表示为zi。0服务器和客户端上的多样任务:为了推广到未见任务,并且能够处理客户端侧没有标签的情况,我们建议评估用于训练专家的常见自监督任务在数据服务器的数据上的性能。直观地说,如果专家在目标数据集上的自监督任务上表现良好,则它在训练时使用的数据很可能与客户端相关。具体而言,我们使用自监督专家来学习图像旋转,并评估在目标图像上预测图像旋转角度的代理任务性能(准确性):0zi=104|T|0�0x∈T0j=0��argmaxk[eθi(r(x,j))k]==j�(5)0这里,e(.)k中的索引k表示类别k的输出值。请注意,在这种情况下,我们不会在目标数据集上调整专家(只进行推理)。03.3.2 数据选择(在数据服务器上)0我们现在的目标是为源域S中的每个数据点分配一个权重,以反映源数据对迁移学习性能的贡献程度。客户端的F ASTADAPT步骤的准确性z被归一化到[0,1],并输入到具有温度T=0.1的softmax函数中。然后将其用作重要性权重wi,用于估计特定专家学习的表示对目标任务性能的相关性。我们利用这些信息对各个数据点x进行加权。具体来说,每个源数据x被分配一个概率权重:0π(x)=0i=1wi gθ,i(x) 10|Si|(6)0这里,|Si|表示专家eθi训练的子集的大小。直观地说,我们对与第i个专家相关联的图像集进行加权,并从中均匀采样。我们通过按照π=[πx1,πx2,...,πxn]T的比率从S中采样示例来构建我们的数据集。03.4.与域自适应的关系0如果我们假设客户端和服务器任务是相同的,那么我们的问题可以解释为在ˆS∈P(S)的每个子集中进行域自适应,并且可以使用[5]中的以下广义界限:0εT(h)<εˆS(h)+102dH∆H(ˆS,T)(7)0其中ε表示假设函数h∈H的风险,dH∆H是H∆H散度[5],它依赖于H区分ˆS和T的能力。让我们进一步假设假设函数h在任何子集ˆS上的风险是相似的,即εˆS(h)≈ε(h)�ˆS∈P(S)。在这个假设下,最小化38980方程1等价于找到最小化与T的散度的子集S�。形式上,0S�=argminˆSdH∆H(ˆS,T)(8)0在实践中,计算dH∆H很困难,通常通过A-距离的近似来近似计算[6, 12,19]。一个区分两个域并且其风险ε用于近似方程7的第二部分的分类器。ˆdH≈ˆdA≈2(1−2ε)(9)0请注意,这样做需要至少在两个方面之一(即训练新的判别分类器)中访问S和T,而在我们的场景中这是禁止的。在我们的情况下,我们通过评估专家ei在目标域上的性能来计算ˆS和T之间的域混淆。我们认为这个代理任务的性能(或错误率)是一个适当的代理距离,它具有相同的目的,但不违反数据可见性条件。直观地说,如果在子集上学习的特征无法与目标域上的特征区分开来,则域混淆被最大化。我们在实验中经验性地展示了域分类器和我们提出的代理任务性能之间的相关性。04. 实验0我们在分类、检测和实例分割任务上进行实验。我们在服务器端使用3个数据集,在客户端使用7个数据集。04.1. 对多样化客户和任务的支持0在本节中,我们在三个不同的客户场景中对我们的方法进行了广泛的评估:自动驾驶、时尚和一般场景。在每个场景中,客户的目标是通过在预算受限的数据量上进行预训练来提高其下游任务(即目标检测或实例分割)的性能。在这里,数据服务器是相同的,并索引了大规模的OpenImages[31]和MS-COCO[33]数据集。具体来说,我们的服务器数据集可以看作是COCO和OpenImages [31,33](约538GB)的并集,以自监督训练的专家的权重(2GB)表示。自动驾驶:在这里,我们使用Cityscapes[14]作为客户的数据集,其中包含5000个精细注释的图像,分为2975个训练图像和500个验证图像。提供了八个对象类别的每个实例注释。在实践中,这模拟了一个客户希望通过在一些数据上进行预训练来提高其性能指标的场景。这种情况在Cityscapes排行榜上的最先进的实例和语义分割方法中是普遍存在的[45, 24,52]。时尚:我们使用ModaNet数据集[51]来模拟一个希望提高其模型在时尚相关对象的目标检测任务中性能的客户。ModaNet0是一个由13个类别的对象和55,176个标注图像组成的大规模街头时尚数据集。由于预训练的有效性随着数据集的大小而减弱[23],我们为实验创建了一个小版本的数据集。这个数据集由1000个训练图像和1000个验证图像组成,这些图像是随机选择的,但保持了原始数据集的类别分布。在我们的实验中,我们称之为miniModaNet。一般场景:我们使用PASCALVOC目标检测[18]作为客户数据集。在这种情况下,任务是对20个对象类进行目标检测。我们使用包含5011个图像的trainval2007集进行训练,并在包含4962个图像的test2007集上进行评估。评估:我们使用交并比(IoU)来衡量客户在下游任务中的性能。具体来说,我们遵循MS-COCO的评估方式,并在三个不同的阈值下计算IoU:a)0.50,b)0.75,c)十个阈值的平均值(.5:.05:.95)。对于目标检测和实例分割,都使用相同的评估方式。但请注意,在实例分割的情况下,重叠是基于分割区域的。基线:在这个方案中,我们将我们的方法与无预训练、均匀采样和在整个服务器数据集(即MS-COCO)上进行预训练进行比较。在所有情况下,我们都使用ImageNet预训练的权重进行初始化,因为它们广泛可用并且已经成为一种常见做法。实施细节:客户端。我们使用Mask-RCNN[24]作为客户端网络,使用ResNet50-FRN骨干检测头。在获得子集S之后,客户端在所选子集上进行预训练,并将预训练模型用作使用客户(目标)数据集进行微调的初始化。对于目标检测,我们使用681类(COCO的80类,OpenImages的601类)检测头使用边界框标签进行预训练。对于实例分割,我们使用80类(对于COCO)或350类(对于OpenImages)检测头使用对象掩码标签进行预训练。服务器。对于所有自监督专家,我们使用ResNet18[25],并训练我们的模型来预测图像旋转。MS-COCO和OpenImages分别被划分为K = 6和K = 50个专家。04.1.1 定性和定量结果目标检测:表1报告了客户网络在使用不同预算和方法选择的数据进行预训练后在不同IoU下的平均精度。首先,我们可以看到,在较小的客户检测数据集上微调时,将网络预训练在采样检测数据上的一般趋势有助于性能,相比于从ImageNet初始化微调网络。通过在COCO+OpenImages的90K张图像上进行预训练,我们观察到在所有3个客户(目标)数据集上,在0.5IoU下的AP增益为1-5%。这个结果与[32]的结果一致,该结果表明,除了分类之外的预训练任务对于改善定位任务的迁移性能是有益的。接下来,20%40%20% [37]81.354.340% [37]81.057.438990预训练服务器数据(COCO + OpenImages)客户数据集0文件大小 # 图像 AP bb AP bb 50 AP bb 75 AP bb AP bb 50 AP bb 75 AP bb AP bb 50 AP bb 750ImageNet初始化 44.30 73.66 46.44 33.40 57.98 35.00 34.94 59.86 35.69026GB / 538GB 90K(5%)均匀采样 47.61 76.88 51.95 35.64 58.40 39.09 36.49 61.88 36.36054GB / 538GB 180K(10%)均匀采样 48.05 77.17 52.04 35.78 58.50 39.71 36.41 61.22 37.170表1:3个客户数据集的目标检测结果。得分以%表示。0预训练。选择方法。目标数据集。0Stanf. Dogs Stanf. Cars Oxford-IIIT Pets Flowers 102 CUB200 Birds00% Random Init. 23.66 18.60 32.35 48.02 25.060100% Entire Dataset 64.66 52.92 79.12 84.14 56.990Uniform Sample 52.84 42.26 71.11 79.87 48.620NDS(SP+TS)72.21 44.40 81.41 81.75 54.000NDS(SP+SS)73.46 44.53 82.04 81.62 54.750NDS(UP+SS)66.97 44.15 79.20 80.74 52.660Uniform Sample 59.43 47.18 75.96 82.58 52.740NDS(SP+TS)68.66 50.67 80.76 83.31 58.840NDS(SP+SS)69.97 51.40 81.52 83.27 57.250NDS(UP+SS)67.16 49.52 79.69 83.51 57.440表4:关于门控和专家训练的消融实验。SP=超类分区,UP=无监督分区,TS=任务特定专家(在分类标签上训练的专家),SS=自监督专家(训练以预测图像旋转的专家)。0图4:域分类器和代理任务性能在子集ˆS上的关系。0数据方法 Oxford-IIIT Pet CUB200 Birds0Uniform Samp. 71.1 48.60KNN + [16] 74.4 51.60NDS 82.0 54.80Uniform Samp. 76.0 52.70KNN + [16] 78.1 56.10NDS 81.5 57.30Entire ImageNet 79.1 57.00表5:比较数据选择方法的分类数据集的迁移学习性能。0数据(#图像)方法AP bb AP bb 50 AP AP 5000 ImageNet Initial. 36.2 62.3 32.0 57.6023K均匀采样 38.1 64.9 34.3 60.00NDS 40.7 66.0 36.1 61.0047K均匀采样 39.8 65.5 34.4 60.00NDS 42.2 68.1 36.7 62.3059K均匀采样 39.5 64.9 34.9 60.40NDS 41.7 66.6 36.7 61.90118K完整COCO 41.8 66.5 36.5 62.30表2:使用COCO中的图像进行实例分割的迁移学习结果,使用MaskR-CNN在Cityscapes上进行。0数据(#图像)方法AP bb AP bb 50 AP AP 5000 ImageNet Initial. 36.2 62.3 32.0 57.60118K均匀采样 37.5 62.5 32.8 57.20NDS 39.9 65.1 35.1 59.80200K均匀采样 37.8 63.1 32.9 57.80NDS 40.7 65.8 36.1 61.20表3:使用OpenImages中的图像进行实例分割的迁移学习结果,使用MaskR-CNN在Cityscapes上进行。0我们可以看到,在从服务器选择的90K/180K图像的相同预算下,使用NDS选择的数据进行预训练优于使用S中随机采样的图像进行预训练的基线。实例分割:表2报告了从COCO中选择23K、47K和59K图像进行Cityscapes预训练的实例分割性能。我们可以看到,使用NDS选择的子集进行预训练比均匀采样基线好2-3%。此外,使用来自COCO的40%(47K/118K)或50%(59K/118K)的图像与使用全部100%(118K)的数据产生相当(或更好)的性能。表3显示了结果0从OpenImages数据集中采样118K、200K图像作为我们的服务器数据集。定性结果:图6显示了关于ˆS子集的域分类器和代理任务性能的定性结果。0MINIMODANET使用从Imagenet预训练的检测器,从S中均匀采样的图像以及使用NDS采样的图像。在所示的情况下,使用NDS推荐的数据进行预训练的网络显示出更好的定位能力,并能够进行更准确的预测。04.2. 支持多样化的客户端相同任务0为了完整性,并且为了与仅限于分类任务的更强基线进行比较,我们还在相同客户端相同任务的情况下定量评估了NDS的性能。在这种情况下,任务被设置为分类,并且服务器索引了Downsampled ImageNet[13]数据集。这是ImageNet[17]的一个变体,调整为32×32。在这种情况下,我们使用K =10个专家。客户端数据集:我们使用几个小型分类数据集进行实验。具体来说,我们使用Stanford Dogs[29],Stanford Cars [30],Oxford-IIIT Pets [40],Flow-ers 102 [38]和CUB200 Birds[48]作为客户端数据集。实施细节:我们使用ResNet18[25]作为客户端的网络架构,并在训练过程中使用32×32的输入尺寸。一旦选择了服务器数据的子集,我们在所选的子集上进行预训练,并通过在客户端(目标)数据集上进行微调来评估性能。与数据选择方法的比较:Cui等人[16]和Ngiam等人[37]最近提出了用于改进分类任务的迁移学习的数据选择方法。在这个受限制的情况下,我们可以与这些方法进行比较。具体来说,我们将我们的NDS与[37]进行比较,他们根据概率对数据进行采样39000图5:使用从ImageNet初始化预训练的网络(左),均匀采样的47K图像(中)和从NDS采样的47K图像(右)在Cityscapes上的实例分割结果。请注意,当在NDS推荐数据上进行训练时,输出的分割通常看起来更干净。0图6:使用从ImageNet初始化预训练的网络(左),均匀采样的90K图像(中)和使用NDS采样的90K图像(右)在miniModaNet上的目标检测结果。使用0.6的得分阈值显示这些图像。0图7:模拟逐步增长的数据服务器以及“训练”代表服务器的模型所需的时间。我们将NDS与[37]的基准进行比较(该基准仅限于分类任务)。0通过使用在源数据集上训练的分类器对目标数据集进行伪标签来计算源数据集的类别。我们还通过改编Cui等人的方法[16]创建了一个基准KNN。在这里,我们从客户端和服务器数据之间的类别的平均特征之间最相似的类别中进行采样。我们强调前两种方法仅限于分类任务,无法处理多样化的任务。此外,它们无法扩展到超出分类的数据集,而[37]无法扩展到不断增长的数据服务器。我们的方法与[37]的结果相当,并且还可以应用于没有分类标签的源数据集,例如MS-COCO,甚至没有标记的数据集。消融实验。0领域混淆:为了查看代理任务的性能如何反映领域混淆,我们进行了一个实验,比较了代理任务性能和ˆdA(ˆS,T)。为了估计ˆdA,我们遵循[6, 12,19]的相同思路,对于每个子集ˆS,我们估计领域混
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功