NLP中的XLNET

NLP:XLNet模型 1. 简介 XLNet是一种类似BERT的模型,XLNet是一种通用的自回归预训练方法,由CMU和Google Brain团队在2019年6月发布,在18个任务取得了当前最佳效果,包括机器回答,自然语言推断,情感分析,文档排序。 出发点: BERT是基于去噪自编码器的预训练模型,可以很好对双向语境信息建模,性能优于自回归语言模型的预训练方法。但是,优于需要mask一部分的输入,BERT模型忽略了mask位置之间的依赖关系,出现预训练和微调效果的差异。 提出的XLNet是一种泛化的自回归预训练模型,可以: 阅读详情

XLNET里面的细节点有很多,重点掌握以下两点:

  1. AR和AE两种无监督预训练的优化目标
  2. 双流自注意力机制:为什么需要把位置信息和内容信息拆分

1. 无监督目标函数

在NLP中,无监督表示学习已经获得长足发展。一般的流程是先将模型在大量无标签数据上进行预训练,然后在具体的下游任务上进行微调。

一般来说,无监督预训练有两种目标函数很受重视:AR和AE。

  1. AR,也就是autoregressive,我们称之为自回归模型;用 x 0 , x 1 , x 2 . . . x_{0},x_{1},x_{2}... x0​,x1​,x2​...去预测 x t x_{t} xt​,可以分为正向和反向,只能考虑单侧的信息,典型的就是GPT
  2. AE,也就是autoencoding,我们称之为自编码模型;从损坏的输入数据中预测重建原始数据。可以使用上下文的信息,Bert就是使用的AE;

AE模型能够看到句子中的更多的信息,这也是BERT在下游任务中表现很好的原因。

先来看一下优化目标,对于AR语言模型来说,它是基于概率的一个链式法则,优化如下:

AR优化目标

而AE模型,拿BERT举例,它的优化目标是是从损坏的输入数据中重建原始未被破坏的输入,优化目标如下:

BERT优化目标

举个简单的例子,原始输入为【我爱吃饭】,那么AR模型在做的时候,它的优化是P(我爱吃饭) = P(我)P(爱|我)P(吃|我爱)P(饭|我爱吃);

阈值对应的,假设我们mask之后为【我爱mask mask】,那么BERT的优化目标是:P(我爱吃饭|我爱maskmask)=P(吃|我爱)P(饭|我爱);

根绝这两个例子,我们首先知道对于AR模型,它在优化的时候,只能看到单向信息。

对于AE模型,它可以看到双向信息,但是有一个问题就是,它认为mask之间相互独立,也就是上面例子中【吃】和【饭】是相互独立的。

很显然,这一点是错误的,【吃】和【饭】之间肯定是有联系的,但是BERT在预训练的时候并没有考虑这一点。

BERT还有一个缺点就是,在预训练的时候,是存在mask字符的,但是在微调的时候,也就是在我们的在具体任务上训练的时候,我们的输入是不存在mask字符的,造成了预训练和微调之间的gap;

AR(单向缺点)和BERT(mask缺点)都存在缺点,XLNET想办法解决了这两个问题。

2. Permutation Language Modeling

为了解决AR模型不能关联上下文信息,提出这个策略。

如果我们的序列x的长度为T,那么对于这个序列,我们有T!种排列方式。

比如说,原始排列为1,2,3,4;那么对它进行重排列,就有24中排列方式。

我们挑两种来看:1,2,3,4和1,4,3,2;

在这两种排列中,假设我们都处于预测第三个位置3的时刻,那么对于第一种,它能够看到的内容信息来自1和2,对于第二种排列方式,它能够看到的内容信息来自1和4。

这样一来,对于3 来说,它在训练之后,既看到了前面的信息1和2,又看到了后面的信息4。

通过这种方式,AR模型可以联系到上下文的信息。

但是如何做到输入序列进行重排序呢,使用TSSA;这样输入序列顺序不会发生变化,顺序的变化只是发生在内部;

3. Two-Stream Self-Attention

假设我们先把某个点的信息分为内容信息和位置信息,为啥这么分,看完例子就知道了。

先来一个简单的例子,句子序列:1,2,3,4;

如果要是预测3,那么需要做什么:

首先,我需要1和2的全部信息(包括它们内容信息和位置信息);其次需要看到3当前这个点的位置信息,确保知道预测的是哪一个位置,但是我不能看到3这点的内容信息,因为我要预测这个单词,不能做到标签信息的泄露。

如果要是预测4,那么需要做什么:

首先,我需要1,2,3的全部信息(包括它们的内容信息和位置信息),其次,我需要看到4当前这个点的位置信息;

好了,两个例子联合起来看,对于3这个点,有的时候我需要向4提供全部信息(包括内容信息和位置信息),有的时候我需要向自己提供位置信息(不能包含内容信息,防止造成标签的泄露);

这就是为什么需要将信息分为内容信息和位置信息,如果不分开,那么对外提供信息的时候就不能有效的隔离。

仔细琢磨这个例子,对照着这个例子,可以看一下下面这个图:

双流注意力

这个图,细节一点要注意,在计算位置信息的时候,QKV分别代表着什么?

这点需要大家仔细去看。

然后看c,在最后预测的时候我们使用的query stream,并没有使用content stream;这点需要注意;

4.其他细节

  1. 使用部分预测:句子预测起始阶段,上文信息较少,担心误差较大,所以只对句子后1/K的tokens被预测
  2. 使用Transformer-XL,用于处理长文本

5. 总结

说一下值得注意的点,主要就是双流自注意力机制这里很有意思,在初看图的时候很容易看混。

这么理解会更加的方便,对于同一个token,在预测自身的时候,它需要向外提供自己的位置信息,在预测别的单词的时候,它需要对外提供全部信息。

所以一个好办法就是把内容信息和位置信息分隔开对外提供。

NLP中的预训练方法总结 word2vec、ELMO、GPT、BERT、XLNET 文章目录一.文本的表示方法基于one-hot的词向量二.基于词向量的固定表征方法(词向量模型)2.1 N-gram模型2.2 NNLM2.3 word2vecCBoWSkip-gram层次Softmax负采样三.基于词向量的动态表征方法(预训练语言模型)3.1 什么是预训练语言模型3.2 预训练语言模型的优点3.3 预训练语言模型的分类自回归语言模型自编码语言模型排列语言模型3.4 几种重要的预训练模型介绍1. ELMO2. GPT3. BERTTask 1: MLMTask 2: NSPBERT的缺点4. 阅读详情

相关推荐

自然语言处理之语言模型:XLNet:XLNet的双向自注意力机制

XLNet是基于Transformer架构的预训练语言模型,由Google和CMU的研究人员在2019年提出。与之前的语言模型如BERT相比,XLNet引入了双向自注意力机制,能够在预训练阶段同时考虑上下文信息,从而更好地理解词与词之间的关系。XLNet在多个NLP任务上取得了当时最佳的性能,包括问答、自然语言推理和情感分析等。

zhubeibei168的博客 1015

自然语言处理中的XLNet模型

1.背景介绍 自然语言处理(NLP)是计算机科学和人工智能的一个分支,旨在让计算机理解和生成人类语言。自然语言处理的一个重要任务是文本分类,即根据文本内容将其分为不同的类别。传统的文本分类方法通常使用手工设计的特征,但这种方法的效果受限于特征的选择和提取。 近年来,深度学习技术的发展使得自然语言处理取得了巨大进展。特别是,自注意力机制的出现使得模型能够捕捉到长距离的上下文信息,从而提高了文本分...

AI天才研究院 1173

stata:stata软件教程(人大十八讲)(1) 第一章 stata入门

第一章 stata入门1.1 安装1.2 启用和退出1.3 打开和查看数据1.4 寻求帮助与网络资源1.5 命令示例1.6 几个环境设置1.7 复习与练习1.8 附录 注:教材为:Stata 统计分析教程 stata软件教程(人大十八讲) 中国人民大学出版社 陈传波 1.1 安装 1.2 启用和退出 1.3 打开和查看数据 1.4 寻求帮助与网络资源 1.5 命令示例 1.6 几个环境设置 1.7 复习与练习 1.8 附录 ...

qq_47805483的博客 1万+

自然语言处理之语言模型:XLNet:XLNet模型架构详解

XLNet模型是基于Transformer-XL模型的一种改进。Transformer-XL通过引入相对位置编码和段落循环机制,解决了Transformer模型在处理长序列时的局限性。XLNet进一步创新,采用了双向训练和动态掩码策略,使得模型在理解文本时能够同时考虑上下文信息,从而在多项自然语言处理任务上取得了显著的性能提升。

zhubeibei168的博客 1293

计算光刻效率革命:为什么Hopkins模型比Abbe模型快?深入解析TCC的魔力

本文深入解析了计算光刻中Hopkins模型相比Abbe模型的效率优势,重点探讨了TCC(透射交叉系数)的工程智慧。通过预计算光学系统特性并复用TCC矩阵,Hopkins模型实现了数量级的加速,特别适用于复杂照明条件下的光刻仿真。文章详细介绍了TCC的物理意义、模态分解技术以及GPU并行计算等关键加速策略,为半导体制造中的光刻工艺优化提供了实用见解。

weixin_33364627的博客 389

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

自然语言处理之语言模型:XLNet:XLNet在问答系统中的实践

XLNet基于Transformer-XL模型,继承了其在处理长文本序列上的优势,同时引入了双向训练机制。双向Transformer编码器:与BERT的双向Transformer不同,XLNet在训练时使用了动态掩码策略,能够处理任意长度的文本序列。相对位置编码:与Transformer-XL一样,XLNet使用相对位置编码,而不是绝对位置编码,这使得模型在处理不同长度的输入时更加灵活。序列长度自适应:XLNet能够根据输入序列的长度动态调整其内部的计算,这在处理长文本时尤为重要。

zhubeibei168的博客 1181

使用mne包来对脑电数据进行预处理(一)

MNE(MNE-Python)是一个用于处理脑电(EEG)、磁图(MEG)和其他神经科学数据的Python库。它提供了丰富的功能,包括数据加载、预处理、分析和可视化,旨在帮助研究人员和神经科学家更轻松地进行脑电数据的处理和分析。在本文中,我们使用mne来对不同的格式的脑电数据集进行数据读取。

m0_71596228的博客 4306

自然语言处理之语言模型:XLNet:XLNet与Transformer-XL的关系

语言模型是NLP中的核心组件,用于评估给定文本序列的概率。它们在许多任务中发挥关键作用,如文本生成、机器翻译和语音识别。语言模型可以分为两类:基于统计的语言模型和基于神经网络的语言模型。多头自注意力:允许模型在不同表示子空间中并行处理信息,增强了模型的表示能力。前馈神经网络:用于对自注意力层的输出进行非线性变换,进一步丰富模型的表示能力。循环机制与相对位置编码:通过将前一段序列的隐藏状态传递给下一段序列,以及使用相对位置编码,模型能够更好地处理长序列,捕捉长距离依赖关系。

zhubeibei168的博客 1167

SpringAI系列 - MCP篇(二) - MCP Server Boot Starter

此处需注意之前的。

罗小爬的技术宝书 1322

微信小程序推广策略,打开小程序领域流量大门

本文旨在为小程序开发者、运营者和企业主提供一套完整的微信小程序推广策略体系,帮助他们在竞争激烈的小程序生态中获得更多流量和用户。内容涵盖从0到1的冷启动策略,到成熟期的增长技巧。本文将首先介绍小程序的基础推广设置,然后深入探讨各种流量获取渠道,接着分析数据驱动的优化方法,最后展望未来发展趋势。小程序:无需下载安装即可使用的应用,运行在微信生态内:独立访客数:页面浏览量转化率:完成目标行为的用户比例留存率:用户在一定时间后仍活跃的比例自然流量获取:通过优化搜索、完善资料等方式获得基础流量社交裂变。

小程序开发 1031

一文详解Google最新NLP模型XLNet

一文详解Google最新NLP模型XLNet 语言模型和BERT各自的优缺点 在论文里作者使用了一些术语,比如自回归(Autoregressive, AR)语言模型和自编码(autoencoding)模型等,这可能让不熟悉的读者感到困惑,因此我们先简单的解释一下。 自回归是时间序列分析或者信号处理领域喜欢用的一个术语,我们这里理解成语言模型就好了:一个句子的生成过程如下:首先根据概率分布生成第一个...

LinusYu的专栏 490

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025 (以YOLOv26最新目标检测模型为基础,利用C3k2_MambaOut创新模块进行改进)

2502_91881744的博客 224

【NLP相关】XLNET原理以及案例

XLNET模型是自然语言处理领域中最近新兴的模型之一,其创新之处在于引入了Transformer XL机制,进一步扩展了Transformer模型的能力。在本文中,我们将介绍XLNET模型的基本原理,其提出和发展的历程,以及关于XLNET的应用和研究进展。在介绍XLNET模型的基本原理之前,我们首先需要了解一下Transformer XL机制。Transformer XL是Transformer模型的扩展版本,其中引入了一种称为“相对位置编码”的机制,以解决Transformer模型中存在的位置信息限制问题

WeLearnNLP 1002

43、FMCW雷达高度计仿真

本文介绍了FMCW雷达高度计的波形级建模与仿真过程,重点模拟了着陆和倾斜两种飞行场景以评估其性能。通过结合高程数据和飞行轨迹构建雷达场景,使用自定义信号处理器分析IQ样本并估计高度。结果表明,该高度计在多数情况下满足性能要求,但也存在误差较大的点,提出了地面检测算法优化的潜在方向。

neovim7hacker的博客 136

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

解锁XLNet:自然语言处理的新力量

在自然语言处理(NLP)的迅猛发展历程中,预训练模型扮演着愈发关键的角色,成为推动 NLP 技术不断突破的核心力量。早期的 NLP 任务主要依赖于传统机器学习算法,如朴素贝叶斯、支持向量机等,这些方法在处理语言问题时,需要大量人工特征工程,且对语言的理解和表达能力有限。随着深度学习的兴起,神经网络模型开始被应用于 NLP 领域,像循环神经网络(RNN)及其变体长短期记忆网络(LSTM)、门控循环单元(GRU)等,能够自动学习文本的特征表示,在一定程度上提升了 NLP 任务的性能。

大雨淅淅的博客 1526

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

自然语言处理中的XLNet的应用

1.背景介绍 1. 背景介绍 自然语言处理(NLP)是人工智能领域的一个重要分支,旨在让计算机理解和生成人类自然语言。在过去的几年里,自然语言处理技术取得了显著的进展,尤其是在语言模型、机器翻译、情感分析等方面。这些成果可以追溯到2017年Google Brain团队提出的Transformer架构,后来被BERT、GPT-2、GPT-3等模型所继承和改进。 在2019年,一位来自Googl...

AI天才研究院 910

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

自然语言处理之情感分析:XLNet:多模态情感分析介绍

多模态数据指的是包含多种类型信息的数据集,例如文本、图像、音频或视频等。在情感分析领域,多模态数据能够提供更全面的上下文信息,帮助模型更准确地理解情感表达。例如,一段视频中的情感不仅可以通过人物的言语内容(文本模态)来判断,还可以通过人物的表情(视觉模态)和语气(音频模态)来辅助理解。XLNet是一种基于Transformer的预训练语言模型,它通过双向训练和掩码语言建模,能够更好地理解文本的上下文关系,从而在多种自然语言处理任务上表现出色。

zhubeibei168的博客 1384

碾压Bert?“屠榜”的XLnet对NLP任务意味着什么

作者张俊林,中国中文信息学会理事,中科院软件所博士。目前担任新浪微博机器学习团队AILab负责人。在此之前,张俊林曾经在阿里巴巴任资深技术专家并负责新技术团队,以及...

AI科技大本营 2430

NLP-5:XLNET

可以参考:xlnet

m0_37531129的博客 1821

XLNet模型第一作者杨植麟:NLP落地的四个技术阶段

作者 |Recurrent.ai来源 |RecurrentAI(ID:gh_0382adb3c10e)近日,Recurrent.ai 联合创始人、XLNet 模型第一...

AI科技大本营 1123

自然语言处理之语言模型:XLNet:自然语言处理基础理论

语言模型(Language Model)是自然语言处理(NLP)领域中的一个核心概念,它用于评估给定句子的概率,即衡量一个句子在语言中的自然度。语言模型在许多NLP任务中扮演着关键角色,包括机器翻译、语音识别、文本生成和问答系统等。其主要作用是预测下一个词出现的概率,从而帮助理解和生成自然语言。XLNet基于Transformer-XL架构,这是一种长序列文本处理的自回归模型。与传统的自回归模型(如GPT系列)不同,XLNet在预测每个位置的词时,可以同时利用该词之前和之后的信息,这得益于其独特的训练策略。

zhubeibei168的博客 1273

自然语言处理之情感分析:XLNet:深度学习与自然语言处理

自然语言处理(Natural Language Processing, NLP)是人工智能领域的一个重要分支,它研究如何让计算机理解、解释和生成人类语言。NLP技术广泛应用于文本分类、情感分析、机器翻译、问答系统、语音识别等场景。随着深度学习的发展,NLP技术取得了显著的进步,能够处理更复杂、更抽象的语言任务。

zhubeibei168的博客 1268

自然语言处理之情感分析:XLNet:预训练语言模型综述

情感分析(Sentiment Analysis)是NLP中的一个子领域,旨在识别和提取文本中的主观信息,判断文本的情感倾向,如正面、负面或中性。情感分析广泛应用于社交媒体监控、产品评论分析、市场情绪分析等场景,帮助企业理解用户反馈,做出更明智的决策。XLNet基于Transformer-XL架构,这是一种长序列文本处理的优化版本。Transformer-XL通过引入相对位置编码和段落级别的循环机制,解决了Transformer在处理长文本时的局限性。XLNet继承了这些特性,并在此基础上进行了创新。

zhubeibei168的博客 1063

【NLP】_12_XLNet

文章目录【一】 XLNet(简单介绍)     【一】 XLNet(简单介绍)

DamonDT 484

自然语言处理之语言模型:XLNet:深度学习与自然语言处理

自然语言处理(Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究如何处理和运用自然语言;自然语言认知则是指让计算机“懂”人类的语言。NLP建立于20世纪50年代,随着计算技术的不断进步,NLP技术在信息检索、文本挖掘、语音识别、机器翻译、情感分析、问答系统等领域得到了广泛应用。

zhubeibei168的博客 1024
上一篇: UniLM:给Bert插上文本生成的翅膀
下一篇: 解决老大难问题-如何一行代码带你随心所欲重新初始化bert的某些参数(附Pytorch代码)
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值