Transformer XL

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

1.Transformer处理长文本的问题

Transformer处理长文本

训练时:
1)segments之间独立训练,最长依赖取决于segment的长度;
2)划分时未考虑句子的自然边界,导致分割出来的segments在语义上是不完整的。
预测时:
每次向右平移一个单元,效率较低,推理速度慢。

2.Segment-Level Recurrence循环机制,增加了最长依赖关系

Transformer-XL仍然是使用分段的方式进行建模,但不同的是,在对当前segment进行处理的时候,缓存并利用上一个segment中所有layer的隐向量序列,而且上一个segment的所有隐向量序列只参与前向计算,不再进行反向传播。

也就是说在计算t+1片段第n层的transform输入q,k,v时,要用到t+1片段第n-1层的hidden state和t片段第n-1层的hidden state。因为有L的限制,所以是第n层的每个隐向量的计算,都是利用下一层中包括当前位置在内的,连续前L个长度的隐向量。
因此,Transformer-XL的最长依赖关系长度是N(L-1)。每层每个点不包括自己是L-1,L-1个连接分别发出去L-1,去除重复的,每层增加依赖长度还是L-1,所以N层,就是N(L-1)。L比N一般大很多,近似为NL。
在训练的时候,只缓存一个segment,在预测的时候,会缓存多个segments。

3.Relative Position Encodings

Trm-XL放弃使用绝对位置编码,而是采用相对位置编码,在计算当前位置隐向量的时候,考虑与之依赖token的相对位置关系。
具体操作是,在算attention score的时候,只考虑query向量与key向量的相对位置关系,并且将这种相对位置关系,加入到每一层Trm的attention的计算中。
相对位置关系用一个位置编码矩阵R来表示,第i行表示相对位置间隔为i的位置向量。论文中强调R采用正弦函数生成,而不是通过学习得到的,好处是预测时可以使用比训练距离更长的位置向量

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

4.总结

Trm-XL为解决长序列的问题,对上一个segment做了缓存,可供当前segment使用,但是也带来了位置关系问题,为了解决位置问题,又引入了相对位置编码。
特点:引入循环机制和相对位置编码
优点:1、循环机制和注意力机制,允许模型学习长期依赖性;Trm的L到Trm-XL的NL;2、在inference阶段非常快,比Transformer快300~1800倍。

你可能感兴趣的:(Transformer XL)