Deep metric learning 深度度量学习 总结
最近的工作用是深度度量学习的改进,这里将DML进行一个总结。
根据个人的理解,开篇用一句话介绍一下度量学习:
与分类学习相比,度量学习方法通过分析数据之间的相似性程度来构建一个更具鉴别力的特征空间。
Traditional metric learning
核心目的:
1 通过一个optimal的距离度量来判断样本之间的相似性
2 减小相似样本之间的距离,增加不相似样本之间的距离
由于通常采用的是基于线性的映射策略来简化数据处理过程,在实际应用中往往会遇到难以有效处理复杂的非线性问题的挑战。(尽管大多数传统方法都面临着这一挑战,在这一领域最常用的解决方案是核技巧(kernel methods)。例如支持向量机(SVM)最初仅适用于线性分类任务,通过引入高斯核或多项式核等核函数可以扩展其应用范围到非线性分类问题中。此外还包括像PCA-KPCA这样的复合型方法也得到了广泛应用)
Deep metric learning(DML)
掌握高抽象化的非线性特征以及数据之间的相似性关系基于深层结构
DML的主要关注点包括采样的策略、选择适当的距离度量方法以及确定模型架构等几个核心要素;具体而言,目前大多数DML方法通常会根据特定任务在这几个核心要素上进行优化。
距离度量
度量学习希望学习到一种distance metric,使得在该distance metric下,相似数据(不相似数据)能够在空间中有更好的分布。最经典的就是利用马氏距离(Mahalanobis distance),如下式,其中 x_i \in R^m
D(x_i, x_j) = \sqrt{(x_i-x_j)^TM(x_j-x_j)}
作为一个距离函数,那么一定要包含几个性质:非负、对称以及三角不等,如果想在度量上进行创新一定要注意这些。马氏距离中的M具有半正定和对称性,那么根据矩阵理论相关知识,M的特征值要全部非负,且存在n阶实矩阵W使得M = W^TW ,则上述式子可以转化为:
D(x_i, x_j) = \sqrt{(x_i-x_j)^TW^TW(x_j-x_j)} \\ = \sqrt{[(x_i-x_j)^TW^T][W(x_j-x_j)]} \\ =\sqrt{(Wx_i-Wx_j)^T(Wx_j-Wx_j)} \\ =\left \| Wx_i - Wx_j \right \|
OK,那从上面这个式子可以看到,原始空间的马氏距离就对应经过一个线性映射W之后新空间中的欧氏距离,也就是说基于马氏距离的度量学习其实就是学习一个W,经过这个矩阵的映射之后的数据点具有相似数据更近,不相似数据更远的特性。同时,学习的矩阵是一个线性映射,也就意味着仅用这种方式是无法解决非线性问题的,因此就要学习 f(x), DML就是利用强大的特征学习能力,学习到这样一个映射。
采样
在数据管理框架DML中扮演着至关重要的角色,采用一种科学合理的采样策略能够显著地提高模型的效果和计算效率。具体而言,在后续章节中将详细阐述各种先进的采样方法及其应用。

关于DML中采样策略发展历史中几个比较关键的节点
在2006年, 著名科学家Lecun提出了孪生网络理论, 在该理论中涉及的采样过程是这样的: 首先会随机选择一个样本作为基准点, 在这个基础上有50%的概率从与该基准点同类的其他样本中进行采样配对, 而另外50%的概率则会从不同类别的样本中进行配对. 数学公式...原样保留
随后发现大量容易训练的样本无法显著提升学习模型的效果
3 另一个经典的三元组网络DML模型,在输入端采用锚点、正样本以及负样本,并关注同类别与异类之间的距离关系[4]
4 将三元组与hard sample mining结合。[5]
提到的hard negative sample是什么呢?

如上图所示,在采样过程中若选择3作为负样本,则对模型学习并无实际意义。因为此时该负样本与anchor的距离已超过正样本与anchor之间的距离并附加了一个预期的margin(这属于随机采样方法,在不考虑hard negative样本的情况下)。只有选取1和2这两个样本才是具有实际价值的。然而,在选择1作为hard negative时会遇到一个问题:后续的损失值会变得过大,并导致梯度急剧增大,从而使模型难以收敛。因此最佳的选择应为2号样本:其与正样本的距离大于前者但又不超过预期的一个期望margin值。这样模型在进行学习时能够更加高效地进行训练。
Loss function
本节将阐述一些经典的DML所涉及的损失函数,并按提出时间进行排序。所述的距离函数定义如下:其中G表示网络映射函数。数学表达式为:D(X_1,X_2) = \left \| G(X_1) - G(X_2) \right \|, 并被标注为对比损失(Contrastive loss)[2]
对比损失源自Lecun在孪生网络论文中提出的损失函数框架。如前所述, 该框架采用正负样本间的相似度作为基础变量, 并结合 margin 参数来调节分类边界。具体而言, 正负样本采用随机采样策略, 当正样本时Y设为0, 否则设为1. 该模型旨在达到以下目标: 当两个样本属于同一类别时, 希望相似度D值减小以促进模型收敛; 当两个样本来自不同类别时, 希望D值增大以增强分类效果; 同时若相似度超过设定阈值 margin 则不再参与模型优化过程。
2 Triplet loss [4]
三元损失如前所述,在锚点样本、正样本和负样本中进行选择。其对应的损失函数定义为:Loss = \max(0, D(X,X_p) - D(X,X_n) + a)。该函数综合考量锚点样本与正负样本之间的距离关系,并着重于相对距离的变化。当计算得出D(X,X_n) > D(X,X_P) + a时,则表明模型参数不进行更新。
3 Angular loss [6]
与之前两种损失不同的是,在该损失函数中X^c代表正例样本的聚类中心;同时通过角度度量来约束负例样本与这些聚类中心之间的距离。
其他一些loss包括Quadruplet loss[7]通过再加入一个与anchor高度相似的样本来完成四元组;Structured loss[8]基于训练过程中获取的结构化信息(将单个距离向量扩展为多维的距离矩阵);N-pair Loss[9]通过多类别数据集加快收敛速度并避免陷入局部最优状态…
参考文献
[1]Kaya, Bilge. Deep Metric Learning: A Survey. Symmetry. 2019;11(9):1066. doi:10.3390/sym11091066
[2] Hadsell, R.; Chopra, S.; LeCun, Y. Through learning an invariant mapping to achieve dimensionality reduction. In the Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), New York, NY, USA, June 17-22, 2006; In pages 1735 to 1742.
[3]Simo-Serra, E.; Trulls, E.; Ferraz, L.; Kokkinos, I.; Fua, P.; Moreno-Noguer, F. Discriminative learning of deep
convolutional feature point descriptors. In Proceedings of the IEEE International Conference on Computer
Vision (ICCV), Santiago, Chile, 11–18 December 2015; pp. 118–126.
[4]Hoffer, E.; Ailon, N. Deep Metric Learning Using Triplet Network. In Progress in Pattern Recognition, Image
Analysis, Computer Vision, and Applications; Springer: Berlin/Heidelberg, Germany, 2015; Volume 9370,
pp. 84–92.
[5]Lin et al., 细粒度分类与数据自 bootstrapping 结合深度度量学习在人类监督过程中的应用。IEEE 计算机视觉国际会议(ICCV)论文集(威尼斯大都会酒店会议中心国际会议),意大利威尼斯;时间:2017年10月22日至29日;页码:第 1153 至第 1162。
Wang et al. propose a novel approach to deep metric learning by introducing angular loss in their research paper presented at the IEEE International Conference on Computer Vision (ICCV) held in Venice, Italy during October 22–29, 2017. The study spans pages 2593–2601 and offers significant insights into enhancing feature similarity measurement through angular loss optimization.
[7] Ni, J., Liu, J., Zhang, C., Ye, D., & Ma, Z. (2017). Fine-grained patient similarity measuring based on deep metric learning. In Proceedings of the 2017 ACM International Conference on Information and Knowledge Management (pp. 1189–1198), Singapore.
[8]Song, H.O.; Savarese, S.; Xiang, Y.; Jegelka, S. Deep Metric Learning via Lifted Structured Feature Embedding.
In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV,
USA, 27–30 June 2016; pp. 4004–4012
[9]Sohn, K. Improved deep metric learning with multi-class n-pair loss objective. In Proceedings of the Advances
in Neural Information Processing Systems (NIPS), Barcelona, Spain, 5–10 December 2016; pp. 1857–1865
