注意力机制中的Q、K和V的意义
以翻譯為例:
source:我 是 中國人
target: I? am Chinese
比如翻譯目標單詞為 I?的時候,Q為I
而source中的 “我”? ?“是”? “中國人”都是K,
那么Q就要與每一個source中的K進行對齊(相似度計算);"I"與"我"的相似度,"I"與"是"的相似度;"I"與"中國人"的相似度;
相似度的值進行歸一化后會生成對齊概率值(“I"與source中每個單詞的相似度(和為1)),也可以注意力值;
而V代表每個source中輸出的context vector;如果為RNN模型的話就是對應的狀態向量;即key與value相同;
然后相應的V與相應的P進行加權求和,就得到了context vetor;
從網上找到了一張圖更能證明我的理解的正確性;
階段1中的F函數是一個計算得分的函數;比如可以用前饋神經網絡結構進行計算得分:
?
?這里的v與上面的V是不一樣的,這屬于一個單隱藏層的前饋神經網絡;v屬于隱藏層激活后的一個計算得分的權重系數矩陣;
w屬于激活前的權重系數矩陣;
這里應該是輸出神經元為一個得分值;所以需要多個前饋神經網絡同時計算每個hi的得分;與我預想的不同,以為一個前饋神經網絡就可以輸出所有對應的得分,即輸出層的維度是與input序列長度一樣;(目前的理解);為什么不與預想的一致呢?
?然后對所有得分進行歸一化,一般選擇softmax方法;讓權重系數為1
第二階段:將hi與對應的權重系數相乘得到一個context vector;即注意力值;
總結
以上是生活随笔為你收集整理的注意力机制中的Q、K和V的意义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: from .filename impo
- 下一篇: 多头注意力机制的理解