FlatNCE:小批次对比学习效果差的原因竟是浮点误差?

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

自 SimCLR [1] 在视觉无监督学习大放异彩以来,对比学习逐渐在 CV 乃至 NLP 中流行了起来,相关研究和工作越来越多。标准的对比学习的一个广为人知的缺点是需要比较大的 batch_size(SimCLR 在 batch_size=4096 时效果最佳),小 batch_size 的时候效果会明显降低,为此,后续工作的改进方向之一就是降低对大 batch_size 的依赖。那么,一个很自然的问题是:标准的对比学习在小 batch_size 时效果差的原因究竟是什么呢? 

近日,一篇名为 Simpler, Faster, Stronger: Breaking The log-K Curse On Contrastive Learners With FlatNCE 对此问题作出了回答:因为浮点误差。看起来真的很让人难以置信,但论文的分析确实颇有道理,并且所提出的改进 FlatNCE 确实也工作得更好,让人不得不信服。

论文标题:

Simpler, Faster, Stronger: Breaking The log-K Curse On Contrastive Learners With FlatNCE

论文作者:

Junya Chen, Zhe Gan, Xuan Li, Qing Guo, Liqun Chen, Shuyang Gao, Tagyoung Chung, Yi Xu, Belinda Zeng, Wenlian Lu, Fan Li, Lawrence Carin, Chenyang Tao

论文链接:

https://arxiv.org/abs/2107.01152

细微之处

接下来,笔者将按照自己的理解和记号来介绍原论文的主要内容。对比学习(Contrastive Learning)就不帮大家详细复习了,大体上来说,对于某个样本 x,我们需要构建 K 个配对样本 ,其中 是正样本而其余都是负样本,然后分别给每个样本对 打分,分别记为 ,对比学习希望拉大正负样本对的得分差,通常直接用交叉熵作为损失:

简单起见,后面都记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值