Transformer-XL,处理超级长序列的Transformer
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Transformer-XL,处理超级长序列的Transformer相关的知识,希望对你有一定的参考价值。
参考技术A Transformer-xl: Attentive language models beyond a fixed-length contextCitation: 1326 (2021-09-06)
Transformer比RNN(包括LSTM)处理序列问题效果更好,但是原生的Transformer只能处理固定长度的序列(比如512),为了适配这个长度,训练与测试过程中对序列进行了各种没有物理意义的截断,作者称之为context fragmentation。
实际上,RNN理论上可以处理无限长度的序列(因为RNN是一个状态机,可以无限展开),隐含状态通过不断迭代,类似一个memory记忆了过往的状态。只不过RNN面临着梯度爆炸与梯度弥散的问题,LSTM以及gradient-clip只能解决一部分,过长的序列(比如超过200)效果也不佳。
所以作者想出,能不能结合RNN的隐含状态来弥补Transformer的相对比较生硬的序列截断。
并且作者提出了一个全新的position encoding方式,因为要考虑更长的序列,所以也不能绝对的位置编码。
以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。
优点:
(1) 站在前人肩膀上。面向Transformer不能处理超长序列的问题,借鉴RNN的hidden state思想。注意到引入了positional encoding的问题,采用相对位置的方式解决超长序列的绝对距离问题。从这两个层面将Transformer泛化到无限长度。
思考:
(1) 既然用到了RNN的思想,那是不是可以用LSTM、GRU等的思想,引入一些memory,而不仅仅使用hidden state,从而更好地处理超级长的序列?
[1] Dai, Zihang, et al. "Transformer-xl: Attentive language models beyond a fixed-length context." arXiv preprint arXiv:1901.02860 (2019).
以上是关于Transformer-XL,处理超级长序列的Transformer的主要内容,如果未能解决你的问题,请参考以下文章
我可以将我的长序列分成 3 个较小的序列并使用有状态 LSTM 处理 3 个样本吗?
论文阅读 | Transformer-XL: Attentive Language Models beyond a Fixed-Length Context