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

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

3天内不再提示

CMU、谷歌大脑的研究者最新提出万用NLP模型Transformer的升级版

DPVg_AI_era 来源:lq 2019-01-14 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CMU、谷歌大脑的研究者最新提出万用NLP模型Transformer的升级版——Transformer-XL。这个新架构在5个数据集上都获得了强大的结果,在评估中甚至比原始Transformer快1800+倍。研究人员公开了代码、预训练模型和超参数。

Transformer是谷歌在2017年提出的一个革新性的NLP框架,相信大家对那篇经典论文吸睛的标题仍印象深刻:Attention Is All You Need。

自那以来,业内人士表示,在机器翻译领域,Transformer 已经几乎全面取代 RNN。总之 Transformer 确实是一个非常有效且应用广泛的结构,应该可以算是自 seq2seq 之后又一次 “革命”。

最近,CMU的Zihang Dai,Yiming Yang,Jaime Carbonell,Ruslan Salakhutdinov,以及谷歌的Zhilin Yang(杨值麟),William W. Cohen和Quoc V. Le等人提出了Transformer的升级版——Transformer-XL。这篇论文最初投给ICLR 2019,最新放在arXiv的版本更新了更好的结果,并公开了代码、预训练模型和超参数。

论文地址:

https://arxiv.org/pdf/1901.02860.pdf

Transformer网络具有学习较长期依赖关系的潜力,但是在语言建模的设置中受到固定长度上下文(fixed-length context)的限制。

作为一种解决方案,这篇论文提出一种新的神经网络结构——Transformer-XL,它使Transformer能够在不破坏时间一致性的情况下学习固定长度以外的依赖性。

具体来说,Transformer-XL由一个segment-level的递归机制和一种新的位置编码方案组成。这一方法不仅能够捕获长期依赖关系,而且解决了上下文碎片的问题。

实验结果表明, Transformer-XL学习的依赖关系比RNN长80%,比vanilla Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估中比vanilla Transformer快1800+倍。

此外,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。

他们公布了代码、预训练模型和超参数,在Tensorflow和PyTorch中都可用。

Transformer-XL模型架构

为了解决前面提到的固定长度上下文的限制,Transformer-XL这个新架构(其中XL表示extra long)将递归(recurrence)的概念引入到self-attention网络中。

具体来说,我们不再从头开始计算每个新的段(segment)的隐藏状态,而是重用(reuse)在前一段中获得的隐藏状态。被重用的隐藏状态用作当前段的memory,这就在段之间建立一个循环连接。

因此,建模非常长期的依赖关系成为可能,因为信息可以通过循环连接传播。同时,从上一段传递信息也可以解决上下文碎片(context fragmentation)的问题。

更重要的是,我们展示了使用相对位置编码而不是绝对位置编码的必要性,以便在不造成时间混乱的情况下实现状态重用。因此,我们提出了一个简单但更有效的相对位置编码公式,该公式可以推广到比训练中观察到的更长的attention lengths。

原始Transformer模型

为了将Transformer或self-attention应用到语言建模中,核心问题是如何训练Transformer有效地将任意长的上下文编码为固定大小的表示。给定无限内存和计算,一个简单的解决方案是使用无条件Transformer解码器处理整个上下文序列,类似于前馈神经网络。然而,在实践中,由于资源有限,这通常是不可行的。

图1:一个segment长度为4的vanilla model的图示

一种可行但比较粗略的近似方法是将整个语料库分割成可管理大小的更短的片段,只在每个片段中训练模型,忽略来自前一段的所有上下文信息。这是Al-Rfou et al(2018)提出的想法,我们称之为原始模型(vanilla model),它的图示如图1a。

在评估过程中,vanilla 模型在每个步骤都消耗与训练期间相同长度的一个segment,但是在最后一个位置只是进行一次预测。然后,在下一步中,这个segment只向右移动一个位置,新的segment必须从头开始处理。

如图1b所示,该过程保证了每个预测在训练过程中利用的上下文尽可能长,同时也缓解了训练过程中遇到的上下文碎片问题。然而,这个评估过程成本是非常高的。

接下来,我们将展示我们所提出的架构能够大大提高评估速度。

Transformer-XL

为了解决固定长度上下文的局限性,我们建议在Transformer架构中引入一种递归机制(recurrence mechanism)。

在训练过程中,对上一个segment计算的隐藏状态序列进行修复,并在模型处理下一个新的segment时将其缓存为可重用的扩展上下文,如图2a所示。

图2:一个segment长度为4的Transformer-XL模型

这种递归机制应用于整个语料库的每两个连续的segment,它本质上是在隐藏状态中创建一个segment-level 的递归。因此,所使用的有效上下文可以远远超出两个segments。

除了实现超长的上下文和解决碎片问题外,这种递归方案的另一个好处是显著加快了评估速度。

具体地说,在评估期间,可以重用前面部分的表示,而不是像普通模型那样从头开始计算。在enwiki8数据集的实验中,Transformer-XL在评估过程比普通模型快1800倍以上。

实验和结果

我们将Transformer-XL应用于单词级和字符级语言建模的各种数据集,与state-of-the-art 的系统进行了比较,包括WikiText-103 (Merity et al., 2016), enwiki8 (LLC, 2009), text8 (LLC, 2009), One Billion Word (Chelba et al., 2013), 以及 Penn Treebank (Mikolov & Zweig, 2012).

实验结果表明, Transformer-XL学习的依赖关系比RNN长80%,比vanilla Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估中比vanilla Transformer快1800+倍。

表1:在WikiText-103上与SoTA结果的比较

表2:在enwiki8上与SoTA结果的比较

表3:在text8上与SoTA结果的比较

表4:在One Billion Word上与SoTA结果的比较

表5:在Penn Treebank上与SoTA结果的比较

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。

评估速度

最后,我们将模型的评估速度与vanilla Transformer模型进行了比较。

如表9所示,与Al-Rfou et al. (2018).的架构相比,由于state reuse方案,Transformer-XL的评估速度加快了高达1874倍。

表9:评估时间比较

结论

我们提出了一种新的架构,Transformer-XL,这是一个超出了固定长度的上下文限制的self-attention的语言建模架构。

我们的主要技术贡献包括在一个纯粹的 self-attentive 模型中引入递归的概念,并推导出一种新的位置编码方案。这两种技术形成了一套完整的解决方案,因为它们中的任何一种单独都不能解决固定长度上下文的问题。

Transformer-XL是第一个在字符级和单词级语言建模方面都取得了比RNN更好结果的self-attention模型。Transformer-XL还能够建模比RNN和Transformer更长期的依赖关系,并且与vanilla Transformers相比在评估过程中取得了显著的加速。

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

    关注

    9

    文章

    1203

    浏览量

    42869
  • 谷歌
    +关注

    关注

    27

    文章

    6244

    浏览量

    110263
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106799

原文标题:谷歌、CMU重磅论文:Transformer升级版,评估速度提升超1800倍!

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是数字万用表?

    电子设备的状况需要使用测量仪器来确定。对于无法目测来确定状态的电子设备,建议使用数字万用表进行测量。本节将详细介绍诸如“数字万用表是什么?”“数字万用表与模拟万用表有区别吗?”等数字
    的头像 发表于 08-18 10:00 1897次阅读
    什么是数字<b class='flag-5'>万用</b>表?

    数字万用表是什么?七位半数字万用表/多用表的核心指标应用及技术趋势?

    ‌ 数字万用表(DMM) ‌ ‌ 数字万用表(Digital Multimeter, DMM) ‌ 是一种电子测量仪器,用于测量电压(AC/DC)、电流(AC/DC)、电阻、电容、频率、温度等电学
    的头像 发表于 07-16 18:04 1758次阅读
    数字<b class='flag-5'>万用</b>表是什么?七位半数字<b class='flag-5'>万用</b>表/多用表的核心指标应用及技术趋势?

    智能触屏万用表的科技优势在哪

    在科技飞速发展的今天,电子测量仪器也在不断进化。智能触屏万用表作为新一代的测量工具,正以其独特的优势和创新的功能,为电子工程师、技术人员以及电子爱好带来了前所未有的便捷与高效。今天我们看看智能触屏
    发表于 06-12 16:34

    如何正确选择理想万用

    万用表是专业工具箱中不可或缺的工具,适用于广泛的电气测试任务。从进行彻底的连续性检查和二极管测试到精确的温度测量和全面的数据记录,万用表在维护电气系统健康方面至关重要。
    的头像 发表于 04-09 17:15 1094次阅读

    如何使用MATLAB构建Transformer模型

    Transformer 模型在 2017 年由 Vaswani 等人在论文《Attentionis All You Need》中首次提出。其设计初衷是为了解决自然语言处理(Nature
    的头像 发表于 02-06 10:21 5725次阅读
    如何使用MATLAB构建<b class='flag-5'>Transformer</b><b class='flag-5'>模型</b>

    指针式万用表测量电压技巧

    在电子维修和电气工程领域,准确测量电压是至关重要的。指针式万用表因其直观的读数和可靠性而广受欢迎。 1. 了解指针式万用表 在开始测量之前,了解万用表的基本构造和功能是必要的。指针式万用
    的头像 发表于 01-23 09:32 2555次阅读

    指针式万用表与数字万用表对比

    在电子维修和测试领域,万用表是不可或缺的工具。它们能够测量电压、电流、电阻等多种电气参数。市场上主要有两种类型的万用表:指针式万用表和数字万用表。 指针式
    的头像 发表于 01-23 09:31 4019次阅读

    指针式万用表使用注意事项

    指针式万用表是一种常用的电子测量工具,它可以用来测量电压、电流、电阻等多种电气参数。在使用指针式万用表时,需要注意以下几个方面以确保测量的准确性和安全性: 了解万用表的基本构造和功能 在使用前,应
    的头像 发表于 01-23 09:29 1903次阅读

    如何选择适合的指针式万用

    指针式万用表(Analog Multimeter)是一种常用的电子测量工具,它能够测量电压、电流、电阻等多种电气参数。尽管数字万用表因其精确性和易用性而越来越受欢迎,但指针式万用表因其直观的读数
    的头像 发表于 01-23 09:26 1844次阅读

    指针式万用表测量电流的方法

    一、指针式万用表简介 指针式万用表是一种模拟电子测量仪器,它通过一个可移动的指针来显示测量结果。这种万用表因其直观、易于操作而受到许多电子爱好和技术人员的喜爱。指针式
    的头像 发表于 01-23 09:25 4444次阅读

    指针式万用表功能介绍

    在电子工程和电气维修领域,万用表是不可或缺的工具之一。它能够快速测量电路中的电压、电流和电阻等参数,帮助工程师和技术人员诊断和修复电路问题。 指针式万用表的基本原理 指针式万用表的工作原理
    的头像 发表于 01-23 09:12 3961次阅读

    指针式万用表读数技巧

    1. 了解指针式万用表的基本构造 在使用指针式万用表之前,了解其基本构造是非常重要的。指针式万用表主要由表头、量程选择旋钮、插孔和表盘组成。表头是测量的核心部分,它通过指针的偏转来显示测量结果。量程
    的头像 发表于 01-22 18:20 2741次阅读

    指针式万用表和数字万用表哪个好

    在电子测量领域,万用表是工程师和技术人员不可或缺的工具。它们能够测量电压、电流、电阻等多种电气参数。市场上主要有两种类型的万用表:指针式万用表和数字万用表。 1. 指针式
    的头像 发表于 01-22 17:28 7804次阅读

    指针式万用表使用指南

    一、指针式万用表简介 指针式万用表是一种传统的电子测量工具,因其表头指针的摆动来显示测量结果而得名。与数字万用表相比,指针式万用表在某些情况下能提供更直观的读数,尤其是在测量快速变化的
    的头像 发表于 01-22 17:25 3275次阅读