关于transformer机制的理解

transformer机制的论文来源:

谷歌论文《Attention all in you need》\

论文地址

  • 该模型的架构图如下所示:
    在这里插入图片描述
  • 上面图中左边是encoder机制,右边是decoder机制。
    encoder机制是由6层组成,如下图:
    在这里插入图片描述
  • 每一层的结构如下图所示:
    在这里插入图片描述
  • 假设现在有两个单词(word1,word2)经过embedding之后的向量上图中(x1,x2),输入到self-attention机制:
  • 整个self-attention机制的内部流程如下图:
    在这里插入图片描述
  • 输入的x1,x2需要加上相应的位置编码信息
    在这里插入图片描述
    关于位置编码的计算,举一个案例:
    在这里插入图片描述
    可以看出在偶数位置的时候使用sin函数计算,在奇数位置的时候使用cos函数计算。(上面的计算公式在论文中有说明)
  • 上图中的embedding的x1,x2分别与WQ,Wk,Wv结合产生下面的结果:
    x1.WQ = q1 (表示两个向量的乘积)
    x2.WQ = q2
    x1.Wk = k1
    x2.Wk = k2
    x1.Wv = v1
    x2.Wv = v2
    从图上可以看出这是一个querys,Keys, values结构,可以成根据key检索values的原理。
  • 右边的图上,把k1.q1=112,k2.q2=98,…那么得到的这个结果就是表示每一个单词 分别与输入的序列中的其他单词之间的注意力值。除以根号下dk是为了产生一个mean为0, variance为1(说明来源于该论文的第4页说明);在将结果输入到softmax中,之后与v1,v2…分别相乘。得到图中的z1,z2,…
  • 下面是论文中给出的计算公式:
    Attention(Q, K, V ) = softmax(QK √dk T )V
    在这里插入图片描述

multi-head attention

在这里插入图片描述

  • 上图中的WQ,Wk,Wv是有八个的(对应八个head);那么就会对应产生八个不同的attention。
    在这里插入图片描述
  • 将这个八个attention进行拼接。
    在这里插入图片描述
    整个multi-head attention的整体结构:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值