Transformer及其改进型总结

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(dkQKTV)
    Q K T QK^T QKT可以分解为以下:
    在这里插入图片描述
    在这里插入图片描述

U i U_i Ui U j U_j Uj即为绝对距离,替换为相对距离,得到以下计算公式:
在这里插入图片描述

  • R R R表示相对距离,是一个 s i n sin sin函数,没有参数
  • u u u v v v都是可训练参数

即对绝对距离做替换,一部分替换成sin函数,一部分替换成可训练参数。

XL-Net

在Transformer-XL的基础上,增加了排列语言模型和双流注意力机制,详见这里

排列语言模型

传统的自回归语言模型按文本顺序进行顺序建模,这无法充分利用上下文信息,所以才有了BERT这种双向模型。而XL-Net采用了排列语言模型来获取更多更丰富的信息。

XL-NET最大化所有可能的序列的因式分解顺序的期望对数似然。
在这里插入图片描述

基于表征的双向注意力机制

在这里插入图片描述

  • Content Representation内容表述,即 h θ ( x ≤ t ) h_{\theta}(x_{\leq t}) hθ(xt),下文本用 h z t h_{z_t} hzt表示,该表述和传统的transformer一样,同样编码了自身。
    在这里插入图片描述
  • Query Representation查询表述,即 g θ ( x z < t , z t ) g_\theta(x_{z<t}, z_t) gθ(xz<t,zt),下文用 g z t g_{z_t} gzt表示,该表述包含上下文信息 x z < t x_{z<t} xz<t(注意区别),和目标地位置信息 z t z_t zt,但是不包括目标的内容信息 x z t x_{z_t} xzt
    在这里插入图片描述
    在这里插入图片描述
Transformer是一种基于自注意力机制的深度学习模型,最初用于机器翻译任务。它在处理序列数据时具有很强的表达能力和并行计算的能力,因此在自然语言处理领域取得了重要的突破。 Transformer的核心思想是通过自注意力机制来捕捉输入序列中不同位置之间的依赖关系。自注意力机制允许模型在编码和解码阶段同时对整个输入序列进行关注,而不仅仅是局部区域。这种全局的关注能力有助于模型更好地理解语义和上下文。 除了Transformer本身,还有一些改进方法被提出来进一步优化模型性能。其中包括: 1. 多头注意力机制:在传统的自注意力机制中,通过引入多个注意力头并行处理不同的线性投影来增强模型的表达能力。 2. 残差连接和层归一化:为了避免训练深层网络时梯度消失或梯度爆炸问题,Transformer引入了残差连接和层归一化来加强网络的稳定性。 3. 位置编码:由于Transformer没有使用循环神经网络或卷积神经网络,它无法直接处理序列中的位置信息。为了解决这个问题,位置编码被引入到Transformer中,以提供序列中的位置信息。 4. Transformer-XL:为了解决Transformer对长序列的建模能力问题,Transformer-XL引入了循环机制,并通过缓存先前计算的隐藏状态来扩展模型对长序列的依赖关系建模能力。 5. BERT(Bidirectional Encoder Representations from Transformers):BERT是一种预训练模型,通过在大规模文本语料上进行无监督学习,学习得到通用的语言表示。BERT在多个自然语言处理任务上取得了显著的性能提升。 这些改进方法使得Transformer模型更加强大和灵活,被广泛应用于自然语言处理、语音识别和计算机视觉等领域。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值