SimCSE:句子嵌入的简单对比学习
SimCSE: Simple Contrastive Learning of Sentence Embeddings
http://arxiv.org/abs/2104.08821
EMNLP 2021
文章介绍了SimCSE,这是一种简单的对比学习框架,采用了自监督来提升模型的句子表示能力
而自监督最关键的问题是构建正负例
对于无监督来说,作者使用了Droupout来构建正例,将一个样本经过encoder两次,就得到了一个正例对,负例则是同一个batch里的其它句子。
对于有监督则采用了SNLI数据集天然的结构,对立类别的是负例,另外两个类别的就是正例
对比学习旨在通过将语义上接近的邻居拉在一起并推开非邻居来学习有效的表示
图像上的对比学习方案:对同一个图像进行两次随机转换(例如裁剪、翻转、扭曲和旋转等)。文本上采用类似的方案:单词删除、重排序和替换等增强技术,但是由于文本的离散型,文本数据增强本质上是很困难的,简单地在中间表示上使用标准dropout优于这些离散运算符。
无监督SImCSE:
使用droupout来对文本增加噪音,从而构造一个正样本对,而负样本对则是在batch中选取的其它句子
有监督SimCSE:
这一部分的句子对直接采用了NLI数据集的数据,因为其中有天然的正负例句子对。
详细请参考这篇文章:
无监督对比学习SIMCSE理解和中文实验操作-CSDN博客