Contrastive Loss (对比损失)

孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的paired data的关系。contrastive loss的表达式如下:

其中d=||anbn||2,代表两个样本特征的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。

这种损失函数最初来源于Yann LeCun的《Dimensionality Reduction by Learning an Invariant Mapping》,主要是用在降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。

观察上述的contrastive loss的表达式可以发现,这种损失函数可以很好的表达成对样本的匹配程度,也能够很好用于训练提取特征的模型。当y=1(即样本相似)时,损失函数只剩下∑yd2,即原本相似的样本,如果在特征空间的欧式距离较大,则损失函数(增函数)越大,则说明当前的模型不好。而当y=0时(即样本不相似)时,损失函数为∑(1−y)max(margind,0)2

(减函数),即当样本不相似时,其特征空间的欧式距离反而小的话,损失函数值会变大。

这张图表示的就是损失函数值与样本特征的欧式距离之间的关系,其中红色虚线表示的是相似样本的损失值(Y=1时),蓝色实线表示的不相似样本的损失值(Y=0时)。这里的m为阈值,要视具体问题而定,对于不同的目标m的值会有不同的大小。而事实表明Constractive Loss对于多分类的问题经常会在训练集上过拟合,显得比较乏力。针对该问题的改进方法有Triplet Loss、四元组损失(Quadruplet loss)、难样本采样三元组损失(Triplet loss with batch hard mining, TriHard loss)、边界挖掘损失(Margin sample mining loss, MSML)

Contrastive Loss(Siamese Network)相关推荐

  1. 论文笔记:孪生神经网络(Siamese Network)

    Siamese Network 原文:<Learning a Similarity Metric Discriminatively, with Application to Face Verif ...

  2. Contrastive Loss 对比损失函数

    Contrastive Loss 定义 在caffe的孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的p ...

  3. 机器学习笔记 - 关于Contrastive Loss对比损失

    一.对比损失 虽然二元交叉熵(下图公式)肯定是损失函数的有效选择,但它不是唯一的选择(甚至不是最佳选择). 然而,实际上有一个更适合孪生网络的损失函数,称为对比损失. 其中Y是我们的标签.如果图像对属 ...

  4. 对比损失Contrastive Loss

    [时间]2-019.01.21 [题目]对比损失Contrastive Loss PS:本文转载自Contrastive Loss Contrastive Loss 在传统的siamese netwo ...

  5. SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images论文介绍

    SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images 该论文受DenseNet and N ...

  6. [深度学习概念]·Siamese network 孪生神经网络简介

    Siamese network 孪生神经网络--一个简单神奇的结构 名字的由来 Siamese和Chinese有点像.Siam是古时候泰国的称呼,中文译作暹罗.Siamese也就是"暹罗&q ...

  7. Siamese network 孪生神经网络--一个简单神奇的结构

    转自: 作者:fighting41love 链接:https://www.jianshu.com/p/92d7f6eaacf5 1.名字的由来 Siamese和Chinese有点像.Siam是古时候泰 ...

  8. Siamese network

    名字的由来 Siamese和Chinese有点像.Siam是古时候泰国的称呼,中文译作暹罗.Siamese也就是"暹罗"人或"泰国"人.Siamese在英语中是 ...

  9. Siamese Network Triplet NetWork

    Siamese Network(孪生网络) 简单来说,孪生网络就是共享参数的两个神经网络 在孪生网络中,我们把一张图片X1X_1X1​作为输入,得到该图片的编码GW(X1)G_W(X_1)GW​(X1 ...

最新文章

  1. Python入门篇-数据结构堆排序Heap Sort
  2. MySQL创建索引跳过redo_明明我建了索引,为什么sql执行的还是这么慢?
  3. 如何找到SAP S4销售订单的字段tkomk是在哪里填充的
  4. 梯度下降法_梯度下降
  5. Linux 设备驱动开发 —— platform 设备驱动
  6. linux的基础知识——signal信号捕捉,信号集操作函数
  7. c++ 测试串口速率_山西充放电测试设备实现多台仪器准确通
  8. 疫情后全国热门博物馆榜单出炉 第一名竟不是故宫
  9. openresty的安装和使用
  10. JAVA面向对象OOP多态→抽象类abstract、接口interface实现implement、final不变修饰符、样例代码
  11. oracle用户导出和导入用不同的用户名,oracle用exp\imp导出导入,及创建表空间与用户...
  12. C在mac上用不了malloc.h头文件的解决方法
  13. android自动生成cardview,CardView
  14. JAVA语言基础——基本语法
  15. Volley读取文档和图片
  16. Android 更换皮肤
  17. [git]warning: LF will be replaced by CRLF in 解决办法
  18. 关于Class mocking requires to have Objenesis library in the classpath异常的处理
  19. 脉冲宽度调制(Pluse Width Modulation)
  20. Windows系统的命令窗口

热门文章

  1. pdf转换成word后格式乱了怎么办?介绍三种转换途径
  2. IntelliJ IDEA根据wsdl生成WebServices客户端代码 Sprinng Boot
  3. imei ios android,ios设备获取IMEI
  4. 攀比之与顶级创意代理商的差距
  5. OneKey 一键还原 8.1.0.314
  6. Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide 阅读翻译(二)
  7. ant 脚本使用技巧
  8. jquery easyui iconcls(小图标)属性的设置
  9. 给linux添加中文字体(宋体)
  10. 海上风电将满足欧盟四分之一的电力需求