深度学习-孪生网络

Siamese network 孪生神经网络--一个简单神奇的结构(入门)

https://zhuanlan.zhihu.com/p/35040994

对上面的博客的添加笔记版

https://www.cnblogs.com/Lee-yl/p/10113386.html

对上面网友的笔记的部分解读:

5、Siamese network 的损失函数:

Softmax当然是一种好的选择,但不一定是最优选择,即使是在分类问题中。【分类问题用交叉熵】

传统的siamese network使用Contrastive Loss【对比损失函数】。

对比损失函数如下:

  • 其中Dw被定义为姐妹孪生网络的输出之间的欧氏距离。Dw欧式距离公式如下:

  • 其中Gw是其中一个姐妹网络的输出。X1和X2是输入数据对。
  • Y值为1或0。如果模型预测输入是相似的,那么Y的值为0,否则Y为1。
  • max()是表示0和m-Dw之间较大值的函数。
  • m是大于0的边际价值(margin value)。有一个边际价值表示超出该边际价值的不同对不会造成损失。这是有道理的,因为你只希望基于实际不相似对来优化网络,但网络认为是相当相似的。

我们可以这样理解,Dw是两个网络输出的差值,当输入的数据不相似,Y=0,那么损失函数只看左边,右边为零。网络之间的差值即是loss,然后调整网络权重。当输入数据相似,Y=1,损失函数看右边,左边为零。然后看到这个max{0,m-Dw}^2,损失值只会是正数,如果相似的数据的差值很大,就是你设定m=5,然后Dw为100,相似的图片之间的差别太大,但不应让网络因为相似数据的巨大差别而调整网络权重,学习差异。这个m边际价值在这里的作用就是忽略相似图片的巨大差异。

 

这里多说一句,siamese可以用来降维,因为最后他的输出是二维的,这样直接把维度降下来了。下图中左右两个网络输出都是一个Gw,两个值。

来自:https://blog.csdn.net/qq1483661204/article/details/79039702

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值