Encoder&Only结构—XLNet

XLNet模型 你真的懂XLNet吗? 一、概述 ​ 近日,随着GPT-3模型的新鲜出炉,NLP领域似乎正朝着“烧钱+烧数据”的方向一去不返。从18年的BERT,到19年XLNet,再到如今的GPT-3,烧钱模式愈演愈烈,NLP似乎已经不适合穷人研究了,调参侠的生存空间被严重挤压。尽管如此,在如今开口不提BERT就不好意思说自己是NLPer的时代,我们还是很有必要对这些模型进行深入的了解的。本文主要是借着课程需要的契机,非常非常非常非常详细的介绍XLNet模型。至于XLNet的源码,看情况考虑是否阅读。 二、背景知识 ​ 阅读详情

Encoder&Only结构—XLNet

在自然语言处理(NLP)领域,随着深度学习模型的不断发展,各种创新的预训练模型不断涌现,XLNet便是其中一款备受关注的模型。XLNet通过改进自注意力机制和引入更灵活的预训练目标,克服了传统语言模型的一些局限,并在多个NLP任务中取得了显著的成绩。本文将详细介绍XLNet的原理、优势以及应用,特别是在Encoder&Only结构中的实现。

Encoder&Only架构概述

与传统的Encoder-Decoder架构不同,XLNet采用了Encoder&Only结构,重点关注输入序列的建模,而没有使用解码器部分。这种架构类似于BERT,但XLNet在预训练阶段采用了不同的策略,从而改进了上下文的学习方式。

  • Encoder(编码器):XLNet采用Transformer架构的编码器部分,对输入序列进行建模。与BERT不同,XLNet的编码器可以通过更灵活的方式处理上下文信息,从而提高对长距离依赖关系的建模能力。

  • Decoder(解码器):XLNet并没有使用解码器部分,而是通过生成序列的方式进行任务训练。在自回归生成任务中,模型会基于上下文信息生成下一个词或单元。

XLNet的创新点

1. 自回归预训练

XLNet的核心创新之一是采用了自回归的预训练策略。传统的语言模型(如BERT)使用了掩蔽语言模型(Masked Language Model, MLM)来进行预训练,即随机掩盖输入序列中的某些词,并让模型预测这些词是什么。而XLNet则采用了一个自回归预训练目标,通过对输入序列的所有词进行排列组合,并通过重排序的方式来生成不同的上下文,学习到更为丰富的语言表示。

这种策略使得XLNet能够比BERT更好地捕捉到序列中的依赖关系,尤其是在长距离依赖方面表现得更加突出。

2. Permuted Language Modeling(PLM)

在XLNet中,模型并不是只预测一个特定的词,而是通过**排列语言建模(Permuted Language Modeling,PLM)**的方式,创建多个可能的排列顺序。具体而言,XLNet在训练时,通过随机排列输入序列中的单词,并在每个排列中学习如何从之前的单词预测下一个词。这种方法能够使模型捕捉到不同的上下文模式,同时解决了传统模型中存在的单向依赖问题。

与BERT相比,XLNet并没有随机掩盖某些词,而是通过在每个排列中同时使用前后上下文来进行训练,这使得它在语言理解方面更加灵活。

3. 无序建模

XLNet通过无序建模(Unidirectional Autoregressive Modeling)在建模上增强了序列信息的灵活性。传统的掩蔽语言模型通常是局部的,而XLNet的无序建模能够在训练阶段模拟多种不同的语言排列,从而更好地捕捉全局上下文。

4. 改进的注意力机制

与BERT类似,XLNet也使用了Transformer中的自注意力机制。然而,XLNet对标准自注意力机制进行了改进,允许模型在训练过程中灵活地处理不同的上下文信息。具体而言,XLNet使用了一种新型的局部-全局注意力策略,能够更好地捕捉序列中的细节信息和全局依赖。

XLNet的优势

  1. 捕捉更丰富的上下文信息:
    通过自回归预训练和排列语言建模,XLNet能够比BERT更好地建模上下文信息,尤其是在长文本的理解上表现更为突出。它避免了BERT中存在的局限性,例如依赖于掩蔽的训练方式。

  2. 强大的迁移学习能力:
    与BERT类似,XLNet同样具备强大的迁移学习能力。通过在大规模语料库上进行预训练,XLNet能够捕捉普适的语言知识,并通过微调来快速适应各种下游任务,如问答、情感分析、文本分类等。

  3. 提高了序列建模的灵活性:
    XLNet通过排列语言建模的方式增强了序列建模的灵活性,它允许模型在不同的排列中进行学习,从而能够更全面地捕捉到语言中的多样性。

  4. 无需掩蔽词语:
    传统的BERT模型需要掩蔽输入中的某些词汇,而XLNet则完全避免了这一点。通过PLM任务,XLNet能够通过不同的排列方式进行训练,不会受到固定掩蔽词语的影响。

XLNet的应用

XLNet作为一种预训练模型,已经在许多NLP任务中取得了优异的成绩。以下是XLNet的一些主要应用场景:

  • 文本分类:XLNet能够高效地处理文本分类任务,在情感分析、新闻分类等任务中表现出色。
  • 问答系统(QA):XLNet在机器阅读理解和开放域问答任务中具有强大的性能。通过微调,XLNet能够理解复杂的问答上下文并提供准确的答案。
  • 命名实体识别(NER):XLNet可以准确识别文本中的人名、地点、时间等实体,广泛应用于信息提取任务。
  • 文本生成:XLNet通过自回归的方式可以生成高质量的文本内容,应用于摘要生成、文章重写等任务。
  • 语义匹配:XLNet能够理解文本之间的语义关系,广泛应用于句子对匹配、文本匹配等任务。

XLNet的局限性

尽管XLNet在许多任务上表现优秀,但它也有一些局限性:

  1. 计算资源消耗大:
    由于XLNet的训练需要进行多次排列和自回归预训练,这使得XLNet的计算资源消耗较大。在训练过程中,特别是在大规模语料上进行训练时,模型需要更多的时间和GPU资源。

  2. 实现复杂度较高:
    相比于BERT,XLNet的实现要复杂一些,尤其是在处理排列语言建模和自回归任务时,需要更复杂的计算和存储结构。

  3. 模型参数较多:
    XLNet的模型参数较多,在应用时需要更高的存储和计算能力。因此,对于一些计算资源有限的场景,可能需要考虑使用精简版的XLNet或其他更轻量化的模型。

结论

XLNet作为一种Encoder-Only结构的预训练语言模型,通过创新的排列语言建模和自回归训练方式,在多种NLP任务中取得了显著的性能提升。它克服了传统语言模型中的一些局限,提供了更灵活的上下文建模能力。尽管XLNet在训练和计算资源上有一定的挑战,但它的强大能力使得它在实际应用中具有广泛的前景。

随着NLP技术的不断发展,XLNet和其他基于Transformer架构的模型(如BERT、RoBERTa等)将继续推动语言处理领域的创新,并为实际应用提供强有力的支持。

参考文献


XLNET原理详解 论文原文地址​arxiv.orgGitHub论文源码下载​github.com0. XLNet概述XLNet是一个语言模型。和ELMO,GPT,BERT一脉相承,同时借鉴了Transformer-XL,故称XLNet(XL含义源于衣服尺码,意思是模型横向更宽);并提出一些新方法改善了Bert存在的问题,目前取得了全面超越Bert的成果。和Bert一样,XLNet也分为Pre-train和Fine-tune两阶段;并且参数规模比Bert更大。1. AR(autoregressive) vs AE(autoen 阅读详情

相关推荐

DeepCAD: 使用深度自监督学习技术在Python中进行钙成像去噪的全面指南

钙成像是一种用于观察神经活动的技术,通过检测细胞内钙离子的变化来推断神经元的活动。由于其高时空分辨率和对活体组织的适应性,钙成像已经成为神经科学研究中的重要工具。然而,钙成像数据往往伴随着各种噪声,这些噪声可能来自于设备、生物样本或环境。为了获得准确的神经活动信息,去噪是非常关键的。深度自监督学习是一种使用未标记数据进行训练的机器学习方法。与传统的监督学习不同,它不需要大量的标记数据,而是通过学习数据的内部结构和模式来提取有用的特征。DeepCAD是一个基于深度自监督学习的钙成像去噪工具。

qq_38334677的博客 758

用深度学习解决NLP中的命名实体识别(NER)问题(深度学习入门项目)

前言 离线训练 样本数据 训练 数据编码 模型搭建 加载数据 评估模型 在线预测 tensorflow serving 介绍 模型保存格式 加载模型 客户端请求 运行环境 相关链接 本文源码已经上传至 github.: https://github.com/HuBlanker/Keras-Chinese-NER 本文主要理论依据论文:Bidirectional LSTM-CR...

呼延十 3144

遇到问题--OpenClaw--API rate limit reached. Please try again later429 您的账户已达到速率限制,请您控制请求频率

OpenClaw调用glm-4.7-flash模型时触发智谱AI平台429速率限制错误。分析发现当前重试策略采用固定间隔(7-11秒)导致连续失败,且未记录关键响应头信息。解决方案分三步:1)开启响应头日志获取配额详情;2)将重试策略改为带抖动的指数退避(初始1秒,最大60秒);3)在网关层实现令牌桶限流主动控制请求频率。需特别注意令牌配额(TPM)可能比请求次数(RPM)更早触达限制。

直到世界的尽头 2622

XLNet 模型结构详细解析:从输入到输出的维度变化

XLNet 模型结构详细解析

sdsasaAAS的博客 1382

SAP-ABAP:在SAP系统中,COEP表(成本控制对象行项目表)详解

在SAP系统中,COEP表(成本控制对象行项目表)详解

baidu_35680696的博客 1840

SOI LDMOS器件的Sentaurus TCAD建模与关键电学特性仿真研究

本文研究了SOI LDMOS器件的TCAD建模与电学特性仿真。通过Sentaurus TCAD平台建立了单RESURF结构的SOI LDMOS模型,详细阐述了器件结构原理和RESURF耐压机制。研究采用SDE进行几何定义和掺杂配置,在Sentaurus Device中构建了完整的物理模型体系,包括迁移率、复合和碰撞电离模型。通过系统仿真提取了器件的转移特性、输出特性和击穿特性等关键参数,分析了各参数对性能的影响规律。研究结果为功率半导体器件的仿真建模提供了规范化参考,有助于优化SOI LDMOS的性能设计。

huanghm88的专栏 134

【简单理解】XLNet

【简单理解】XLNet 1. 简单介绍XLNet XLNet是一个通过排列语言模型实现双向上下文信息的自回归模型。它通过随机排列输入序列而预测某个位置可能出现的词,进而训练出具有上下文的语境化词向量。 XLNet是一个类似BERT的模型,但是它采用了通用的自回归预训练方法(AR模型),而基于DAE的Bert模型采用的则是降噪自动编码方法(AE模型),bert和AR模型的区别主要是在以下三方...

weixin_44151089的博客 959

弱网、高热、只有 32MB 内存:恶劣环境下嵌入式 SoC 音视频开发的“不死”法则

永远不要假设。你申请一个 1920 宽的图像,硬件为了对齐(比如 16 字节对齐或 256 字节对齐),实际分配的一行可能有 1936 甚至是 2048 字节。那个多出来的部分叫Padding。如果你写代码时用来计算数据量,或者用Width来做指针偏移:恭喜你,你的画面会像被风吹歪的百叶窗一样,产生斜切畸变。永远使用VB_CONF结构体里返回的u32Stride字段。这是区分新手和老手的试金石。第六章 ISP 调优(Tuning)实战:为什么你调出的画面像个“鬼片”?

大模型大数据攻城狮的专栏 1769

【通览一百个大模型】XLNet(Google)

从宏观来看,XLNet 实现了站在巨人 BERT 肩膀上的新的突破,将 AR 模型和双向训练有机地结合在一起。从微观来看,XLNet 引入的几个改进方法各有所长:Permutation LM 使得语言模型在训练时可以充分利用上下文的信息;Two-stream encoding 很好地区分了预测目标和非预测目标的 attention 的计算使结果更训练更加合理;

夏栀的博客 1192

2021.07.05【R语言】丨预测lncRNA并绘制venn图

目录摘要环境与方法依赖工具预测工具绘制工具使用命令预测lncRNA统计noncoding_ID绘制Venn图结果展示总结 摘要 接到一个单样品测lncRNA数据的项目,正好拿来练练手,梳理一下lncRNA流程。这里记录预测lncRNA并生成venn图的过程 环境与方法 R version 3.6.3 (2020-02-29) 依赖工具 预测工具 CPC2 CNCI Pfam CPAT 绘制工具 R:VennDiagram 使用命令 预测lncRNA CPC2 #更换env conda activate py

2035

Detector-Free SfM 项目复现完整指南:从环境搭建到代码解析与可视化

本文提供了Detector-Free SfM项目的完整复现指南,涵盖技术背景、环境配置、代码解析和可视化方案。重点包括: 技术背景:Detector-Free SfM通过两阶段策略(粗重建+迭代精化)解决了传统SfM在弱纹理区域的瓶颈问题,采用深度学习匹配器替代传统特征点检测。 环境配置: 详细硬件要求与推荐配置(GPU/CPU/内存) 完整的Ubuntu系统设置步骤 Conda环境创建与依赖安装流程 关键组件安装指南(PyTorch、COLMAP等) 常见错误解决方案 项目特点: 支持多种Detector

huanghm88的专栏 121

Pytorch——XLNet 预训练模型及命名实体识别

介绍 在之前我们介绍和使用了 BERT 预训练模型和 GPT-2 预训练模型,分别进行了文本分类和文本生成次。我们将介绍 XLNet 预训练模型,并使用其进行命名实体识别次。 知识点 XLNet 在 BERT 和 GPT-2 上的改进 XLNet 模型结构 使用 XLNet 进行命名实体识别次 谷歌的团队继 BERT 模型之后,在 2019 年中旬又提出了 XLNet 模型。XLNet 在多达 20 个任务上均取得了超越 BERT 的成绩,还在如问答系统、自然语言推理、情感分析、文本排序等任...

张伟的专栏 3007

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3751

XLNet预训练模型,看这篇就够了!(代码实现)

文章目录1. 什么是XLNet2. 自回归语言模型(Autoregressive LM)3. 自编码语言模型(Autoencoder LM)4. XLNet模型4.1 排列语言建模(Permutation Language Modeling)4.2 Transformer XL4.2.1 vanilla Transformer4.2.2 Transformer XL5. XLNet与BERT比较6...

mantch 4522

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

XLNet详解

XLNet详解

qq_41980734的博客 1257

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

XLNet模型详解

这两天在网上找了很多博客资料看,有些博文写的很好,但总感觉还是漏了一点东西,让我一直有些地方搞不懂,最终还是看了原论文(偷懒不行啊。。。)。这里就记录一下我的理解,肯定还是有不全的地方,仅供参考。 先附上原论文:https://paperswithcode.com/method/xlnet pytorch版本代码:https://github.com/huggingface/transformers/blob/master/src/transformers/models/xlnet XLNet提出的目的就是

lppfwl的博客 3839

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

最通俗易懂的XLNET详解

Two-Stream Self-Attention for Target-Aware Representations XLNET其中一个优化点是基于目标感知表征的双流自注意力 虽然排列语言模型能满足目前的目标,但是对于普通的transformer结构来说是存在一定的问题的,为什么这么说呢,看个例子,假设我们要求这样的一个对数似然,pθ(Xzt∣xz<t)p_{\theta} (X_{...

u012526436的博客 6万+

XLNet原理解读

论文地址:https://arxiv.org/pdf/1906.08237.pdf 预训练模型及代码地址:https://github.com/zihangdai/xlnet 论文原理:(张俊林老师--讲的比较透彻)XLNet:运行机制及和Bert的异同比较https://zhuanlan.zhihu.com/p/70257427 摘要 作者表示,BERT ...

小岁月太着急 4万+

XLNet 详解

2020-01-04 13:40:02 BERT 训练时将部分单词 mask 起来,使模型能够利用句子双向的信息,在很多 NLU 任务上取得很好的效果。但是 BERT 忽略了 mask 单词之间的关系,且微调过程与预训练过程不一致 (微调时没有 mask 的单词)。XLNet 采用了 PLM (Permutation Language Model) ,将句子随机排列,然后用自回归的方法训练,从...

喜欢打酱油的老鸟 1757

XLNet代码分析

转载自http://fancyerii.github.io/2019/06/30/xlnet-codes/ 如需删除请联系谢谢 目录 训练的代价(钱) 安装 Pretraining 训练数据格式 运行预处理数据 data_utils.py代码分析 处理每一个文件的过程 拼接前的预处理和拼接 create_tfrecords函数 准备数据 生成Pr...

小岁月太着急 4376

XLNet原理介绍

1. 引言 前面介绍了ELMo、BERT、CSE等语言模型,这些语言模型在很多下游NLP任务上都取得了不错的成绩,根据他们的目标函数和模型的结构,可以大致将这些模型分为两大类,即自回归模型(autoregressive,AR)和自编码模型(autoencoding,AE)。对于给定的一个文本序列x=(x1,⋯ ,xT)\mathbf{x}=\left(x_{1}, \c...

linchuhai的博客 1635

GitHub万星NLP资源大升级:实现Pytorch和TF深度互操作,集成32个最新预训练模型...

乾明 鱼羊 发自 凹非寺量子位 报道 | 公众号 QbitAIGitHub上最火的NLP项目,标星13000+,现在迎来重大更新。刚刚, 抱抱脸(Hugging Fac...

量子位 615

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 247

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 2万+

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 509
上一篇: Encoder&Only结构—BERT
下一篇: 论文阅读—《Stacked Attention Networks for Image Question Answering》
DoYangTan
博客等级 码龄5年 1946粉丝 319原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值