BERT 帶來的影響還未平復,CMU 與谷歌大腦提出的 XLNet 在 20 個任務上超過了 BERT 的表現,並在 18 個任務上取得了當前最佳效果。令人激動的是,目前 XLNet 已經開放了訓練代碼和大型預訓練模型,這又可以玩一陣了~

機器之心

報道,機器之心編輯部。

2018 年,谷歌發布了基於雙向 Transformer 的大規模預訓練語言模型 BERT,刷新了 11 項 NLP 任務的最優性能記錄,為 NLP 領域帶來了極大的驚喜。很快,BERT 就在圈內普及開來,也陸續出現了很多與它相關的新工作。

BERT 帶來的震撼還未平息,今日又一全新模型出現。

來自卡耐基梅隆大學與谷歌大腦的研究者提出新型預訓練語言模型 XLNet,在 SQuAD、GLUE、RACE 等 20 個任務上全面超越 BERT。

Glue 任務排行榜

而此論文的作者也都是我們熟知的研究者:共同一作為楊植麟(曾經的清華學霸,現在 CMU 讀博)與 Zihang Dai(CMU 博士),此外還包括 CMU 教授 Yiming Yang,CMU 語言技術中心的總負責人 Jaime Carbonell,CMU 教授、蘋果 AI 負責人 Russ Salakhutdinov,谷歌大腦的創始成員、AutoML 的締造者之一 Quoc Le。

  • 論文地址:arxiv.org/pdf/1906.0823
  • 預訓練模型及代碼地址:github.com/zihangdai/xl

那麼,相比於 BERT,XLNet 有哪些提升呢?

作者表示,BERT 這樣基於去噪自編碼器的預訓練模型可以很好地建模雙向語境信息,性能優於基於自回歸語言模型的預訓練方法。然而,由於需要 mask 一部分輸入,BERT 忽略了被 mask 位置之間的依賴關係,因此出現預訓練和微調效果的差異(pretrain-finetune discrepancy)。

基於這些優缺點,該研究提出了一種泛化的自回歸預訓練模型 XLNet。XLNet 可以:1)通過最大化所有可能的因式分解順序的對數似然,學習雙向語境信息;2)用自回歸本身的特點克服 BERT 的缺點。此外,XLNet 還融合了當前最優自回歸模型 Transformer-XL 的思路。

最終,XLNet 在 20 個任務上超過了 BERT 的表現,並在 18 個任務上取得了當前最佳效果(state-of-the-art),包括機器問答、自然語言推斷、情感分析和文檔排序。

以前超越 BERT 的模型很多都在它的基礎上做一些修改,本質上模型架構和任務都沒有太大變化。但是在這篇新論文中,作者從自回歸(autoregressive)和自編碼(autoencoding)兩大範式分析了當前的預訓練語言模型,並發現它們雖然各自都有優勢,但也都有難以解決的困難。為此,研究者提出 XLNet,並希望結合大陣營的優秀屬性。

AR 與 AE 兩大陣營

無監督表徵學習已經在自然語言處理領域取得了巨大的成功。在這種理念下,很多研究探索了不同的無監督預訓練目標,其中,自回歸(AR)語言建模和自編碼(AE)成為兩個最成功的預訓練目標。

AR 語言建模旨在利用自回歸模型估計文本語料庫的概率分佈。由於 AR 語言模型僅被訓練用於編碼單向語境(前向或後向),因而在深度雙向語境建模中效果不佳。而下游語言理解任務通常需要雙向語境信息。這導致 AR 語言建模無法實現有效預訓練。

相反,基於 AE 的預訓練模型不會進行明確的密度估計,而是從殘缺的輸入中重建原始數據。一個著名的例子就是 BERT。給出輸入 token 序列,BERT 將一部分 token 替換為特殊符號 [MASK],隨後訓練模型從殘缺版本恢復原始的 token。由於密度估計不是目標的一部分,BERT 允許使用雙向語境進行重建。

但是,模型微調時的真實數據缺少 BERT 在預訓練期間使用的 [MASK] 等人工符號,這導致預訓練和微調之間存在差異。此外,由於輸入中預測的 token 是被 mask 的,因此 BERT 無法像自回歸語言建模那樣使用乘積法則(product rule)對聯合概率進行建模。

換言之,給定未 mask 的 token,BERT 假設預測的 token 之間彼此獨立,這被過度簡化為自然語言中普遍存在的高階、長期依賴關係。

兩大陣營間需要新的 XLNet

現有的語言預訓練目標各有優劣,這篇新研究提出了一種泛化自回歸方法 XLNet,既集合了 AR 和 AE 方法的優勢,又避免了二者的缺陷。

首先,XLNet 不使用傳統 AR 模型中固定的前向或後向因式分解順序,而是最大化所有可能因式分解順序的期望對數似然。由於對因式分解順序的排列操作,每個位置的語境都包含來自左側和右側的 token。因此,每個位置都能學習來自所有位置的語境信息,即捕捉雙向語境。

其次,作為一個泛化 AR 語言模型,XLNet 不依賴殘缺數據。因此,XLNet 不會有 BERT 的預訓練-微調差異。同時,自回歸目標提供一種自然的方式,來利用乘法法則對預測 token 的聯合概率執行因式分解(factorize),這消除了 BERT 中的獨立性假設。

除了提出一個新的預訓練目標,XLNet 還改進了預訓練的架構設計。

受到 AR 語言建模領域最新進展的啟發,XLNet 將 Transformer-XL 的分割循環機制(segment recurrence mechanism)和相對編碼範式(relative encoding)整合到預訓練中,實驗表明,這種做法提高了性能,尤其是在那些包含較長文本序列的任務中。

簡單地使用 Transformer(-XL) 架構進行基於排列的(permutation-based)語言建模是不成功的,因為因式分解順序是任意的、訓練目標是模糊的。因此,研究人員提出,對 Transformer(-XL) 網路的參數化方式進行修改,移除模糊性

目標:排列語言建模(Permutation Language Modeling)

從上面的比較可以得出,AR 語言建模和 BERT 擁有其自身獨特的優勢。我們自然要問,是否存在一種預訓練目標函數可以取二者之長,同時又克服二者的缺點呢?

研究者借鑒了無序 NADE 中的想法,提出了一種序列語言建模目標,它不僅可以保留 AR 模型的優點,同時也允許模型捕獲雙向語境。具體來說,一個長度為 T 的序列 x 擁有 T! 種不同的排序方式,可以執行有效的自回歸因式分解。從直覺上來看,如果模型參數在所有因式分解順序中共享,那麼預計模型將學習從兩邊的所有位置上收集信息。

為了提供一個完整的概覽圖,研究者展示了一個在給定相同輸入序列 x(但因式分解順序不同)時預測 token x_3 的示例,如下圖所示:

圖 1:排列語言建模目標示例:給定相同的輸入序列 x,但因式分解順序不同,此時預測 x_3。

模型架構:對目標感知表徵的雙流自注意力

對於參數化,標準 Transformer 架構存在兩個互相矛盾的要求:1)預測 token

應該僅使用位置 z_t 而不是內容 x_z<t,不然該目標函數就變得不重要了;2)為了預測另一個 token x_zj,其中 j>t,

應該編碼內容 x_z<t,以提供完整的上下文信息。為瞭解決這一矛盾,該研究提出使用兩個隱藏表徵的集合,而不是隻用其中一個。

這兩個隱藏表徵即內容表徵 h_zt 和 Query 表徵 g_zt,下圖 2 的 a、b 分別展示了這兩種表徵的學習。其中內容表徵與 Transforme 的隱藏狀態類似,它將同時編碼輸入本身的內容及上下文信息。Query 表徵僅能獲取上下文信息及當前的位置,它並不能獲取當前位置的內容。

圖 2:(a)內容流注意力,與標準自注意力相同;(b)Query 流注意力,沒有獲取內容 x_z_t 的信息;(c)利用雙流注意力的排列語言建模概覽圖。

由於目標函數適用於 AR 框架,研究者整合了當前最佳的 AR 語言模型——Transformer-XL 到預訓練框架中,並將其體現在方法名字中。具體來說,他們借鑒了 Transformer-XL 中的兩項重要技術——相對位置編碼範式和分割循環機制。現在,結合雙流注意力和 Transformer-XL 的改進,上面圖 2(c) 展示了最終的排列語言建模架構。

實驗結果

和 BERT 相同,研究者使用了 BooksCorpus 和英文維基百科作為預訓練數據,文本量達到 13GB。此外,論文還使用了 Giga 5(16GB 文本),ClueWeb 2012-B 和 Common Crawl 數據集進行預訓練。他們在後兩個數據集上使用了啟發式搜索過濾掉較短或低質量的文本,最終分別剩餘 19 GB 和 78 GB 文本。

這項工作中的最大模型 XLNet-Large 擁有與 BERT-Large 相同的架構超參數,因此模型大小也相似。研究者在 512 塊 TPU v3 上藉助 Adam 優化器對 XLNet-Large 訓練 500K 步,學習率線性下降,batch 大小為 2048,訓練時間為 2.5 天。

表 2:單模型的 XLNet 在 SQuAD1.1 數據集上的表現分別比人類和當前最好模型超過了 7.6EM 和 2.5EM。

表 3:在一些文本分類數據集的測試集上與當前最優的誤差率進行對比。所有的 BERT 和 XLNet 結果都通過同樣模型大小的 24 層架構(相當於 BERT-Large)獲得。

表 4:GLUE 的對比,?表示使用集合,?表示多任務行的單任務結果。所有結果都基於同樣模型大小的 24 層架構獲得。表格最高一行是與 BERT 的直接對比,最低一行是和公開排行榜上最佳效果的對比。

表 5:在 ClueWeb09-B 測試集(一項文檔排名任務)上對比 XLNet 和當前最優方法的性能。? 表示該研究所做的實現。

表 6:控制變數測試。其中 BERT 在 RACE 上的結果來自論文 [39]。研究者使用 BERT 的官方實現在其他數據集上運行,且它具備與 XLNet 相同的超參數搜索空間。K 是控制優化難度的超參數。所有模型都在相同數據上預訓練而成。


推薦閱讀:
相關文章