0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

万用NLP模型Transformer的升级版

DPVg_AI_era 来源:lq 2019-02-11 09:37 次阅读

谷歌官方博客今天发文,详细解释了万用NLP模型Transformer的升级版——Transformer-XL,该模型利用两大技术,在5个数据集中都获得了强大的结果。

要正确理解一篇文章,有时需要参考出现在几千个单词后面的一个单词或一个句子。

这是一个长期依赖性(long-range dependence)的例子,这是序列数据中常见的现象,处理许多现实世界的任务都必须理解这种依赖。

虽然人类很自然地就会这样做,但是用神经网络建模长期依赖关系仍然很具挑战性。基于Gating的RNN和梯度裁剪(gradient clipping)技术提高了对长期依赖关性建模的能力,但仍不足以完全解决这个问题。

应对这个挑战的一种方法是使用Transformers,它允许数据单元之间直接连接,能够更好地捕获长期依赖关系。

Transformer 是谷歌在 17 年做机器翻译任务的 “Attention is all you need” 论文中提出的,引起了相当大的反响,业内有“每一位从事 NLP 研发的同仁都应该透彻搞明白 Transformer”的说法。

参考阅读:

Transformer一统江湖:自然语言处理三大特征抽取器比较

然而,在语言建模中,Transformers目前使用固定长度的上下文来实现,即将一个长的文本序列截断为几百个字符的固定长度片段,然后分别处理每个片段。

vanillaTransformer模型在训练时具有固定长度上下文

这造成了两个关键的限制:

算法无法建模超过固定长度的依赖关系。

被分割的片段通常不考虑句子边界,导致上下文碎片化,从而导致优化低效。即使是对于长期依赖性不显著的较短序列,这也是特别麻烦的。

为了解决这些限制,谷歌提出一个新的架构:Transformer-XL,它使自然语言的理解超出了固定长度的上下文。

Transformer-XL由两种技术组成:片段级递归机制(segment-level recurrence mechanism)和相对位置编码方案(relative positional encoding scheme)。

论文:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context(https://arxiv.org/abs/1901.02860)

论文详细解读:谷歌、CMU重磅论文:Transformer升级版,评估速度提升超1800倍!

Segment-level的递归机制

在训练期间,为前一个segment计算的representation被修复并缓存,以便在模型处理下一个新的segment时作为扩展上下文重新利用。

这个额外的连接将最大可能依赖关系长度增加了N倍,其中N表示网络的深度,因为上下文信息现在可以跨片段边界流动。

此外,这种递归机制还解决了上下文碎片问题,为新段前面的token提供了必要的上下文。

在训练期间具有segment-level recurrence的Transformer-XL

相对位置编码

然而,天真地应用 segment-level recurrence是行不通的,因为当我们重用前面的段时,位置编码是不一致的。

例如,考虑一个具有上下文位置[0,1,2,3]的旧段。当处理一个新的段时,我们将两个段合并,得到位置[0,1,2,3,0,1,2,3],其中每个位置id的语义在整个序列中是不连贯的。

为此,我们提出了一种新的相对位置编码方案,使递归机制成为可能。

此外,与其他相对位置编码方案不同,我们的公式使用具有learnable transformations的固定嵌入,而不是earnable embeddings,因此在测试时更适用于较长的序列。

当这两种方法结合使用时,在评估时, Transformer-XL比vanilla Transformer模型具有更长的有效上下文。

在计算时具有固定长度上下文的vanilla Transformer

在评估期间具有segment-level 递归的Transformer-XL

此外,Transformer-XL能够在不需要重新计算的情况下处理新段中的所有元素,从而显著提高了速度(将在下面讨论)。

结果

Transformer-XL在各种主要的语言建模(LM)基准测试中获得新的最优(SoTA)结果,包括长序列和短序列上的字符级和单词级任务。实验证明, Transformer-XL 有三个优势:

Transformer-XL学习的依赖关系比RNN长约80%,比vanilla Transformers模型长450%,尽管后者在性能上比RNN好,但由于固定长度上下文的限制,对于建模长期依赖关系并不是最好的。

由于不需要重复计算,Transformer-XL在语言建模任务的评估期间比vanilla Transformer快1800+倍。

由于建模长期依赖关系的能力,Transformer-XL在长序列上具有更好的困惑度(Perplexity, 预测样本方面更准确),并且通过解决上下文碎片化问题,在短序列上也具有更好的性能。

Transformer-XL在5个数据集上的结果

Transformer-XL在5个数据集上都获得了强大的结果:在enwiki8上将bpc/perplexity的最新 state-of-the-art(SoTA)结果从1.06提高到0.99,在text8上从1.13提高到1.08,在WikiText-103上从20.5提高到18.3,在One Billion Word上从23.7提高到21.8,在Penn Treebank上从55.3提高到54.5。

研究人员展望了Transformer-XL的许多令人兴奋的潜在应用,包括但不限于改进语言模型预训练方法(例如BERT),生成逼真的、长篇的文章,以及在图像和语音领域的应用。

论文中使用的代码、预训练模型和超参数都已全部开源:

https://github.com/kimiyoung/transformer-xl

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器翻译
    +关注

    关注

    0

    文章

    138

    浏览量

    14793
  • 数据集
    +关注

    关注

    4

    文章

    1176

    浏览量

    24340
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21812

原文标题:谷歌升级版Transformer官方解读:更大、更强,解决长文本问题(开源)

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于Transformer模型的压缩方法

    基于Transformer架构的大型模型在人工智能领域中发挥着日益重要的作用,特别是在自然语言处理(NLP)和计算机视觉(CV)领域。
    的头像 发表于 02-22 16:27 259次阅读
    基于<b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>的压缩方法

    真有效值万用表和平均值万用表的区别?

    最近在看福禄克的官网看到几款万用表,15B+和17B+,因为自己也是在用这两款万用表,就看了看这两款万用表的参数,之前一直以为这两款是真有效值万用表,谁知道是均值
    发表于 01-09 17:27

    大语言模型背后的Transformer,与CNN和RNN有何不同

    for Language Understanding》,BERT模型横空出世,并横扫NLP领域11项任务的最佳成绩。而在BERT中发挥重要作用的结构就是Transformer,之后又相继出现XLNET、roBERT等
    的头像 发表于 12-25 08:36 1529次阅读
    大语言<b class='flag-5'>模型</b>背后的<b class='flag-5'>Transformer</b>,与CNN和RNN有何不同

    数字万用表精确测量小电阻

    如何用现有的数字万用表精确测量阻值很小的电阻是工程技术人员经常遇到的问题。万用表电阻Rx,电压测量端S1、S2通过短路线接至Hi-Lo端。数字万用表实际测量到的电阻值包括被测电阻Rx及馈线电阻RL1
    发表于 11-24 07:37

    transformer模型详解:Transformer 模型的压缩方法

     动机&背景 Transformer 模型在各种自然语言任务中取得了显著的成果,但内存和计算资源的瓶颈阻碍了其实用化部署。低秩近似和结构化剪枝是缓解这一瓶颈的主流方法。然而,作者通过分析发现,结构化
    的头像 发表于 07-17 10:50 1314次阅读
    <b class='flag-5'>transformer</b><b class='flag-5'>模型</b>详解:<b class='flag-5'>Transformer</b> <b class='flag-5'>模型</b>的压缩方法

    普通万用表与真有效值万用表的区别##硬声创作季

    万用
    也许吧
    发布于 :2023年07月12日 11:47:39

    万用表的使用方法

    万用
    YS YYDS
    发布于 :2023年07月07日 20:14:27

    万用表使用方法

    万用
    YS YYDS
    发布于 :2023年07月07日 19:04:46

    万用表的使用

    万用
    YS YYDS
    发布于 :2023年06月30日 19:42:15

    万用表的使用方法

    万用
    YS YYDS
    发布于 :2023年06月28日 16:04:58

    万用表怎么测漏电?#万用表#漏电#希望这条视频能帮助到你

    万用
    学习电子知识
    发布于 :2023年06月26日 19:40:37

    万用表使用方法

    万用
    YS YYDS
    发布于 :2023年06月23日 00:48:59

    万用表使用方法

    万用
    YS YYDS
    发布于 :2023年06月20日 13:35:51

    [2.1.1]--万用

    万用
    jf_75936199
    发布于 :2023年05月15日 23:48:45

    教你万用表查找断点

    万用
    YS YYDS
    发布于 :2023年04月22日 19:05:32