Contrastive Loss
- Contrastive Loss
参考:https://zhuanlan.zhihu.com/p/35027284
对比损失函数,来自Yann LeCun的论文《Dimensionality Reduction by Learning an Invariant Mapping》,出发点:增大类间差异并且减小类内差异。
公式如下:
Y=0表示x1和x2是相似的,Ls表示相似时候的度量,通常用距离的平方表示,用来惩罚相似时候预测距离变大的问题。Y=1表示x1和x2不相似,Ld表示不相似的距离,用hinge loss的平方表示,用来鼓励x1和x2不一致时,二者距离越大越好。公式4是L函数,其中的Ls和Ld如下图所示。
上图表示的就是损失函数L与样本特征的欧式距离之间的关系,其中红色虚线表示的是相似样本的损失值,蓝色实线表示的不相似样本的损失值。
Contrastive Loss实现
#注:label=1,同一人;label=0,不同人。
def contrastive_loss(model1, model2, y):margin = 5.0labels_t = ylabels_f = tf.subtract(tf.to_int64(1), y, name="1-yi")eucd2 = tf.pow(tf.subtract(model1, model2), 2)eucd2 = tf.reduce_sum(eucd2, 1)eucd = tf.sqrt(eucd2+1e-6, name="eucd")C = tf.constant(margin, name="C")# yi*||CNN(p1i)-CNN(p2i)||^2 + (1-yi)*max(0, C-||CNN(p1i)-CNN(p2i)||)^2pos = tf.multiply(tf.to_float(labels_t), eucd2, name="yi_x_eucd2")neg = tf.multiply(tf.to_float(labels_f), tf.pow(tf.maximum(tf.subtract(C, eucd), 0), 2), name="Nyi_x_C-eucd_xx_2")losses = tf.add(pos, neg, name="losses")loss = 0.5*tf.reduce_mean(losses, name="loss")return model1, model2, loss
注:博众家之所长,集群英之荟萃。
Contrastive Loss相关推荐
- Understanding the Behaviour of Contrastive Loss理解对比损失的性质以及温度系数的作用
论文标题:Understanding the Behaviour of Contrastive Loss Understanding the Behaviour of Contrastive Loss ...
- Contrastive Loss 对比损失函数
Contrastive Loss 定义 在caffe的孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的p ...
- 论文笔记:Dual Contrastive Loss and Attention for GANs
目录 一.Dual Contrastive Loss and Attention for GANs 是什么? 1.损失函数 2.网络结构 3.总结 二.这项工作主要做了什么? 1.双重对比损失 2.生 ...
- 机器学习笔记 - 关于Contrastive Loss对比损失
一.对比损失 虽然二元交叉熵(下图公式)肯定是损失函数的有效选择,但它不是唯一的选择(甚至不是最佳选择). 然而,实际上有一个更适合孪生网络的损失函数,称为对比损失. 其中Y是我们的标签.如果图像对属 ...
- 对比损失Contrastive Loss
[时间]2-019.01.21 [题目]对比损失Contrastive Loss PS:本文转载自Contrastive Loss Contrastive Loss 在传统的siamese netwo ...
- Contrastive Loss(Siamese Network)
Contrastive Loss (对比损失) 孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的pair ...
- Contrastive Loss 对比损失函数及梯度的计算
Contrastive loss 最初源于 Yann LeCun "Dimensionality Reduction by Learning an Invariant Mapping&quo ...
- 度量学习DML之Contrastive Loss及其变种
度量学习DML之Contrastive Loss及其变种_程大海的博客-CSDN博客 度量学习DML之Triplet Loss_程大海的博客-CSDN博客 度量学习DML之Lifted Structu ...
- 一文理解Ranking Loss/Contrastive Loss/Margin Loss/Triplet Loss/Hinge Loss
一文理解Ranking Loss/Contrastive Loss/Margin Loss/Triplet Loss/Hinge Loss 翻译自FesianXu, 2020/1/13, 原文链接 h ...
- contrastive loss function (papers)
1.Learning a Similarity Metric Discriminatively, with Application to Face Verification 2,Dimensional ...
最新文章
- python怎么理解函数的参数_理解Python中函数的参数
- python银行系统-Python实现银行账户资金交易管理系统
- matlab保存figure图像中所有的点的坐标
- javascript引擎执行的过程的理解--执行阶段
- 一个基于nodejs开发的微服务脚手架应用,架构和CRM WebUI很像
- 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
- SSIA的完整形式是什么?
- mysql-查询二-分组与聚合
- python中list 和array的区别
- mysql基础之数据库备份和恢复实操
- linux查看硬件信息及驱动设备
- 电脑Mac地址更改后有什么害处?怎么改回原来的?
- Facebook批量养号分享
- excel下拉列表数据筛选_从筛选的Excel列表中下拉
- 笔记本处理器排名_Intel十代处理器笔记本电脑排行榜 (附带推荐机型信息20191021)...
- Java 创建并用应用幻灯片母版
- 嵌入式系统词汇表(收藏)
- 主成分分析和主成分回归
- Linux 单独编译驱动模块(ko文件)
- 照片批量重命名为拍摄日期