找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 65|回复: 0

Transformer-XL:释放注意力模型的潜力

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-3 21:46:41 | 显示全部楼层 |阅读模式
为了正确理解一篇文章,有时我们需要参考几千个词之前出现的单词或句子。这是一个长期依赖的例子——一种在序列数据中常见的现象——必须理解它才能处理许多现实世界的任务。虽然人们很自然地做到这一点,但用神经网络对长期依赖进行建模仍然是一个挑战。基于门控的 RNN和梯度裁剪技术提高了建模长期依赖的能力,但仍然不足以完全解决这个问题。
解决这个挑战的一种方法是使用Transformers,它允许数据单元之间直接连接,有望更好地捕捉长期依赖关系。然而,在语言建模中,Transformers 目前是用定长上下文实现的,即将长文本序列截断为几百个字符的定长段,并单独处理每个段。
这引入了两个关键的限制:
该算法无法对超过固定长度的依赖关系进行建模。
片段通常不尊重句子边界,导致上下文碎片化,进而导致优化效率低下。即使是短序列,这种情况也特别麻烦,因为长距离依赖性不是问题。
为了解决这些限制,我们提出了Transformer-XL,这是一种新颖的架构,可实现超越固定长度上下文的自然语言理解。Transformer-XL 由两种技术组成:段级递归机制和相对位置编码方案。
段级递归
在训练期间,为前一个段计算的表示是固定的,并被缓存,以便在模型处理下一个新段时重新用作扩展上下文。这种额外的连接将最大可能的依赖长度增加了 N 倍,其中 N 是网络的深度,因为上下文信息现在能够跨越段边界。此外,这种递归机制还解决了上下文碎片化问题,为新段前面的标记提供了必要的上下文。
相对位置编码
然而,单纯地应用段级递归是行不通的,因为当我们重用前一个段时,位置编码是不连贯的。例如,考虑一个上下文位置为 [0, 1, 2, 3] 的旧段。当处理新段时,两个段的组合位置为 [0, 1, 2, 3, 0, 1, 2, 3],其中每个位置 id 的语义在整个序列中都是不连贯的。为此,我们提出了一种新颖的相对位置编码方案,使递归机制成为可能。此外,与其他相对位置编码方案不同,我们的公式使用具有可学习转换的固定嵌入而不是可学习嵌入,因此在测试时更可推广到更长的序列。当这两种方法结合在一起时,Transformer-XL 在评估时比原始 Transformer 模型具有更长的有效上下文。
此外,Transformer-XL 能够一次性处理新段中的所有元素而无需重新计算,从而显著提高速度(如下所述)。结果 Transformer-XL 在各种主要语言建模 (LM) 基准上获得了新的最先进 (SoTA) 结果,包括长序列和短序列上的字符级和单词级任务。从经验上讲,Transformer-XL 具有三大优势:
Transformer-XL 学习的依赖关系比 RNN 长约 80%,比原始 Transformers 长约 450%,后者通常比 RNN 具有更好的性能,但由于固定长度的上下文,它并不是最适合长距离依赖关系建模
Transformer-XL由于长期依赖建模,在长序列上的困惑度(预测样本更准确)性能更佳,并且通过解决上下文碎片化问题,在短序列上的困惑度性能也更佳。
Transformer-XL 将enwiki8 上的 SoTA bpc/perplexity 从 1.06 提高到 0.99 ,将text8上的 SoTA bpc/perplexity 从 1.13 提高到 1.08 ,将WikiText-103上的 SoTA bpc/perplexity 从 20.5 提高到 18.3,将One Billion Word上的 SoTA bpc/perplexity 从 23.7 提高到 21.8 ,将Penn Treebank上的 SoTA bpc/perplexity 从 55.3 提高到 54.5 (无需微调)。我们是首个在字符级 LM 基准上突破 1.0 大关的。
我们预见了 Transformer-XL 的许多令人兴奋的潜在应用,包括但不限于改进BERT等语言模型预训练方法、生成逼真的长篇文章以及在图像和语音领域的应用,这些也是长期依赖领域的重要领域。有关更多详细信息,请参阅我们的论文。 我们论文中使用的代码、预训练模型和超参数也可以在GitHub上的 Tensorflow 和 PyTorch 中找到。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2024-12-26 20:31 , Processed in 0.102150 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表