**实验效果:**对比学习过程中的ENCODER和MLM部分的Pretrained model是RoBerta和DistillRoBerta,pooling用的mean pooling。
**扩展知识:**Bert vs RoBerta vs AlBert
评测数据集是SentEval,SentEval是一个用于评估句子表征的工具包,包含 17 个下游任务,其输入是句子表示,输出是预测结果。
可以看到本文方案往往不是最优的那个,但是作者对比了 没用对比学习方法和用了对比学习方法(最后的Transformer-* VS DeCLUTER-*)的结果,说明了自己方案有效。
3.Supporting Clustering with Contrastive Learning
**链接:**https://arxiv.org/abs/2103.12953(NAACL 2021)
**背景:**在学习过程的开始阶段,不同的类别常常在表征空间中相互重叠,对如何实现不同类别之间的良好分离,带来了巨大的挑战。
**方案:**利用对比学习,去做更好的分离。通过联合优化top-down聚类损失和bottom-up 实体级别的对比loss,来达到同时优化intra-cluster和inter-cluster的目的。
分Instance-CL部分和Clustering部分两个部分。
Instance-CL:
随机选M个样本组成一个batch,数据增强方法生成2M个样本,依然是从一个样本中生成的2个为一对正样本,和其他2M-2组成负样本
数据增强方法:
每个样本用InfoCNE去算loss, Instance-CL loss 为2M样本的平均值。
数据增强方法:
WordNet Augmenter:用wordNet中的同义词进行替换;
Contextual Augmenter:用pretrained model去找最合适的词去进行插入或替换;
Paraphrase via back translation:翻译成一种语言再翻译回来;
实验效果:
非联合方式自监督
1.BERT-CT (ICLR2021)
**背景:**从各种预训练模型的某层中取出的embedding,并不能很好表征句子,而且越接近目标的层,效果越不好。作者认为训练目标极为重要。
**方案:**用两个超参不一样的模型来取sentence embedding,尽可能让正例对的点积更大,负例对的点积更小。
数据增强方法:
正例:同句子的不同embedding;
负例:随机选7个不同的句子;
实验效果:
2.SimCSE
**链接:**https://arxiv.org/abs/2104.08821
**背景:**直接用BERT句向量做无监督语义相似度计算效果会很差,任意两个句子的BERT句向量的相似度都相当高,其中一个原因是向量分布的非线性和奇异性,正好,对比学习的目标之一就是学习到分布均匀的向量表示,因此我们可以借助对比学习间接达到规整表示空间的效果,这又回到了正样本构建的问题上来,而本文的创新点之一正是无监督条件下的正样本构建。
**方案&数据增强方法:**本文作者提出可以通过随机采样dropout mask来生成xi+,回想一下,在标准的Transformer中,dropout mask被放置在全连接层和注意力求和操作上,其中z是随机生成的dropout mask,由于dropout mask是随机生成的,所以在训练阶段,将同一个样本分两次输入到同一个编码器中,我们会得到两个不同的表示向量z,z’,将z’作为正样本,则模型的训练目标为:
这种通过改变dropout mask生成正样本的方法可以看作是数据增强的最小形式,因为原样本和生成的正样本的语义是完全一致的(注意语义一致和语义相关的区别),只是生成的embedding不同而已。
实验效果: