摘要:
通过微调来迁移从大规模数据集(如ImageNet)上获得的知识,为特定领域的细粒度视觉分类(FGVC)任务提供了有效的解决方案。在这种情况下,数据注释通常需要专门的领域知识,因此难度很大。在这项工作中,我们首先解决了大规模FGVC中的问题。我们的方法在iNaturalist 2017大规模物种分类挑战中获得第一名。方法成功的核心是使用更高分辨率的图像,并处理训练数据的长尾分布的训练方案。接下来,我们通过从大规模数据集微调到小规模,特定领域的FGVC数据集来研究迁移学习。我们提出了一种通过搬土距离(Earth Mover's Distance,简称EMD)来估计域相似度的方法,并证明迁移学习受益于通过这种方法在与目标域相似的源域上的预训练。我们提出的迁移学习优于ImageNet预训练,并在多个常用的FGVC数据集上获得最先进的结果。
1,introduction
然而,常用的FGVC数据集[58,28,32]相对较小,通常包含大约10k的标记训练图像。 在这种情况下,经常采用微调大型数据集(如ImageNet [12])预训练的网络。
这种常见的设置提出了两个问题:1)在大规模FGVC上实现良好性能的重要因素是什么? 虽然像ImageNet这样的其他大型通用视觉数据集包含一些细粒度类别,但它们的图像通常是标志性的Web图像,其中对象位于图像中心且具有相似的比例和简单的背景。由于大规模FGVC数据集的可用性有限,如何设计在具有细粒度类别的大规模非标志性图像上表现良好的模型仍然是一个待研究的领域。 2)如何有效地进行迁移学习,首先在大规模数据集上训练网络,然后在特定领域的细粒度数据集上进行微调?现代FGVC方法绝大多数使用ImageNet预训练网络进行微调。鉴于目标细粒度领域已知,我们能否做得比ImageNet更好?本文旨在回答上述两个问题
iNaturalist2017 large scale fine-grained dataset(iNat) 数据集 675170张训练图像和验证图像 5089个细粒度类别
在这项工作中,我们首先提出了大规模细粒度分类的训练方案,在iNat上实现了最佳性能。 与ImageNet不同,iNat中的图像具有更高的分辨率和更大的对象尺寸。我们在Sec3.1中展示了使用更高的输入图像分辨率可以显著提高iNat的性能。我们在本文中讨论的另一个问题是长尾分布,指的是少数的类别具有大部分的图像[71,56]。 为了解决这个问题,我们提出了一种简单而有效的方法。 我们的想法是从大量的训练数据中学习好的特征,然后在更均匀分布的子集上进行微调,以平衡网络在所有类别中的efforts并迁移学到的特征。
其次,我们研究如何从在大规模数据集上学到的知识迁移到小规模的细粒度域。 数据集通常在内容和风格统计方面存在偏差[53]。 在CUB200 Birds [58]上,iNat预训练网络的性能远远优于ImageNet预训练网络; 而在Stanford-Dogs [28]上,ImageNet预训练网络可以产生更好的性能。 这是因为在ImageNet中有更多视觉上相似的birds,而在iNat上更多dog。 鉴于此,我们提出了一种基于图像级视觉相似度和搬土距离(EMD)来测量源域和目标域之间视觉相似性的新方法。 通过基于我们提出的域相似性对在所选子集上训练的网络进行微调,我们实现了比ImageNet预训练更好的迁移学习以及在常用细粒度数据集上的最好结果。
2,related work
FGVC:我们的方法与它们的不同之处在于,在不收集新数据的情况下,在现有的大规模数据集上迁移预训练网络
我们提出了一个简单的两步训练方案来处理在实践中运作良好的长尾分布。
transfer learning:我们的工作之间的主要差异有两方面:首先,我们提供了一种量化源域和目标域之间相似性的方法,然后从源域中选择更相似的子集以实现更好的迁移学习。 其次,它们都使用预训练的CNN作为特征提取器,并且仅训练最后一层或在提取的特征上使用线性SVM,而我们微调网络的所有层。
3,Large scale fine-grained categorization
这一节介绍在iNaturalist2017数据集上取得最好性能的训练方法。特别是使用高分辨率图像和处理长尾分布
3.1,图像分辨率的影响
每个网络结构通常有默认的输入大小。例如,AlexNet和VGGNet具有默认输入大小224*224,并且由于全连接层需要固定的特征图大小,因此默认输入大小不容易更改。之后的ResNet和Inception是全卷积的,后面跟的是全局平均池化层,这种设计使得输入图像可以是任意大小。
输入图像具有高分辨率,通常包含对细粒度分类很重要的更丰富的信息和微小细节。因此高分辨率输入图像能取得更好的性能。
3.2,长尾分布
现实世界图像的统计数据是长尾的:一些类别具有高度代表性且具有大部分图像,而大多数类别只有少量图像。 这与流行的基准数据集中的均匀图像分布形成鲜明对比,如ImageNet [12],COCO [34]和CUB200 [58]。
由于iNaturalist数据集[55]中各类别的图像数量高度不平衡,我们发现在代表性不足的尾部类别上表现不佳。 我们认为这主要是由两个原因造成的:1)缺乏训练数据。 iNat训练集中大约1,500个细粒度类别的图像少于30个。 2)训练期间遇到的极端不平衡:最大类和最小类中的图像数之间的比率约为435.没有对训练图像进行任何重新采样或重新加权损失。 由于我们在第一个方面即缺乏训练数据方面能做的很少,我们提出了一种简单有效的方法来解决第二类不平衡问题。
提出的训练方案分为两个阶段。 在第一阶段,我们像往常一样在原始不平衡数据集上训练网络。网络使用来自所有类别的大量训练数据来学习良好的特征表示。 然后,在第二阶段,我们在包含具有较小学习速率的更平衡数据的子集上微调网络。 我们的想法是慢慢迁移学习到的特征,让网络在所有类别之间重新平衡。
4,迁移学习
本节介绍从大规模数据集训练的网络到小规模细粒度数据集的迁移学习。 我们介绍了一种测量两个域之间视觉相似度的方法,然后展示了如何在给定目标域的情况下从源域中选择子集。
4.1,域相似度
假设我们有源域S和目标域T. 我们将两个图像s∈S和t∈T之间的距离定义为它们的特征表示之间的欧几里德距离:
d(s,t) = || g(s) - g(t) ||
其中g(·)表示图像的特征提取器。 为了更好地捕获图像相似性,特征提取器g(·)需要能够以通用,无偏的方式从图像中提取整体信息。 因此,在我们的实验中,我们使用g(·)作为从大规模JFT数据集训练的ResNet-101的倒数第二层中提取的特征[49]。
通常,使用更多图像会产生更好的迁移学习性能。 为简单起见,在本研究中,我们忽略了域规模(图像数量)的影响。 具体来说,我们规一化源域和目标域中的图像数量。 正如chen等人所研究的那样 [49],迁移学习性能与训练数据量呈对数增长。 这表明,当我们已经拥有足够大的数据集(例如,ImageNet)时,由于使用更多训练数据而导致的迁移学习中的性能增益将是微不足道的。 因此,忽略域规模是一个合理的假设,可以简化问题。 我们对域相似性的定义可以概括为通过添加比例因子来考虑域规模,但我们发现忽略域规模在实践中已经可以很好地运行。
在此假设下,迁移学习可被视为将一组图像从源域S移动到目标域T. 通过将图像移动到另一个所需的工作量可以定义为它们在等式中的图像距离。 然后,两个域之间的距离可以定义为所需总工作量的最小值。 这种域相似性的定义可以通过搬土距离(EMD)来计算[41,43]。
为了便于计算,我们进一步进行了额外的简化,通过类别中图像特征的平均值来表示该类别中的所有图像特征。形式上,我们将源域表示为S=si,wsii=1m,目标域为T=tj,wtjj=1n,其中si是S中的第 i 个类别,而 wsi 是该类别中图像的归一化数量; 类似地,对于 t 中的 tj 和 wtj。m和n分别是源域S和目标域T中的类别总数。 由于我们将图像数量归一化,因此有i=1mwsi=j=1nwtj=1 。其中g(si)表示来自源域的类别 i 中的图像特征的平均值,目标域中的gtj类似。使用定义的符号,S和T之间的距离定义为它们的搬土距离(EMD):
dS,T=EMDS,T=i=1,j=1m,nfi,j di,ji=1,j=1m,nfi,j (2)
其中,di,j=gsi-g(ti),最优流fi,j是相应的解决搬土距离最优化问题的最小总工作量。最后,域相似度定义为:
simS.T=e-γd(S , T) (3)
在所有实验中,γ设置为0.01。
4.2 源域选择
使用公式2中定义的域相似性,我们能从源域中选择一个与目标域更相似的子集。我们使用贪婪选择策略逐步包含源域中最相似的类别。 也就是说,对于源域S中的每个类别si,我们通过sim(si,1,T)计算其与目标域的域相似性,如等式3。然后选择具有最高域相似性的前k个类别。请注意,尽管这种贪婪的选择方式无法保证所选择的大小为k的子集在域相似性方面的最优性,但我们发现这种简单的策略在实践中运行良好。
方法 域相似性