PaddleClas/docs/zh_CN/algorithm_introduction/metric_learning.md

3.4 KiB
Raw Blame History

Metric Learning

简介

在机器学习中,我们经常会遇到度量数据间距离的问题。一般来说,对于可度量的数据,我们可以直接通过欧式距离(Euclidean Distance)向量内积Inner Product或者是余弦相似度Cosine Similarity来进行计算。但对于非结构化数据来说我们却很难进行这样的操作如计算一段视频和一首音乐的匹配程度。由于数据格式的不同我们难以直接进行上述的向量运算但先验知识告诉我们ED(laugh_video, laugh_music) < ED(laugh_video, blue_music), 如何去有效得表征这种”距离”关系呢? 这就是Metric Learning所要研究的课题。

Metric learning全称是 Distance Metric Learning它是通过机器学习的形式根据训练数据自动构造出一种基于特定任务的度量函数。Metric Learning的目标是学习一个变换函数线性非线性均可L将数据点从原始的向量空间映射到一个新的向量空间在新的向量空间里相似点的距离更近非相似点的距离更远使得度量更符合任务的要求如下图所示。 Deep Metric Learning就是用深度神经网络来拟合这个变换函数。 example

应用

Metric Learning技术在生活实际中应用广泛如我们耳熟能详的人脸识别Face Recognition、行人重识别Person ReID、图像检索Image Retrieval、细粒度分类Fine-gained classification等. 随着深度学习在工业实践中越来越广泛的应用目前大家研究的方向基本都偏向于Deep Metric LearningDML).

一般来说, DML包含三个部分: 特征提取网络来map embedding, 一个采样策略来将一个mini-batch里的样本组合成很多个sub-set, 最后loss function在每个sub-set上计算loss. 如下图所示: image

算法

Metric Learning主要有如下两种学习范式

1. Classification based:

这是一类基于分类标签的Metric Learning方法。这类方法通过将每个样本分类到正确的类别中来学习有效的特征表示学习过程中需要每个样本的显式标签参与Loss计算。常见的算法有L2-Softmax, Large-margin Softmax, Angular Softmax, NormFace, AM-Softmax, CosFace, ArcFace等。 这类方法也被称作是proxy-based, 因为其本质上优化的是样本和一堆proxies之间的相似度。

2. Pairwise based:

这是一类基于样本对的学习范式。他以样本对作为输入,通过直接学习样本对之间的相似度来得到有效的特征表示,常见的算法包括:Contrastive loss, Triplet loss, Lifted-Structure loss, N-pair loss, Multi-Similarity loss

2020年发表的CircleLoss从一个全新的视角统一了两种学习范式让研究人员和从业者对Metric Learning问题有了更进一步的思考。