摘要
通過雙向文本預(yù)訓練模式,以BERT為代表的基于自編碼(autoencoding)的預(yù)訓練模型在各類任務(wù)上表現(xiàn)突出,超越了傳統(tǒng)的單向訓練的自回歸(autoregressive)語言模型。但由于使用mask進行訓練,輸入與下游任務(wù)的fine-tunning不一致,這種不一致使得BERT在生成類任務(wù)上相對較弱。
綜合考慮自編碼(autoencoding)模型BERT與自回歸(autoregressive)模型transformer-XL的優(yōu)缺點,作者提出了XLNet,它具有以下優(yōu)勢:
- 能夠?qū)W習雙向的文本信息,得到最大化期望似然(對所有隨機排列,解決mask導致的問題)
- 使用自回歸的方程解決BERT存在的問題,同時將最好的自回歸模型transformer-XL的思想應(yīng)用于pre-train中
最終,XLNet在20個NLP任務(wù)中打敗large-BERT,其中18個取得了state-of-the-art。
1 介紹
傳統(tǒng)無監(jiān)督表征學習(Unsupervised representation learning)被成功應(yīng)用在大量無標注文本的預(yù)訓練上,其中AR(自回歸)與AE(自編碼)是最成功的兩種預(yù)訓練語言模型。
AR方法學習文本序列的條件概率,即學習已知上文預(yù)測下一個詞或一直下文預(yù)測上一個詞。但是這樣預(yù)訓練的語言模型與一些不需要“重寫”(rewrite)下游任務(wù)不匹配,如情感分析,摘要提取等。
AE方法則重構(gòu)數(shù)據(jù),mask部分token,用上下文的雙向信息來預(yù)測被mask的token,由于訓練時使用了【MASK】,而在下游任務(wù)中input并沒有【MASK】,因而存在pretrain-finetune discrepancy,同時BERT同時mask15%的token這個操作實際上做了一個有風險的假設(shè):假設(shè)每一個被mask的token之間是相互獨立的。
XLNet綜合AE與AR的優(yōu)點,同時在一定程度上避免了兩者的缺點:
- 通過打亂文本sequence的token順序,使得用前n-1的token來預(yù)測第n個token時,同時能用到上下文的信息。對所有可能的token排列(all possible permutations of the factorization order)來求期望的對數(shù)似然函數(shù)。
- XLNet是一種廣泛意義上的AR模型,每次只預(yù)測一個token,所以避免了mask多個token而難以判斷被mask的多個token之間的聯(lián)系。
同時,XLNet使用了一些小trick,改善了Transformer-XL的一些問題:
- 使用片段復發(fā)機制(segment recurrence mechanism),使得它在長文本的任務(wù)中表現(xiàn)更好。
- 直接使用Transformer-XL來訓練基于排序的語言模型(permutation-based language model)是不行的,會得到不確定的結(jié)果,作者重新設(shè)置了Transformer-XL的網(wǎng)絡(luò)與參數(shù),去除了這種隨機性。
相關(guān)工作
基于排序的語言模(permutation-based language model)的想法已經(jīng)被其他人提出過,但是他們的模型缺乏位置編positional encodings,目標是通過無序的模型來提高估計效果,但作者的模型則是用來學習雙向的文本信息(bidirectional contexts),提高預(yù)訓練與下游任務(wù)的匹配。
2 方法的提出
2.1 背景
AR方法可以直接求最大化對數(shù)似然,可以逐步拆解條件概率,公式如下:

AE方法通過隨機將一定比例(常為15%)的token換成【MASK】,求上下文已知情況下,被MASK的詞的條件概率,其中必須假設(shè)被msak的詞之間互不相關(guān),才能將其拆開,公司如下:

作者從獨立性假設(shè)(Independence Assumption)、輸入噪音(Input noise)、文本依賴(Context dependency)三個方面比較了兩種方法的優(yōu)缺點。
2.2 目標:PLM(Permutation Language Modeling)

簡單來說,就是一種廣義的AR方法(避免了AE的不合理的獨立性假設(shè)),通過重新排序的方法,使得預(yù)訓練得到雙向的文本信息。但為了使輸入與其后的fine-tunning階段相同,重新排序的過程在transformer層內(nèi)部實現(xiàn),具體結(jié)構(gòu)在2.3節(jié)有詳細說明。
舉個例子,比如輸入為(x1,x2,x3,x4),重新排序有4!種情況。按照傳統(tǒng)AR的方法的方法從左到右預(yù)測的話,只能通過x1,x2預(yù)測x3,則損失了x4的信息,如果得到的排序是(x4,x1,x3,x2)的話,則通過x4,x1來預(yù)測x3。當然句子長度非常長時,是不可能窮舉的,通過抽樣的方法來求期望,并最大化以下似然函數(shù):

在具體實現(xiàn)過程中,作者采用了特別的結(jié)果以解決使用transformer訓練PLM的問題。
2.3 結(jié)構(gòu):雙流自注意力
由于PLM任務(wù)有特殊的性質(zhì),簡單的Transformer無法有效工作。由于隨機排列求期望的影響,簡單應(yīng)用標準Softmax方程求期望時,就不依賴于位置信息(隨機打亂求期望,實際上抹殺了位置信息的影響),導致模型無法學習到有用的表征。以下第一個公式為普通transformer應(yīng)用的公式,第二個公式為作者為了PLM任務(wù)設(shè)計的公式。


仔細考慮Transformer的結(jié)構(gòu),當它用來解決PLM預(yù)訓練任務(wù)時必須解決以下兩個問題:
- 當預(yù)測
時只使用位置信息
和上文信息,不能看到自己本身,即
,否則求條件概率
的問題將會變成一個平凡的問題。
- 當預(yù)測
時,其中j>t,則能看到
信息。
考慮具體的注意力機制,只需在QUERY矩陣上做文章即可,當QUERY矩陣沒有對角線時,顯然是無法看到自己的。根據(jù)這樣的思路,作者設(shè)計了雙流自注意力模型,query流與content流共享參數(shù),但query流QUERY矩陣沒有對角線。為了實現(xiàn)排序效果,query流必須初始化為可訓練的向量即,n行必須分別為0,1,2,......,n-1個點,且符合貝葉斯網(wǎng)絡(luò),即相當于實現(xiàn)只看到特定排序的mask矩陣。以下為更新公式與網(wǎng)絡(luò)示意圖:
f5.png
p2.png
部分預(yù)測當t比較小,僅得到t-1個token的信息,這樣的預(yù)測比較難,很難收斂,所以模型設(shè)計了一個超參數(shù)K,只對后1/K的tokens進行預(yù)測。
2.4 2.5 借鑒Transformer-XL
作者團隊半年前發(fā)表的Transformer-XL中使用了很多有效的trick,使得Transformer-XL做到了AR模型中的state-of-the-art。本文中也借鑒使用了相對位置編碼和片段復發(fā)機制分別解決絕對位置編碼無法處理的2個以上文本對應(yīng)輸入的task和算法效率問題,詳見Transformer-XL文章。
2.5主要具體闡述了Multiple Segments無法用絕對位置編碼解決的問題
2.6.1 與BERT對比
文章舉了一個簡單的例子,預(yù)訓練中使用New York is a city。加入New和York為預(yù)測目標,由于BERT做了獨立性假設(shè),將兩者同時mask住,所以只能通過is a city分別對兩個詞進行預(yù)測,而XLNet由于特殊的重新排序求期望的操作,使得XLNet在預(yù)測出New后,在預(yù)測York時能得到New的信息。
2.6.2與其他語言模型對比
一種AR標準模型GPT只建立了下文對上午的依賴,也就是說根據(jù)New能預(yù)測York,但根據(jù)York無法預(yù)測New。在解決閱讀理解task時,如果給了內(nèi)容Thom Yorke is the singer of Radiohead,但問的問題是Who is the singer of Radiohead,經(jīng)典的AR模型是不能根據(jù)Radiohead預(yù)測出Thom Yorke的。
3 實驗部分
這一部分不再詳細解釋,但是值得一提的是BERT-base使用的是經(jīng)典的13G數(shù)據(jù)集進行預(yù)訓練,XLNet-base使用的是GPT 2.0構(gòu)建的優(yōu)質(zhì)的19G數(shù)據(jù)集進行訓練,大部分比較中XLNet大幅度超越BERT其中存在水分,最后一個實驗中抹平數(shù)據(jù)和trick進行比較,提升幅度雖然有,但就不那么明顯了,說明XLNet使用的PLM方法雖然有用,但貢獻沒有大家想象的夸張,XLNet能取得優(yōu)異的成果,還在于結(jié)合了BERT出現(xiàn)后1年來發(fā)展的各種trick和數(shù)據(jù)質(zhì)量的提升。
論文地址與代碼地址
論文:https://arxiv.org/pdf/1906.08237.pdf
代碼:https://github.com/zihangdai/xlnet
公眾號:六點一刻研習室
(興趣使然進行更新,沒有質(zhì)量保障)

