【知识点】温度超参数

对比学习损失函数中超参数temperature的作用

一般是logits/temperatue。

总结一下温度超参数

当分类结果正确时,当temperature越小时,softmax输出各类别的分数差别越大,loss越小。
当分类结果错误时,当temperature越小时,softmax输出各类别的分数差别越大,loss越大。
温度超参能让概率分布差别更明显

在对比学习loss中加入temperature参数解决的核心问题:困难负样本问题。

困难负样本,就是一张图像经过特征提取网络后,发现自己相较于自身数据增强后的图片特征,更相似于其他图片提取出的特征。
但是,相似度并没有差很多。这样的样本我们就叫他困难负样本。

如果没有引入temperature参数,当有困难负样本过来时,loss相对较小,对参数的惩罚也就较小。由于我们希望所有特征向量尽量远离。
因此,必须对所有错误分类的样本都加大惩罚,所以,要加入一个小于1的temperature参数,来放大对于困难负样本的惩罚。

考虑一下出现困难负样本的原因,有可能是因为两张图片确实非常相似,通常是两张图片有着相同的前景,让算法产生了混淆。也就是说,其实网络已经学到了一定的语义特征,这对下游任务是有帮助的,强行将两张非常相似图片提取出的特征相互远离,有可能打破这种语义信息,导致在执行下游任务时,效果不升反降。

so,temperature参数太高不能很好的训练特征提取网络,太低又会打破模型学到的语义信息,损害下游任务的准确度。


之前一直不理解应用场景,放图 神器CLIP:连接文本和图像,打造可迁移的视觉模型 - 知乎

以第一列为例,狗的图片进行预测,预测的prob中dog和person竟然差不多。但是理想情况它们俩的概率应该拉的更远才对。

这时候prob/(小于1的数)就可以实现了。

a = torch.Tensor([[0.26,0.21,0.18,0.2,0.16]])
print(a/0.3)  # tensor([[0.8667, 0.7000, 0.6000, 0.6667, 0.5333]])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值