天天看點

基于深度self-attention的字元集語言模型(transformer)論文筆記摘要簡介字元集transformer模型

論文題目:Character-Level Language Modeling with Deeper Self-Attention

論文位址:https://arxiv.org/abs/1808.04444v1

摘要

      LSTM和其他RNN的變體在字元級别的語言模組化方面取得了很好的成功。這些模型一般情況下都會使用反向傳播來進行訓練,并通常把這些模型的成功歸結與RNN結構的長時記憶能力。在本文中,我們将為大家介紹一個深層(64層)的transformer模型。在2個常用的測試基準資料集上這個模型結構取得大大優于RNN變種的成績(1.13 bits per character on text8 and 1.06 on enwik8),成為目前最為領先的技術。在得到這個良好的結果過程中,我們證明了在中間網絡層和中間序列位置附加損失是非常重要的。

簡介

       自然語言文本的字元集模組化存在很多挑戰。首先,模型必須“從頭開始”學習大量的詞彙。其次,自然文本很難處理數百或者數千長距離步長的序列問題(長時依賴)。第三,字元集序列要比單詞級序列長很多,是以需要更多的計算步驟。

        近年來的,進階的語言模型普遍遵循一個套路,使用相對較短的序列長度(例如限制為200個字元)對小批量的文本序列訓練RNN模型。那麼怎麼捕獲上下文資訊呢?我們按順序訓練資料批次,并将前以批次的隐藏狀态傳遞給目前批次。這個過程稱為“truncated backpropagation through time” 按時間的反向傳播(TBTT),很顯然RNN的梯度計算不會每個批次更新一步。到目前已經出現了很多優化TBTT的算法。

        雖然這樣的結構取到了很好的成效,但是它增加了訓練的複雜性。但最近一些研究表明,用這樣的方式訓練模型實際上并沒有真的得到‘很強’的長期記憶能力。例如Khandelwal等人,發現基于單詞的LSTM語言模型隻能有效地使用約200個上下文(即使提供了更多),并且該單詞順序僅在最後的~50個标記内有效。

        本文中,我們使用了一個非循環的神經網絡結構并在基于字元級的語言模型上取得了強有力的結果。具體來說,我們使用了一個基于transformer self attention層的深度網絡。這個模型從訓練語料的随機位置訓練每個小批次的序列,取消了RNN的按時傳遞資訊的方式,使用causal (backward-looking) attention的方式反向傳播。

        我們有個很重要的發現就是transformer很适合語言模型的模組化,并且是達到了可以取代RNN的位置。我們推transformer的成功源于它能夠‘快速的’在任意距離上傳播資訊。相比之下,RNN需要逐漸學習來傳遞相關資訊。我們還發現,對基礎transformer架構進行一定的修改可能會帶來一定的益處。但最重要的,我們添加了3個auxiliary losses,要求模型預測即将到來的字元

  1. 在序列中的位置。
  2. 隐藏層中的表示。
  3. 在目标位置預測未來的的多少個步驟。

這些損失加速了收斂,使得我們可以訓練更深層的網絡。

字元集transformer模型

    語言模型通過有限長度的公式分解聯合機率,并配置設定到标記序列上。

基于深度self-attention的字元集語言模型(transformer)論文筆記摘要簡介字元集transformer模型

    為了用子產品化的方式計算條件機率

基于深度self-attention的字元集語言模型(transformer)論文筆記摘要簡介字元集transformer模型

,我們選了一個transformer的網絡來處理字元集的序列

基于深度self-attention的字元集語言模型(transformer)論文筆記摘要簡介字元集transformer模型

。transformer網絡最近在處理序列問題上表現突出,相較于傳統網絡結構,transformer網絡往往能夠取得更好的效果。

    我們的字元級的transformer結構由64個transformer層組成。如Vaswani所介紹,transformer層 是由有多個self-attention層後跟着2個全連接配接層組成的前饋神經網絡組成。更多有關transformer的細節可以前往這個位址-tensor2tensor。為了確定這個模型在預測的時候隻以考慮目前詞之前的詞,我們将我們的attention層轉化為causal attention,(attention layer隻向(右)後傳播),這個原理與seq2seq問題的原始transformer架構的decoder 元件中的“masked attention”相同。

      下圖展示了causal attention的原理框圖,causal attention隻允許資訊從序列的左邊流轉到右邊,對單詞的預測隻考慮到在這個單詞前面出現的單詞。

基于深度self-attention的字元集語言模型(transformer)論文筆記摘要簡介字元集transformer模型

Auxiliary Losses

       在我們的了解中,我們的網絡結構是目前為止最深的transformer網絡。在最初的實驗中我們發現,訓練網絡的深度超過10層就會出現收斂慢準确性差的挑戰。在這裡我們提出了auxiliary losses的概念,它能使得深層的網絡更好的發揮作用,進而大大的加快了收斂的速度。

      我們在中間位置,中間層和非相鄰目标中添加了幾種類型的auxiliary losses。在實驗中我們猜測這些損失不僅可以加速收斂,還可以作為額外的正則化器,訓練的時候我們将auxiliary losses添加到更新權值網絡的最終loss中。每種類型的auxiliary loss 都有自己schedule of decay。在評估和預測的時候,僅僅需要用到最終層的最終位置。

     具體來說就是,這種方法的意義在于許多的訓練參數僅僅在訓練的期間使用,分類層(輸出層)的參數與中間層和非相鄰目标的預測預測值有關。是以在我們模型的介紹中,需要注意我們讨論的是“訓練參數”還是預測“預測參數”。

Multiple Positions

繼續閱讀