假設現在有一個句子(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進行加權求和, 即
的計算。