DarkRank: Accelerating Deep Metric Learning via Cross Sample Similarities Transfer论文翻译

来源:互联网 发布:用淘宝店铺可以贷款吗 编辑:程序博客网 时间:2024/06/12 18:50

前些时间帮朋友大概翻译了几篇文章,放在这里,以备后面查看,有的不好敲直接把我翻译的word文档截图了,先这样留着。
DarkRank: Accelerating Deep Metric Learning via Cross Sample Similarities Transfer
通过交叉样本相似性迁移加速深度度量学习

                          摘要

近年来,我们看到了深度神经网络架构设计的快速发展。这些最新进展大大促进了各种领域的发展,如计算机视觉,自然语言处理等。然而,随着非凡的表现,这些最先进的模型也带来昂贵的计算成本。直接将这些模型部署到具有实时要求的应用程序中仍然是不可行的。最近,Hinton等已经表明,强大的教师模型中的dark knowledge 可以显著地帮助训练一个更小更快的学生网络。这些知识对提高学生模型的泛化能力有很大的帮助。受其工作的启发,我们引入了一种新型的知识–模型压缩和加速的交叉样本相似性。这种知识可以自然地衍生于深度度量学习模型。为了迁移它们,我们把学习排序技术引入深度度量学习。我们在行人重新识别任务上测试我们提出的DarkRank 方法。结果令人鼓舞。我们的DarkRank可以大幅提高基准方法。此外,它与其它现有方法完全兼容。 结合后,性能可以进一步提升。
1 Introduction
度量学习是许多计算机视觉任务的基础,包括面部验证[2,3]和行人重新识别[4,5]。近年来,端到端的深度度量学习方法共同学习了特征表示和度量,取得了很大的成功[6,7]。这些深度度量学习方法的成功的关键因素是强大的网络架构[8,9,10]。然而,随着更强大的功能,这些更深入和更广泛的网络也带来更大的计算负担。在诸如自动驾驶的许多现实世界的应用中,在有限的硬件资源下,该系统是关键延迟的(the system is latency critical with limited hardware resources.)。为了确保安全,它需要(不止)实时响应。这种约束阻碍了我们从网络设计的最新发展中获益。
为了减轻这个问题,提出了许多模型加速方法。它们可以大致分为三种类型:网络剪枝[11,12],模型量化[13,14]和知识迁移[15,16,1]。网络修剪迭代地去除对最终预测不那么重要的神经元或权重; 模型量化降低网络中权重和激活的表示精度,从而提高计算吞吐量; 知识迁移直接训练了一个由更大更强的老师指导的较小的学生网络。在这些方法中,基于知识迁移的方法是最实际的。因为与其他大多需要定制硬件或实施方法相比,它们可以存档大量的加速而不会有什么附加的功能.
知识提取(KD)[1]及其变体[15,16]是基于知识迁移的方法的主要方法。虽然他们利用不同形式的知识,但这些知识在一个单一的样本中仍然受到限制。 也就是说,这些方法为分类器或中间特征级的教师网络中的每个样本提供更精确的监督。然而,所有这些方法都忽略了另一个重要的东西-不同样本之间的关系(相似性或距离)。这种知识也编码了教师网络的嵌入式空间的结构。此外,它自然符合度量学习的目的,因为它通常利用相似的基于像素的层级监督。 我们在4.1节阐述了我们的动机,并在图1中描绘了我们的方法。
这里写图片描述
总结一下,本文的贡献有三个方面:
•我们利用一种新的知识—深度度量学习中知识迁移的交叉样本相似性。
•我们将其形式化为教师和学生网络之间的排序匹配问题,并修改经典的listwise排序学习方法[17,18]来解决这个问题。
•我们在两个大型行人重新识别数据集上测试我们提出的方法。我们的方法可以显著提高学生网络的表现。当与KD进一步结合时,我们的方法实现了三倍时间加速,同时性能下降较小。
2 Related works
在本节中,我们将回顾与我们提出的方法密切相关的以前的一些工作。
2.1 Deep Metric Learning
大多数传统的度量学习方法其重点是在欧几里德空间[19,20]或高维核空间[21]中学习马哈拉诺比斯距离。不同于此,深度度量学习通常通过DNN来转换原始特征,然后直接比较欧几里得空间中的样本。
尽管网络架构发展很快,但是度量学习的损失函数仍然是一个受欢迎的研究课题。度量学习的关键在于区分类间embeddings并减少类内方差。分类损失及其变体[22,23]可以学习到强大的特征,而这些特征有助于区别不同类别的样本。然而,对于样本外的东西,性能不能保证,因为这种方法没有引入明确的度量。
另一个分类损失的缺点是它将所有具有相同标签的样本投影到标签空间中的同一点,从而忽略了类内方差。验证损失[24]是一种常见的替代方案,因为它直接对相似性和不相似性的监督进行编码。验证损失的缺点是不能保证类间样本之间的差距。三重损失及其变体[25,26,27]克服了这一缺点,它对除了pairs之外的嵌入triplets进行排序。但其良好的性能需要仔细设计采样和训练过程[2,26]。其他相关工作包括中心损失[23],其维持每个类的shifting中心,以通过同时绘制中心和样本来减少类内方差。
2.2 Knowledge Transfer for Model Acceleration and Compression
在[28]中,Bucila等首先提出用单个神经网络逼近分类器的集合。最近,Hinton等以知识提取复兴了这个想法[1]。这种想法来自于分类器输出的软化概率比one-hot标签编码标签空间中每个样本更准确(The insight comes from that the softened probabilities output by classifier encodes more accurate embedding of each sample in the label space than one-hot labels.)。因此,除了原来的训练目标外,他们还提出用教师网络的软目标指导学生网络的训练。通过这个过程,KD向学生网络传递更精确的监督信号,因此提高了他们的泛化能力。随后的工作FitNets [16]和注意力转移[15]试图在CNN的中间特征图中利用其他不同的知识来提高性能。在本文中,我们探索了深度度量学习模型中的独特类型的知识–跨样本相似性来训练更好的学生网络。
2.3 Learning to Rank
学习排序是指给定query根据其相似性对样本列表进行排序的问题。 大多数学习排序方法可以根据组装样本的方式分为三种类型:pointwise, pairwise和listwise。pointwise[29,30]直接优化query和每个candidate之间的相关性标签或相似性分数; 而pairwise方法比较了两个candidate的相对相关性或相似性。pairwise排名的代表作品包括排名SVM [31]和Lambda Rank [32]。 listwise方法可以直接优化排序评估指标或最大化真实排序的可能性。SVM MAP [33],ListNet [17]和ListMLE [18]属于这一类。在本文中,我们将listwise排序损失引入深度度量学习,并利用它将candidates和query之间的软相似度迁移到学生模型中。
3 Background
在本节中,我们回顾了ListNet和ListMLE,它们是经典的listwise排序学习方法,它是由Cao[17]和夏等人[18]为文件检索任务而提出的。这些方法与我们提出的方法密切相关,将在后面中阐述。
这些方法的核心思想是基于每个candidate x和query q之间的相关性或相似性得分将概率与每个可能的排列相关联。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
5 Experiments
在本节中,我们将在两个大型人员重新识别数据集上对我们的DarkRank方法的性能进行测试,并将其与多个基准和密切相关的工作进行比较。 接下来,我们对我们的方法中超参数的影响进行消融分析。
5.1 Datasets
我们简要介绍将在以下实验中使用的两个数据集。
CUHK03。CUHK03 [34]包含1360个身份的13164张图片。每个身份由两个不同视角的摄像头捕获。作者提供检测到的和手动剪切的标注。我们对检测到的数据进行实验,因为它更接近真实世界的场景。此外,我们遵循[34]中的训练和评估协议。我们在第一步报告第1,5,10和20排序的精度。
Market1501。Market1501 [35]包含1501个身份的32668张图片。这些图像是从六个不同的相机收集的。我们遵循[35]中的训练和评估协议,在单个query和多个query设置中报告平均精度(mP)和排序1的精度。
5.2 Implementation Details(实现细节)
我们选择了Inception-BN [10]模型作为我们的教师网络,NIN-BN [36]模型作为我们的学生网络。 这两个网络都在ImageNet LSVRC图像分类数据集[37]上进行了预训练。我们首先删除专门针对预训练任务的全连接层,然后对特征图进行全局平均池化。最后,它连接到全连接层,遵循L2归一化层,以输出最终嵌入的特征。大幅度的softmax损失直接连接到全连接层。所有其它损失,包括提出的迁移损失是建立在L2归一化层上的。图1显示了我们网络的架构。
我们将大幅度softmax损失的幅度设定为3,在triplet和验证损失中均为0.9。我们将验证的损失权重,triplet和大幅度的softmax损失分别设置为5,0.1,1。我们选择具有动量的随机梯度下降法作为我们的优化器。对于Inception-BN模型,我们将学习率设置为0.01,对于NIN-BN模型将学习率设置为,并将权重衰减设置为.我们将模型训练100个epochs,在第50和75个epochs我们将学习率以0.1的倍率衰减,批量大小设置为8。
我们将所有输入图像的大小调整为256×128,并随机裁剪为224×112。 我们也在训练期间随机翻转图像。我们首先构建所有可能的交叉正图像对(cross view positive image pairs),并在每个epoch开始随机打乱它们。我们在MXNet [38]中实现我们的方法,并使用提供的预训练模型。
5.3 Models
我们介绍我们实验中使用的比较模型和基准。除了我们提出的软DarkRank和硬DarkRank方法,我们还测试了以下方法和它们与我们方法的组合:
知识提取(KD):由于分类损失包含在我们的模型中,我们还用软化的softmax目标测试知识提取。根据[1],对于softmax知识提取法,我们将温度T设置为4,损失权重设置为16。
FitNet:这种方法使用损失直接将学生的嵌入与老师的嵌入匹配。
直接匹配:query和candidates之间的距离是最直接的交叉样本相似性知识的形式。所以我们直接匹配教师和学生模型的距离输出作为基准结果。正式地,匹配损失定义为:
这里写图片描述
这里写图片描述
从表1可以看出,直接匹配教师和学生模型之间的距离只比初始学生模型略有改善。我们认为理由是,由于能力有限,学生模型正在努力匹配像教师一样的精确的距离。对于我们的方法,软和硬的变体都比原始模型有显著改进。它们可以得到类似的满意的结果。如第4.2节所述,硬变体在训练中比软变体具有很大的计算优势,因此更适合于从业者。此外,与KD协同作用,学生模型的表现可以进一步提高。这种互补结果表明,我们的方法确实在教师网络中迁移了不同类型的知识,而这些知识被KD忽略。注意,还有一些情况下身份不可用,因此使KD不适用,如极端分类等任务[39]。在这些情况下,我们的方法对于知识迁移仍然是可行的。
在Market1501数据集中,我们可以看到与CUHK03类似的趋势,除了Market1501更难(harder不知道应该翻译为更难还是更硬),这使得性能提升更加显著。
有趣的观察结果是,尽管FitNet在独立迁移中比我们的DarkRank表现得好,但是当与KD结合时,其结果比我们的要差很多。其背后的原因在于FitNet和KD正在尝试在单个样本中迁移知识。相比之下,我们的方法旨在迁移代表不同类型知识的交叉样本相似性,而对于这些不同类型的知识,所有这些基于单个样本的方法都不能参与。
我们的DarkRank迁移之前和之后的一些视觉效果如图2所示。 图像的不同边框颜色表示它们与query图像的关系。从图中可以看出,借助老师的知识,学生模型学习了一个更精细的度量,可以捕捉像服装等图像的相似之处。
这里写图片描述
5.5 Ablation Analysis
在本节中,我们对我们提出的软DeepRank方法中的超参数进行消融分析,并讨论它们如何影响最终性能。
对比度β。 由于排序信息仅显示query和每个candidate,之间的相对距离,因此在度量空间中没有提供关于绝对距离的很多细节。 如果每个candidate和query之间的距离太近,则排列的相关概率也很接近,这使得难以把良好的排序与不良排序区分开来。 因此,我们引入对比度参数β来加重得分的差异。我们在CUHK03验证集上测试β的不同值,并且发现3.0是模型性能峰值的地方。图3(a)显示了细节。
缩放因子α。 在行人重新识别领域,对于度量学习方法来说,将嵌入约束在单位超球体上是一个标准的设置。最近的一项工作[40]表明,小α可以降低嵌入的表示能力,并建议使α可调 。 我们在CUHK03验证集上测试不同的α。 图3(b)显示了不同比例因子对性能的影响。 我们设置α= 3:0,其中模型性能达到峰值。
损失权重λ。 在训练过程中,平衡迁移损失和原始训练损失很重要。 根据图3(c)的结果,我们将迁移损失的权重损失设置为2.0。 请注意,它也反应了我们的模型的性能在λ的大范围内是相当稳定的。
这里写图片描述
5.6 Speedup
table3:学生网络和教师网络的复杂性和性能比较。
这里写图片描述

阅读全文
0 0
原创粉丝点击