Advertisement

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

阅读量:

之前帮朋友大致翻译了几篇文章并放置于当前页面上作为参考资料使用。有些内容难以直接输入时会将word文档截图下来作为备用资料保存在此处。
DarkRank: Accelerating Deep Metric Learning through Cross-Sample Similarity 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节中提到过,在训练过程中硬性版本相比软性版本拥有显著的计算优势因而更适合实际应用者使用;此外在知识蒸馏协同作用下学生模型的表现还可以进一步优化提升;这种互补效果表明我们的方法确实在教师网络中迁移了不同类型的特征信息而这些特征信息被知识蒸馏过程所忽视;值得注意的是还存在某些特殊场景下无法获取到身份信息因而使得知识蒸馏的方法失效(如极端分类等任务)[39];但在这些情况下我们的方法仍可实现有效的知识迁移

这里写图片描述

5.5 消融实验

这里写图片描述

5.6 Speedup
table3:学生网络和教师网络的复杂性和性能比较。

这里写图片描述

全部评论 (0)

还没有任何评论哟~