论文阅读 | Transformer-XL: Attentive Language Models beyond a Fixed-Length Context

0 简述

Transformer最大的问题:在语言建模时的设置受到固定长度上下文的限制。

本文提出的Transformer-XL,使学习不再仅仅依赖于定长,且不破坏时间的相关性。

Transformer-XL包含segment-level 循环机制和positional编码框架。不仅可以捕捉长时依赖,还可以解决上下文断片问题 fragmentation problem。可以学到比RNNs长80%的依赖,比vanilla Transformers长450%。在长短序列上都取得了更好的结果。与vanilla Transformer相比,Transformer-XL的另一个优势是它可以被用于单词级和字符级的语言建模。

以下均以Transformer为基础, 回顾Transformer:

1 vanilla Transformer

Transformer-XL基于该模型改进。该模型基于Transformer,根据之前的字符预测片段中的下一个字符:例如,使用x1 x2 ... xn-1 预测字符xn,xn之后的序列被mask。

论文中,使用64层模型,并仅限于处理512个字符(定长)这种相对较短的输入,因此,它将输入分成段,分别从每个段中进行学习,如下图所示。在测试阶段如需处理较长的输入,该模型会在每一步中将输入向右移动一个字符,以此实现对单个字符的预测。

该模型在常用的数据集如enwik8和text8上的表现比RNN模型要好,但它仍有以下3个缺点:

a. 上下文长度受限:字符之间的最大依赖距离受输入长度的限制,模型看不到出现在几个句子之前的单词。

b. 上下文碎片:对于长度超过512个字符的文本,都是从头开始单独训练的。段与段之间没有上下文依赖性,会让训练效率低下,也会影响模型的性能。

c. 推理速度慢:在测试阶段,每次预测下一个单词,都需要重新构建一遍上下文,并从头开始计算,这样的计算速度非常慢。

2 Transformer-XL:循环机制

与vanilla Transformer的基本思路一样,Transformer-XL仍然是使用分段的方式进行建模,但其与vanilla Transformer的本质不同是在于引入了段与段之间的循环机制,使得当前段在建模的时候能够利用之前段的信息来实现长期依赖性。如下图所示:

在训练阶段,处理后面的段时,每个隐藏层都会接收两个输入:

  1. 该段的前面隐藏层的输出,与vanilla Transformer相同(上图的灰色线)。
  2. 前面段的隐藏层的输出(上图的绿色线),可以使模型创建长期依赖关系。

这两个输入会被拼接,然后用于计算当前段的Key和Value矩阵。对于某个段的某一层的具体计算公式如下:

其中,τ表示第几段,n表示第几层,h表示隐层的输出。SG(⋅)表示停止计算梯度,[hu°hv]表示在长度维度上的两个隐层的拼接,W是模型参数。乍一看与Transformer中的计算公式很像,唯一关键的不同就在于Key和Value矩阵的计算上,即knτ+1和vnτ+1,它们基于的是扩展后的上下文隐层状态h˜n−1τ+1进行计算,hn−1τ是之前段的缓存。

原则上只要GPU内存允许,该方法可以利用前面更多段的信息,测试阶段也可以获得更长的依赖。

在测试阶段,与vanilla Transformer相比,其速度也会更快。在vanilla Transformer中,一次只能前进一个step,并且需要重新构建段,并全部从头开始计算;而在Transformer-XL中,每次可以前进一整个段,并利用之前段的数据来预测当前段的输出。

3 Transformer-XL:相对位置编码

在Transformer中,一个重要的地方在于其考虑了序列的位置信息。在分段的情况下,如果仅仅对于每个段仍直接使用Transformer中的位置编码,即每个不同段在同一个位置上的表示使用相同的位置编码,就会出现问题。比如,第i−2段和第i−1段的第一个位置将具有相同的位置编码,但它们对于第i段的建模重要性显然并不相同(例如第i−2段中的第一个位置重要性可能要低一些)。因此,需要对这种位置进行区分。

论文对于这个问题,提出了一种新的位置编码的方式,即会根据词之间的相对距离而非像Transformer中的绝对位置进行编码。在Transformer中,第一层的计算查询qTi和键kj之间的attention分数的方式为:

其中,Exi是词i的embedding,Exj是词j的embedding,Ui和Uj是位置向量,该公式实际上是(Wq(Exi + Ui)) T · (Wk(Exj + Uj))的展开,就是Transformer中的标准格式。

在Transformer-XL中,对上述的attention计算方式进行了变换,转为相对位置的计算,而且不仅仅在第一层这么计算,在每一层都是这样计算。

对比来看,主要有三点变化:

  1. 在(b)和(d)这两项中,将所有绝对位置向量Uj都转为相对位置向量Ri−j,与Transformer一样,这是一个固定的编码向量,不需要学习。
  2. 在(c)这一项中,将查询的UTiWTq? 向量转为一个需要学习的参数向量u,因为在考虑相对位置的时候,不需要查询的绝对位置i,因此对于任意的i,都可以采用同样的向量。同理,在(d)这一项中,也将查询的UTiWTq向量转为另一个需要学习的参数向量v。
  3. 将键的权重变换矩阵Wk转为Wk,E和Wk,R,分别作为content-based key vectors和location-based key vectors。

* 从另一个角度来解读这个公式的话,可以将attention的计算分为如下四个部分:

  1. 基于内容的“寻址”,即没有添加原始位置编码的原始分数。
  2. 基于内容的位置偏置,即相对于当前内容的位置偏差。
  3. 全局的内容偏置,用于衡量key的重要性。
  4. 全局的位置偏置,根据query和key之间的距离调整重要性。

4 Transformer-XL:整体计算公式

结合上面两个创新点,将Transformer-XL模型的整体计算公式整理如下,这里考虑一个N层的只有一个注意力头的模型:

5 总结

1. 模型特点

在 AI-Rfou 等人提出的vanilla Transformer上做了两点创新:

  1. 引入循环机制(Recurrence Mechanism)
  2. 相对位置编码(Relative Positional Encoding)

2. 优点

  1. 在几种不同的数据集(大/小,字符级别/单词级别等)均实现了最先进的语言建模结果。
  2. 结合了深度学习的两个重要概念——循环机制和注意力机制,允许模型学习长期依赖性,且可能可以扩展到需要该能力的其他深度学习领域,例如音频分析(如每秒16k样本的语音数据)等。
  3. 在inference阶段非常快,比之前最先进的利用Transformer模型进行语言建模的方法快300~1800倍。
  4. 有详尽的源码!含TensorFlow和PyTorch版本的,并且有TensorFlow预训练好的模型及各个数据集上详尽的超参数设置。

3. 不足

  1. 尚未在具体的NLP任务如情感分析、QA等上应用。
  2. 没有给出与其他的基于Transformer的模型,如BERT等,对比有何优势。
  3. 在Github源码中提到,目前的sota结果是在TPU大集群上训练得出,对于我等渣机器党就只能玩玩base模式了。

参考:CSDN

原文地址:https://www.cnblogs.com/shona/p/12041055.html

时间: 2024-10-12 00:26:59

论文阅读 | Transformer-XL: Attentive Language Models beyond a Fixed-Length Context的相关文章

《Deepening Hidden Representations from Pre-trained Language Models for Natural Language Understanding》-阅读心得

文章名<Deepening Hidden Representations from Pre-trained Language Models for Natural Language Understanding>,2019,单位:上海交大 从预训练语言模型中深化语言表示 摘要:基于Transformer的预训练语言模型已经被证明在语境化语言表征方面是有效的,然而,当前的方法在下游任务的微调过程中都仅仅是利用编码器的最后一层输出信息.那么,只是单纯的利用单一层的输出会限制预训练表征的能力,因此,我

论文阅读方法

论文阅读方法 别先读摘要,从导言部分入手 找出大问题 这个领域正在设法解决什么问题? 以不超过5句话的篇幅总结背景 为解决这一"大问题",这一领域做过什么努力?之前的工作有什么局限?在作者看来,下一步需要做什么?简洁地解释为什么要进行这项研究. 找出具体问题 作者在他们的研究中究竟想回答什么问题?把这些问题(不一定是一个)写下来.如果是那种研究一个或者多个零假设的研究,把零假设辨别出来. 弄清解决手段 为了回答这些具体的问题,作者要怎么做? 阅读方法部分 为每一个实验画出一个图表,画出

Google File System 论文阅读笔记

核心目标:Google File System是一个面向密集应用的,可伸缩的大规模分布式文件系统.GFS运行在廉价的设备上,提供给了灾难冗余的能力,为大量客户机提供了高性能的服务. 1.一系列前提 GFS的系统构建针对其自身使用的特点在传统的分布式系统的基础上又进行了一些创新,基于的前提假设主要包括以下方面: 1.由于系统由廉价的商用机构成,组件失效被认为是一种常态,系统必须可以持续监控自身的状态. 2.系统存储以大文件为主,小文件也支持,但是没有进行特别的优化处理. 3.系统的工作负载主要包含

深度学习论文阅读笔记--Deep Learning Face Representation from Predicting 10,000 Classes

来自:CVPR 2014   作者:Yi Sun ,Xiaogang Wang,Xiaoao Tang 题目:Deep Learning Face Representation from Predicting 10,000 Classes 主要内容:通过深度学习来进行图像高级特征表示(DeepID),进而进行人脸的分类. 优点:在人脸验证上面做,可以很好的扩展到其他的应用,并且夸数据库有效性:在数据库中的类别越多时,其泛化能力越强,特征比较少,不像其他特征好几K甚至上M,好的泛化能力+不过拟合于

论文阅读--Scalable Object Detection using Deep Neural Networks

Scalable Object Detection using Deep Neural Networks 作者: Dumitru Erhan, Christian Szegedy, Alexander Toshev, and Dragomir Anguelov 引用: Erhan, Dumitru, et al. "Scalable object detection using deep neural networks." Proceedings of the IEEE Confere

论文阅读记录: Automatic Image Colorization sig16

sig论文阅读记录 Let there be Color!: Joint End-to-end Learning of Global and Local Image Priorsfor Automatic Image Colorization with Simultaneous Classification ( siggraph 2016 ) 论文简介 论文主页:http://hi.cs.waseda.ac.jp/~iizuka/projects/colorization/en/ 作者是来自Wa

【NLP】Conditional Language Models

Language Model estimates the probs that the sequences of words can be a sentence said by a human. Training it, we can get the embeddings of the whole vocabulary. UnConditional Language Model  just assigns probs to sequences of words. That's to say, g

论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection

论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet.ExtremeNet,以及最近的FSAF.FoveaBox,避免了复杂的超参数设计,而且具有很好的检测效果.本文作者提出了一种全卷积的单阶段目标检测算法,类似于语义分割的做法使用像素级预测.该检测框架简单有效,而且可以方便地用于其他任务. 简介 再啰嗦一下基于anchor的检测算法的缺陷: 1.检测

论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd

论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd 2019年04月11日 23:08:02 Kivee123 阅读数 836 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_37014750/article/details/89222334 Adaptive-NMS(CVPR 2019) 文章  又是一篇在NMS上