美文网首页深度学习笔记
Transformer-XL: 在自注意力模型中处理长距离依赖

Transformer-XL: 在自注意力模型中处理长距离依赖

作者: 湘港记者 | 来源:发表于2020-06-06 16:49 被阅读0次

我的博客: 菱歌's Blog | 听见美好
笔记原文地址:论文阅读笔记(3):Transformer-XL

论文题目:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context,下载链接

主要观点

  • 如何赋予编码器捕获长距离依赖的能力

  • 通过随机排列自然语言而预测某个位置可能出现的词,传统自回归语言模型的推广

问题

建立长期依赖:LSTM-->Transformer,带来问题:

  • 固定长度(segment),对长文本效果不佳;

  • 文本截断导致各个片段之间的信息也被截断,缺少上下文信息。

方法

片段级递归机制(segment-level recurrence mechanism)

用途:记忆机制,储存前一片段的信息,然后与当前片段信息拼接,公式如下。

\widetilde{\mathbf{h}}_{\tau+1}^{n-1}=\left[\mathrm{SG}\left(\mathbf{h}_{\tau}^{n-1}\right) \circ \mathbf{h}_{\tau+1}^{n-1}\right] \\ \mathbf{q}_{\tau+1}^{n}, \mathbf{k}_{\tau+1}^{n}, \mathbf{v}_{\tau+1}^{n}=\mathbf{h}_{\tau+1}^{n-1} \mathbf{W}_{q}^{\top}, \widetilde{\mathbf{h}}_{\tau+1}^{n-1} \mathbf{W}_{k}^{\top}, \widetilde{\mathbf{h}}_{\tau+1}^{n-1} \mathbf{W}_{v}^{\top} \\ \mathbf{h}_{\tau+1}^{n}= TRML \left(\mathbf{q}_{\tau+1}^{n}, \mathbf{k}_{\tau+1}^{n}, \mathbf{v}_{\tau+1}^{n}\right)
其中,\widetilde{\mathbf{h}}_{\tau+1}^{n-1}即前一片段的信息(TRM输出向量),SG指stop-gradient,[\circ]指concat,TRML指Transformer Layer.

注意:记忆的状态可以不止前一个segment,在本文实验中,状态的size和attention的length(即segment长度)相同。相当暴力...

相对位置编码机制(relative position embedding scheme)

用途:编码文本在不同片段的相对位置。

传统方法中,因为各个segment是没有联系的,在位置编码时只关注一个segment,采用绝对位置编码对1:L进行编码:

\begin{aligned} \mathbf{h}_{\tau+1} &=f\left(\mathbf{h}_{\tau}, \mathbf{E}_{\mathbf{s}_{\tau+1}}+\mathbf{U}_{1: L}\right) \\ \mathbf{h}_{\tau} &=f\left(\mathbf{h}_{\tau-1}, \mathbf{E}_{\mathbf{s}_{\tau}}+\mathbf{U}_{1: L}\right) \end{aligned}

可以看到,在\tau\tau+1,使用的位置编码是相同的,导致信息混淆。

传统的Attention:

\begin{aligned} \mathbf{A}_{i, j}^{\mathrm{abs}} &=\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{E}_{x_{j}}}_{(a)}+\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{U}_{j}}_{(b)} \\ &+\underbrace{\mathbf{U}_{i}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{E}_{x_{j}}}_{(c)}+\underbrace{\mathbf{U}_{i}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{U}_{j}}_{(d)} \end{aligned}

与原Transformer中类似,提出一个\mathbf{R} \in \mathbb{R}^{L} \max \times d,其中来表示\mathbf{R}_{i}表示距离为i的两个位置,表达式改写为:

\begin{aligned} \mathbf{A}_{i, j}^{\mathrm{rel}} &=\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k, E} \mathbf{E}_{x_{j}}}_{(a)}+\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k, R} \mathbf{R}_{i-j}}_{(b)} \\ &+\underbrace{u^{\top} \mathbf{W}_{k, E} \mathbf{E}_{x_{j}}}_{(c)}+\underbrace{v^{\top} \mathbf{W}_{k, R} \mathbf{R}_{i-j}}_{(d)} \end{aligned}

其中,主要的变化为:

  • \mathbf{U}_{j}变成了\mathbf{R}_{i-j}:用相对位置替换绝对位置;

  • \mathbf{U}_{i}^{\top} \mathbf{W}_{q}^{\top}变成了u \in \mathbb{R}^{d}v \in \mathbb{R}^{d}:之前是绝对位置编码作为query,在考虑相对位置的情况下,不需要查询绝对位置,所以将其改为可训练的向量;

  • c,d中区分\mathbf{W}_{k, E}\mathbf{W}_{k, R}:分别产生基于内容和位置的key(猜测是因为c项中没有位置相关信息了,所以将位置和内容信息分离开,效果更好。)

其中各部分用途为:

  • a表示内容信息,

  • b表示依赖于内容的位置信息,

  • c为全局的内容bias, 调整内容的重要性;

  • d为全局位置bias,调整距离的重要性。

其他重要的实验细节

  1. 参数量(由小到大,由于实验数据不同,参数量在不同数据间不一定可比)

    • 12L Transformer-XL: 41M

    • 12L Transformer: 44M

    • 18L Transformer-XL: 88M

    • Transformer-XL Standard:151M

    • Transformer-XL Large: 257M

    • 24L Transformer-XL: 277M

  2. WikiText-103数据集下细节参考

    • 103M training tokens from 28K articles

    • 384 during training and 1600 during evaluation

  3. enwik8数据集下细节参考

    • 模型大小 18-layer and 24-layer Transformer-XLs

    • 注意力长度: 784 during training and 3,800 during evaluation

  4. base模型与large模型的gap

    • 参数量:0.46B~0.8B

    • PPL: 23.5~21.8

    • base模型已经远超LSTM,相对于vanilla Transformer的改进方法Adaptive input则为23.5~23.7

    • large模型相对于Adaptive input则为21.8~23.7

相关论文与代码

  1. Github-transformer-xl,原论文模型

  2. Github-transformer-xl-chinese,中文模型,用于生成文本

  3. Baevski A, Auli M. Adaptive input representations for neural language modeling[J]. arXiv preprint arXiv:1809.10853, 2018.

相关文章

  • Transformer-XL: 在自注意力模型中处理长距离依赖

    我的博客: 菱歌's Blog | 听见美好笔记原文地址:论文阅读笔记(3):Transformer-XL 论文题...

  • Transformer-XL框架

    引入 Transformer-XL超长上下文的注意力模型,出自CMU和Google Brain在2019年1月发表...

  • 绪论

    图灵模型 程序:用来告诉计算机对数据处理的指令集合。在图灵模型中,输出数据依赖于输入数据和程序。 冯·诺依曼模型 ...

  • ARCH模型是什么?

    ARCH模型 ARCH模型的英文直译是:自回归条件异方差模型。 是一种用来处理时间序列的模型。在股票中,ARCH可...

  • LSTM(长短时记忆网络)

    1. 为什么引入 循环神经网络,很难处理长距离的依赖。 2. 长短时记忆网络 假设某轮训练中,各时刻的梯度以及最终...

  • 配置BERT运行环境

    自然语言处理库Transformers包含了BERT、GPT、GPT-2、Transformer-XL、XLNet...

  • 2019-06-27 Transformer-XL 笔记

    Transformer-XL是为了解决Transformer 对于Long-term 依赖问题而提出来了,那么Tr...

  • Transformer-XL 语言模型

    Transformer 是 Google 提出的一种先进的 NLP 模型,在很多任务上都取得比传统 RNN 更好的...

  • 深度学习中的注意力模型

    转自软件所的张俊林老师 注意力模型最近几年在深度学习各个领域被广泛使用,无论是图像处理、语音识别还是自然语言处理的...

  • 论文阅读——Non-Local Neural Networks

    一、摘要 当前深度学习中用于捕获长距离依赖关系的主要方式——堆叠卷积或者使用循环模块,均为局部邻域处理组件。本文提...

网友评论

    本文标题:Transformer-XL: 在自注意力模型中处理长距离依赖

    本文链接:https://www.haomeiwen.com/subject/ygtftktx.html