[nlp] 小傻学transfomer-XL

what is Transfomer-XL?

在传统Transfomer中的segment间引入RNN机制:将上一个segment计算好的hidden state进行存储,在计算下一个segment时将上一个segment的这些信息融入到当前segment的计算当中。即将上一个segment中的hidden state沿着句子长度方向与当前segment 的hidden state进行concat,然后在concat之后的长度上进行Transformer操作。

Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

why Transfomer-XL?

  1. 解决长文本的建模,捕获超长距离依赖
    LSTM 200 ,Transformer 512(单字 or wordpiece)
  2. 贡献:
    循环(RNN)的transformer建模机制(encoder-decoder,etc.)
    一种相对位置编码方式

训练阶段:传统Transfomer语言模型中,训练阶段无法支持很长的文本输入,一般需将文本进行截断成segments后进行训练。导致在训练时只能在segment内部进行,忽略调segments之间的关系。这种策略能建模的长程依赖为所设置的segment长度,对于Transfomer self-attention的优势未充分利用。
预测阶段:传统Transfomer有一个窗口的概念(此窗口大小和训练阶段的segment长度相同)。在进行每一步预测时,只会用到最后一步来进行预测,预测完后向后移动一个位置,然后重复此过程。这种方法可避免训练阶段的context fragmentation问题,及充分利用长context中的信息,但重复计算较多,效率低。

  1. 能够建模更长上下文
    a Recurrence机制
    b 相对位置表示
  2. 在语言模型上获得更好的性能,加快速度
  3. 后续工作的启发

Transformer & RNN的优缺点
Transformer优点:并行,更好的表达长距离依赖
缺点:无位置表示,只有主观上的position encoding
RNN:优点:天然时序,无需位置表示
缺点:无法表示长距离依赖,无法并行
Transformer-XL = Transformer + RNN:位置表达,一定程度上并行计算,长距离表达更好。

1)因为segments之间独立训练,所以不同的token之间,最长的依赖关系,就取决于segment的长度;2)出于效率的考虑,在划分segments的时候,不考虑句子的自然边界,而是根据固定的长度来划分序列,导致分割出来的segments在语义上是不完整的。

在预测的时候,会对固定长度的segment做计算,一般取最后一个位置的隐向量作为输出。为了充分利用上下文关系,在每做完一次预测之后,就对整个序列向右移动一个位置,再做一次计算,如上图(b)所示,这导致计算效率非常低。

the architecture of Transfomer-XL

建模最长依赖为N * L, N:Transfoer层数,L:segment长度。
该方法可以存储多个segment的隐状态来继续增大感受野,而不仅局限于前一个segment。
位置信息:
传统Transformer:引入position embedding;
Transformer-xl:

在这里插入图片描述
在这里插入图片描述
长文本输入->切分Segment
问题:
最长依赖取决于segment长度
不同segment之间不传递信息
固定大小切分造成语义碎片
在这里插入图片描述

循环机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Transformer-XL传递方式:
信息传递方式:
下一层接受上一层的信息
下一层接受上一时刻的上层信息
通过拼接实现
requires_grad=False or stop_gradient()
在这里插入图片描述

在这里插入图片描述

相对位置编码

Transfomer原始位置编码问题:
1. 词之间的attention关系
2. 位置与词的关系
3. 词与位置的关系
4. 全局位置的关系

相对位置编码实现(改变编码方式):
R i − j R_{i-j} Rij代替𝑈,只注意相对的距离。
R:正弦信号编码矩阵,不需要学习。
引入一个可训练的参数项u、v
设计2个权重矩阵 W k , E , W k , R W_{k,E}, W_{k,R} Wk,E,Wk,R分别生成content-based的key vectors和location-based的key vectors。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(a) content-base的定位
(b) 捕获content-dependent的位置bias
© 控制全局的content bias
(d) 全局位置bias的编码

优点

在几种不同的数据集(大/小,字符级别/单词级别等)均实现了最先进的语言建模结果。
结合了深度学习的两个重要概念——循环机制和注意力机制,解决长距离依赖的问题
学习的依赖关系大约比 RNN 长 80%,比 Vanilla Transformer 长 450%
inference阶段非常快,比之前最先进的利用Transformer模型进行语言建模的方法快300~1800倍。
不足
未在具体的NLP任务如情感分析、QA等上应用。没有给出与其他的基于Transformer的模型,如BERT等,对比有何优势。
训练模型需要用到大量的TPU资源。

code

others

References

  1. Transformer-XL介绍
  2. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值