赞
踩
在注意力机制中,query
和 key
相乘得到的相似度其实是通过计算两个向量之间的点积来实现的。具体而言,我们将 query
和 key
进行点积运算后【这里的点积运算可以看作是一种度量相似度的方法,它可以从数学上衡量两个向量之间的相关性。当两个向量越相似时,它们的点积结果也会越大,那么这两个向量更应该关联在一起,也就是说键Q搜索时更应该搜索到值K。】,再除以一个缩小因子 self.soft
(一般取值为特征维度的平方根),就可以得到对应向量之间的余弦相似度,从而得到相似度分数。
查看QKV的计算过程:注意力公式步骤每一步的含义,总共三步_(1)q乘以转置k (2)除以 以减小加权范围 (3)除以softmax获得最终注意力权重。-CSDN博客
除了点积运算,还有一种常用的度量向量相似度的方法叫做余弦相似度。
对于注意力机制来说,点积或者余弦相似度通常是在计算查询向量和键向量之间的相似度时使用的。例如,在上面的公式中,a 可以表示查询向量(即学生网络输出的特征向量),b 可以表示键向量(即教师网络输出的特征向量)。
注意:对于注意力机制来说,除了上述公式中的计算方式外,还需要在计算余弦相似度时进行归一化,以保证输出的权重矩阵符合概率分布的定义。常用的归一化方法包括 softmax 函数和 sigmoid 函数等。
- ## 4、computer Q and K attention weight: batch_size X No. stu feature X No.tea feature
- energy = torch.bmm(proj_query, proj_key)/self.soft
- attention = F.softmax(energy, dim = -1)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。