《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的所有隐向量序列只参与前向计算,不再进行反向传播。在训练的时候,只缓存一个segment,在预测的时候,会缓存多个segments。
3.Relative Position Encodings
Trm-XL放弃使用绝对位置编码,而是采用相对位置编码,在计算当前位置隐向量的时候,考虑与之依赖token的相对位置关系。
具体操作是,在算attention score的时候,只考虑query向量与key向量的相对位置关系,并且将这种相对位置关系,加入到每一层Trm的attention的计算中。
相对位置关系用一个位置编码矩阵R来表示,第i行表示相对位置间隔为i的位置向量。论文中强调R采用正弦函数生成,而不是通过学习得到的,好处是预测时可以使用比训练距离更长的位置向量。
b. 基于内容的位置偏置,即相对于当前内容的位置偏差。
c. 全局的内容偏置,用于衡量key的重要性。
d. 全局的位置偏置,根据query和key之间的距离调整重要性。
4.总结
Trm-XL为解决长序列的问题,对上一个segment做了缓存,可供当前segment使用,但是也带来了位置关系问题,为了解决位置问题,又引入了相对位置编码。
特点:引入循环机制和相对位置编码
优点:1、循环机制和注意力机制,允许模型学习长期依赖性;Trm的L到Trm-XL的NL;2、在inference阶段非常快,比Transformer快300~1800倍。