batch size 小的时候使用 `SigmoidContrastLoss` 会好一点,大的时候 `SoftmaxContrastLoss` 好一点?
NLPJCL opened this issue · comments
🐛 bug 说明
batch size 小的时候使用 SigmoidContrastLoss
会好一点,大的时候 SoftmaxContrastLoss
好一点。请问这个是做实验了还是有理论分析呢?理论上,第一个loss是一个query,对于一个正例,做batch_size-1个二分类任务(batch_size-1)个负例。
而SoftmaxContrastLoss,一个query,对于一个正例,做一个多分类任务(也是见到batch_size-1个负例)。从负例的角度没差别呀?
Python Version
None
只是实验上的”粗糙“结论,你的理解是对的,这两个 Loss 之间没有太大差异,就是多个二分类和一个多分类之间的区别。
感谢🙏