Contrastive Loss(Siamese Network)
Contrastive Loss (对比损失)
孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的paired data的关系。contrastive loss的表达式如下:
其中d=||an−bn||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(margin−d,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)相关推荐
- 论文笔记:孪生神经网络(Siamese Network)
Siamese Network 原文:<Learning a Similarity Metric Discriminatively, with Application to Face Verif ...
- Contrastive Loss 对比损失函数
Contrastive Loss 定义 在caffe的孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的p ...
- 机器学习笔记 - 关于Contrastive Loss对比损失
一.对比损失 虽然二元交叉熵(下图公式)肯定是损失函数的有效选择,但它不是唯一的选择(甚至不是最佳选择). 然而,实际上有一个更适合孪生网络的损失函数,称为对比损失. 其中Y是我们的标签.如果图像对属 ...
- 对比损失Contrastive Loss
[时间]2-019.01.21 [题目]对比损失Contrastive Loss PS:本文转载自Contrastive Loss Contrastive Loss 在传统的siamese netwo ...
- 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 ...
- [深度学习概念]·Siamese network 孪生神经网络简介
Siamese network 孪生神经网络--一个简单神奇的结构 名字的由来 Siamese和Chinese有点像.Siam是古时候泰国的称呼,中文译作暹罗.Siamese也就是"暹罗&q ...
- Siamese network 孪生神经网络--一个简单神奇的结构
转自: 作者:fighting41love 链接:https://www.jianshu.com/p/92d7f6eaacf5 1.名字的由来 Siamese和Chinese有点像.Siam是古时候泰 ...
- Siamese network
名字的由来 Siamese和Chinese有点像.Siam是古时候泰国的称呼,中文译作暹罗.Siamese也就是"暹罗"人或"泰国"人.Siamese在英语中是 ...
- Siamese Network Triplet NetWork
Siamese Network(孪生网络) 简单来说,孪生网络就是共享参数的两个神经网络 在孪生网络中,我们把一张图片X1X_1X1作为输入,得到该图片的编码GW(X1)G_W(X_1)GW(X1 ...
最新文章
- Python入门篇-数据结构堆排序Heap Sort
- MySQL创建索引跳过redo_明明我建了索引,为什么sql执行的还是这么慢?
- 如何找到SAP S4销售订单的字段tkomk是在哪里填充的
- 梯度下降法_梯度下降
- Linux 设备驱动开发 —— platform 设备驱动
- linux的基础知识——signal信号捕捉,信号集操作函数
- c++ 测试串口速率_山西充放电测试设备实现多台仪器准确通
- 疫情后全国热门博物馆榜单出炉 第一名竟不是故宫
- openresty的安装和使用
- JAVA面向对象OOP多态→抽象类abstract、接口interface实现implement、final不变修饰符、样例代码
- oracle用户导出和导入用不同的用户名,oracle用exp\imp导出导入,及创建表空间与用户...
- C在mac上用不了malloc.h头文件的解决方法
- android自动生成cardview,CardView
- JAVA语言基础——基本语法
- Volley读取文档和图片
- Android 更换皮肤
- [git]warning: LF will be replaced by CRLF in 解决办法
- 关于Class mocking requires to have Objenesis library in the classpath异常的处理
- 脉冲宽度调制(Pluse Width Modulation)
- Windows系统的命令窗口
热门文章
- pdf转换成word后格式乱了怎么办?介绍三种转换途径
- IntelliJ IDEA根据wsdl生成WebServices客户端代码 Sprinng Boot
- imei ios android,ios设备获取IMEI
- 攀比之与顶级创意代理商的差距
- OneKey 一键还原 8.1.0.314
- Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide 阅读翻译(二)
- ant 脚本使用技巧
- jquery easyui iconcls(小图标)属性的设置
- 给linux添加中文字体(宋体)
- 海上风电将满足欧盟四分之一的电力需求