ACL2023:成分对比学习生成句子嵌入表示

title:Composition-contrastive Learning for Sentence Embeddings

        很多基于对比学习的方法用在无监督语料中,通过最大化对齐同一句子的最小扰动,并且鼓励向量在广泛文本语料中的均匀分布。本文方法提出最大化文本与其短语成分的组合之间的对齐。
        对比学习框架在计算机视觉中的成功很大程度上是由于用于创建正对时增强的多样性,这使得原始示例的身份保持不变,同时减少输入空间中的成对互信息。将相同的训练目标应用于句子的嵌入表示时,通过离散增强方法构造正向对没有效果。之前的研究通过消融实验可知,这样的增强对会损害相似性任务的下游性能。
        而据观察dropout噪声可用于动态创建正对,可生成更强的表示。这就是SimCSE提出的简单而有效的框架。本文将短语成分组合用作增强,探索它在语言中作为信号学习句子,实验证明是有效的。

        背景

        1.无监督对比学习:对比学习旨在不依赖标注,学习数据的向量表示。对比学习的学习目标是InfoNCE
        2.InfoNCE的缺点:同一批次中的不同示例可能与给定的锚点具有不同的相关相似性,所以生成的嵌入具有较差的组区分;维度崩溃,嵌入向量主要由一小部分特征轴区分,没有充分利用编码器的全部表达能力。最小增强与过度参数化的网络相结合,导致无监督对比目标的低秩性。我们猜测这和捷径学习(short-cut learning)密切相关,并且句子长度相关的虚假特征也可能被用于解决对比目标。这些不可泛化的特征不能很好的表示来自新领域的数据。
        3.评价表示空间:嵌入表示的质量可以用两个指标衡量,对齐性和均匀性。对齐度量应该靠近的正向对的距离。均匀性衡量嵌入表示在单位超球面上的分散程度。

        基于成分组合的对比学习
        保留SimCSE的简单和效率。将输入文本根据token一分为二,分成的左右两个短语进行独立编码,并通过编码器和线性投影,然后对两者的cls token进行聚合(聚合方法通过看具体实验,与模型类型和尺寸相关)。

        组合作为数据增强方法

        例子来自STS-B的标注语料,高相似性:
                A man is lifting weights in a garage.  
                A man is lifting weights.
        第一句话有两个原子语义,一个是A man is lifting weights,另一个是a man is in a garage.这在实际的对话场景中是很常见的。上面两句话只在第一个原子语义是相似的,而第二原子语义并没有太多的相关性。所以就需要句子编码器学习更通用的短语表示,至少隐含的遵守语义的组合型原则。
        分解输入下采样,本文实验了三种策略扩展数据:
        1.相邻片段 2.相邻片段+重叠 3.相邻片段+重叠+递归采样
        扩展数据的结果是 产生更难的批内负样本,这对对比学习是有益的。使用扩展训练集鼓励更均匀的嵌入分布,组合增强进行子采样也能获得更好的对齐。这是因为我们将自我预测目标保持不变,同时增加了难度:尽管子样本可能高度相关,但正对只能从完全相同的文本中挑选。因此,底层PLM被迫有效地区分词汇重叠高的例子。

        实验

        在BERT和RoBERTa两个预训练模型的base和large版本上进行实验,可以看到本文方法在不同模型和相同模型不同版本上表现不同。除了在RoBERTa-large版本上表现拉垮,在其他的模型版本下相对于SimCSE都有较明显优势,仅次于SNCSE(https://arxiv.org/pdf/2201.05979.pdf)。SNCSE采用显式构建负样本的方式发掘测试集偏差。

         消融实验和向量聚合方式实验结果分别如图。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/88334.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 学习————LNMP之分布式部署

目录 一、概述 二、LNMP环境部署 三、配置nginx 四、 配置php使nginx能够解析.php 五、配置mysql 六、配置discuz进行登录论坛访问测试 一、概述 LNMP代表 Linux、Nginx、MySQL、PHP,是一种常用的服务器架构。它由以下组件组成: Linux:作…

Linux命令200例:dd命令详解及实际应用场景

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…

JZ39 数组中出现次数超过一半的数字

目录 一、题目 二、代码 一、题目 数组中出现次数超过一半的数字_牛客题霸_牛客网 二、代码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param numbers int整型vector * return int…

Dynamic CRM开发 - 实体介绍

实体简介 在CRM中,实体(Entity)是数据的基本载体,也是构建业务逻辑网络的基础节点。 实体可以理解为数据库中的一张表(实体中的字段对应数据库表的字段),比如创建一个实体存储客户信息,创建一个实体存储产品信息,产品实体里可以创建一个查找类型的字段(类似表的外键)…

如何理解MySQL隔离性---3个记录隐藏字段、undo日志、Read View

目录 一、3个记录隐藏字段 二、undo 日志 三、read view 一、3个记录隐藏字段 本片文章是帮助理解上篇文章Mysql隔离性的辅助知识。 mysql在建表时,不仅仅创建了表的结构,还创建了3个隐藏字段。 DB_TRX_ID :6 byte,最近修改( 修…

考研408 | 【计算机网络】 数据链路层

导图: 数据链路层概念: 结点:主机、路由器 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。 数据链路:网络中两个结点之间的逻辑通道&#xff0…

常见的路由协议之RIP协议与OSPF协议

目录 RIP OSPF 洪泛和广播的区别 路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息,以便找到从源到目标的最佳路径。 常见的路由协议: RIP (Routing Information Protocol):RIP 是一种基于距离向量算…

Mac安装nvm教程及使用

nvm 是 node 版本管理器,也就是说一个 nvm 可以管理多个 node 版本(包含 npm 与 npx),可以方便快捷的安装、切换 不同版本的 node。 1、直接通过brew安装 执行命令:brew install nvm PS: 如果没有安装br…

PostgreSQL查询慢sql原因和优化方案

PostgreSQL sql查询慢优化方案有一下几种解决方案: 1.关闭会话 查询慢sql的执行会话,关闭进程。 查看数据库后台连接进程 SELECT count(*) FROM pg_stat_activity;SELECT * FROM pg_stat_activity; 查看数据库后台连接进程,但是此条SQL不…

03_013内存分配api以及页表详解

前言 之前文章中物理ram中的最小单位一直用页来表示 这次又描述的详细了点 物理ram的最小单位 有的地方叫 块,框,页帧 在虚拟空间中最小单位也叫页 需要好好区分 不过后来想想管你虚拟页还是物理ram页 都存在物理ram上 都能想成一 一对应的关系 所以大家都叫页好像也行 内存分…

服务器安装JDK

三种方法 方法一: 方法二: 首先登录到Oracle官网下载JDK JDK上传到服务器中,记住文件上传的位置是在哪里(我放的位置在/www/java),然后看下面指示进行安装 方法三: 首先登录到Oracle官网下载…

深度学习常用的python库学习笔记

文章目录 数据分析四剑客Numpyndarray数组和标量之间的运算基本的索引和切片数学和统计方法线性代数 PandasMatplotlibPIL 数据分析四剑客 Numpy Numpy中文网 ndarray 数组和标量之间的运算 基本的索引和切片 数学和统计方法 线性代数 Pandas Pandas中文网 Matplotlib Mat…

CSS:服务器字体 与 响应式布局(用法 + 例子 + 效果)

文章目录 服务器字体定义 服务器字体使用例子 响应式布局设备类型设备特性例子 服务器字体 解决字体不一致而产生的。 首先,在网上把字体下载好。 定义 服务器字体 font-face{font-family:字体名称;src:url(字体资源路径); }使用 在需要使用的选择器里加上 font…

【硬件突击 电路】

文章目录 1. 电阻(Resistor):2. 电容(Capacitor):3. 电感:4、 RC、RL、RLC电路结构及工作原理基尔霍夫定律基尔霍夫电流定律(KCL)基尔霍夫电压定律(KVL&#…

❤ VUE3 项目路由拦截器配置(二)

❤ VUE3 项目 路由拦截器进一步 配置 路由拦截抽离为单个模块permission.ts 路由配置规则 白名单(直接进入) PC页面和PC子页面(直接进入) 后台页面(验证token ) 没有token> 后台登录页面 有token> 后…

英码国产高配边缘计算盒子上市!搭载TPU处理器BM1684X,适配麒麟系统,支持OTA升级!

随着人工智能技术不断深入实际应用场景,加速各行各业场景应用落地,边缘计算的重要性越发凸显。相较于传统的集中式云计算,边缘计算在距离数据源或用户更近的地方提供计算能力,不仅满足了对实时性要求较高的场景应用需求&#xff0…

操作指南 | 如何使用Chainlink喂价功能获取价格数据

Chainlink的去中心化预言机网络中的智能合约包含由运行商为其他智能合约(DApps)使用或截取所持续更新的实施价格数据。其中有两个主要架构:喂价和基础要求模型。此教程将会展现如何在Moonbeam、Moonriver或是Moonbase Alpha测试网上使用喂价功…

Flink 火焰图

方式一 使用 Flink Web UI 的 Flame Graph Flink 自己也支持了 Task 粒度的 Flame Graphs 功能,并且可以细化到 subtask 粒度。 第一步:配置启用功能 Flink 作业动态参数里增加配置:“rest.flamegraph.enabled”: “true” 并重启作业。当前该功能没有默认开启,因为这个功…

Redis_哨兵模式

9. 哨兵模式 9.1 简介 当主库宕机,在从库中选择一个,切换为主库。 问题: 主库是否真正宕机?哪一个从库可以作为主库使用?如何实现将新的主库的信息通过给从库和客户端? 9.2 基本流程 哨兵主要任务: 监控选择主库通知 会有…

ArcGIS Maps SDK for JavaScript系列之三:在Vue3中使用ArcGIS API加载三维地球

目录 SceneView类的常用属性SceneView类的常用方法vue3中使用SceneView类创建三维地球项目准备引入ArcGIS API创建Vue组件在OnMounted中调用初始化函数initArcGisMap创建Camera对象Camera的常用属性Camera的常用方法 要在Vue 3中使用ArcGIS API for JavaScript加载和展示三维地…