什麼是 XLNet?為什麼它的性能優於 BERT?
原標題 |What is XLNet and why it outperforms BERT
作者 | Xu LIANG
譯者 | Ryan(西安理工大學)、依耶芙特?歐
XLNet發布後僅僅不到一周的時間,我周圍NLP領域的每個人似乎都在談論它。
XLNet:NLP領域中一個新的預訓練方法,相比BERT可以顯著提高20個任務的準確率。
arxiv:https://arxiv.org/abs/1906.08237
github (代碼 預訓練模型):https://github.com/zihangdai/xlnet
由Zhilin Yang, @ZihangDai, Yiming Yang,
Jaime Carbonell, @rsalakhu等發出。
是的,「在 BERT 基礎上20個任務提高了準確率」確實吸引了我們的眼球。但是更加重要的事情是去理解 XLnet 的工作原理以及為何它的效果超過BERT。所以我寫了這個博客來分享我閱讀論文後的理解。
內容結構如下:
什麼是 XLNet?
XLNet 和 BERT 有哪些區別?
XLNet 是如何工作的?
什麼是 XLNet?
首先,XLNet是一個類似BERT的模型,而不是完全不同的模型。但這是一個非常有前途和潛力的模型。總之,XLNet是一種通用的自回歸預訓練方法。
那麼什麼是自回歸(AR)語言模型?
AR語言模型是一種利用上下文詞來預測下一個詞的模型。但是在這裡,上下文詞被限制在兩個方向上,要麼向前,要麼向後。
GPT和GPT-2都是自回歸語言模型。
AR語言模型在生成NLP任務方面具有很好的優勢,因為在生成上下文時,通常是向前的方向。AE語言模型自然能很好地處理這些NLP任務。
但AR語言模型存在一些不足,它只能使用前向上下文或後向上下文,這意味著它不能同時使用前向上下文和後向上下文。
XLNet 和 BERT 有什麼區別?
與AR語言模型不同,BERT被歸類為自動編碼器(AE)語言模型。
AE語言模型的目的是從被破壞的輸入中重建原始數據。
損壞的輸入意味著我們在預處理階段中使用[MASK]將原始標記into。目的是預測into來得到原來的句子。
AE語言模型的優點在於它可以看到前後兩個方向的語境。
但是,AE語言模型也有其不足之處。它在預訓練中使用了[MASK],但是這種人工符號在訓練過程中沒有出現在實際數據中,導致了訓練前的誤差。[MASK]的另一個缺點是假定預測的(蒙面的)標記是相互獨立的,給出未蒙面的標記。例如,我們有一句話:「這表明房地產危機已轉變為銀行危機」。我們掩蓋住「銀行」和「危機」。在這裡,我們知道遮住的「銀行」和「危機」包含彼此的隱含關係。但AE模型試圖預測「銀行」和「危機」,並分別給出未掩蓋的標記。它忽略了「銀行」與「危機」之間的關係。換句話說,它假定預測的(蒙面的)標記是相互獨立的。但我們知道,模型應該了解預測(蒙面)標記之間的這種相關性,以預測其中一個標記。
作者想強調的是,XLNet提出了一種讓AR語言模型從雙向語境中學習的新方法,以避免AE語言模型中的掩碼方法帶來的缺點。
XLNet 是怎樣工作的?
AR語言模型只能使用前向或後向上下文,那麼如何讓它從雙向上下文中學習呢?
語言模型由兩個階段組成,一個是預訓練階段,一個是微調階段.XLNet專註於訓練階段。在預訓練階段,提出了一個叫做置換語言建模的新的目標,我們可以知道這個名字的基本概念,它使用置換。
圖1:給定相同輸入序列x,但具有不同因式分解順序的預測 x3 的置換語言建模目標的說明
這裡我們以一個例子來解釋。序列順序是[x1,x2,x3,x4]。這些序列的所有排列都在下面。
因此,對於這4個標記(N)句,有24(N!)組排列。
情況是,我們希望預測x3。24位排列中有4種類型,x3位於第1位、第2位、第3位、第4位。
四種模式
在這裡,我們將 x3 的位置設置為第t個位置,t-1標記是預測 x3 的上下文詞。
x3之前的單詞在序列中包含所有可能的單詞和長度。從直覺上講,該模型將學習從兩個方面的所有位置收集信息。
執行比上面的解釋要複雜得多,我不會在這裡說的。但是你應該得到關於XLNet的最基本和最重要的想法。
來自 XLNet 的啟示
就像BERT把MASK方法帶給了公眾一樣,XLNet顯示置換方法是作為語言模型目標的一個很好的選擇。可以預見,未來對語言模型目標的探索還會有更多的工作。
論文: https://arxiv.org/abs/1906.08237
代碼:https://github.com/zihangdai/xlnet
本文編輯:王立魚
英語原文:https://towardsdatascience.com/what-is-xlnet-and-why-it-outperforms-bert-8d8fce710335


※TensorNetwork,一個能夠提高張量計算效率的開源庫
※搜狗搜索 「AIS 2019」 論文研討會回放觀看&嘉賓 PPT 打包下載
TAG:AI研習社 |