論文筆記:Transformer優化
騰訊AI Lab提出翻譯改進模型Transformer的3個優化方法
論文地址:http://ai.tencent.com/ailab/nlp/papers/emnlp2018_deep_representations.pdf
假設大家都知道 transformer 長什麼樣了。
動機:由於 transformer 只利用編碼器和解碼器的頂層,這就錯過 了利用嵌入在其他層中的有用信息的機會。前人的工作已經證明,在計算機視覺、自然語言處理中,對層進行聚合,能夠更好地融合語義和空間信息。
騰訊 AI Lab 提出幾種優化方式:Layer Aggregation、 Multi-Layer Attention。
一、Layer Aggregation
主要包括圖 1 的 b、c、d 三種模型
1,Dense Connection
對當前層的前面所有層的輸出進行相加。
這種方式有兩個好處:一個保持輸出的矩陣的大小不變,另一個是這樣相加的計算量比相連接(前人的工作)計算量要小。
2,Linear Combination
他們這裡是對所有層的輸出進行一個加權求和,但是這個權重是可以訓練的。
我們之前做過類似的工作,只是我們是做加權平均;並且這個權重是固定的。但是結果低了0.2個bleu左右。這個可訓練的權重,感覺並不太好做……
3,Iterative Aggregation
這種迭代聚合的方式有大佬做過,有0.3個bleu的提升,在小牛的語料庫上。
注意到公式(7)裡面的FNN[x;y]是相連接的兩個矩陣即可。這個可能是我最近想做的工作。
4,Hierarchical Aggregation
上圖中的b模型,公式如下
去改改代碼也並不複雜……
二、Multi-Layer Attention
emmm這裡還沒仔細看,感覺有點複雜。並且這種修改方式,會導致更大的計算量。
等修改完前面幾種方式,再試一下這種。
三、總結
對比提出的兩種方法,其中層聚合模型將不同網路層同一位置的表示融合起來,而多層注意力模型則允許融合不同層不同位置的表示,但代價是計算複雜度更高。
四、其他
根據論文去修改模型,每次可能需要半天左右,訓練模型,再進行測試,需要一天多。
推薦閱讀: