一、背景
语言模型的建模依赖对长期依赖的建模。而在序列数据中将长期依赖引入神经网络又是一项有挑战的工作。RNN 特别是 LSTM 之前是标准化的的解决方案。但 RNN 由于有梯度消失和梯度爆炸的问题,其优化非常困难。而在 LSTM 中仅仅引入门机制和梯度裁剪可能并不足以解决这个问题。从经验来看,LSTM 大概可以使用200个单词的上下文信息。
Attention相对于CNN和RNN,有以下优点:
1.每个元素可以像CNN一样和全局的信息进行交互,忽略距离。
2.突破了 RNN 模型不能并行计算的限制。
3.自注意力可以产生更具可解释性的模型。我们可以从模型中检查注意力分布。各个注意头(attention head)可以学会执行不同的任务。
但是Attention 也存在缺点:
1.输入序列过长时,self-attention计算量极大(为此,出现了Transformer-XL)。
2.即使加入positional encoding,对序列位置信息的捕获依然不够。
所以提出了 Transformer-XL 结构。优点如下:
1.首先,在段之间引入循环机制RNN。
2.其次,引入了一种简单但有效的相对位置编码方法。
二、引入段级循环(Segment-level recurrence)
三、相对位置编码
上面引入段级循环的 Transformer 模型有一个问题尚未得到解决:每段计算使用的是该段内的绝对位置,但是预测的时候这个位置不是固定的。这样就引入的一定的偏误。该问题需要使用相对位置编码来解决。
四、优点
1.结合了深度学习的两个重要概念——循环机制和注意力机制,允许模型学习长期依赖性
2.生成文本:Transformer-XL 可以用于生成具有上千 token 的长文章。
3.评价速度:同 vanilla 模型相比,最高取得 1874 倍加速。
结论
Transformer-XL 取得了相当不错的结果,比 RNN 和 Transformer 能捕获更长的上下文信息,推理计算也更快,并可用于生成文章。嗯嗯,还不错