simcse-pytorch icon indicating copy to clipboard operation
simcse-pytorch copied to clipboard

你好,对 loss_func 有点疑问

Open wulaoshi opened this issue 3 years ago • 5 comments

我记得论文里的 loss 为 InFoNCE loss,而在你的代码实现里使用的是 BCEWithLogitsLoss,请问 BCEWithLogitsLoss 是 InFoNCE 吗?

wulaoshi avatar Jun 01 '21 13:06 wulaoshi

你好,NCE(噪音对比估计)就是负样本采样,就是在做二分类问题,不知道这样解释有没有说清楚

wakafengfan avatar Jun 02 '21 06:06 wakafengfan

你好,NCE(噪音对比估计)就是负样本采样,就是在做二分类问题,不知道这样解释有没有说清楚

谢谢,我搞清楚了。

wulaoshi avatar Jun 09 '21 09:06 wulaoshi

为啥用用的是BCE而不是CE,BCE相当于在做多标签分类,会造成类别极度不均衡吗?正例B,负例B*2 - B

看InfoNCE的公式 是softmax,BCE是sigmoid

suluo avatar Oct 31 '21 11:10 suluo

为啥用用的是BCE而不是CE,BCE相当于在做多标签分类,会造成类别极度不均衡吗?正例B,负例B*2 - B

看InfoNCE的公式 是softmax,BCE是sigmoid

应该是CE,这里应该是写错了,我记得二分类一直用的都是CE

wulaoshi avatar Nov 17 '21 03:11 wulaoshi

对的,感觉有问题,这里如果采用bce,标签为0的地方也会产生loss值。应该用ce,label其实是一个onehot的,只对正-正对应的地方产生loss,infonce在对比学习上用的很多,都是ce啊

liangzz1991 avatar Jan 15 '22 05:01 liangzz1991