RetroMAE论文阅读

1. Introduction

在NLP常用的预训练模型通常是由token级别的任务进行训练的,如MLM和Seq2Seq,但是密集检索任务更倾向于句子级别的表示,需要捕捉句子的信息和之间的关系,一般主流的策略是自对比学习(self-contrastive learning)和自动编码(auto-encoding)。

  • self-contrastive learning的效果会被数据增强的质量所限制,且需要大量的负样本,而auto-encoding不受制于这两个问题
  • auto-encoding的研究重点在于encoding-decoding workflow的设计,对数据要求不高,但是下面两个因素会影响基于自动编码方法的性能:重建任务必须对编码质量有足够的要求;预训练数据需要被充分利用

本文的作者针对上面的两个因素,提出了一种面向检索的基于自动编码的预训练模型–RetroMAE:

在这里插入图片描述

  • 全新的自动编码流程:输入句子被掩码两次,第一次的掩码结果输入到编码器生成句子嵌入,另一个掩码结果结合生成的句子嵌入,输入到解码器中,通过MLM恢复原始句子;
  • 非对称的结构:编码器是一个全尺寸的BERT,用来生成有区别的句子嵌入;解码器只有一个单层的transformer。Encoder部分是一个全尺寸的BERT(有12层以及768个隐藏维度),Decoder部分是一个单层的Transformer
  • 非对称的掩码率:编码器的输入掩码率为15%-30%;解码器的掩码率为50%-70%。

总的来说:输入的句子在进入Encoder之前先进行15%~30%的适度mask,经过Encoder之后生成Sentence embedding;输入的句子在进入Decoder之前先进行50%~70%的mask,然后与Sentence embedding一起通过Decoder还原Sentence

论文

2. RetroMAE模型的优势

  • 传统的自回归可能会在解码过程中注意前缀(与GPT的mask方式相似),且传统的MLM(Masked Language Model)只mask一个较小比例的输入token(15%)。而RetroMAE会mask掉大部分的decoding输入,且使用简单的单层transformer作为decoder,这样的话在重建输入时仅仅利用decoder的input就不够了,会促使encoder去捕捉输入的深层语义信息。
  • 确保了训练信号完全由input sentence生成,是由自己提出的enhanced decoding实现的

3. 实现细节

  • 选择[CLS] token的最后一个hidden state作为sentence embedding
  • 在Decoder阶段masked input直接和sentence embedding进行拼接
    • 式(1)是sentence embedding的生成,输入通过编码器生成embedding
    • 式(2)是将sentence embedding和masked input拼在一起,其中 e x i e_{xi} exi表示token x i x_i xi的嵌入, p i p_i pi表示位置嵌入
    • 式(3)是还原输入的过程,CE表示cross-entropy loss
    • 图C的M矩阵表示第i个token是由第 i i i行可见的上下文重建的(可见的是蓝色的点),比如第0个token是由第1个context重建的,第1个token是由第0个和第2个token决定的。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Enhanced Decoding
    从(2)和(3)两个式子中可以看到交叉熵损失只能从被掩码的tokens中进行训练获得,而且,每次重建都是基于相同的上下文,即 H X d e c H_{X_{dec}} HXdec。作者认为满足下列条件可以进一步增强预训练的效果:

    • 在输入句子中获得更多的训练信号
    • 基于多样的上下文执行重建任务

    所以作者提出了通过双流自我注意力和特定位置注意力掩码的增强解码,具体来说,作者生成了两个输入流: H 1 H_1 H1(query)和 H 2 H_2 H2 (context),解码操作(图C):
    在这里插入图片描述

其中h_x是sentence embedding,e_x_i是token embedding(没有被掩码的token embedding),p_i是position embedding。然后作者引进了特定位置的注意力掩码矩阵M,自注意力计算如下:

在这里插入图片描述

在原始的注意力机制中,Q、K、V的计算都是同一输入,而作者计算Q时选用 H 1 H_1 H1作输入,计算K和V时用 H 2 H_2 H2作输入,这样就可以基于的是多样的上下文输入进行重建句子。然后输出的A和 H 1 H_1 H1进行残差连接被用来重建原始输入,通过以下目标函数进行优化:

在这里插入图片描述

最终的目标函数是编码器损失和解码器损失之和。
要知道每个token x i x_i xi是基于对矩阵M的第 i i i行可见的上下文进行重建的,所以根据下面的规则生成掩码矩阵:

在这里插入图片描述

当我们重建 x i x_i xi这个token时,需要找出不同的上下文,所以在这里进行了抽样,s指的是抽样的token的集合, x j ∈ s ( X ≠ i ) x_j\in s(X_{\ne i}) xjs(X=i)表示当 x j x_j xj在抽样的token里,或者当 i ≠ 0 i\ne 0 i=0 j = 0 j=0 j=0时,该位置在掩码矩阵中的值设为0,其它位置的值设为 − ∞ -\infty ,如图C所示。如此一来,模型可以获得更多的训练信号

  • 整体的RetroMAE算法如下所示:

在这里插入图片描述

4. Experiment

作者评估了由 RetroMAE 的预训练编码器生成的句子嵌入的检索性能,其中探讨了两个主要问题:

(1) 与通用预训练模型和面向检索的预训练模型相比,RetroMAE 对零样本和有监督的密集检索的影响。

(2)RetroMAE中四个技术因素的影响:增强解码、解码器大小、解码器掩码率和编码器掩码率。

main results:
  • 在BEIR基准上进行零样本密集检索性能对比
    在这里插入图片描述
  • 基于DPR微调方法的有监督评估结果
    在这里插入图片描述
  • 基于ANCE微调方法的有监督评估结果

在这里插入图片描述

  • 与同类方法的预训练模型 coCondenser的对比

在这里插入图片描述

  • 通过知识蒸馏方法的性能对比

在这里插入图片描述

消融实验

解码方法、解码器规模、解码器的掩码率和编码器的掩码率的影响:
在这里插入图片描述

可以看到不使用增强解码的性能明显比使用增强解码的性能要低;

虽然解码器的transformer的层数从1增加到3性能并没有下降多少,但是会产生严重的计算成本,所以结合准确率和计算成本,单层的transformer更适合解码器;

对于解码器的掩码率带来的影响,作者分了两个部分:一个是使用增强解码,另一部分未使用增强解码。可以看到随着掩码率的提升,最终的性能也会跟着提升,使用增强解码的性能在掩码率为0.5时到达峰值,未使用增强解码的一组的性能在掩码率为0.7时达到峰值;

对于编码器的掩码率,作者发现调整为30%时性能会提升,但是增加到90%时性能会急剧下降,这表示适当提高掩码率有利于增强模型的学习能力,但是过高的掩码率会导致原本的语义信息的缺失。

5. conclusion

作者提出了 RetroMAE,这是一种新的掩码自动编码框架,用于面向检索的预训练语言模型:输入句子被随机的掩码,然后输入到编码器和解码器,然后句子嵌入与解码器的掩码输入进行结合以重建原始输入。作者引入了非对称模型结构(全尺寸编码器和单层解码器)和非对称掩码率(编码器的中等焱玛利率和解码器的高掩码率),这使得重建要求足够高。作者还提出了增强解码,充分利用了预训练数据。可以看到作者提出的模型在零样本密集检索以及有监督的密集检索性能都有所提升。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能基础——Python:Pillow与图像处理

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

vscode 终端进程启动失败: shell 可执行文件“C:\Windows\System32\WindowsPower

vscode 终端进程启动失败: shell 可执行文件“C:\Windows\System32\WindowsPower 第一次用vscode,然后遇到这个问题,在设置里搜索 terminal.integrated.defaultProfile.windows 将这里的null改成"Command Prompt" 重启就可以了

pyqt环境搭建

创建虚拟环境 # 用管理员身份运行 conda create --prefixE:\Python\envs\pyqt5stu python3.6 # 激活虚拟环境 conda activate E:\Python\envs\pyqt5stu # 退出虚拟环境 conda deactivate安装包 pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5-tools…

水果音乐编曲软件 FL Studio v21.1.1.3750 中文免费破解版下载(附中文设置教程)

FL studio21中文别名水果编曲软件,是一款全能的音乐制作软件,包括编曲、录音、剪辑和混音等诸多功能,让你的电脑编程一个全能的录音室,它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得…

Snipaste截图工具--------开机后自启动设置

1,找到安装Snipaste的目录,创建快捷方式 2,按winR打开运行框(输入shell:startup) 3,将刚才创建的快捷方式拖入此文件夹

58基于matlab的采样的运动规划算法-RRT(Rapidly-exploring Random Trees)

基于matlab的采样的运动规划算法-RRT(Rapidly-exploring Random Trees),3D和2D,原始的RRT算法中将搜索的起点位置作为根节点,然后通过随机采样增加叶子节点的方式,生成一个随机扩展树,当随机树的叶子节点进入目标区域,…

数据结构与算法—搞懂队列

csdn专栏:数据结构与算法 前言 栈和队列是一对紧密相关的数据结构。之前已经介绍过栈(它遵循后进先出的原则),栈的机制相对简单,就像你进入一个狭窄的山洞,山洞只有一个出入口,因此你只能按照后…

Shopee的折扣活动怎么分类?shopee设置折扣注意事项

旺季到来,Shopee会举办一些折扣活动来吸引客户,那么shopee的折扣活动怎么分类,shopee设置折扣注意事项? shopee的折扣活动怎么分类? 满减活动:满减活动是虾皮常见的一种折扣形式。在这种活动中&#xff0…

Citespace的使用

CiteSpace CiteSpace的相关介绍运行CiteSpace CiteSpace的相关介绍 CiteSpace作为一款优秀的文献计量学软件,能够将文献之间的关系以科学知识图谱的方式可视化地展现在我们面前。简单来说,面对海量的文献,CiteSpace能够迅速锁定自己需要关注…

数据结构与算法C语言版学习笔记(6)-树、二叉树、赫夫曼树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、树的定义1.结点的度、树的度2.结点的逻辑关系3.树的深度4.有序树和无序树5.森林 二、树的存储结构(1)双亲表示法(2&…

Android 使用.9图 NinePatchDrawable实现动态聊天气泡

最近一段时间,在做一个需求,需要实现一个聊天气泡的动画效果,如下图所示: GitHub源码demo ,建议下载demo,运行查看。 动态聊天气泡动画 静态聊天气泡 经过一段时间调研,实现方案如下: 实现方…

FM3793A-高性能PWM控制芯片 超低成本18W-20W 恒功率PD快充

产品描述: FM3793A是一款应用于离线反激式转换器中的高性能电流模式PWM控制器。在 FM3793A中,PWM开关频率最大为65KHz。在轻载和空载条件下,该FM3793A启动间歇模式从而降低开关频率。FM3793A具有丰富的芯片异常状况保护功能,如欠压…

力扣:160. 相交链表(Python3)

题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,…

基于insightface实现的人脸检测,人脸识别,insightface源码讲解。

目录 1.搭建insightface需要的环境 2.下载insightface工程 3.代码工程文件讲解 3.1 python-package 3.2 进行测试 3.3 examples 4. 人脸识别 5.代码理解: 1.搭建insightface需要的环境 埋个坑,后续再写,笔者在安装过程中遇到了一些问题。…

人工智能基础——Python:运行效率与时间复杂度

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

浅析CC中的点云配准为什么效果好于PCL?

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:cloudpoint9527。本文来自点云PCL博主的分享,未经作者允许请勿转载…

最新大麦订单生成器 大麦订单图一键生成

1、8.6全新版 本次更新了四种订单模板生成 多模板自由切换 2、在软件中输入生成的信息,这里输入的是商品信息,选择生成的商品图片,最后生成即可 新版大麦订单生成 四种模板图样式展示 这个样式图就是在大麦生成完的一个订单截图&#xff…

大数据毕业设计选题推荐-生产大数据平台-Hadoop-Spark-Hive

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

内网安全-基础设施构建-cobaltstrike远控工具beacon使用

kali在CS文件目录下,打开终端,运行命令: /teamserver 192.168.77.128 123456 在windows中双击bat文件: 填写图下信息: 双击运行,CS上线 自查方法:1、kali与物理机可互通 2、物理机与windows10跳板…

[SHCTF]web方向wp

[SHCTF]web方向wp [WEEK1]babyRCE题目源码wp [WEEK1]1zzphp题目源码wp [WEEK1]ez_serialize题目源码wp [WEEK1]登录就给flag题目wp [WEEK1]生成你的邀请函吧~题目源码wp [WEEK1]飞机大战题目wp [WEEK1]ezphp题目源码wp [WEEK2]no_wake_up题目源码wp [WEEK2]MD5的事就拜托了题目…