序列模型捕获数据长期依赖的能力在任何NLP任务中都是至关重要的,LSTM通过引进门机制将RNN的长期依赖的捕获能力提升到200个左右,Transformer的提出则进一步提升了获长期依赖的能力,但是Transformer的捕获长期依赖的能力是无限长的吗?如果有一个需要捕获几千个时间片的能力的模型才能完成的任务,Transformer能够胜任吗?答案从目前Transformer的设计来看,它还是做不到。
这篇文章介绍的Transformer-XL(extra long)则是为了进一步提升Transformer建模长期依赖的能力。它的核心算法包含两部分:片段递归机制(segment-level recurrence)和相对位置编码机制(relative positional encoding)。Transformer-XL带来的提升包括:1. 捕获长期依赖的能力;2. 解决了上下文碎片问题(context segmentation problem);3. 提升模型的预测速度和准确率。
这种分段式的提供数据的方式的一个很大的问题是数据并不会在段与段之间流通,因此模型能够捕获的长期依赖的上限便是段的长度。另外这种将数据分段,而不考虑段与段之间的关系无疑是非常粗暴的,对于模型的能力无疑是要打折的。这个问题便是我们所说的上下文碎片问题。