谷歌官方博客今天發文,詳細解釋了萬用NLP模型Transformer的升級版——Transformer-XL,該模型利用兩大技術,在5個數據集中都獲得了強大的結果。
要正確理解一篇文章,有時需要參考出現在幾千個單詞后面的一個單詞或一個句子。
這是一個長期依賴性(long-range dependence)的例子,這是序列數據中常見的現象,處理許多現實世界的任務都必須理解這種依賴。
雖然人類很自然地就會這樣做,但是用神經網絡建模長期依賴關系仍然很具挑戰性。基于Gating的RNN和梯度裁剪(gradient clipping)技術提高了對長期依賴關性建模的能力,但仍不足以完全解決這個問題。
應對這個挑戰的一種方法是使用Transformers,它允許數據單元之間直接連接,能夠更好地捕獲長期依賴關系。
Transformer 是谷歌在 17 年做機器翻譯任務的 “Attention is all you need” 論文中提出的,引起了相當大的反響,業內有“每一位從事 NLP 研發的同仁都應該透徹搞明白 Transformer”的說法。
參考閱讀:
Transformer一統江湖:自然語言處理三大特征抽取器比較
然而,在語言建模中,Transformers目前使用固定長度的上下文來實現,即將一個長的文本序列截斷為幾百個字符的固定長度片段,然后分別處理每個片段。
vanillaTransformer模型在訓練時具有固定長度上下文
這造成了兩個關鍵的限制:
算法無法建模超過固定長度的依賴關系。
被分割的片段通常不考慮句子邊界,導致上下文碎片化,從而導致優化低效。即使是對于長期依賴性不顯著的較短序列,這也是特別麻煩的。
為了解決這些限制,谷歌提出一個新的架構:Transformer-XL,它使自然語言的理解超出了固定長度的上下文。
Transformer-XL由兩種技術組成:片段級遞歸機制(segment-level recurrence mechanism)和相對位置編碼方案(relative positional encoding scheme)。
論文:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context(https://arxiv.org/abs/1901.02860)
論文詳細解讀:谷歌、CMU重磅論文:Transformer升級版,評估速度提升超1800倍!
Segment-level的遞歸機制
在訓練期間,為前一個segment計算的representation被修復并緩存,以便在模型處理下一個新的segment時作為擴展上下文重新利用。
這個額外的連接將最大可能依賴關系長度增加了N倍,其中N表示網絡的深度,因為上下文信息現在可以跨片段邊界流動。
此外,這種遞歸機制還解決了上下文碎片問題,為新段前面的token提供了必要的上下文。
在訓練期間具有segment-level recurrence的Transformer-XL
相對位置編碼
然而,天真地應用 segment-level recurrence是行不通的,因為當我們重用前面的段時,位置編碼是不一致的。
例如,考慮一個具有上下文位置[0,1,2,3]的舊段。當處理一個新的段時,我們將兩個段合并,得到位置[0,1,2,3,0,1,2,3],其中每個位置id的語義在整個序列中是不連貫的。
為此,我們提出了一種新的相對位置編碼方案,使遞歸機制成為可能。
此外,與其他相對位置編碼方案不同,我們的公式使用具有learnable transformations的固定嵌入,而不是earnable embeddings,因此在測試時更適用于較長的序列。
當這兩種方法結合使用時,在評估時, Transformer-XL比vanilla Transformer模型具有更長的有效上下文。
在計算時具有固定長度上下文的vanilla Transformer
在評估期間具有segment-level 遞歸的Transformer-XL
此外,Transformer-XL能夠在不需要重新計算的情況下處理新段中的所有元素,從而顯著提高了速度(將在下面討論)。
結果
Transformer-XL在各種主要的語言建模(LM)基準測試中獲得新的最優(SoTA)結果,包括長序列和短序列上的字符級和單詞級任務。實驗證明, Transformer-XL 有三個優勢:
Transformer-XL學習的依賴關系比RNN長約80%,比vanilla Transformers模型長450%,盡管后者在性能上比RNN好,但由于固定長度上下文的限制,對于建模長期依賴關系并不是最好的。
由于不需要重復計算,Transformer-XL在語言建模任務的評估期間比vanilla Transformer快1800+倍。
由于建模長期依賴關系的能力,Transformer-XL在長序列上具有更好的困惑度(Perplexity, 預測樣本方面更準確),并且通過解決上下文碎片化問題,在短序列上也具有更好的性能。
Transformer-XL在5個數據集上的結果
Transformer-XL在5個數據集上都獲得了強大的結果:在enwiki8上將bpc/perplexity的最新 state-of-the-art(SoTA)結果從1.06提高到0.99,在text8上從1.13提高到1.08,在WikiText-103上從20.5提高到18.3,在One Billion Word上從23.7提高到21.8,在Penn Treebank上從55.3提高到54.5。
研究人員展望了Transformer-XL的許多令人興奮的潛在應用,包括但不限于改進語言模型預訓練方法(例如BERT),生成逼真的、長篇的文章,以及在圖像和語音領域的應用。
論文中使用的代碼、預訓練模型和超參數都已全部開源:
https://github.com/kimiyoung/transformer-xl
-
機器翻譯
+關注
關注
0文章
139瀏覽量
14963 -
數據集
+關注
關注
4文章
1210瀏覽量
24861 -
nlp
+關注
關注
1文章
489瀏覽量
22125
原文標題:谷歌升級版Transformer官方解讀:更大、更強,解決長文本問題(開源)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論