深度学习(17)—— 度量学习

文章目录

  • 深度学习(17)—— 度量学习
    • 一、What?
    • 二、paired-based loss
      • 1. Contrastive loss
      • 2. Triplet loss
      • 3. Triplet center loss
      • 4.N-pair loss
      • 5. Quadruplet loss
      • 6. Lifted Structure Loss

昨天讨论的时候一个大佬提到了Metric Learning,听他讲了一下大致思路,觉得有点意思,所以下来了解了一下,简单记录

一、What?

度量学习是一种空间映射的方法,它可以学习到一种特征空间(Embedding),会将所有的数据转化为一个共同空间中的特征向量,在这些向量中,越相似样本的特征向量距离越近,不相似的样本的特征向量之间距离大,将数据进行区分。

二、paired-based loss

1. Contrastive loss

Contrastive loss能够让正样本(越相似的样本)对尽可能的近,负样本对尽可能的远,这样可以增大类间差异,减小类内差异。但是其需要指定一个固定的margin,因为margin是固定的,所以这里就隐含了一个很强的假设,即每个类目的样本分布都是相同的,不过一般情况下这个强假设未必成立。

例如,有一个数据集有三种动物,分别是狗、狼 、猫,直观上狗和狼比较像,狗和猫的差异比较大,所以狗狼之间的margin应该小于狗猫之间的margin,但是Contrastive loss使用的是固定的margin,如果margin设定的比较大,模型可能无法很好的区分狗和狼,而margin设定的比较小的话,可能又无法很好的区分狗和猫。

2. Triplet loss

Triplet Loss的思想是让负样本对之间的距离大于正样本对之间的距离,在训练过的过程中同时选取一对正样本对和负样本对,且正负样本对中有一个样本是相同的。仍旧以前面的狗、狼、猫数据为例,首先随机选取一个样本,此样本称之为anchor 样本,假设此样本类别为狗,然后选取一个与anchor样本同类别的样本(另一个狗狗),称之为positive,并让其与anchor样本组成一个正样本对(anchor-positive);再选取一个与anchor不同类别的样本(猫),称之为negative,让其与anchor样本组成一个负样本对(anchor-negative)。

当负样本对之间的距离比正样本对之间的距离大m的时候,loss为0 ,认为当前模型已经学的不错了,所以不对模型进行更新。

3. Triplet center loss

Triplet Center loss的思想非常简单,原来的Triplet是计算anchor到正负样本之间的距离,现在Triplet Center是计算anchor到正负样本所在类别的中心的距离。类别中心就是该类别所有样本embedding向量的中心

4.N-pair loss

N-pair loss选取了多个负样本对,即一对正样本对,选取其他所有不同类别的样本作为负样本与其组合得到负样本对。如果数据集中有N个类别,则每个正样本对Yii 都对应了N-1个负样本对。

5. Quadruplet loss

Quadruplet loss由两部分组成:

  • 一部分就是正常的triplet loss,这部分loss能够让模型区分出正样本对和负样本对之间的相对距离。
  • 另一部分是正样本对和其他任意负样本对之前的相对距离。这一部分约束可以理解成最小的类间距离都要大于类内距离,不管这些样本对是否有同样的anchor

6. Lifted Structure Loss

Lifted Structure loss的思想是对于一对正样本对而言,不去区分这个样本对中谁是anchor,谁是positive,而是让这个正样本对中的每个样本与其他所有负样本的距离都大于给定的阈值。此方法能够充分的利用mini-batch中的所有样本,挖掘出所有的样本对。

深度学习(17)—— 度量学习相关推荐

  1. 『深度概念』度量学习中损失函数的学习与深入理解

    『深度概念』度量学习中损失函数的学习与深入理解 0. 概念简介 度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML) 属于机器学习的 ...

  2. ReID基础 | 表征学习和度量学习

    文章目录 1. 分类 2. 表征学习 2.1 概述 2.2 分类损失 2.3 属性损失 2.4 验证损失 3. 度量学习 3.1 概述 3.2 对比损失 3.3 三元组损失 3.4 改进三元组损失 3 ...

  3. 【ReID】表征学习和度量学习

    文章目录 1.表征学习 1.1分类损失 1.2验证损失 1.3表征学习总结 2.度量学习 2.1 Introduction 2.2 对比损失 2.3 三元组损失 2.4 改进三元组损失 2.5 四元组 ...

  4. 对比学习和度量学习loss的理解

    度量学习和对比学习的思想是一样的,都是去拉近相似的样本,推开不相似的样本.但是对比学习是无监督或者自监督学习方法,而度量学习一般为有监督学习方法.而且对比学习在 loss 设计时,为单正例多负例的形式 ...

  5. 什么是度量学习?度量学习如何实现?

    度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习. 在数学中,一个度量(或距离函数)是一个定义集合中元素 ...

  6. 百面深度学习:基于度量学习的元学习模型

    文章目录 Q1 元学习中非参数方法相比于参数方法的优点? Q2 如何用度量学习和注意力机制来改造基于最邻近的元学习方法? 更多基础知识可以查看前文内容 <百面深度学习>之元学习 基于度量学 ...

  7. Multi-Scale Metric Learning for Few-Shot Learning(用于小样本学习的多尺度度量学习)

    Abstract 本文提出了一种新的小样本学习方法,名字叫多尺度度量学习(multi-scale metric learning, MSML),能提取多尺度特征,学习样本间的多尺度关系,进行少镜头学习 ...

  8. 度量学习:ArcFace算法和工程应用总结

    目录 前言 1 度量学习简介 2 ARCFace介绍 3 实际应用时的探讨 探讨1:类似于人脸识别这样的应用,从0到落地应用的大概流程是怎样的? 探讨2:怎么评估这个特征提取器网络训练好了? 探讨3: ...

  9. 机器学习: Metric Learning (度量学习)

    Introduction 度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习 是人脸识别中常用传统机器学习 ...

  10. Metric Learning——度量学习

    2018年04月10日 15:30:29 敲代码的quant 阅读数:1567 标签: 度量学习metric learning机器学习聚类 更多 个人分类: 机器学习 版权声明:本文为博主原创文章,未 ...

最新文章

  1. soapui oracle groovy,soapUI+groovy 接口测试之部分groovy使用记录
  2. leetcode -- 279. Perfect Squares
  3. wordpress程序安装php多少,2020最新WordPress网站程序详细安装教程
  4. c语言课程设计模块结构图,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  5. 一次开发、多端分发,阿里巴巴发布AliOS车载小程序
  6. VC实现在ListBox中选择背景位图
  7. 阿里 深度学习推理框架_如何通过Knative无服务器框架构建深度学习推理
  8. java中element转换_java中实体类与xml的element相互转换
  9. Java基础学习总结
  10. WebStrom开发微信小程序
  11. 【WIN】windows自启动项查询整理
  12. 蚂蚁金服揭”老底“:港版支付宝的区块链跨境汇款与Ripple、Circle大不同
  13. DEVC艹如何设置初始的源码
  14. 群晖docker位置_OMV利用Docker配置nextcloud,实现个人网盘的搭建!
  15. 计算机网络与新媒体就业前景,2018网络与新媒体专业就业前景和就业方向分析...
  16. python爬取微博热搜写入数据库_python爬虫爬取微博热搜
  17. Android 11.0 当安装多个播放器时,设置默认播放器播放歌曲
  18. python操作数据库教程_python通用数据库操作工具 pydbclib|python基础教程|python入门|python教程...
  19. 无法双击点开计算机,小达人点读笔在电脑里面双击DAB文件无法打开,怎么办?...
  20. Python爬虫——使用线程池爬取同程旅行景点数据并做数据可视化

热门文章

  1. 计算机网络面试常见题
  2. Kubernetes全栈架构师(资源调度下)--学习笔记
  3. 数据库码的概念,全码的例子与范式的联系
  4. python_flask_路由
  5. PMP试题 | 每日一练,快速提分 8.6
  6. 分页插件PageHelper失效
  7. 三角形的测试用例设计案例
  8. 微信朋友圈里,微信群里的早报新闻简报都是哪里来的呢?
  9. CPU 内存 磁盘的关系
  10. 为什么4个反斜杠(\)输出1个反斜杠(\)?