简介
现实远程依赖问题,比如要正确理解文章内容,有时需要阅读多处段落,这对人来说轻松自如。但是,对神经网络来说,远程依赖问题依然是一个挑战。虽然基于门控的 RNN(LSTM,GRU 等)和梯度裁剪等技术提高了对远程依赖建模的能力,但仍不足以解决问题。其中一个解决方法就是使用 Transformers,Transformers 允许数据单元直接连接,可以更好的捕获远距离的数据关系。但是,在语音模型中,Transformers 一般使用固定长度 context 实现,即:把文本序列截断为几个固定长度的序列,然后分别单独处理。
这存在两个问题:
无法计算超过固定长度的依赖关系。
序列截断后,造成段落边界破碎,从而造成低效优化,即使是短序列这也是严重问题。
为了解决这些问题,可以尝试使用 Transformers-XL 模型。Transformers-XL 由两种技术构成:Segment-level Recurrence 和 Relative Positional Encodings。
Segment-level Recurrence
在训练期间,当模型处理下一个新段落时,将前一个段落的计算表示固定并且缓存以作为重用扩展上下文。此附加连接将最大可能的将依赖性长度增加 N 倍,其中 N 是网络的深度,因为上下文信息现在能够跨越段落边界流动。此外,这种重复机制还解决了上下文碎片问题。
Relative Positional Encodings
在标准的 Transformer 中,序列顺序的信息,都是由一组位置编码提供,每一个位置都有绝对的位置信息。但将这个逻辑应用到重用机制中时,会导致性能损失。这个问题的解决思路是,对隐藏状态中的相对位置信息进行编码。从概念上讲,位置编码为模型提供了关于应如何收集信息的时间线索,即应该在哪里介入处理。以相对的方式定义时间线索,将相同的信息注入每层的注意分数,更加直观,也更通用。基于这个思路,可以创建一组相对位置编码,使得重用机制变得可行,也不会丢失任何的时间信息。将相对位置嵌入 Transformer 之中,并配合重用机制,就得到了 Transformer-XL 的架构。基于这些改进,Transformer-XL 在相关的数据集上都取得了很好的成绩。论文中表示,这是第一个在字符级和单词级建模方面比 RNN 结果更好的自注意力模型。
总结
Transformer-XL 在几种不同的数据集(大 / 小,字符级别 / 单词级别等)均实现了最先进的语言建模结果。它结合了深度学习的两个重要概念——循环机制和注意力机制,允许模型学习长期依赖性,且可能可以扩展到需要该能力的其他深度学习领域,例如音频分析(如每秒 16k 样本的语音数据)等。