1 Abstract
- simcse:
- 两个文本不同dropout放到transformer里面,无监督来学习
- 可能的缺点:embedding的时候,两个句子的长度都是一致的,这里可能会有biased,因为线上可不是这样的。
- 实验统计观察,发现确实有这样的biased
- 如何优化
- repetition operation来减轻它的影响
- momentum contrast?提高负样本对的数量?
- 效果:比无监督的simcse好了2.02%
- ps:相关性统计指标
- pearson:协方差除以各自标准差的乘积
- spearman:排序秩的协方差除以排序秩的标准差的乘积,和量纲没有关系了
- kendall
- https://www.cnblogs.com/yjd_hycf_space/p/11537153.html
2 introduction
- 正样本
- word级别的repeat,使语义不改变的情况下,改变句子的长度
- 负样本
2. 动量对比学习:先前batch内的一些样本,拿过来做负样本
3. batch内的负样本,长度本来就可能不一致,所以不会带来这个bias - 比较了两个sentence长度不一样带来的spearman相关系数的差异,但是,是不是本来长度不一样,spearman相关性本来就差很多啊?
- 如果优化负样本的选择?
- 理论上,对比学习是为了对比负样本和正样本,更多负样本理论上可以带来提升。
- 直接增大batch_size来提高负样本的个数,gao 2021的论文证明不是一个好的方法,unsupSimCSE最佳的batch size是64,其他batch反而更差
- Momentum contrast
- 利用一个优先队列,把先前mini-batches里面的负样本放到queue里面进行利用,里面保存是之前的embedding
- moing-average of its parameter -> generate enqueued sentence embedding,感觉像是一个移动窗口的平均值作为参数,去产生embedding
- 在做momentum encoder的时候,关掉了dropout
- 贡献总结
- 观察了无监督-SimCSE对比学习的长度偏见问题,并提出了简单的word repetition方法来减轻这个问题
- 利用momentum contrast method去增加负样本,鼓励模型往更好的方向学习
- 做实验证明了上面两点能持续的提高效果
3 Enhanced unsup-SimCSE
- word repeat增强
- momentum contrast
原始无监督-SimCSE的训练目标:
当前ESimCSE的训练目标:
- 利用了前面batch的数据增加负样本,相当于分母变大了,增加了更多负样本过来学习
4 Experiment
-
总体提升
-
每一类增强带来的提升
5 其他参考资料
三大相关系数: pearson, spearman, kendall(python示例实现):https://www.cnblogs.com/yjd_hycf_space/p/11537153.html