雪花臺灣

完全解析Tranformer轉移力機制

未完待續,寫作中可能會有大改版,依然和之前一樣看完就懂。

Attention Is All You Need?

arxiv.org

Scaled Dot-Product Attention

文章中對於Scaled Dot-Product Attention定義如下:

假設有:,則:

如何理解Scaled Dot-Product Attention?其中的Q,K,V是什麼?

不妨回憶一下之前文章中提到的LuongAttention的實現方式,代表Encoder狀態,代表Decoder狀態。

LuongAttention
  • 首先,計算Decoder的 時刻隱藏層狀態 對Encoder每一個隱藏層狀態 權重 數值:

  • 其次,利用權重 計算所有隱藏層狀態 加權之和 ,即生成新的大小為 的Context狀態向量,即與 對應的注意力向量:

接下來對上面的公式稍作變換,對LuongAttention定義Query,Keys,Values:

Decoder狀態 Query(Q):

Encoder狀態 Keys(K):Values(V):

由於 ,顯然 是一一對應的。對於LuongAttention中的注意力向量 可以寫成:

如果這裡的 採用Dot方式計算:

則寫成矩陣形式(非嚴格數學推理):

看到這裡就很清楚了,所謂的「Scaled Dot-Product Attention」並不是什麼新東西,其本質就是一個注意力機制,將序列 編碼成了一個新的 序列。這種注意力的定義並不新鮮,但由於 Google 的影響力,可以認為是正式地提出了這個定義,並將其視為一個層看待。

Multi-Head Attention

Multi-Head Attention

其中

一起看一個例子

參考文獻

The Illustrated Transformer?

jalammar.github.io
The Annotated Transformer?

nlp.seas.harvard.edu

推薦閱讀:
相關文章