NLP | XLNet :用于语言理解的广义自回归预训练 论文详解

news2024/11/25 22:34:33

论文:XLNet: Generalized Autoregressive Pretraining for Language Understanding

论文地址:https://proceedings.neurips.cc/paper/2019/file/dc6a7e655d7e5840e66733e9ee67cc69-Paper.pdf

1.介绍

XLNet 是从蓬勃发展的自然语言处理 (NLP) 领域中出现的最新和最伟大的模型。XLNet 论文将 NLP的 最新进展与语言建模问题处理方式的创新选择相结合。当在一个非常大的 NLP 语料库上进行训练时,该模型在包含 GLUE 基准的标准 NLP 任务中实现了最先进的性能。

XLNet 是一种自回归语言模型,它基于带有递归的变换器架构输出一系列标记的联合概率。它的训练目标以句子中单词标记的所有排列为条件计算单词标记的概率,而不仅仅是目标标记左侧或右侧的那些排列。

将无监督学习应用于预训练的方法在 NLP 领域取得了很好的效果。无监督预训练的方法主要分为自动回归(AR)和自动编码(AE)。AutoRegressive (自动回归)通过预测正向或反向的下一个语料库来学习。这样做的缺点是只能学习单向上下文。但是,由于现实中的大多数下游任务都需要双向上下文,因此这是一个巨大的限制。另一方面,自动编码是一种将转换后的输入重建回原始输入的方法,BERT就是一个典型的例子。

2.背景知识

2.1.自动回归AR

作为通用语言模型(LM)的一种学习方法,它通过查看之前的token来解决预测下一个token的问题。代表性的例子有ELMO和GPT RNNLM,LM的目标用如下公式表示。

可能性和目标 Likelihood & Objective

  • 给定输入序列的可能性表示为前向/后向条件概率的乘积。
  • 该模型将这种条件分布作为目标(负对数似然)来学习。

由于 AR 必须确定方向(向前、向后),因此只能使用一个方向的信息。因此,使用双向上下文很难深入理解句子。ELMO 使用两个方向,但理解很浅,因为它为每个方向使用独立训练的模型。

2.2.自动编码 (AE)

Auto Encoder 解决了针对给定输入按原样预测输入的问题,而 Denoising Auto Encoder 解决了以噪声作为原始输入来预测输入的问题。在 BERT 的情况下,当给给定的输入序列任意添加噪声([MASK]token)时, [MASK]token 会恢复为原始输入 token。所以你可以通过 Denoising Auto Encoder 的方式看到它。

 可能性和目标

常见的去噪自编码器和最大化它的目标。但是,在计算它的过程中(上式右侧),有如下区别。

  • 独立假设:对于给定的输入序列,每个token的正确token出现的概率[MASK]不是独立的,而是假设是独立的。→ 由于它是独立的,它可以表示为每个概率的乘积。
  • Xt是一个[MASK]令牌, 仅对令牌进行预测。虽然通过换置 , 仅预测 token 的目标不同于Denoising Autoencoder的目标[MASK](相对于输入 + 噪声恢复输入,即无论噪声的位置如何都恢复整个输入),但可以考虑在概念上类似于将噪声恢复到原始输入。

与 AR 不同,AE[MASK]的优势在于能够使用双向信息(双向自注意力)来匹配特定的令牌。然而,由于所有令牌都是通过独立假设独立预测的,[MASK]因此存在无法学习它们之间的依赖关系的致命缺点。另外,噪声([MASK]token)本身并没有出现在实际的微调过程中,因此预训练和微调之间存在不匹配。

3.语言建模

在语言建模中,我们计算标记(单词)序列的联合概率分布,这通常通过将联合分布分解为给定序列中其他标记的一个标记的条件分布来实现。

 是一种语言模型。该模型是一个函数,它将一些上下文标记作为输入,并输出词汇表中每个标记的概率。较粗的线表示信息量更大的上下文词和更有可能的词汇词。

4.XL 训练目标

XLNet 的主要贡献不是架构,而是一种改进的语言模型训练目标,它学习序列中所有标记排列的条件分布。在深入了解该目标的细节之前,让我们重新审视 BERT 模型以激发 XLNet 的选择。

BERT使用了一个训练目标,该目标的任务是恢复句子中被掩盖的单词。对于给定的句子,一些标记被通用 [mask] 标记替换,并且模型被要求恢复原来的意思。 

 上图BERT 模型的描述。模型输入是上下文标记,其中一些是被屏蔽的。通过关注正确的上下文标记,模型可以知道船是掩码标记的可能值。

BERT 和 ELMo 等方法通过将左右上下文合并到预测中来改进现有技术。XLNet 更进一步:该模型的贡献是使用该序列中其他单词的任意组合来预测序列中的每个单词。可能会要求 XLNet 计算可能跟随单词。

5.变压器架构

XLNET 将最先进的自回归模型 Transformer-XL 的想法集成到预训练中。Transformer 是 google 用于语言翻译的模型。它基本上围绕着“注意力”展开。它是一种编码器-解码器模型,您可以将一个序列映射到另一个序列——英语到法语。要将英语句子翻译成法语,解码器需要查看整个句子,以便在任何时间点选择性地从中提取信息(因为英语中的标记顺序不必与法语中的相同)。因此,编码器的所有隐藏状态都可供解码器使用。

这是通过对编码器的每个隐藏状态进行加权。权重由简单的前馈神经网络确定。这些被称为注意力权重,或论文术语中的。这是注意力权重的精彩解释的链接。论文中使用的一些术语是

  • 查询 (Q) — 解码器的隐藏状态。
  • Keys (K) — 编码器的隐藏状态。
  • 值 (V) — 处理查询时的注意力权重。

从 Transformer-XL 集成到 XLNET 中。

  • 位置编码 — 跟踪序列中每个标记的位置
  • 分段循环——在每一层的内存中缓存第一个分段的隐藏状态,并相应地更新注意力。它允许重用每个段的内存。

6.XLNET — NLU 的广义自回归模型

   XLNet是一个广义的自回归模型,其中下一个令牌依赖于所有先前的令牌。XLNET 是“通用的”,因为它通过一种称为“置换语言建模”的机制来捕获双向上下文。它融合了自回归模型和双向上下文建模的思想,同时克服了 BERT 的缺点。它在 20 个任务上的表现优于 BERT,通常在问答、自然语言推理、情感分析和文档排名等任务中表现出色。

置换语言建模 (PLM)

   PLM 是通过在句子中所有可能的单词排列上训练自回归模型来捕获双向上下文的想法。XLNET 不是固定的左右或左右建模,而是在序列的所有可能排列上最大化预期的对数似然。在预期中,每个位置都学习利用来自所有位置的上下文信息,从而捕获双向上下文。不需要 [MASK],输入数据也不会损坏。

XLNET 与 BERT 的比较

例如,考虑“纽约是一座城市”这一行,我们需要预测“纽约”。让我们假设当前的排列是

BERT 会相互独立地预测令牌 4 和 5。而 XLNET 作为一个自回归模型,按照序列的顺序进行预测。即,首先预测token 4,然后预测token 5。

在这种情况下,XLNET 将计算

log P(New | is a city ) + log P(York | New, is a city )

而 BERT 会减少到

log P(New | is a city ) + log P(York | is a city )

7.使用 XLNET 进行的实验

  以下是论文作者测试的数据集 XLNET。

  • RACE 数据集——来自英语考试的 100K 题,XLNET 的准确率比最佳模型高出 7.6 分。
  • SQuAD——阅读理解任务——XLNET 比 BERT 高出 7 个百分点。
  • 文本分类——在各种数据集上显着优于 BERT(有关详细信息,请参阅论文)。
  • GLUE 数据集——由 9 个 NLU 任务组成——纸上报告的数据,XLNET 优于 BERT。
  • ClueWeb09-B 数据集——用于评估文档排名的性能,XLNET 优于 BERT。

论文的主要贡献是:

  • XLNet是一种广义的AR预训练模型,仅结合了以GPT为代表的自回归(AR)模型和以BERT为代表的自编码器(AE)模型的优点。
  • 为此,我们提出了置换语言建模目标和双流注意机制。
  • 在各种 NLP 任务中,与以前的性能相比,最先进的性能得到了显着改善。

8.总结

XLNet使用了一种排列的自回归预训练方法。

参考文献

【1】Understanding XLNet - Borealis AI

【2】https://towardsdatascience.com/xlnet-explained-in-simple-terms-255b9fb2c97c

【3】[NLP 논문 리뷰] Xlnet: Generalized Autoregressive Pretraining for Language Understanding – Hansu Kim 【4】꼼꼼하고 이해하기 쉬운 XLNet 논문 리뷰 – 핑퐁팀 블로그

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

食用前须知(阅读并同意后在食用其他部分)

昨天刚和计科某数据结构老师聊这个事 让我别写题解了 以后会偷摸的在csdn更,大家千万低调点,严谨点!!! 一般不会当天更了,会拖个一两天,大家先把会的写写,不会的再来看我教程 就算真…

高效率Paper写作需要哪些建议?

高效写Paper最关键的是要多写,写多了,英语行文能力提高,并且知道Paper写作大概的套路,Paper写作效率自然上升。小编为同学们带来一些建议。 The key to writing paper efficiently is to write more.If you write more,improve yo…

ijkplayer项目

ijkplayer项目 环境配置 NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨…

C++ Reference: Standard C++ Library reference: C Library: cwchar: wmemset

C官网参考链接&#xff1a;https://cplusplus.com/reference/cwchar/wmemset/ 函数 <cwchar> wmemset wchar_t* wmemset (wchar_t* ptr, wchar_t wc, size_t num); 填充宽字符数组 将由ptr指向的宽字符数组的第一个num个元素设置为wc指定的值。 这是memset&#xff08;&…

瑞吉外卖强化(一):缓存优化

瑞吉外卖强化&#xff08;一&#xff09;&#xff1a;缓存优化瑞吉外卖 缓存优化Redis基本操作短信验证码 缓存实现缓存菜品数据SpringCache常用注解瑞吉外卖 缓存优化 Redis基本操作 redisTemplate需要配置类 这里的 需要对其进行 序列化操作 reidsTeplate.opsForValue().s…

HummerRisk 快速入门教程

1、一键部署 1. 部署服务器要求 操作系统要求&#xff1a;任何支持 Docker 的 Linux x64CPU内存要求&#xff1a;最低要求 4C8G&#xff0c;推荐 8C16G部署目录空间&#xff08;默认/opt目录&#xff09;要求&#xff1a; 50G网络要求&#xff1a;可访问互联网&#xff08;如…

Recall:JS EventLoop

有时候一段代码没有达到你想要的效果&#xff0c;可能加上setTimeout就好了 之前对事件循环一知半解&#xff0c;今天重新深入理解一下&#x1f602; 宏任务 JS是单线程的&#xff0c;但是浏览器是多线程的&#xff0c;当 JS 需要执行异步任务时&#xff0c;浏览器会另外启…

企业架构概述及业务架构详解

编辑导语&#xff1a;企业架构可以辅助企业完成业务及IT战略规划&#xff0c;还是企业信息化规划的核心&#xff0c;也有助于个人职业的健康长远发展。本文作者对企业架构的全景以及业务架构设计进行了分析&#xff0c;感兴趣的小伙伴们一起来看一下吧。 1&#xff09;对公司而…

PyTorch 加载 Mask R-CNN 预训练模型并 fine-tuning

目录1 Mask R-CNN 原理(简单版)2 ROI Align3 PyTorch 加载预训练模型1 Mask R-CNN 原理(简单版) Mask R-CNN 是一个实例分割&#xff08;Instance segmentation&#xff09;算法&#xff0c;主要是在目标检测的基础上再进行分割。 Mask R-CNN 算法主要是 Faster R-CNN FCN&…

算法练习题(涉外黄成老师)

1.带锁的门在走廊上有n个带锁的门&#xff0c;从1到n依次编号。最初所有的门都是关着的。我们从门前经过n次&#xff0c;每一次都从1号门开始。在第i次经过时(i1,2,…,n)我们改变i的整数倍号锁的状态:如果门是关的&#xff0c;就打开它;如果门是打开的&#xff0c;就关上它。在…

CEC2015:(二)动态多目标野狗优化算法DMODOA求解DIMP2、dMOP2、dMOP2iso、dMOP2dec(提供Matlab代码)

一、cec2015中测试函数DIMP2、dMOP2、dMOP2iso、dMOP2dec详细信息 CEC2015&#xff1a;动态多目标测试函数之DIMP2、dMOP2、dMOP2iso、dMOP2dec详细信息 二、动态多目标野狗优化算法 多目标野狗优化算法&#xff08;Multi-Objective Dingo Optimization Algorithm&#xff0…

#入坑keychron#你还没一起入坑吗?

经济和科技飞速发展的今天&#xff0c;我们早已不在像从前那样有电脑玩就行&#xff0c;现在的我们追求的是更高的配置、更好的体验&#xff0c;就像从前一碗泡面就是最高的理想&#xff0c;而现在最少都得有根泡面搭档才能勉强接受&#xff0c;连泡面都有搭档&#xff0c;电脑…

web前端期末大作业:旅游网页设计与实现——个人旅游博客(4页)HTML+CSS

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

【后端】初识HTTP_2

我们学习的HTTP协议&#xff0c;是应用层里面最广泛使用的协议~ 我们主要是学习HTTP的请求响应的报文格式 我们可以借助抓包工具来学习&#xff0c;抓包抓到的是文本格式~~ 根据上节内容 我们大概了解了请求和响应的格式 请求有4部分&#xff1a; &#xff08;1&#xff…

leetcode 51. N皇后 回溯法求解(c++版本)

题目描述 简单来说就给一个N*N的棋盘 棋盘上的每一列每一行以及每一个对角不能出现两个皇后 因此明确以下几点 要找出所有可能的解法也是采用回溯法进行求解&#xff08;具体在下面进行详解&#xff09; 用下面一张示例图来说明回溯法的思路 说白了就是进行搜索&#xff0c;…

java项目-第102期基于ssm的校园二手交易平台-java毕业设计

java项目-第102期基于ssm的校园二手交易平台 【源码请到资源专栏下载】 1、项目简述 Hi&#xff0c;大家好&#xff0c;今天分享的源码是基于ssm的校园二手交易平台。 该交易平台分为两部分&#xff0c;前台和后台。用户在前台进行商品选购以及交易&#xff1b;管理员登录后台可…

python-(6-3-3)爬虫---requests入门(对参数封装)

文章目录一 需求二 分析三 代码四 补充说明一 需求 爬取豆瓣电影的“纪录片”的电影信息数据 二 分析 老规矩&#xff0c;先在网页的“检查”中提取我们需要的信息 如下图所示。在“纪录片”那一页面&#xff0c;选择"network"----“XHR”----“preview”。 我们…

【附源码】Python计算机毕业设计面向社区的购物平台系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

java计算机毕业设计ssm+vue网络考试信息网站

项目介绍 对网络考试系统进行了介绍&#xff0c;包括研究的现状&#xff0c;还有涉及的开发背景&#xff0c;然后还对系统的设计目标进行了论述&#xff0c;还有系统的需求&#xff0c;以及整个的设计方案&#xff0c;对系统的设计以及实现&#xff0c;也都论述的比较细致&…

五大模型看深度学习用于时序预测的最新进展

引言 在以往的时序预测中&#xff0c;大部分使用的是基于统计和机器学习的一些方法。然而&#xff0c;由于深度学习在时间序列的预测中表现并不是很好&#xff0c;且部分论文表述&#xff0c;在训练时间方面&#xff0c;用 Transformer、Informer 、Logtrace 等模型来做时间序…