来自陈丹琦(https://github.com/danqi)组的文章,利用Dropout作为数据增强,进行对比学习得到句子向量表示,在无监督和有监督的语义表示上刷新SOTA。
Overview
Background: Contrastive Learning
对比学习希望通过拉近语义相关的样本,拉远不相关的样本学习有效的向量表示。
对于样本对集合,假设为样本的向量表示,则训练的目标为:
其中,是一个温度超参数,为余弦相似度,本文选择的backbone是BERT或RoBERTa。
其实上述的训练目标就是交叉熵:
Positive instances
对比学习的关键问题是如何构造样本对,在CV中可以用裁剪、旋转等方法对图像进行数据增强,NLP中也有删词、替换、重排等方法。但对于NLP的离散结构来说,这些增强手段作用有限。本文采用了dropout作为数据增强手段,取得了更好的结果。
本文采用了两个度量align和uniform用于衡量表示的质量。
align描述了样本对之间的距离
uniform描述了样本是否分布均匀
从实验结果上看,采用dropout的SimCSE效果更好。
Experiment
在语义相似度任务上大幅度刷新SOTA,无监督就可以超越之前的有监督方法。
在迁移任务上表现一般,说明sentence embedding并不一定有益于下游训练。