InfoNCE loss

InfoNCE loss是一种用于自监督学习的损失函数,通常用于训练对比学习模型,如自编码器或神经网络。全称是"InfoNCE: Contrastive Estimation of Neural Entropy",基于对比学习的思想,旨在最大化正样本的相似性,同时最小化负样本的相似性。

InfoNCE loss的一般形式如下:
I n f o N C E L o s s = − l o g ( e x p ( s i m i l a r i t y ( x i , y i ) ) / ( e x p ( s i m i l a r i t y ( x i , y i ) ) + Σ j ≠ i e x p ( s i m i l a r i t y ( x i , y j ) ) ) InfoNCE Loss = - log( exp(similarity(x_i, y_i)) / (exp(similarity(x_i, y_i)) + Σ j≠i exp(similarity(x_i, y_j)) ) InfoNCELoss=log(exp(similarity(xi,yi))/(exp(similarity(xi,yi))+Σj=iexp(similarity(xi,yj)))
其中,
similarity(x_i, y_i) 表示样本 x_i 和对应的正样本 y_i 之间的相似性得分。
Σ j≠i 表示对所有其他负样本的求和。
exp() 表示指数函数。
InfoNCE loss的目标是最大化正样本之间的相似性得分,同时最小化负样本之间的相似性得分,从而促使模型学习到有意义的特征表示。通过优化InfoNCE loss,模型可以学习到对数据进行有效编码的特征表示,适用于自监督学习任务中的特征学习和表示学习。InfoNCE loss在对比学习和自监督学习中得到广泛应用,能够有效地提高模型的性能和泛化能力。

在其他应用中,其形式也可以是:请添加图片描述

InfoNce Loss
参考:https://cloud.tencent.com/developer/article/2117162
Representation learning with contrastive predictive coding(2018)提出infoNce loss,是对比学习中最常用的loss之一,它和softmax的形式很相似,主要目标是给定一个query,以及k个样本,k个样本中有一个是和query匹配的正样本,其他都是负样本。当query和正样本相似,并且和其他样本都不相似时,loss更小。InfoNCE loss可以表示为如下形式,其中r代表temperature,采用内积的形式度量两个样本生成向量的距离。相比softmax,InfoNCE loss使用了temperature参数,以此将样本的差距拉大,提升模型的收敛速度。温度系数越大,模型对负样本的区分度就越低,这样可以纳入更多的负样本。相反,如果温度系数过小,模型就会更加关注那些特别困难的负样本,从而忽略了其他可能的正样本。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值