当前位置:   article > 正文

attention表示成k、q、v的方式及self-attention_attention中q k v 不相等时

attention中q k v 不相等时

attention表示成k、q、v的方式:

传统的attention(sequence2sequence问题):

在这里插入图片描述

上下文context表示成如下的方式(h的加权平均):

在这里插入图片描述

那么权重alpha(attention weight)可表示成Q和K的乘积,小h即V(下图中很清楚的看出,Q是大H,K和V是小h):

在这里插入图片描述

上述可以做个变种,就是K和V不相等,但需要一一对应,例如:

  • V=h+x_embedding
  • Q = H
  • k=h

乘法VS加法attention

加法注意力:

还是以传统的RNN的seq2seq问题为例子,加性注意力是最经典的注意力机制,它使用了有一个隐藏层的前馈网络(全连接)来计算注意力分配

在这里插入图片描述

乘法注意力:

就是常见的用乘法来计算attention score:

在这里插入图片描述

乘法注意力不用使用一个全连接层,所以空间复杂度占优;另外由于乘法可以使用优化的矩阵乘法运算,所以计算上也一般占优。

论文中的乘法注意力除了一个scale factor:

在这里插入图片描述

论文中指出当dk比较小的时候,乘法注意力和加法注意力效果差不多;但当d_k比较大的时候,如果不使用scale factor,则加法注意力要好一些,因为乘法结果会比较大,容易进入softmax函数的“饱和区”,梯度较小。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/316429
推荐阅读
相关标签
  

闽ICP备14008679号