NLP模型卡-Transformer-XL

一:模型简介

全名是 Transfomer extra long,顾名思义,主要是为了解决Bert或Transformer中只能在固定的长度的上下文中学习依赖关系的问题,主要提出了segment-level recurrence和relative positonal encoding两个方案。

二:论文

Transformer-XL:Attentive Language Models Beyond a Fixed-Length Context
发布者:CMU, Google Brain 2019-ACL

三:Motivation

在Bert或者Transformer中,对于单词之间的长距离依赖,只能在其输入序列的最大长度范围内进行,这个值一般是固定的,模型无法捕捉到更长距离的依赖关系。另外由于固定长度的输入的切分并没有按照自然语句或者语义界限进行切分,这可能会导致上下文碎片问题(Context Fragmentation)。

四:Contributions

  1. Segment-level recurrence Mechanism:片段级循环机制
    通过缓存上一个Segment的隐藏层的输出值,在进行下一个segment的计算时,利用前一个segment的值,这样使得不同segment之间有信息流动,大大增加了长距离依赖的长度,其依赖长度变成N*L,N为layer层数,L为序列长度。
    同时引入这样的机制,还可使得模型在预测阶段的速度大大提升,因为可以将之前产生的token的隐藏状态缓存下来,不需要每次预测一个token就重新计算一下已经生成的token的隐藏状态。
  2. Relative positional encoding scheme:相对位置表示方案
    提出这个方案是为了实现上个机制的必要手段,因为如果使用了上segment的信息,而位置嵌入还使用Transformer的那种方式的话,在不同segment的同一个位置的地方,模型便无法分清这个单词在哪个segment上,这会造成位置信息的混乱。不是在输入位置直接加入位置编码信息,而是在做attention计算注意力得分时引入位置编码(具体公式可以参看原论文),同时结合了可训练和不可训练的位置参数,使得模型能够学习到两个位置的相对信息。同时可训练的编码信息,保证其能识别在不同segement的相同位置的位置嵌入。

五:Disadvantage

  1. 使用的位置嵌入无法区分相对位置的方向,但是相对位置的方向还是很重要的。暂时还没看到这块的解决方案,以后看到了再补充
  2. 仍然是seq2seq结构,无法向Bert和GPT或ELMO那样作为表示模型。其他缺点以后想到再补充

Notes:

  1. 该模型使用的是auto regression模型,即从左至右模型。
  2. 这里的相对位置嵌入无法区分方向,和一篇论文中RPR不太一样。
  3. 使用的数据集:text8, wiki8, wikitext-103,PennTreebank

你可能感兴趣的:(NLP模型卡集册)