0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

结合句子间差异的无监督句子嵌入对比学习方法-DiffCSE

深度学习自然语言处理 来源:NLP工作站 作者:刘聪NLP 2022-05-05 11:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

写在前面

今天分享给大家一篇NAACL2022论文,结合句子间差异的无监督句子嵌入对比学习方法-DiffCSE,全名《DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings》。该篇论文主要是在SimCSE上进行优化,通过ELECTRA模型的生成伪造样本和RTD(Replaced Token Detection)任务,来学习原始句子与伪造句子之间的差异,以提高句向量表征模型的效果。

paper:https://arxiv.org/pdf/2204.10298.pdf
github:https://github.com/voidism/DiffCSE

介绍

句向量表征技术目前已经通过对比学习获取了很好的效果。而对比学习的宗旨就是拉近相似数据,推开不相似数据,有效地学习数据表征。SimCSE方法采用dropout技术,对原始文本进行数据增强,构造出正样本,进行后续对比学习训练,取得了较好的效果;并且在其实验中表明”dropout masks机制来构建正样本,比基于同义词或掩码语言模型的删除或替换等更复杂的增强效果要好得多。“。这一现象也说明,「直接增强(删除或替换)往往改变句子本身语义」

paper:https://aclanthology.org/2021.emnlp-main.552.pdf
github:https://github.com/princeton-nlp/SimCSE
论文解读:https://zhuanlan.zhihu.com/p/452761704

Dangovski等人发现,在图像上,采用不变对比学习和可变对比学习相互结合的方法可以提高图像表征的效果。而采用不敏感的图像转换(如,灰度变换)进行数据增强再对比损失来改善视觉表征学习,称为「不变对比学习」。而「可变对比学习」,则是采用敏感的图像转换(如,旋转变换)进行数据增强的对比学习。如下图所示,做左侧为不变对比学习,右侧为可变对比学习。对于NLP来说,「dropout方法」进行数据增强为不敏感变化,采用「词语删除或替换等」方法进行数据增强为敏感变化。

0a73af38-cbbd-11ec-bce3-dac502259ad0.png

paper:https://arxiv.org/pdf/2111.00899.pdf

作者借鉴Dangovski等人在图像上的做法,提出来「DiffCSE方法」,通过使用基于dropout masks机制的增强作为不敏感转换学习对比学习损失和基于MLM语言模型进行词语替换的方法作为敏感转换学习「原始句子与编辑句子」之间的差异,共同优化句向量表征。

模型

模型如下图所示,

0a944d06-cbbd-11ec-bce3-dac502259ad0.png

左侧为一个标准的SimCSE模型,右侧为一个带条件的句子差异预测模型。给定一个句子,SimCSE模型通过dropout机制构造一个正例,使用BERT编码器f,获取句向量,SimCSE模型的训练目标为:

其中,为训练输入batch大小,为余弦相似度,为温度参数.

右侧实际上是ELECTRA模型,包含生成器和判别器。给定一个长度为T的句子,,生成一个随机掩码序列,其中。使用MLM预训练语言模型作为生成器G,通过掩码序列来生成句子中被掩掉的token,获取生成序列。然后使用判别器D进行替换token检测,也就是预测哪些token是被替换的。其训练目标为:

针对一个batch的训练目标为。

最终将两个loss通过动态权重将其结合,

为了使判别器D的损失可以传播的编码器f中,将句向量拼接到判别器D的输入中,辅助进行RTD任务,这样做可以鼓励编码器f使信息量足够大,从而使判别器D能够区分和之间的微小差别。

当训练DiffCSE模型时,固定生成器G参数,只有句子编码器f和鉴别器D得到优化。训练结束后,丢弃鉴别器D,只使用句子编码器f提取句子嵌入对下游任务进行评价。

结果&分析

在句子相似度任务以及分类任务上的效果,如下表1和表2所示,相比与SimCSE模型均有提高,

0aa24fdc-cbbd-11ec-bce3-dac502259ad0.png

0ac4e8e4-cbbd-11ec-bce3-dac502259ad0.png

为了验证DiffCSE模型具体是哪个部分有效,进行以下消融实验。

Removing Contrastive Loss

如表3所示,当去除对比学习损失,仅采用RTD损失时,在句子相似度任务上,下降30%,在分类任务上下降2%。

0af3bdd6-cbbd-11ec-bce3-dac502259ad0.png

Next Sentence vs. Same Sentence

如表3所示,当将同句话预测任务,变成预测下句话任务时,在句子相似度任务和分类任务上,具有不同程度的下降。

Other Conditional Pretraining Tasks

DiffCSE模型采用MLM模型和LM模型分别作为生成器时,效果如表3所示,在句子相似度任务和分类任务上,具有不同程度的下降。句子相似度任务上下降的较为明显。

Augmentation Methods: Insert/Delete/Replace

将MLM模型生成伪造句换成随机插入、随机删除或随机替换的效果,如表示所4,MLM模型的效果综合来说较为优秀。

0b2021e6-cbbd-11ec-bce3-dac502259ad0.png

Pooler Choice

在SimCSE模型中,采用pooler层(一个带有tanh激活函数的全连接层)作为句子向量输出。该论文实验发现,采用带有BN的两层pooler效果更为突出,如表5所示;并发现,BN在SimCSE模型上依然有效。

0b423128-cbbd-11ec-bce3-dac502259ad0.png

代码如下:

classProjectionMLP(nn.Module):
def__init__(self,config):
super().__init__()
in_dim=config.hidden_size
hidden_dim=config.hidden_size*2
out_dim=config.hidden_size
affine=False
list_layers=[nn.Linear(in_dim,hidden_dim,bias=False),
nn.BatchNorm1d(hidden_dim),
nn.ReLU(inplace=True)]
list_layers+=[nn.Linear(hidden_dim,out_dim,bias=False),
nn.BatchNorm1d(out_dim,affine=affine)]
self.net=nn.Sequential(*list_layers)

defforward(self,x):
returnself.net(x)

Size of the Generator

在DiffCSE模型中,尝试了不同大小的生成器G,如下表所示,DistilBERTbase模型效果最优。并且发现与原始ELECTRA模型的结论不太一致。原始ELECTRA认为生成器的大小在判别器的1/4到1/2之间效果是最好的,过强的生成器会增大判别器的难度。而DiffCSE模型由于融入了句向量,导致判别器更容易判别出token是否被替换,所以生成器的生成能力需要适当提高。

0b4ebb78-cbbd-11ec-bce3-dac502259ad0.png

Masking Ratio

对于掩码概率,经实验发现,在掩码概率为30%时,模型效果最优。

0b5df624-cbbd-11ec-bce3-dac502259ad0.png

Coefficient λ

针对两个损失之间的权重值,经实验发现,对比学习损失为RTD损失200倍时,模型效果最优。

0b710796-cbbd-11ec-bce3-dac502259ad0.png

总结

个人觉得这篇论文的主要思路还是通过加入其他任务,来增强句向量表征任务,整体来说挺好的。但是该方法如何使用到监督学习数据上,值得思考,欢迎留言讨论。

审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7363

    浏览量

    95158
  • 生成器
    +关注

    关注

    7

    文章

    322

    浏览量

    22853
  • 向量
    +关注

    关注

    0

    文章

    55

    浏览量

    12078

原文标题:DiffCSE:结合句子间差异的无监督句子嵌入对比学习方法

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    源TSV转接板的制作方法

    源TSV转接板作为先进封装的“交通枢纽”,是实现高密度异构集成的核心。本文深度解析TSV高深宽比刻蚀与填充工艺,详尽对比聚合物电镀与大马士革法RDL的制备差异,并拆解背面减薄、露铜及CoW组装全流程,带你攻克先进互连技术的制造
    的头像 发表于 04-09 10:20 376次阅读
    <b class='flag-5'>无</b>源TSV转接板的制作<b class='flag-5'>方法</b>

    铅焊接下,低TG与高TG板材表现差异全解析

    存在显著差异。以下是关键维度的对比: 不同TG值的板材铅焊接表现差异 1. 耐热性与翘曲变形 常规 Tg (130–150℃) 铅焊接峰
    的头像 发表于 01-20 09:08 850次阅读

    源探头与有源探头的安全性差异解析

    在电子测量中,探头作为示波器与被测电路的连接桥梁,其安全性直接关乎人身与设备的双重防护。源探头与有源探头因结构原理的根本不同,在绝缘能力、电路保护、操作风险等维度呈现显著差异,需基于测量场景精准
    的头像 发表于 11-10 11:23 589次阅读
    <b class='flag-5'>无</b>源探头与有源探头的安全性<b class='flag-5'>差异</b>解析

    【EMC标准分析】消费电子与汽车电子ESD测试标准差异对比

    【EMC标准分析】消费电子与汽车电子ESD测试标准差异对比
    的头像 发表于 09-09 17:32 1446次阅读
    【EMC标准分析】消费电子与汽车电子ESD测试标准<b class='flag-5'>差异</b><b class='flag-5'>对比</b>

    【EMC标准分析】GB_T 18655最新2025版与2018版的标准差异对比

    【EMC标准分析】GB_T 18655最新2025版与2018版的标准差异对比
    的头像 发表于 08-14 17:45 8751次阅读
    【EMC标准分析】GB_T 18655最新2025版与2018版的标准<b class='flag-5'>差异</b><b class='flag-5'>对比</b>

    有铅VS铅:PCBA加工工艺的6大核心差异,工程师必看

    发现,许多客户对PCBA加工中有铅工艺与铅工艺的选择存在疑问。本文将结合行业标准与我们的生产经验,深入解析二者的核心差异。 PCBA加工有铅工艺与铅工艺的六大
    的头像 发表于 08-08 09:25 1052次阅读

    基于线电压差反电势过零检测的刷直流电机驱动器

    本文介绍了永磁刷直流电机(BLDC)传感器操作。传感器BLDC驱动器,文中提出,是基于端电压的反电动势(backEMF)过零检测。所该方法依赖于在电机端子上线电压测量的
    发表于 08-06 14:39

    MSCMG刷直流电机改进的I_f位置起动方法

    针对磁悬浮控制力矩陀螺刷直流电机电阻、电感值极小的特点和已有的位置传感器 I/f 起动算法加速阶段换相精度不高且算法复杂的问题,通过分析电磁转矩和换相时刻的关系,提出了一种改进的 I/f起动方法
    发表于 08-06 14:27

    基于线电压差反电势过零检测的刷直流电机驱动器

    本文介绍了永磁刷直流电机(BLDC)传感器操作。传感器 BLDC驱动器,文中提出,是基于端电压的反电动势(backEMF)过零检测。所该方法依赖于在电机端子上线电压测量的
    发表于 07-30 15:51

    MSCMG刷直流电机改进的I_f位置起动方法

    方法。该方法在电磁转矩恒定的情况下,结合电机模型,精确计算出电机换相的具体时刻。为保证电磁转矩恒定确保换相时刻的准确性,采用神经网络法估计反电势系数,并设计了基于三相绕组不对称补偿的改进的电流环。仿真
    发表于 07-23 13:19

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集计算机(RISC
    发表于 07-23 10:21

    英语单词学习页面+单词朗读实现 -- 【1】页面实现 ##HarmonyOS SDK AI##

    ​先看一下页面效果 ​ 整体页面是一个比较简洁的页面,其中有两个特色功能 对于例句中,能够实现将当前的单词从句子中进行识别并突出显示 对于单词和句子,可以进行朗读,这个朗读使用的是Core
    发表于 06-29 23:24

    刷直流电机单神经元自适应智能控制系统

    摘要:针对刷直流电机(BLDCM)设计了一种可在线学习的单神经元自适应比例-积分-微分(PID)智能控制器,通过有监督的 Hebb学习规则调整权值,每次采样根据反馈误差对神经元权值进
    发表于 06-26 13:36

    机器学习异常检测实战:用Isolation Forest快速构建标签异常检测系统

    本文转自:DeepHubIMBA监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过IsolationForest
    的头像 发表于 06-24 11:40 1669次阅读
    机器<b class='flag-5'>学习</b>异常检测实战:用Isolation Forest快速构建<b class='flag-5'>无</b>标签异常检测系统

    第一章 W55MH32 高性能以太网单片机的学习方法概述

    本章介绍W55MH32的学习方法,建议先了解硬件资源,按基础篇、入门篇循序渐进学习。参考两份手册,提供例程资料,还给出官网、github 等学习资料查找渠道。让我们一起踏上W55MH32高性能以太网单片机的
    的头像 发表于 05-26 09:07 1181次阅读
    第一章 W55MH32 高性能以太网单片机的<b class='flag-5'>学习方法</b>概述