赞
踩
论文名:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
论文作者:Zihang Dai et al.
机构:
Carnegie Mellon University(CMU)
Google Brain
期刊/会议名:NAACL 2018
本文作者:XMU_MIAO
日期:2021/1/18
Transformer有能够学习长依赖的能力,但受限于语言模型中定长上下文设置。我们提出一种新的神经架构 T r a n s f o r m e r − X L Transformer{-}XL Transformer−XL,其能够克服这种定长上下文的限制并且不破坏时间连贯性。 其包含一种 s e g m e n t − l e v e l segment{-}level segment−level循环机制和一种新的位置编码方案。本文提出的方法不仅能够捕捉长距离依赖,而且能够解决 c o n t e x t f r a g m e n t i o n context\,\,fragmention contextfragmention问题。 T r a n s f o r m e r − X L Transformer{-}XL Transformer−XL能够学习的依赖长度比RNNs长80%,比 v a n i l l a T r a n s f o r m e r vanilla\,\,Transformer vanillaTransformer长450%,在短文本和长文本上都取得了更好性能,并且推理性能比 v a n i l l a T r a n s f o r m e r vanilla\,\,Transformer vanillaTransformer快1800倍以上。
值的注意的是,我们将在enwiki上的最先进的bpc/perplexity性能提升到了0.99,在text-8上的性能提升到了1.08,在WikiText-103上的性能提升到了18.3,在One Billion Word上的性能提升到了21.8,在Penn Treebank上的性能提升到了54.5(未微调)。 只在WikiText-103上训练时, T r a n s f o r m e r − X L Transformer{-}XL Transformer−XL能够生成具有数千个tokens的连贯且新颖的文本文章。
RNN-based模型在进行字符级别的语言建模时,大概能够捕捉200个tokens的依赖。vanilla transformer通过在损失函数设计额外的损失项训练深度transformer网络用于字符级别的语言建模,其大幅度优于RNN-based模型。但vanilla transformer存在 c o n t e x t f r a g m e n t a t i o n context \,\,fragmentation contextfragmentation的问题。(vanilla transformer论文讲解参考)另外,vanilla transformer语言模型以划分的文本片段作为输入进行训练,在推理时候则是step-by-step形式,示意图如下:
c o n t e x t f r a g m e n t a t i o n context \,\,fragmentation contextfragmentation:由于vanilla transformer在训练时将长文本划分成包含数百个字符的定长片段并且片段之间没有信息交互,这就造成了transformer在捕捉长距离依赖时受限于片段的长度。除此之外,定长的文本片段在划分时没有尊重文本的语义。
总的来说,transformer-XL解决vanilla transformer在语言建模时候的以下问题:
本文提出的transformer-XL通过增加片段之间的信息交互来提升模型语言建模的能力。 transformer-XL主要增加了片段级别的循环机制(Segment-Level Recurrence Mechanism)与相对位置编码机制(Relative Positional Encoding),二者的配合不仅增加了模型的语言建模能力更是大大提升了推理的速度, t r a n s f o r m e r − X L transformer{-}XL transformer−XL训练和推理时示意图如下:
vanilla transformer在进行字符级别的语言模型时,将长文本划分成不进行信息交互的文本片段,并且划分时仅按照固定长度进行划分,没有尊重语义划分时的语义边界。本文提出片段级别的循环机制,增加文本片段之间的信息交互,以捕捉更长距离的依赖。片段级别的循环机制会保存之前文本片段的隐藏层状态并在处理当前文本片段时使用。
h τ + 1 n = T r a n s f o r m e r − L a y e r ( q τ + 1 n , k τ + 1 n , v τ + 1 n ) h_{\tau+1}^n=Transformer{-}Layer(q^{n}_{\tau+1},k_{\tau+1}^n,v_{\tau+1}^n) hτ+1n=Trans
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。