深入理解深度学习——BERT派生模型:BART(Bidirectional and Auto-Regressive Transformers)

58 篇文章 98 订阅
订阅专栏

分类目录:《深入理解深度学习》总目录


UniLM和XLNet都尝试在一定程度上融合BERT的双向编码思想,以及GPT的单向编码思想,同时兼具自编码的语义理解能力和自回归的文本生成能力。由脸书公司提出的BART(Bidirectional and Auto-Regressive Transformers)也是如此,它是一个兼顾上下文信息和自回归特性的模型。不同的是,UniLM和XLNet的模型结构与BERT基本一致,通过修改训练过程让模型具备了一定的文本生成能力,故模型的主要功能依然是语义理解。BART使用了传统的Transformer结构,不仅继承了BERT的语义理解能力,更展现了强大的序列到序列的文本生成能力。与BERT相比,其改进点如下:

  • 使用原始的Transformer Encoder-Decoder作为模型结构,区别于仅使用Transformer Encoder的BERT和仅使用Transformer Decoder的GPT。
  • 使用多样化的噪声干扰方式,让模型更注重文本的语义理解而不是结构化信息。

在进行语义理解时,BERT会获得一些额外的结构信息,如被掩码词的位置、序列的长度等,这些格式化的信息会让模型直接利用句式结构信息来辅助语义理解,即削弱模型在训练过程中获得的语义理解能力。BART通过引入自回归训练Decoder和多样化噪声,来降低模型对结构化信息的依赖,更注重对文本的理解。同时,在引入Decoder之后,其文本生成能力得到了极大增强。

算法细节

模型结构

BART使用了原始的Transformer Encoder-Decoder结构,具体模型结构和《 深入理解深度学习——Transformer》系列文章中描述的基本一致,唯一的不同在于将激活函数从默认的ReLU改为GeLU。原始的Transformer被提出后用于机器翻译,由于其强大的语义提取能力,GPT将Transformer Decoder作为模型主结构,用于文本生成任务,BERT将Transformer Encoder作为模型主结构,用于文本理解任务。而BART将BERT与GPT合并,即直接使用原始的Transformer结构。三者的模型结构对比如下图所示,下图(a)为BERT的模型结构示意图,其模型结构主体使用双向编码器(Transformer Encoder),输入是带掩码的文本序列,输出是在掩码位置的词;下图(b)为GPT的模型结构示意图,其模型主体使用自回归解码器(Transformer Decoder),输入是正常的句子,输出是每个词的下一个词;下图©是BART的模型结构示意图,其模型主体同时使用双向编码器和自回归解码器(即完整的Transformer结构),输入是带掩码的文本序列,输出是在掩码位置填补预测词的完整序列。
在这里插入图片描述

噪声预训练

为了尽可能地减少模型对结构化信息的依赖,BART使用了5种不同的噪声方式进行训练,如下图所示。

BART使用的5种噪声方式示意图

  • Token Masking:与BERT一样,将个别词随机替换成[MASK],训练模型推断单个词的能力
  • Token Deletion:随机删除个别词,训练模型推断单个词及位置的能力。
  • Text Infilling:将一段连续的词随机替换成[MASK],甚至可以凭空添加[MASK],训练模型根据语义判断[MASK]包含的词及其长度。
  • Sentence Permutation:随机打乱文本序列的顺序,加强模型对词的关联性的提取能力。
  • Document Rotation:将文本序列连成圈,随机选择序列的起始词(保留序列的有序性,随机选择文本起始点),以此训练模型识别句首的能力。

值得注意的是,所有的噪声都添加在Encoder的输入文本上。

下游任务微调
  1. 序列分类任务:序列分类任务的微调改写与GPT的极为相似,即将输出序列最后一个词预测的token作为分类标签进行训练(序列的终止符一般为<EOS>),该终止符等效于BERT的分类标签[CLS],如下图所示:在这里插入图片描述

  2. 单词级别的分类和标注任务:直接将Decoder对应的每一个输出作为分类标签。如下图所示,对于由5个词 A B C D E ABCDE ABCDE组成的句子,在预训练过程中,若Decoder的输入为词 A A A,则训练目标为词 B B B。在单词分类(标注)任务的微调训练过程中,若Decoder的输入为词 A A A,则训练目标为词 A A A对应的类别标签。

  3. 序列到序列任务:由于BART的结构是传统的Transformer,故天然适合做序列到序列任务,不需要额外的改动。

综上所述,BART通过使用多样化的噪声干扰方式进行训练,在文本理解任务上达到与RoBERTa持平的效果,更通过引入Transformer Decoder结构,在多个生成式任务上达到SOTA效果,其模型体积仅比BERT大10%,算是性价比极高的模型。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

Transformer大模型实战 BART模型的架构
程序员光剑
06-29 1096
Transformer大模型实战 BART模型的架构 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming / TextGenWebUILLM Transformer大
BERTBART、T5 等LLM大语言模型的比较分析
iCloudEnd的博客
09-07 566
在这篇博文中,我将讨论 BERTBART 和 T5 等大型语言模型。到 2020 年,法学硕士领域取得的重大进展包括这些模型的开发。BERT和T5是Google开发的,BART是Meta开发的。我将根据这些型号的发布日期按顺序介绍它们的详细信息。在上一篇博客文章自然语言处理的自回归模型中,我讨论了生成式预训练 Transformer 的自回归性质。在这篇博客中,我将比较这些模型与自回归模型的不同之处。因此,如果您还没有查看过上一篇文章,请去查看一下。
深度学习-BART
fj1024的博客
07-15 550
BART 结合双向的 Transformer 编码器与单向的自回归Transformer解码器,通过对含有噪声的输入文本去噪重构进行预训练,是一种典型的 去噪自编码器 (Denoising autoencoder)。5、文本填充:随机采样多个文本片段,片段长度根据泊松分布(λ=3)进行采样得到。4、文档旋转变换:随机选择输入文本中的一个单词,并旋转文档,使其以该单词作为开始。3、句子排列变换:根据句号将输入文本为多个句子,并将句子顺序打乱,为了恢复句子顺序,模型对整段文本语义具备一定的理解能力。
BART: Bidirectional and Auto-Regressive Transformers
zephyr_wang的博客
01-31 1631
1 简介 BART: Bidirectional and Auto-Regressive Transformers. 本文根据2019年《BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension》翻译总结。 BERT是双向encoder,GPT是left-to-right decoder。BART可以说是既有encoder,又有decode
【论文精度】生成式预训练模型——BARTBidirectional and Auto-Regressive Transformers
weixin_45828972的博客
12-17 5574
BART是一个预训练的seq2seq的去噪自编码(denoising autoencoder)模型BART以下方式进行训练①用任意的噪声函数(noising function)去破坏文本;②学习一个模型来重建原始文本。它使用一个标准的基于transformer的神经机器翻译架构,可以看作是BERT(双向编码器)、GPT(left-to-right解码器)以及其他预训练方案的推广。
bert、GPT、bart
weixin_45495671的博客
09-05 524
BERTBidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理模型,由Google于2018年提出。它通过在大规模的文本数据上进行无监督的预训练,学习到了一种丰富的句子表示方法,可以用于各种下游任务,如文本分类、命名实体识别、句子关系判断等。BERT模型的核心组成部分是Transformer结构,这是一种基于自注意力机制的深度神经网络结构。
BART详解
mathor的博客
11-13 1万+
一切都得从Transformer说起。Transformer左半边为Encoder,右半边为Decoder。我们将Encoder输入的句子称为source,Decoder输入的句子称为target [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RE29V0aK-1605251758733)(https://s1.ax1x.com/2020/04/25/JyCdy9.png#shadow)] Encoder负责将source进行self-attention并获得句子中每个词的r
BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation ...
Young, Simple, Naive
10-30 404
双向自回归 Transformer,文本生成效果好
Prompt-Tuning——深度解读一种新的微调范式
热门推荐
夏栀的博客
11-19 7万+
Prompting——深度解读一种全新的微调范式   自从GPT、EMLO、BERT的相继提出,以Pre-training + Fine-tuning 的模式在诸多自然语言处理(NLP)任务中被广泛使用,其先在Pre-training阶段通过一个模型在大规模无监督语料上预先训练一个预训练语言模型(Pre-trained Language Model,PrLM),然后在Fine-tuning阶段基于训练好的语言模型在具体的下游任务上再次进行微调(Fine-tuning),以获得适应下游任务的模型。这种模式在诸
NLP-预训练模型-2019-NLU+NLG:BARTBert+GPT的泛化Seq2Seq模型】【噪声破坏后的原文本喂给编码器,解码器输出原文本】【噪音方案:文本填充(文本片段用单个掩码替换)】
u013250861的博客
09-17 1万+
《原始论文:BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension》 一、摘要 BARTBidirectional and Auto-Regressive Transformers的简写。 BART的训练主要由2个步骤组成: (1)使用任意噪声函数破坏文本; (2)模型学习重建原始文本。 BART 使用基于 Transformer
BART模型-包含网络参数
08-16
中文自动摘要模型,可使用 import torch model.load_state_dict(torch.load('BART.pth')) 进行模型的加载
Transformer大模型实战 了解BART模型
最新发布
AI架构设计之禅
08-03 344
Transformer大模型实战 了解BART模型 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍 1.1 问题的由来 随着深度学
李宏毅机器学习(八)ELMo、BERT、GPT、XLNet、MASS、BART、UniLM、ELECTRA、others
qq_35222729的博客
08-13 1573
怎么得到这个pre-train好的模型呢? Pre-training by Translation(翻译) Context Vector(CoVe): Embedding的words必须要考虑上下文! 有一个方法是用基于Translation的Model! 就是用Translation这个任务间接的训练model! 为什么不用Summary等任务作为工具呢,因为summary是提取某些word的重要性,那么不能做到对所有的word一视同仁! 同时该任务的缺点也在于需要大量的成对的数据,我们不可能有很多的数
深度学习系列30:BART模型
kittyzc的博客
06-10 3880
BARTBidirectional and Auto-Regressive Transformers,双向自回归变压器)用于多模态中将文字转为图像。 参考网上开源的中文bart地址:https://huggingface.co/uer/bart-base-chinese-cluecorpussmall,下面是个使用例子 模型简要描述如下: BART模型架构与transformer相同,但参考GPT模型,将原有ReLU激活函数变成了GeLUs函数。 在预训练时,首先使用多种噪声对原始文本进行破坏,然后通过
【芝麻街一家】& Bert Bart RoBERTa
Zheng_LH
07-24 1941
bert bart roberta
BART模型简单介绍
云隐雾匿的博客
04-14 5919
对于序列分类任务(如文本情感分类),BART模型的编码器与解码器使用相同的输入,将解码器最终时刻的隐含层状态作为输入文本的向量表示,并输入至多类别线性分类器中,再利用该任务的标注数据精调模型参数。与BERT模型的 [CLS] 标记类似,BART模型在解码器的最后时刻额外添加一个特殊标记,并以该标记的隐含层状态作为文本的表示,从而能够利用完整的解码器状态。在这些任务中,编码器的输入是作为条件的输入文本,解码器则以自回归的方式生成对应的目标文本。对于不同的任务,BART模型的精调方式有所不同。
Bert模型:RoBERTa, BART, ALBERT, etc 论文译读
apache的专栏
03-31 2544
Bert模型:RoBERTa, BART, ALBERT, etc
从统计语言模型到预训练语言模型---预训练语言模型BERT,GPT,BART系列)
Hanscal
09-23 492
基于 Transformer 架构以及 Attention 机制,一系列预训练语言模型被不断提出。
WARNING:tensorflow:From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:359: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version. Instructions for updating: Please use rate instead of keep_prob. Rate should be set to rate = 1 - keep_prob. WARNING:tensorflow:From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:673: dense (from tensorflow.python.layers.core) is deprecated and will be removed in a future version. Instructions for updating: Use keras.layers.Dense instead. WARNING:tensorflow:From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\venv\lib\site-packages\tensorflow_core\python\layers\core.py:187: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version. Instructions for updating: Please use layer.__call__ method instead. WARNING:tensorflow:From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:277: The name tf.erf is deprecated. Please use tf.math.erf instead.
07-14
这些警告信息是关于一些 TensorFlow 函数和类的变化和更新的提示。我会逐个解释每个警告的含义: 1. "From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:359: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version. Instructions for updating: Please use rate instead of keep_prob. Rate should be set to rate = 1 - keep_prob." 这个警告表示在 "modeling.py" 文件的第 359 行中,使用了 `dropout` 函数,并传递了 `keep_prob` 参数。然而,将来的 TensorFlow 版本将移除 `keep_prob` 参数,并建议使用 `rate` 参数代替。`rate` 参数的计算方式为 `rate = 1 - keep_prob`。 你可以将代码中的 `keep_prob` 替换为 `rate` 来消除这个警告。 2. "From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:673: dense (from tensorflow.python.layers.core) is deprecated and will be removed in a future version. Instructions for updating: Use keras.layers.Dense instead." 这个警告表示在 "modeling.py" 文件的第 673 行中,使用了 `dense` 函数,但该函数已被废弃,并将在将来的 TensorFlow 版本中移除。建议使用 `keras.layers.Dense` 来代替。 你可以将代码中的 `dense` 替换为 `keras.layers.Dense` 来消除这个警告。 3. "From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\venv\lib\site-packages\tensorflow_core\python\layers\core.py:187: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version. Instructions for updating: Please use layer.__call__ method instead." 这个警告表示在 "core.py" 文件的第 187 行中,使用了 `Layer.apply` 方法,但该方法已被废弃,并将在将来的 TensorFlow 版本中移除。建议使用 `layer.__call__` 方法来代替。 你可以将代码中的 `Layer.apply` 替换为 `layer.__call__` 来消除这个警告。 4. "From E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\modeling.py:277: The name tf.erf is deprecated. Please use tf.math.erf instead." 这个警告表示在 "modeling.py" 文件的第 277 行中,使用了 `tf.erf` 函数,但该函数已被废弃。建议使用 `tf.math.erf` 函数来代替。 你可以将代码中的 `tf.erf` 替换为 `tf.math.erf` 来消除这个警告。 总之,这些警告信息是为了提醒你在代码中使用了已被废弃或即将被移除的 TensorFlow 函数和类。建议根据警告信息中的建议进行相应的更新,以保持代码的兼容性和稳定性。 如果你对这些警告信息有更多疑问或需要进一步帮助,请随时提问。
写文章

热门文章

  • 博客目录与概览 424418
  • Hadoop与Spark等大数据框架介绍 411495
  • 深入理解机器学习——基于决策树(Decision Tree)的模型:分类树和回归树 313469
  • 快速入门Scala(三):循环 283064
  • 快速入门Scala(五):方法与函数 263148

分类专栏

  • 深入理解机器学习 27篇
  • 深入理解深度学习 58篇
  • 深入理解强化学习 59篇
  • 深入理解联邦学习 7篇
  • 机器学习中的数学 112篇
  • 自然语言处理从入门到应用 23篇
  • 大模型从入门到应用 60篇
  • 知识图谱从入门到应用 13篇
  • 深入浅出TensorFlow2函数 25篇
  • 深入浅出Pytorch函数 47篇
  • 深入浅出PaddlePaddle函数 15篇
  • 算法设计与分析 49篇
  • 大数据与数据科学 17篇
  • Python爬虫从入门到精通 23篇
  • 系统学习Python 111篇
  • 快速入门Scala 8篇
  • 人工智能与大数据面试指南 4篇

最新评论

  • 机器学习中的数学——激活函数(十):Softplus函数

    von Neumann: 都需要,如果没有激活函数的线性变化是可以合并的

  • 机器学习中的数学——激活函数(十):Softplus函数

    多年以后ing: 如果期望输出是连续的正数,那么激活函数施加在隐藏层还是输出层呢?

  • 机器学习中的数学——激活函数(十):Softplus函数

    多年以后ing: 请问博主,激活函数施加在隐藏层还是输出层?

  • 知识图谱从入门到应用——知识图谱的知识表示:向量表示方法

    qq_39792085: 作者你好,这里我也感兴趣这个向量库是如何构建的,你给出的这个网页链接失效了,我该如何去搜索相关问题。

  • 机器学习中的数学——激活函数(七):Softmax函数

    Jarvis645: 为什么认为softmax是argmax的soft版本,不应为max函数的soft版本么

最新文章

  • 系统学习Python——装饰器:验证函数的参数案例-[实现细节:匹配算法]
  • 系统学习Python——装饰器:验证函数的参数案例-[实现细节:参数假设]
  • 系统学习Python——装饰器:验证函数的参数案例-[实现细节:函数内省]
2024
04月 4篇
03月 18篇
02月 11篇
01月 33篇
2023年303篇
2022年122篇
2021年114篇
2019年46篇
2018年10篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

von Neumann

您的赞赏是我创作最大的动力~

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

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

打赏作者

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

抵扣说明:

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

余额充值

玻璃钢生产厂家张掖人物玻璃钢雕塑多少钱四川人物玻璃钢雕塑多少钱重庆玻璃钢卡通雕塑厂家供应玻璃钢雕塑翻模过程视频绍兴动物玻璃钢雕塑批发太湖玻璃钢小品雕塑剪映景观玻璃钢花盆玻璃钢花盆的供应商景洪玻璃钢景观雕塑定西户外玻璃钢雕塑公司玻璃钢雕塑工艺品报价彩绘玻璃钢雕塑商场季节性美陈的企划方案镇江春节商场美陈河南肖像玻璃钢彩绘雕塑定制玻璃钢大型茶壶雕塑价格商场美陈 厦门许昌花朵玻璃钢仿铜雕塑制作广西玻璃钢艺术雕塑重庆玻璃钢恐龙雕塑六盘水玻璃钢商场美陈忻州玻璃钢雕塑制作厂家博物馆玻璃钢雕塑安装装饰商场美陈有哪些安丘玻璃钢雕塑系内蒙古仿铜玻璃钢雕塑定做德阳玻璃钢雕塑定做陕西玻璃钢圆环雕塑商场美陈表现形式浙江玻璃钢雕塑定制香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化