1.交叉熵loss和对比loss区别

  • 交叉熵 loss 是 最后结果过一层 fc 然后进行 softmax 。 然后  fc  的系数 W 就是特征的模板(模板的意思是把一些特征用这个Wc参数转换后,就能判断它是否是c类,相当于这个Wc就是c类的模板)

  • 非参数样本分类 loss : 这里所谓非参数样本分类,则是将每个计算出的样本特征作为模板

  • 对比 loss

2.Triplet Loss 和 对比loss 区别:

  • Triplet Loss 负样本只有一对
  • 对比 loss 负样本有很多对

3. 深度度量学习的知识

别笑,这个学习就包含了对比损失。赶紧去学把..

[2]

metric learning的方法有两大分支:pair-based 和 proxy-based.pair-based是基于真实的样本对,比如contrastive loss, triplet loss, N-pair loss和MS loss等,而proxy-based是利用proxy去表示类别的特征,或者样本特征,比如说softmax, Proxy-NCA等.proxy是一个非常宽泛的概念,在softmax中,它是fc层的列;在memory的方法中,它是存储在memory中的特征.

pair-based的方法的好处在于简单准确,准确的意思是你的feature是从当前模型前向出来的,可以精确的表示当前的模型;缺点在于计算量大,信息局限,pair-based只可以利用当前mini-batch的信息,不能看到模型在整体的数据的表现,一直在做局部的优化.

那么,proxy的好处在于可以有global的信息,但是,缺点是什么?proxy是基于历史信息,或者是网络一步步学过来的,未必能够准确的表达当前模型.

4. 奇奇怪怪的loss集合顺序梳理和典型有名的loss

  • 最初的对比损失和三元损失

Contrastive loss和triplet loss都很常用,一般来说,Triplet-Loss的效果比Contrastive Loss的效果要好,因为他考虑了正负样本与锚点的距离关系。然而,这两种loss函数如果单独使用则会遭遇收敛速度慢的问题。在学习过程的后期,大多数样本都能满足损失函数的约束条件,这些样本对应进一步学习的贡献很小。因此,这两种损失函数都需要配合hard sample mining的学习策略一起使用,例如FaceNet提出的simi-hard negative sample mining方法。

tripelt loss缺点论文:

<Sampling Matters in Deep Embedding Learning>

<A Theoretically Sound Upper Bound on the Triplet Loss for Improving the Efficiency of Deep Distance Metric Learning>

<Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning>

度量学习的论文很多都会惯例分析一下tripelt loss的。triplet loss的缺点也是那几个,比如说元组选择花时间,需要的batch size大,对于样本只有选择/不选择,没有权重的分配。

  • n-pair loss

N-pair-ms loss对Triplet loss的上述问题进行了改进,不同于Triplet Loss使用单个的正负样本,N-pair-ms loss损失函数利用了数据之间的结构信息来学习到更有区别性的表示,其在每次参数更新的过程中同时考虑了query样本与其他多个不同类的负样本之间的关系,促使query与其他所有类之间都保持距离,这样能够加快模型的收敛速度。真正的 对比学习loss

基于上述的两种损失函数衍生出了很多变形,比如将数据丰富的结构化信息加入到Loss中,而不仅仅局限于二元组或三元组

  • Lifted Struct loss

Lifted Struct loss可以只针对最hard的negative来优化。在Triplet loss中,样本i和样本j各自作为锚点时,选择的negative是不相同的。而Lifted Struct loss中,选中i和j这个样本对时,则只选择i或j最hard的一个negative来优化。这样做的目的是忽略没那么hard的negative,起到加速优化的作用。

动态建立负样本论文:

《FaceNet: A Unified Embedding for Face Recognition and Clustering》

《Imbalanced Deep Learning by Minority Class Incremental Rectification》

  • Ranked list loss

不是让正样本更接近,负样本更远离。学习到一个函数f使得正样本对之间的相似度高于负样本之间的相似度

可是有些又把这个归结于 和 三元组、对比loss一样额

  1. 对于给定的query,基于相似度来对其它所有样本进行排序。
  2. 进行non-trivial sample mining,本文使用的采样策略很简单,就是损失函数不为0的样本,具体来说,对于正样本,损失函数不为0意味着它们与anchor之间的距离大于α-m , 类似的,对于负样本,损失函数不为0意味着它们与anchor之间的距离小于α。
  3. 基于欧氏距离来对所有负样本赋予权重,距离越小权重越大

杂七杂八

1.所以目前的pairwise cost method都是集中在研究类内距离和类间距离之间的关系,比如naive triplet loss就是让类间距离比类内距离大一个fix的值。

三项分别表示类内距离,类间距离以及这两个距离的相对距离

2.基于pair-based loss的方法通常都要限制negative instance的数量和质量

数量——利用memory bank (最新的Moco进行存储)

质量——加权以及各种paper的改进

1).一个positive和一个negative。2).每类都选取一个样本。3).一个positive和每个negative类的平均。4).一个positive和所有negative。5).所有positive和所有

negative。

参考负样本选择知乎

3.

工程调整

一般做法是先选一个基本的,然后根据badcase去调整。比如,你发现很多case错误原因是由于类内距过大,就可以改一个对类内距做了限制的loss。
现实中,我们一般先选几个代表性的loss,都跑一下

推荐知乎博主:(直接去搜就好,(●'◡'●))

军火交易商

Fei Ding

王珣

打个酱油

如何看待研究人员声称近13年来在 deep metric learning 领域的进展实际并不存在?

参考文献

[1]交叉熵loss 和 对比loss区别

[2]度量学习论文简评

[3]度量学习的loss集合

[4]Ranking loss系列

[5]表征学习的Contrastive Loss小结

[6]如何搞懂metric learning

[7]Deep Metric Learning

对比学习知识扩展——一堆奇奇怪怪的loss,快把我压死了orz...相关推荐

  1. 张俊林:从对比学习视角,重新审视推荐系统的召回粗排模型

    分享嘉宾:张俊林博士 新浪微博 编辑整理:王岩 出品平台:DataFunTalk 导读:今天分享的主题是从对比学习的视角,即从一个不同的角度来看看推荐系统里面的召回和粗排模型.对比学习从去年年中开始比 ...

  2. 对比学习损失函数中超参数temperature的作用

    目录 背景 超参数temperature的直观理解 对比学习中的temperature参数理解 背景 最近在看凯明大神的对比学习MOCO时,看到infoNCE loss的公式时,对其中参数T(应该是t ...

  3. CTF MISC在我眼里各种奇奇怪怪的题学习思路总结(持续更新)

    系列文章目录 MISC:图片隐写简单题学习思路总结(持续更新) CTF Crypto简单题学习思路总结(持续更新) 文章目录 系列文章目录 前言 一.二维码 1.1 QR码 1.2 Maxicode码 ...

  4. ​AAAI 2023 | 基于历史对比学习的时序知识图谱推理

    ©PaperWeekly 原创 · 作者 | 徐奕 单位 | 上海交通大学Acemap 研究方向 | 数据挖掘 论文标题: Temporal Knowledge Graph Reasoning wit ...

  5. 基于历史对比学习的时序知识图谱推理

    时序知识图谱 知识图谱(KGs)作为人类知识的集合,在自然语言处理.推荐系统和信息检索等领域显示展现了很好的前景.传统的KG通常是一个静态知识库,它使用图结构数据拓扑,并以三元组(s, p, o)的形 ...

  6. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2022)-SGCL-DTI:用于DTI预测的监督图协同对比学习

    14.(2022.5.21)Bioinformatics-SGCL-DTI:用于DTI预测的监督图协同对比学习 论文标题: Supervised graph co-contrastive learni ...

  7. 直播预告 | AAAI 2022论文解读:融入知识图谱的分子对比学习

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  8. 【对比学习】CUT模型论文解读与NCE loss代码解析

    标题:Contrastive Learning for Unpaired Image-to-Image Translation(基于对比学习的非配对图像转换) 作者:Taesung Park, Ale ...

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

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

最新文章

  1. Head First JSP---随笔八(传统标记)
  2. linux和windows文件名称长度限制
  3. 发一个自己写的2440驱动1602的资料(电路+代码)
  4. Codeforces Gym101518H:No Smoking, Please(最小割)
  5. python线程数组_Python多线程
  6. (原創) 何谓可读性高的程序? (C/C++)
  7. centos,apache运维经验
  8. python中的清屏命令
  9. mysql 保存emoji 4字节宽度字符串
  10. 华为手机计算机不能用,华为手机无法连接电脑(手机助手)怎么办,连接不上...
  11. HBase学习笔记:HBase数据库介绍
  12. 破解路由器管理登录密码
  13. 如何把两块硬盘数据迁移到另一块硬盘
  14. 消息队列之Kafka从入门到小牛
  15. pyqt5 等待界面 (QMovie 加载 gif)
  16. 渗透测试-红队从资产收集到打点
  17. tplink支持Linux的无线网卡,解决tp-link usb无线网卡在ubuntu14.04下无法使用的一种方法...
  18. 刚学了一个炫酷3D三棱锥立体特效,快来看看
  19. 在caffe 中添加Crowd counting 数据层
  20. MMM金融互助平台崩盘了,你当接盘侠了没?

热门文章

  1. ChemDraw Professional for Mac 16.0.1.4 专业的生物化学绘图软件
  2. ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...
  3. 字典树 静态建树与动态建树
  4. unity Input
  5. 惠普战x适合计算机专业吗,惠普战x锐龙版怎么样?电脑值得入手吗?
  6. 用计算机唱樱花下的重逢,抖音樱花树下的重逢是谁唱的
  7. 关于NYIST_ACM_OJ的注册登录和使用及其判题说明
  8. 如何配置java环境变量?
  9. tgp进游戏不显示服务器连接异常,TGP启用腾讯游戏提示“TCLS_CORE异常退出”的解决方法...
  10. 基于众包采集定量数据的自适应结果推理