资讯详情

Transformer 相关理解(下)

我们继续学习Transformer在我们开始学习之前,让我们回顾一下这幅经典的图片。


残差:

我们从底层向上看,底部x1和x2是我们的词向量。位置信息在位置编码后被添加到新的位置信息中x1和x2.通过自注意力层获得注意力结果z1和z2。

残差:我们可以看到,我们将在位置编码中添加z向量和x向量,这一步称为残差。这意味着z向量与x向量的维度一致。

这张图显示了残差的作用。即使序列再长,求导后梯度接近0,仍然有一个常数项1,不会使模型收敛缓慢,这就是为什么如果使用残差网络模型,通常会变因。


LayerNorm

在讲解LN先复习一下。BN(batch normlization),讨论为什么在序列预测中BN不如LN有用。

假设每一个紫色都被列为样本,每一种行为都有相同的特征,BN是在一个batch标准化中不同样本的相同特征(均值为0,方差为1),并用这个平均值和方差代表整个样本的平均值和方差。

我有一篇专门讲的文章可以看看标准化和归一化的兴趣。

BN的缺点:

  • batch size小时,效果比较差,因为BN使用batch平均值和方差代表整体样本平均值的方差batch size小时不普遍。
  • BN在NLP效果相对较差。当我们输入序列时,由于序列长度不同,我们需要补充短序列0,这导致了BN有些词平均0很小,影响后续操作。此外,当我们输入一个长序列进行预测时,模型学习的是短序列的平均方差,无法很好地适应新数据BN效果很差。

LayerNorm

和BN最大的区别是LN会在每个样本内部做Norm处理,即序列中的每个单词词进行标准化,其优点是每个序列的长度不同,不会影响新序列的预测。

**这里LayerNorm我们以后讨论的不是很清楚。


Decoder:

Maskd-Mutil Head Attention

由于Decoder和Encoder不同的是,它需要一个序列的输出,所以我现在看不到所有时刻的单词,这个mask意思是把现在时刻以后的所有单词都放在一边mask在实际操作中,多头权重通常会被赋予很大的负值softmax之后会接近0。


Decoder和Encoder的区别

每一个Eecoder同时,同时给每个输出Decoder输入,具体做法是K和V向量传入每一个Decoder中。Q向量是由上次的多头注意机制提供的。


Reference:

标签: weber传感器captor

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台