假设现在有一个句子(s1,s2,s3),v是s的转置
第一个词和每一个词的内积 相似度越大 结果越大 s1v1 s1v2 s1v3
第二个词和每一个词的内积 s2v1 s2v1 s2v3
第三个词和每一个词的内积 s3v1 s3v2 s3v3
横向在每一行内做softmax可以得到每个词在句子中的重要度
(a11,a12,a13)
(a21,a22,a23)
(a31,a32,a33)
根据注意力矩阵求和
c1 = a11s1+a21s2+a31s3
c2 = a21s1+a22s2+a32s3
c3 = a31s1+a23s2+a33s3
数学解释
由上式可以看到,对于Attention机制的整个计算过程,可以总结为以下三个过程:
- 根据 Query 与 Key 计算两者之间的相似性或相关性, 即 socre 的计算。
- 通过一个 softmax 来对值进行归一化处理获得注意力权重值, 即
的计算。
- 通过注意力权重值对value进行加权求和, 即
的计算。