Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
6ddbe671
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6ddbe671
编写于
9月 06, 2021
作者:
S
stephon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add metric_learning.d
上级
ec5e07da
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
26 addition
and
0 deletion
+26
-0
docs/images/ml_illustration.jpg
docs/images/ml_illustration.jpg
+0
-0
docs/images/ml_pipeline.jpg
docs/images/ml_pipeline.jpg
+0
-0
docs/zh_CN_tmp/algorithm_introduction/metric_learning.md
docs/zh_CN_tmp/algorithm_introduction/metric_learning.md
+26
-0
未找到文件。
docs/images/ml_illustration.jpg
0 → 100644
浏览文件 @
6ddbe671
118.8 KB
docs/images/ml_pipeline.jpg
0 → 100644
浏览文件 @
6ddbe671
68.7 KB
docs/zh_CN_tmp/algorithm_introduction/metric_learning.md
0 → 100644
浏览文件 @
6ddbe671
# 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
](
../images/ml_illustration.jpg
)
## 应用
Metric Learning技术在生活实际中应用广泛,如我们耳熟能详的人脸识别(Face Recognition)、行人重识别(Person ReID)、图像检索(Image Retrieval)、细粒度分类(Fine-gained classification)等. 随着深度学习在工业实践中越来越广泛的应用,目前大家研究的方向基本都偏向于Deep Metric Learning(DML).
一般来说, DML包含三个部分: 特征提取网络来map embedding, 一个采样策略来将一个mini-batch里的样本组合成很多个sub-set, 最后loss function在每个sub-set上计算loss. 如下图所示:
!
[
image
](
../images/ml_pipeline.jpg
)
## 算法
Metric Learning主要有如下两种学习范式:
### 1. Classification based:
这是一类基于分类标签的Metric Learning方法。这类方法通过将每个样本分类到正确的类别中,来学习有效的特征表示,学习过程中需要每个样本的显式标签参与Loss计算。常见的算法有
[
L2-Softmax
](
https://arxiv.org/abs/1703.09507
)
,
[
Large-margin Softmax
](
https://arxiv.org/abs/1612.02295
)
,
[
Angular Softmax
](
https://arxiv.org/pdf/1704.08063.pdf
)
,
[
NormFace
](
https://arxiv.org/abs/1704.06369
)
,
[
AM-Softmax
](
https://arxiv.org/abs/1801.05599
)
,
[
CosFace
](
https://arxiv.org/abs/1801.09414
)
,
[
ArcFace
](
https://arxiv.org/abs/1801.07698
)
等。
这类方法也被称作是proxy-based, 因为其本质上优化的是样本和一堆proxies之间的相似度。
### 2. Pairwise based:
这是一类基于样本对的学习范式。他以样本对作为输入,通过直接学习样本对之间的相似度来得到有效的特征表示,常见的算法包括:
[
Contrastive loss
](
http://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf
)
,
[
Triplet loss
](
https://arxiv.org/abs/1503.03832
)
,
[
Lifted-Structure loss
](
https://arxiv.org/abs/1511.06452
)
,
[
N-pair loss
](
https://papers.nips.cc/paper/2016/file/6b180037abbebea991d8b1232f8a8ca9-Paper.pdf
)
,
[
Multi-Similarity loss
](
https://arxiv.org/pdf/1904.06627.pdf
)
等
2020年发表的
[
CircleLoss
](
https://arxiv.org/abs/2002.10857
)
,从一个全新的视角统一了两种学习范式,让研究人员和从业者对Metric Learning问题有了更进一步的思考。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录