当前位置:   article > 正文

注意力机制中Q和K相乘的意义是什么?为什么Q和K相乘就可以得到它们之间的相似性/权重矩阵呢?_注意力中的矩阵乘为什么

注意力中的矩阵乘为什么

为什么query和key相乘就能得到相似度呢?它的内部原理是什么?

注意力机制中,querykey 相乘得到的相似度其实是通过计算两个向量之间的点积来实现的。具体而言,我们将 querykey 进行点积运算后【这里的点积运算可以看作是一种度量相似度的方法,它可以从数学上衡量两个向量之间的相关性当两个向量越相似时,它们的点积结果也会越大,那么这两个向量更应该关联在一起,也就是说键Q搜索时更应该搜索到值K。】,再除以一个缩小因子 self.soft(一般取值为特征维度的平方根),就可以得到对应向量之间的余弦相似度,从而得到相似度分数。

查看QKV的计算过程:注意力公式步骤每一步的含义,总共三步_(1)q乘以转置k (2)除以 以减小加权范围 (3)除以softmax获得最终注意力权重。-CSDN博客

相似度计算的方法有什么?

除了点积运算,还有一种常用的度量向量相似度的方法叫做余弦相似度。

1、点积:

2、余弦相似度:

对于注意力机制来说,点积或者余弦相似度通常是在计算查询向量和键向量之间的相似度时使用的。例如,在上面的公式中,a 可以表示查询向量(即学生网络输出的特征向量),b 可以表示键向量(即教师网络输出的特征向量)。

注意:对于注意力机制来说,除了上述公式中的计算方式外,还需要在计算余弦相似度时进行归一化,以保证输出的权重矩阵符合概率分布的定义。常用的归一化方法包括 softmax 函数sigmoid 函数等。

  1. ## 4、computer Q and K attention weight: batch_size X No. stu feature X No.tea feature
  2. energy = torch.bmm(proj_query, proj_key)/self.soft
  3. attention = F.softmax(energy, dim = -1)

余弦相似度/卷积核之间的成对余弦相似性_相似度 卷积_马鹏森的博客-CSDN博客

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

闽ICP备14008679号