Transformer++

                                        

我們使用如圖[1]所示的編碼器-解碼器架構來對一個序列進行序列建模,該架構遵循Transformer[15]中提出的架構。我們提出了一種計算注意函數的新方法,同時學習了新的多頭和傳統的多頭。對於給定的H(多個頭的總數),我們在H/2 heads中使用自我注意來捕獲全局依賴關係,並在H/2 heads中使用基於卷積的注意來通過上下文捕獲依賴關係。這明確地使用H/2 heads中的卷積來建模單詞上下文依賴關係。我們證明了字上下文依賴將補充傳統的多頭。傳統的多頭可以被認爲是明確地建模單詞-單詞依賴,通過三個矩陣查詢、鍵和值線性投影單詞嵌入。

C. Attention

我們使用縮放的點積注意力來處理硬件和軟件的最大問題[15],以及提出的上下文注意力。

Scaled Dot-Product Attention:

我們在H/2 heads中使用了縮放的點積注意力。輸入由dk維度的查詢(Q)和鍵(K)以及d_{v}[15]維度的值(V)組成

                        

Convolution Attention:

                                   

我們提出兩個模塊的卷積注意。首先是adaptive sequence模塊,它捕獲每個單詞的本地上下文。另一個是adaptive query模塊,它捕獲輸入序列的整個上下文,如圖[3]所示。卷積有一個固定的上下文窗口,可以幫助確定一個單詞在本地上下文中的重要性。輸入序列首先通過一個擴展的因果卷積核[14,16,17],這是深度可分離的。因果卷積有助於確保不存在信息泄漏,而跨時間維度F的權重是softmax標準化的,因此單詞表示是上下文中單詞的加權平均值。我們使用擴張[23]來增加上下文窗口的接受域。深度卷積有助於將參數從d2f降至dF,其中d是單詞表示的維數,F是濾波器的大小。擴展的深度隨機卷積是一個具有局部上下文的令牌表示。自適應序列模塊爲一個序列S中跨通道d的第t個元素計算如下的本地上下文。

                      

自適應序列模塊的輸出表示一個單詞跨上下文F的本地上下文

自適應查詢模塊:將輸入序列S通過線性層,即W^{S}層和W^{Q}層,得到查詢矩陣,再與自適應序列模塊的輸出進行卷積。這在概念上類似於使用遞歸神經網絡[1]獲得上下文,因此線性層與W^{Q}相乘後的輸出是softmax歸一化的,從而使用W^{S}獲得線性層投影的加權和。對於長度爲T的序列S,動態查詢由:

                         

D. Multi-Head Attention

                          

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章