前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >表征学习 Contrastive Loss

表征学习 Contrastive Loss

作者头像
为为为什么
发布2022-08-09 17:53:17
4890
发布2022-08-09 17:53:17
举报
文章被收录于专栏:又见苍岚

对比学习中一般使用 Contrastive Loss 作为损失函数,这种损失函数可以有效的处理孪生神经网络中的 paired data 的关系。

Contrastive Loss

  • 这种损失函数最初来源于 Yann LeCun 的 《Dimensionality Reduction by Learning an Invariant Mapping》,主要是用在降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。
siamese network-孪生神经网络
siamese network-孪生神经网络
  • 这种损失函数可以有效的处理孪生神经网络中的paired data的关系(形式上并不一定是两个Net,也可以是一个Net两个Out,可以认为上面示意图的 Network1 和 2 是同一个,或者不是同一个)。
  • 表达式如下:
L=\frac{1}{2 N} \sum_{n=1}^{N} y d^{2}+(1-y) \max (\operatorname{margin}-d, 0)^{2}
  • 其中 d=\left|a_{n}-b_{n}\right|_{2} 代表两个样本特征的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。
  • 观察上述的 contrastive loss 的表达式可以发现,这种损失函数可以很好的表达成对样本的匹配程度,也能够很好用于训练提取特征的模型。当 y=1(即样本相似)时,损失函数只剩下 ∑yd^2,即原本相似的样本,如果在特征空间的欧式距离较大,则说明当前的模型不好,因此加大损失。而当 y=0 时(即样本不相似)时,损失函数为 (1-y) \max (\operatorname{margin}-d, 0)^{2},即当样本不相似时,其特征空间的欧式距离反而小的话,损失值会变大,这也正好符号我们的要求。

弹簧模型类比

  • 弹簧模型公式:
F=-KX

F表示两点间弹簧的作用力,K是弹簧的劲度系数,X为弹簧拉伸或收缩的长度,弹簧静止状态时X=0.

  • 论文中将该contrastive loss损失函数类比于弹簧模型:将成对的样本特征,使用该损失函数来表达成对样本特征的匹配程度。成对的样本特征之间(类比于图中的一个个点),我们假设这些点之间都有一个弹簧,弹簧静止时长度为0,点对之间无作用力。
    1. 对于样本相似的特征,相当于其间的弹簧产生了正位移X(X < m),即弹簧被拉伸了X的长度,此时两个相似特征(点)之间存在吸引力。
    2. 对于样本不相似的特征,相当于其间的弹簧产生的了负位移,即弹簧被压缩了,此时两个不相似特征之间存在排斥力。注意弹簧的特性:当两点之间弹簧位移超X>m时,此时,弹簧发生形变,此时两点之间视为没有吸引力了。
  • 黑色样本表示和中心相似的样本,空心样本表示和中心不相似的样本。这些弹簧显示为红色的锯齿形线。作用在这些点上的力用蓝色箭头表示。箭头的长度近似地给出了力的强度。
    1. 显示使用仅吸引弹簧与类似点连接的点。
    2. 损失函数及其梯度与相似的对相关。
    3. 仅与半径m圆内的不同点相连。
    4. 显示了与不同的对相关的损失函数及其梯度。
    5. 显示一个点被其他点在不同方向上拉动,创造平衡的情况。

原始论文

file:///C:/Users/issuser/Downloads/202205281447362.pdf

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Contrastive Loss
  • 弹簧模型类比
  • 原始论文
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档