ESimCSE:无监督语义新SOTA,引入动量对比学习扩展负样本,效果远超SimCSE)(一)

简介: ESimCSE:无监督语义新SOTA,引入动量对比学习扩展负样本,效果远超SimCSE)(一)

大家好,我是对白。


最近工作比较忙,前两天刚好在Arxiv上刷到一篇无监督语义的新论文:


1.png


从论文标题中可以看出,应该是对4月份丹琦女神发表的新作SimCSE的增强版(Enhance),并且也用到了对比学习来构建正负样本,那么效果是否优于SimCSE呢?


抱着这个好奇的心态,于是完整的读了一遍该论文。好家伙!在语义文本相似性(STS)任务上效果竟然还真的优于BERT base版的SimCSE有2个点(Spearman相关系数),并且提出了两大优化方法,解决了SimCSE遗留的两个问题:


1、SimCSE通过dropout构建的正例对包含相同长度的信息(原因:Transformer的Position Embedding),会使模型倾向于认为相同或相似长度的句子在语义上更相似(insight很合理);


2、更大的batch size会导致SimCSE性能下降(这点确实很困扰);


所以从以上可以看出,ESimCSE并没有使用最小的数据增强方法drouput构建正例对(毕竟有利也有弊哈),并且还扩展了负例对的构建,鼓励模型进行更精细的学习。这点SimCSE并没有考虑,而是直接将一个batch内与自己不同的样本都作为负样本了。


那么ESimCSE到底是如何构建正负样本并且效果还优于SimCSE的呢?让我们接着往下看~


2.png


Unsupervised SimCSE


我们首先来回顾一下无监督版的SimCSE。


给定一组成对的句子{ x i , x i + } \left\{ x_i,x_i^+ \right\}{x i ,x i+ },其中x i x_ix i 和x i + x_i^+x i+ 是语义相关的,将被作为一个正例对。无监督SimCSE 的核心思想是使用相同的句子来构建正例对,即x i + = x ix_i^+=x_ix i+ =x i。


在 Transformer中,在Feed Forword Network全连接层和Multi-head Attention中间放置了一个dropout mask。因此,SimCSE是通过应用不同的 dropout maskz i z_iz i和z i + z_i^+z i+将相同的输入 两次输入给Transformer,并输出两个单独的句子Embeddingh i h_ih i 和h i + h_i^+h i+(h i + h^+_ih i+ 为正样本)以构建正例对,如下所示:


3.png


对于batch size大小为 N 的mini-batch中每个句子的h i h_ih i和h i + h_i^+h i+ ,对比学习的训练目标为:


4.png


其中 τ 是温度超参数,s i m ( h i , h i + ) sim(h_i,h^+_i)sim(h i ,h i+)是相似度度量,通常是余弦相似度函数,如下所示:


5.png


SimCSE的缺点(一)


在讲解ESimCSE之前,我们一定要搞清楚SimCSE的缺点以及作者的intuition是如何产生的。


使用 dropout 作为最小数据增强方法简单有效,但是预训练语言模型如BERT是建立在Transformer上,它将通过position embedding对句子的长度信息进行编码。因此,同一个句子通过BERT产生的正例对具有相同的长度,而来自两个不同句子的负例对通常包含不同长度的信息。


因此,正例对和负例对所包含的长度信息是不同的,可以作为特征来区分它们。具体来说,由于这样的差异,会导致模型训练时出现偏差,让模型自动认为相同或相似长度的两个句子在语义上更相似。


因此作者根据句子对的长度差异将 STS 任务数据集划分为组,并分别使用 Spearman相关系数计算相应的语义相似度。随着长度差异的增加,无监督SimCSE 的性能变差。无监督SimCSE在长度相似(≤3)的句子上的性能远远超过在长度差异较大(>3)的句子上的性能,如下图所示:


8.png


为了缓解这个问题,作者提出了一种简单但有效的样本增强方法。对于每个正例对,我们期望在不改变其语义的情况下改变句子的长度。现有的改变句子长度的方法一般采用随机插入和随机删除。但是,在句子中插入随机选择的词可能会引入额外的噪音,这可能会扭曲句子的含义**;从句子中删除关键字也会大大改变其语义**。因此,我们提出了一种更安全的方法,称为“Word Repetition”,它随机复制句子中的一些单词,如下图所示:


9.png


原句翻译为“我喜欢这个苹果,因为它看起来很新鲜,我认为它应该很好吃”。


随机插入可能会产生“我不喜欢这个苹果,因为它看起来很不新鲜,我认为它应该是狗的美味”;随机删除可能会产生“我这个苹果,因为它看起来如此,我认为它应该如此”。两者都偏离了原句的意思。


相反,“Word Repetition”的方法可能会得到“我喜欢这个苹果,因为它看起来很新鲜,我认为它应该很好吃。”或“我喜欢这个苹果,因为它看起来很新鲜”我认为它应该很好吃。”两者都很好地保持了原句的意思。


SimCSE的缺点(二)


由于对比学习是在正例对和负例对之间进行的,理论上更多的负例对可以导致更好的比较。因此一个潜在的优化方向是利用更多的负例对,鼓励模型进行更精细的学习。然而在SimCSE中,更大的batch size并不总是更好的选择。例如,如下图所示, 对于无监督的SimCSE-BERT_base_模型,最佳batch size大小为 64,batch size大小的其他设置会降低性能。


10.png


在计算机视觉中,为了缓解扩展batch size时GPU内存的限制,一个可行的方法是引入动量对比,这也是通过维护一个队列,重用来自前一个mini-batch的编码Embedding来扩展负例对:它总是将当前mini-batch的句子Embedding入队,同时将“最旧”的句子Embedding出队。由于入队的句子Embedding来自前面的mini-batch,我们通过取其参数的移动平均值来保持动量更新模型,并使用动量模型生成入队的句子Embedding。请注意,作者在使用动量编码器时关闭了dropout,这可以缩小训练和预测之间的差距。


上述两种优化分别是作者提出用于构建正负对的新方法。将两者与 unsup-SimCSE结合起来,就得到了ESimCSE。


相关文章
|
数据挖掘
【SPSS】回归分析详细操作教程(附案例实战)(下)
【SPSS】回归分析详细操作教程(附案例实战)
1977 0
|
机器学习/深度学习 算法 数据挖掘
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
1375 0
|
缓存
flowable 6.6.0 解决流程图汉字乱码
flowable 6.6.0 解决流程图汉字乱码
1022 0
|
安全 搜索推荐 程序员
深入探索Android系统的碎片化问题及其解决方案
在移动操作系统的世界中,Android以其开放性和灵活性赢得了广泛的市场份额。然而,这种开放性也带来了一个众所周知的问题——系统碎片化。本文旨在探讨Android系统碎片化的现状、成因以及可能的解决方案,为开发者和用户提供一种全新的视角来理解这一现象。通过分析不同版本的Android系统分布、硬件多样性以及更新机制的影响,我们提出了一系列针对性的策略,旨在减少碎片化带来的影响,提升用户体验。
|
9月前
|
存储 虚拟化
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
删除和还原VMware虚拟机的操作步骤如下: **删除虚拟机:** 1. 选择要删除的虚拟机,右键点击并选择“移除”。 2. 这仅从列表中移除虚拟机,并未彻底删除。需前往VMware默认存储路径(如 `D:\VMware\data`),找到对应虚拟机文件夹并删除。 **还原虚拟机:** 1. 若误删虚拟机列表项目,可通过右键点击空白处,选择“打开”,找到保存虚拟机的路径文件夹。 2. 选择被删除虚拟机对应的 `.vmx` 配置文件并打开,即可在列表中恢复该虚拟机。 总结:VMware虚拟机可用于模拟多种操作系统和开发环境,掌握删除与还原技巧可提高使用效率。
783 8
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
|
8月前
|
人工智能 算法 计算机视觉
当科技吞没生活:我们是否正在成为工具的附庸?
清晨六点,智能手环唤醒你,咖啡机自动研磨咖啡豆,智能音箱播报新闻,人脸识别完成健康检测。科技优化生活,但也引发担忧:东京大学研究显示,过度依赖智能设备使决策能力每年衰退3%;韩炳哲警告数字化全景监狱使人丧失自主性。真正的科技人文主义应在效率与人性间找到平衡,保留生活中的不完美与珍贵体验。
158 5
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
通过利用Transformer中间层的隐藏状态,研究提出了层增强分类(LEC)技术,该技术能够以极少的训练样本和参数实现高效的内容安全和提示注入攻击分类,显著提升了模型的性能,并验证了其跨架构和领域的泛化能力。
391 11
LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
|
传感器 机器学习/深度学习 自然语言处理
智能代理(Agent)在工具调用与协作中的应用实践
随着人工智能技术的飞速发展,智能代理(Agent)技术已成为解决复杂任务的关键手段。本文深入探讨了如何设计灵活的工具调用机制和构建高效的单/多Agent系统以提升任务执行效率。文章不仅涵盖了相关的理论知识,还提供了丰富的实践案例和代码实现,旨在帮助读者深入理解和应用智能代理技术。
1438 2
|
人工智能 算法 数据库
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-08
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-08