《Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context》
1.Transformer處理長文本的問題
Transformer處理長文本訓練時:
1)segments之間獨立訓練,最長依賴取決于segment的長度;
2)劃分時未考慮句子的自然邊界,導致分割出來的segments在語義上是不完整的。
預測時:
每次向右平移一個單元,效率較低,推理速度慢。
2.Segment-Level Recurrence循環機制,增加了最長依賴關系
Transformer-XL仍然是使用分段的方式進行建模,但不同的是,在對當前segment進行處理的時候,緩存并利用上一個segment中所有layer的隱向量序列,而且上一個segment的所有隱向量序列只參與前向計算,不再進行反向傳播。在訓練的時候,只緩存一個segment,在預測的時候,會緩存多個segments。
3.Relative Position Encodings
Trm-XL放棄使用絕對位置編碼,而是采用相對位置編碼,在計算當前位置隱向量的時候,考慮與之依賴token的相對位置關系。
具體操作是,在算attention score的時候,只考慮query向量與key向量的相對位置關系,并且將這種相對位置關系,加入到每一層Trm的attention的計算中。
相對位置關系用一個位置編碼矩陣R來表示,第i行表示相對位置間隔為i的位置向量。論文中強調R采用正弦函數生成,而不是通過學習得到的,好處是預測時可以使用比訓練距離更長的位置向量。
b. 基于內容的位置偏置,即相對于當前內容的位置偏差。
c. 全局的內容偏置,用于衡量key的重要性。
d. 全局的位置偏置,根據query和key之間的距離調整重要性。
4.總結
Trm-XL為解決長序列的問題,對上一個segment做了緩存,可供當前segment使用,但是也帶來了位置關系問題,為了解決位置問題,又引入了相對位置編碼。
特點:引入循環機制和相對位置編碼
優點:1、循環機制和注意力機制,允許模型學習長期依賴性;Trm的L到Trm-XL的NL;2、在inference階段非常快,比Transformer快300~1800倍。