1. 程式人生 > 其它 >paper 4:Attention is all you need

paper 4:Attention is all you need

原博連結:論文解讀:Attention is All you need - 知乎 (zhihu.com)

Attention用於計算“相關程度”。

例如在翻譯過程中,不同的英文對中文的依賴程度不同。

Attention:$query space \times key-value pairs space \rightarrow attention output vector, $

$(Q, (K_i, V_i)) \mapsto output$

其中$Q$指query,$(K_i, V_i)$指key-value pair.

step 1: 計算$Q$和$K$的相似度, 用$f$表示

$$ f(Q, K_i), i=1,2,\ldots,m $$

step 2: 將上一步的相似度進行softmax操作, 歸一化

$$ \alpha_i = \frac {e^{f(Q, K_i)}} {\sum_{j=1}^m e^{f(Q, K_j)}} $$

step 3: 針對計算出來的權重$\alpha_i$, 對V中所有的values進行加權求和, 得到Attention向量

$$ output = \sum_{i=1}^m \alpha_i V_i $$

回過頭來看step 1的相似度計算, 有如下四種:

  • 點乘 dot product: $f(Q, K_i) = Q^T K_i$
  • 權重 general: $f(Q, K_i) = Q^T W K_i$
  • 拼接權重 concat: $f(Q, K_i) = W [Q; K_i]$
  • 感知機 percepton: $f(Q, K_i) = V^T \tanh (WQ+UK_i)$