Transformer-xl: Attentive language models beyond a fixed-length context
Citation: 1326 (2021-09-06)
1. Motivation
Transformer比RNN(包括LSTM)处理序列问题效果更好,但是原生的Transformer只能处理固定长度的序列(比如512),为了适配这个长度,训练与测试过程中对序列进行了各种没有物理意义的截断,作者称之为context fragmentation。
实际上,RNN理论上可以处理无限长度的序列(因为RNN是一个状态机,可以无限展开),隐含状态通过不断迭代,类似一个memory记忆了过往的状态。只不过RNN面临着梯度爆炸与梯度弥散的问题,LSTM以及gradient-clip只能解决一部分,过长的序列(比如超过200)效果也不佳。
所以作者想出,能不能结合RNN的隐含状态来弥补Transformer的相对比较生硬的序列截断。
并且作者提出了一个全新的position encoding方式,因为要考虑更长的序列,所以也不能绝对的位置编码。
2. Transformer-XL (extreme long)
以segment为单位,每次拼接前一个segment的隐层状态(Stop-gradient)作为当前segment的起始状态,从而可以极大扩展序列的长度。
在这种情况下,原来的position encoding就失去了作用。
因此作者设计了一种基于两个元素相对距离的注意力计算方式。
原始的同一个segment里query 与key向量的绝对距离的注意力得分是,
是item的embedding, 是position encoding。
基于相对距离的注意力得分是,
四项分别表示content-based的权重,content-dependent的位置bias,global content bias以及global positional bias。
3. Experiment
优点:
(1) 站在前人肩膀上。面向Transformer不能处理超长序列的问题,借鉴RNN的hidden state思想。注意到引入了positional encoding的问题,采用相对位置的方式解决超长序列的绝对距离问题。从这两个层面将Transformer泛化到无限长度。
思考:
(1) 既然用到了RNN的思想,那是不是可以用LSTM、GRU等的思想,引入一些memory,而不仅仅使用hidden state,从而更好地处理超级长的序列?
4. References
[1] Dai, Zihang, et al. "Transformer-xl: Attentive language models beyond a fixed-length context." arXiv preprint arXiv:1901.02860 (2019).