原文: Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learningbash
经过微调从大规模数据集(如ImageNet)中学习知识,为特定领域的细粒度视觉分类(fgvc,fine-grained visual categoriza- tion)任务(如识别鸟类或汽车品牌和模型)提供了有效的解决方案。在这种状况下,数据标注常常会须要专门的领域知识,所以数据集很难扩大规模。在本文工做中,咱们首先要解决一个FGVC任务的大规模数据集问题。咱们的方法在iNaturalist2017大规模物种分类挑战中得到第一名。咱们的方法成功的核心是使用更高的用来训练的图像分辨率和处理训练数据的长尾分布。接下来,咱们经过研究迁移学习从大规模数据集微调到小规模的,特定领域的FGVC数据集。咱们提出了经过Earth Mover的距离进行域类似性估算方法,,并证实转移学习能够从与此目标域相似的源域上的预训练中获益。咱们提出的转移学习优于ImageNet预训练,并在多个经常使用的FGVC数据集上得到最出色的结果网络
细粒度视觉分类(fgvc)旨在区分从属视觉类别。例如,识别天然分类,如鸟类、狗和植物的种类,或人工分类,如汽车制造和模型。一个成功的FGVC模型应该可以区分细微的类别差别,这是一个巨大的挑战,可是这个模型设计为其它应用提供了参考,丰富的图像字幕,图像生成,机器教学等应用。架构
卷积神经网络的最新进展视觉识别(CNN)推进了FGVC的显着进步。通常而言,为了在CNN上实现至关好的性能,须要训练具备大量监督的网络数据。 可是,收集标记的细粒度数据集,须要专家级的领域知识,所以很难扩大规模。因此,经常使用的FGVC数据集相对较小,一般包含大约10k个标记的训练图像。在这种状况下,一般采用微调使用如ImageNet这样的大数据集预训练的网络的方法。异步
这种常见的用法提出了两个问题:1)什么是在大规模FGVC数据集上取得良好性能的重要因素? 虽然其余大规模通用视觉 像ImageNet这样的数据集包含一些细粒度的类别,它们的图像一般是标志性的Web图像包含中心的对象,具备类似的比例和简单背景。 随着大规模的有限可用性FGVC数据集,如何设计表现良好的模型对于具备细粒度类别的大型非标志性图像仍然是一个不发达的领域。 2)怎么样经过在大规模数据集上先进行训练,而后有效地进行迁移学习,对其进行微调在特定领域的细粒度数据集? 现代FGVC绝大多数方法使用ImageNet预训练网适用于微调。鉴于目标细粒度域已知,咱们能够作得比ImageNet更好吗?性能
本文旨在回答两个上述问题,关于最近iNaturalist 2017年推出大规模细粒度数据集(INAT)。iNat包含来自5,089个细粒度类别的675,170个训练和验证图像。全部图像都是在天然条件下拍摄的不一样的物体尺度和背景。所以,INAT提供了一个很好的机会,探讨背后的如何训练神经网络上在大规模FGVC上表现良好的关键因素。 在此外,与ImageNet一块儿,iNat使咱们可以学习在大规模数据集上学习的知识转移到小规模的细粒度域。学习
在这项工做中,咱们首先提出了一个训练计划,使用大规模细粒度分类,在iNat上达到最高分数。与ImageNet不一样,iNat中的图像具备更高的分辨率和普遍的物体尺度。iNat上的性能能够是在输入图像分辨率较高的状况下,明显的提升 咱们在本文中讨论的另外一个问题是长尾分布问题,其中一些类别具备大部分的图片。为了解决这个问题,咱们提出了一个简单的问题有效的方法。咱们的想法是从中学习好的功能大量的训练数据,而后微调更均匀分布的子集,以平衡网络的效果。咱们的实验结果显示在,揭示咱们能够大大改善表明性不足的类别和实现更好的总体表现。大数据
其次,咱们研究如何从知识转移在大规模数据集上学到了小规模的细粒度域。数据集一般在内容和风格统计方面存在误差。 在CUB200 Birds ,iNat预训练的网络比ImageNet表现得更好 预先训练好的; 而在Stanford-Dogs,ImageNet预先训练好的网络能够提升性能。这是由于iNat中有更多视觉上类似的鸟类和ImageNet中的狗类别。鉴于此,咱们提出了一种测量基于陆地移动距离的源和目标域的图像级视觉类似性的的新方法。经过微调基于咱们提出的选定子集训练的网络域类似性,咱们实现了更好的转移学习ImageNet预训练和最早进的细粒度数据集的最新结果。 图1给出了一个解释图。 优化
咱们相信,咱们对大规模FGVC和特定领域转移学习的研究能够为研究相似问题的研究人员提供有用的指导。spa
最近的FGVC方法一般将有用的细粒度信息结合到CNN中并对端到端的网络进行训练。值得注意的是,二阶双线性特征相互做用被证实是很是有效的。这个想法后来扩展到紧凑的双线性池化,而后是更高阶的相互做用.为了捕捉微妙的视觉差别,常用视觉注意和深度量学习。 除了像素,咱们还利用其余信息,包括部分,属性,人类交互和文本描述。 处理缺少训练数据,能够收集额外的网络图像以增长原始数据集。咱们的方法与它们的不一样之处在于,在不收集新数据的状况下,在现有的大规模数据集上预训练网络.
使用高分辨率图像进行fgvc已经变得愈来愈流行。在图像网视觉识别方面也有相似的趋势,从Alexnet最初的224×224到最近提出的NASNET中的331×331。然而,目前尚未像本文所作的那样系统地研究图像分辨率对大规模细粒度数据集的影响。
如何处理长尾分布是现实数据中的一个重要问题。然而,这是一个至关未开发的领域,主要是由于经常使用的基准数据集通过预处理后接近均匀分布。vanHorn等人指出,尾部类别的表现要比头部类别的表现差得多,后者有足够的训练数据。咱们提出了一个简单的两步训练方案来处理长尾分布,在实践中效果很好。
经过直接使用预训练网络做为特征提取器或微调网络,在ImageNet上训练的卷积神经网络(CNN)已普遍用于迁移学习。因为使用预先训练的CNN进行转移学习取得了显着成功,所以在理解迁移学习方面作了大量工做。特别是,一些先前的工做不精确地证实了转移学习和领域类似性之间的联系。例如,两个随机分割之间的迁移学习比ImageNet中的天然/人造对象分割更容易[64];手动添加全部可用类中的512个附加相关类别,改进了PASCAL VOC上经常使用的1000个ImageNet类;从组合的ImageNet和Places数据集转移能够在视觉识别任务列表中产生更好的结果。 Azizpour等人对与原始ImageNet分类任务具备不一样类似性的迁移学习任务列表进行了有用的研究(例如,图像分类被认为比实例检索更类似等)。咱们的工做之间的主要差别有两方面:首先,咱们提供了一种方法来量化源域和目标域之间的类似性,而后从源域中选择更类似的子集以实现更好的迁移学习。其次,他们都使用预先训练的CNN做为特征提取器,而且仅训练最后一层或在提取的特征上使用线性SVM,而咱们微调网络的全部层。.net
在本节中,咱们将介绍咱们的训练计划-- 在充满挑战的2017年数据集iNaturalist上取得最佳成绩 ,尤为是使用更高的分辨率的图像 和处理长尾分布的处理。
在训练CNN时,为了便于网络设计和 批量训练,输入图像一般是预处理的 为必定大小的正方形。 每一个网络架构 一般有一个默认的输入大小。 例如,AlexNet 和VGGNet采用224×224的默认输入大小 而且这个默认输入大小不容易改变 - 在卷积须要以后致使彻底链接的层 固定大小的要素图。 最近的网络包括 ResNet和Inception是彻底卷积的,最后有全局平均池化。 此设计使网络可以接收输入 任意大小的图像。 采用具备不一样分辨率的图像 在网络内引入了不一样下采样大小的特征图 。
分辨率较高的输入图像一般包含 更丰富的信息和细微的细节 视觉识别,特别是对于FGVC。 所以, 更高分辨率的输入图像产生更好的性能 。 对于在ImageNet上优化的网络,有一个 使用具备更高分辨率的输入图像的趋势 :从最初的224×224在AlexNet [33]到 331×331最近提出的NASNet [72],如图所示 表3.然而,来自ImageNet的大多数图像都有一个 分辨率为500×375并包含类似尺度的物体, 限制咱们能够从使用更高分辨率得到的好处。 咱们探索使用范围普遍的效果 在iNat中输入图像大小从299×299到560×560 数据集,高分辨率输入显示出更高的性能。
现实世界图像的统计数据是长尾的:少数 类别具备很强的表明性,而且具备大部分 图像,而大多数类别不多被观察到, 只有几张图片。这与流行的基准数据集中的均匀图像分布造成鲜明对比,例如ImageNet [12],COCO [34]和CUB200 [58]。
因为iNaturalist数据集[55]中各种别的图像数量高度不平衡,咱们发如今表明性不足的尾部类别上表现不佳。 咱们认为这主要是由两个缘由引发的:1)缺少训练数据。 iNat训练集中大约1,500个细粒度类别的图像少于30个。 2)训练期间遇到的极端不平衡:最大类和最小类中的图像数之间的比率约为435.没有对训练图像进行任何从新采样或从新加权损失,具备更多图像的类别 头部将主导那些尾巴。 因为咱们在第一期缺少训练数据方面作得不多,咱们提出了一种简单有效的方法来解决第二类不平衡问题。
训练分为两个阶段。 在第一阶段,咱们像往常同样在原始不平衡数据集上训练网络。 利用来自全部类别的大量训练数据,网络能够得到良好的特征表示。 而后,在第二阶段,咱们使用较少的学习对包含更平衡数据的子集进行微调 率。 咱们的想法是慢慢转移学习的功能,让网络在全部类别之间从新平衡。 图2显示了咱们分别在第一阶段训练的iNat训练集和第二阶段训练的子集中的图像频率分布。 第二节的实验 5.2验证所提出的策略能够提升总体性能,特别是对于表明性不足的尾部类别。
本节描述了从大型数据集上训练的网络到小型细粒度数据集的迁移学习。介绍了一种测量两个域之间视觉类似性的方法,并给出了在给定目标域的状况下,如何从源域中选择一个子集。
假设咱们有一个源域S和一个目标域T.咱们定义两个图像之间的距离s∈S和t∈T做为它们的特征表示之间的欧几里德距离:
d(s, t) = ||g(s) − g(t)|| (1)
复制代码
其中g(·)表示图像的特征抽取器。为了更好地捕获图像类似性,特征抽取器g(·)须要可以以一种通用的、无偏见的方式从图像中提取高级信息。所以,在咱们的实验中,咱们g(·)使用在大规模JFT数据集上训练的Resnet-101的倒数第二层的特征。
一般,使用更多图像会产生更好的迁移学习。 为简单起见,在本研究中,咱们忽略了域规模(图像数量)的影响。 具体来讲,咱们规范化源域和目标域中的图像数量。 由陈等人研究。 [49],迁移学习绩效与训练数据量呈对数增长。 这代表,当咱们已经具备足够大的数据集(例如,ImageNet)时,因为使用更多训练数据而致使的转移学习中的性能增益将是微不足道的。 所以,忽略域规模是一个合理的假设,能够简化问题。 咱们对域类似性的定义能够归纳为经过添加比例因子来考虑域规模,但咱们发现忽略域规模在实践中已经很好地运行。
在这种假设下,转移学习能够被视为将一组图像从源域S移动到目标域T.须要经过将图像移动到另外一个图像来完成的工做能够被定义为它们在等式1中的图像距离。 而后,两个域之间的距离能够定义为所需总工做量的最小值。 域类似性的这种定义能够经过地球移动器的距离(EMD)来计算。
为了使计算更容易处理,咱们进一步进行了额外的简化,以经过其特征的平均值来表示类别中的全部图像特征。 形式上,咱们将源域表示为且目标域为
,其中
是S中的第i类,
是 该类别中的标准化图像数量; 相似地,对于T中的
和
。 m和n分别是源域S和目标域T中的类别总数。 咱们归一化了图像总数,咱们获得
。
表示来自源域的类别i中的图像特征的平均值,相似于目标中的
域。 S和T之间的距离定义为他们的陆地移动距离(EMD),表示为:
其中, 最优流
对应于经过求解EMD优化问题的总工做量的最小值。 最后,域类似性定义为
其中γ在全部实验中设定为0.01。 图3示出了经过EMD计算所提出的域类似性。
咱们在公式2中定义了域类似性,这样就能够从源域中选择一个更相似于目标域的子集。咱们使用贪婪的选择策略,在源域中逐步包含最类似的类别。也就是说,对于源域中的每一个类别
,咱们经过如下公式计算其与目标域的域类似性:
,如公式3中所定义。而后选择具备最高域类似性的前K类。注意,虽然这种贪婪的选择方式不能保证从域类似性的角度来选择K大小子集的最优性,但咱们发现这种简单的策略在实践中颇有效。
iNaturalist 2017.
ImageNet.
Fine-Grained Visual Categorization.
咱们使用3种网络类型:ResNet,Inception,SENet
Residual Network (ResNet).
最初由He等人引入,残差链接的网络极大地减小了优化困难,并使更深层网络的训练成为可能。从新创建的网络后来获得了改进。经过使用身份映射做为skip con的预激活残差模块之间的链接。咱们使用最新的带有50、101和152层的Resnet版本
Inception.
Inception模块首先由Szegedy等人提出。在Googlenet中,设计用于在参数和计算方面很是有效,同时实现最早进的性能。而后使用批标准化、因子分解卷积和剩余链接进一步优化初始模块,咱们在实验中使用Inception- v3 , Inception-v4 和 Inception-ResNet-v2。
Squeeze-and-Excitation (SE)
最近由Hu等人提出。S模块在ILSVRC2017中得到了最佳性能。SE模块经过空间平均池挤压来自特征图的响应,而后学习从新缩放特征图的每一个通道。因为SE模块设计简单,几乎能够在任何现代网络中使用,以提升性能,而无需额外开销。咱们使用inception-v3 SE和inception-resnet-v2 SE做为基线。
对于全部网络架构,咱们严格遵循其原始设计,但替换了最后一个线性分类层,以匹配数据集中的类别数。
咱们使用开源TensorFlow[2]在多个Nvidia Tesla K80 GPU上异步实现和训练全部模型。在训练过程当中,将输入图像从原始图像中随机剪切,并经过比例和纵横比增大从新调整为目标输入尺寸。咱们使用rmsprop优化器对全部网络进行了训练,动量为0.9,批量大小为32。9次学习率设为0.045,每2个时期后指数衰减0.94;对于迁移学习中的微调,每4个时期后学习率衰减0.94,初始学习率下降到0.0045。咱们还使用了标签平滑。在推理过程当中,原始图像被中心裁剪并从新调整为目标输入大小。
为了验证所提出的大规模细粒度分类学习方案,咱们对iNaturalist 2017数据集进行了大量的实验。为了得到更好的性能,咱们从ImageNet预训练的网络中进行微调。若是从头开始训练INAT,前5个错误率≈1%更差。 咱们训练了具备3种不一样输入分辨率(29九、448和560)的Inception-v3。图像分辨率的影响如表3所示。从表中能够看出,使用更高的输入分辨率能够在INAT上得到更好的性能。 咱们提出的处理长尾分布的微调方案的评估如图4所示。经过对学习率较小的更平衡子集(咱们的实验中为10-6)进行进一步微调,能够得到更好的性能。表4显示了经过微调对头部和尾部类别进行的性能改进。训练图像大于或等于100的头部类别的改善率分别为前1名的1.95%和前5名的0.92%;而训练图像小于100的尾部类别的改善率分别为前1名的5.74%和前5名的2.71%。这些结果验证了所提出的微调方案大大改善了表现不足的尾翼类的性能。
表5给出了咱们在2017年iiNaturalist挑战赛中获胜的详细表现分类。使用更高的图像分辨率和对更平衡的子集进行进一步微调是咱们成功的关键。
咱们经过对源域上的网络进行从头开始的预训练,而后对目标域进行微调,从而对所提出的传输学习方法进行评估,以实现细粒度的可视化分类。除了在Imagenet和INAT上分别进行训练外,咱们还在一个组合的Imagenet+INAT数据集上训练网络,该数据集包含来自6089个类别的1946640个训练图像(即,来自Imagenet的1000个和来自INAT的5089个)。全部网络均采用299×299的输入尺寸。表6显示了在IMAGENET VAL和INAT MiniVAL上评估的训练前绩效。值得注意的是,在组合的IMAGENET+INAT数据集上训练的单个网络与单独训练的两个模型相比,具备竞争性的性能。总的来讲,在开始和开始SE的状况下,联合训练优于单独训练,而在resnet的状况下则更糟。基于SEC中定义的建议域选择策略。4.2,咱们从组合的IMAGENET+INAT数据集中选择如下两个子集:A子集是经过包含7个FGVC数据集的前200个IMAGENET+INAT类别来选择的。删除重复的类别会致使源域包含832个类别。B子集是经过增长CUB200、Nabirds、Stanford Dogs前100个类别和Stanford Cars and Aircraft前50个类别中最类似的400个类别来选择的,总共给咱们提供了585个类别。图6显示了根据咱们提出的域类似性计算的全部fgvc数据集在imagenet+inat中最类似的10个类别。很明显,对于cub200、flowers-102和nabirds来讲,最类似的分类来自于inat;而对于斯坦福狗、斯坦福汽车、飞机和food101来讲,最类似的分类来自于imagenet。这代表IMAGENET和INAT中的数据集误差很大。
表7显示了经过微调细粒度数据集上的inception-v3实现的迁移学习性能。咱们能够看到IMAGENET和INAT都有很大的误差,在目标数据集上实现了显著不一样的迁移学习性能。有趣的是,当咱们迁移在组合的imagenet+inat数据集上训练的网络时,性能介于imagenet和inat预训练之间,这代表咱们不能经过简单地使用更大规模的组合源域在目标域上实现良好的性能。
此外,在图5中,咱们展现了迁移学习性能与咱们提出的领域类似性之间的关系。当从更类似的源域微调时,咱们观察到更好的转移学习性能,除了food101,在该源域上转移学习性能几乎与域类似性变化保持一致。咱们认为这极可能是由于Food101中有大量的训练图像(每节课750张训练图像)。所以,目标域包含足够的数据,所以迁移学习几乎没有帮助。在这种状况下,咱们忽略域规模的假设再也不有效。
从表7和图5能够看出,所选子集B在全部fgvc数据集中都取得了良好的性能,在cub200和nabirds上大大超过了imagenet预培训。在表8中,咱们将咱们的方法与现有的fgvc方法进行了比较。结果代表,所提出的转移学习方法在经常使用的fgvc数据集上具备最早进的性能。注意,因为咱们对域类似性的定义计算速度很快,因此咱们能够轻松地探索选择源域的不一样方法。在不进行任何预训练和微调的状况下,能够直接根据域类似性来估计迁移学习性能。在咱们的工做以前,在fgvc任务上得到良好性能的惟一选择是基于ImageNet微调设计更好的模型,或者经过收集更多的图像来加强数据集。然而,咱们的工做提供了一个新的方向,即便用更类似的源域对网络进行预训练。咱们代表,在源域中选择适当的子集后,只需对现成的网络进行微调,就能够匹配或超过这些性能增益。
在这项工做中,咱们提出了一个训练方案,经过使用高分辨率的输入图像和微调来处理长尾分布,从而在大规模非天然数据集上得到最佳性能。咱们进一步提出了一种新的获取与地球运动距离域类似性的方法,代表从更类似的域进行微调能够得到更好的转移学习性能。将来,咱们计划研究领域类似性以外的其余重要因素。
致谢。这项工做部分获得了谷歌重点研究奖的支持。咱们要感谢谷歌的同事们提供的有益的讨论。