一个典型的Attention思想包括三部分:Qquery
、Kkey
、Vvalue
。
- Q是query,是输入的信息;key和value成组出现,通常是原始文本等已有的信息;
- 通过计算Q与K之间的相关性a,得出不同的K对输出的重要程度;
- 再与对应的v进行相乘求和,就得到了Q的输出;
-
step1,计算Q对每个K的相关性相似性,即函数F ( Q , K ) F(Q,K)F(Q,K);
这里计算相关性的方式有很多种,常见方法比如有: -
a.求两者的【向量点击】
-
b.求两者的向量【余弦相似度】
-
c.引入一个额外的神经网络来求值
-
step2,对step1的注意力的分进行归一化;
softmax的好处首先可以将原始计算分值整理成所有元素权重之和为1的概率分布;
其次是可以通过softmax的内在机制更加突出重要元素的权重;ai 即为value_i对应的权重系数;
-
step3,根据权重系数对V进行加权求和,即可求出针对Query的Attention数值。
参考:关于Attention的超详细讲解_attention详解-CSDN博客