前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【好文分享】SimCSE---简单有效的对比学习

【好文分享】SimCSE---简单有效的对比学习

作者头像
演化计算与人工智能
发布2021-10-27 10:48:44
1.2K0
发布2021-10-27 10:48:44
举报

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—wangj

地址:https://zhuanlan.zhihu.com/p/375659368

这篇论文出来已经有一段时间了,刚出来还是有不小的影响的,但是本人实在有点懒,到现在才仔细看了一遍,进入正题,这篇论文提出了两种SimCSE,有监督和无监督,而我觉得最巧妙的就是无监督使用的技巧,很有意思,下面仔细介绍一下这篇论文。

01

模型结构

02

无监督模型

先看一下左边的无监督模型,一个句子通过encoder得到sentence embedding,而其他句子得到的sentence embedding是作为负例,而正例就很巧妙了,是同一个句子输入两遍,通过不同的drop mask机制得到的sentence embedding,dropout层在训练时是会随机drop一些输入的,因为具有一定的随机性,所以同一个句子输入两遍得到的sentence embedding是有一点区别的,但是总体上还是表达了同一个意思。(只想说666)

训练目标为:

sim函数是余弦相似度

论文实验了一系列的dropout的p值,发现对于STS-B任务,p值为0.1时取得的效果最好,另外还有两个比较特殊的p值---0.0和Fixed 0.1,p值为0.0意味着dropout层没有使用,dropout层不会drop任何数值,输入值和输出值是一样的,而Fixed 0.1指的是dropout层的p值为0.1,但是drop的位置是不变的,也就是说,相同的输入肯定会有相同的输出,这就意味着正例就学不到东西了,只有负例,这也就是为什么会造成效果如此之差。

03

有监督模型

在自然语言处理中,有自然语言推断或者文本蕴涵任务,包含了对应的数据集,有三个标签,entailment(蕴涵),neutral(中立),contradiction(相反),如下图所示,论文实验了不同数据集作为正例的结果。

第一行是无监督的SimCSE,sample指的是对数据集采样训练,采样大小为134k,而full使用整个数据集作为训练集,图中的分数为斯皮尔曼相关系数,模型使用的是 。而最后一栏中的使用entailment作为正例,contradiction作为hard neg,这也是有监督模型的最终模型。

训练目标为:

正如上图所示,通过添加hard neg使得模型效果从84.9提升到了86.2,另外在模型结构图中,右边是有两个Encoder的,论文实验了这两个Encoder不一样的情况,发现模型效果从86.2下降到了84.2。 最后再放上模型的实验结果图:

04

总结

论文中其实还有很多小细节,对文章感兴趣的可以细细看一遍,这篇论文提出了很多比较新奇的点,我个人认为无监督学习模型使用的dropout是一个非常有意思的点,从模型结果我们也能看出,相比于其他模型,SimCSE的效果要好得多。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档