transformer模型的奥秘-学习笔记

      本文主要介绍了transformer模型的大概原理及模型结构。这篇学习笔记的学习资料主要是《Attention is All you Need》这篇神作,还有两位大神的指点(见参考资源),希望通过这篇学习笔记让刚入门transformer模型的小伙伴们有一个大致的认识!

       其实,在刚开始提出tarnsformer这个模型时是用在机器翻译中,但是,BERT、GBT等模型中transformer表现很好。不同于RNN和CNN,它没有采用卷积和循环神经网络的结构,仅仅采用多头注意力机制,这也使transformer拥有了很好的并行性。而且,由于采用多头注意力机制而使transformer吸收了卷积神经网络中具有多通道输出的优势。

      这个模型主要采用Encoder栈和Decoder栈的模式,这些Encoder的结构相同,但是每一个Encoder的参数是不同的,需要单独训练,Decoder也是如此,但是Encoder和Decoder的结构是不同的。预训练模型中有一个Albert,就是通过共享transformer中这些层的参数达到减少bert参数的目的。

下图是Transformer的整体结构:

        Encoder主要由两部分组成:注意力机制和前馈神经网络。在进入Encoder之前还有输入部分,其中,输入部分分为Embedding和位置嵌入。Embedding的作用是给定任何一个词,学习一个向量来表示它。之所以要引入位置编码就是因为transformer不同于RNN,RNN是按照时序依次处理,而transformer由于引进了多注意力机制可以同时处理多个输入,这样做加快了速度,但是忽略了单词的序列关系,所以要利用位置编码加以识别。

       下图是注意力机制的计算公式,Q(qury)、K(key)、V(value)分别是三个矩阵,V这个权重是等价于Q和K的相似度。通过softmax(归一化指数函数)处理,算出相似度,再利用V进行加权,最后确定出注意力值。同时,多个头就会有多个输出,需要和在一起输出。在多头注意力机制的末端还有残差网络,Layer Normalization是针对样本去进行处理,而Batch Nomalization是针对每一个特征进行处理,由于针对特征进行处理时,样本的长度变化比较大的时候,小批量计算均值和方差的时候抖动会比较明显,故Layer Normalization较Batch Nomalization效果更好,所以使用之。

        在经过输入部分后进入注意力机制部分时,将一条线复制成三条,这里的三条线分别代表Q、K、V,三者值相等,将自己本身作为输入值,所以叫自注意力机制。

         之所以使用残差网络连接的原因是在公式中由于最后一行是1+……,所以可以缓解了梯度的消失,模型使用了残差网络连接可以增加深度和准确度。

       Encoder的输出会作为Decoder的输入,从多头注意力层输入。Decoder与Encoder在结构上的不同主要是增加了一个交互层,由于它采用自回归机制,所以在Decoder中增加了一个带掩码的注意力机制,从而保证在t时刻输入时不会看到t时刻之后的那些输入,使得训练和预测的时候行为一致。负责Encoder和Decoder之间的交互,他们的工作机制是每一个Encoder的值都要和所有的Decoder分别进行交互,最终得出结果。Decoder中中间那个注意力机制层使用的就不再是自注意力机制,这里的前面两条线代表V和K,来自Encoder,两者值相等,而最后一条线代表Q来自解码器下一个Attention的输入。这里的意义是在解码时根据输入的不同,根据当前的那一个向量,在编码器的输出里挑选感兴趣的东西,即“注意”到的东西,没有被“注意”到的东西就被忽略了。

如果这篇文章对你有一点点帮助的话,记得“三键三连”哦!点点关注,爱你么么哒!

参考资源:

论文:《Attention is All you Need》

B站up主:跟李沐学AI、NLP从入门到放弃     两位大神真的讲的超级好!i了i了!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值