Transformer是Google提出的用来解决LSTM建模长期依赖乏力的问题全新架构模型,同时其网络架构的设计全部考虑如何并行化,包括self-attenion机制、multi-head self-attention机制、FFW全部都是可以并行计算的,Add&Norm中Add类似预ResNet的shortcut,是为了解决深层模型梯度消失的问题,LayerNorm可以加速计算,这全部都是在为后面的大规模预训练模型做准备。Transformer的提出在NLP中具有里程碑式的意义,现在取得成功的Bert系列基于Transforner Encoder,GPT系列基于Transformer Decoder。这篇文章将不再赘述Tranformer的架构,想必大家应该已经跟熟悉了,这方面有大量的文章可供阅读。本篇博客聚焦于Transformer的改进路线,也是NLP面试常见问题。
Transformer
Attention is all you need
完全图解GPT-2:看完这篇就够了(一)
BERT大火却不懂Transformer?读这一篇就够了
Transformer-XL
Transformer作为一种特征提取器,在NLP中有广泛的应用。但Trm需要对序列设置一个固定长度,如果序列超过该长度,需要将句子划分成多个segment,训练的时候每个segment单独处理,各segment之间没有联系,最长的依赖关系长度就取决于segment长度。
预测的时候会对固定长度的segment做计算,一般取最后一个隐向量作为输出,为了充分利用上下文关系,每做一次预测,就对整个序列向右移动一个位置,在做一次计算,这导致效率非常低。

-
Segment-Level Recurrence
为了解决上面提到的问题,Transformer-XL提出一个改进,对当前Segment进行处理的时候,缓存并利用上一个segment中所有layer的隐向量序列,这些隐向量序列只参与前向计算,不再进行反向传播,这就是所谓的Segment-Level Recurrence。

-
Relative Position Encodings
Vanliia Trm使用position embedding或者正弦/余弦函数来对位置进行编码,这是一种绝对距离位置编码,而Transformer-XL使用相对位置编码。
A t t e e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k V ) Atteention(Q, K, V) = softmax(\frac{QK^T}{d_k}V) Atteention(Q,K,V)=softmax(d

探讨Transformer模型的局限性及Transformer-XL的创新,包括Segment-Level Recurrence和Relative Position Encodings,以及XL-Net引入的排列语言模型和双流注意力机制,深化理解NLP中的序列建模。
最低0.47元/天 解锁文章
1469

被折叠的 条评论
为什么被折叠?



