什么是 XLNet,為何它會(huì)超越 BERT?

原文:https://towardsdatascience.com/what-is-xlnet-and-why-it-outperforms-bert-8d8fce710335?towardsdatascience.com

在 XLNet 論文發(fā)布后的一周內(nèi),每個(gè)自然語(yǔ)言處理領(lǐng)域的人都在談?wù)撍?/p>

是的,“ 在 20 項(xiàng)任務(wù)上改進(jìn)了 BERT ”確實(shí)吸引了我們的目光。但更重要的是要了解它的工作原理以及它優(yōu)于 BERT 的原因。所以我寫這篇博客后,在閱讀論文后分享我的想法。

內(nèi)容結(jié)構(gòu)如下:

  • 什么是 XLNet?

  • XLNet 和 BERT 有什么區(qū)別?

  • XLNet 是如何工作的?

什么是 XLNet ?

首先,XLNet 是一個(gè)類似 BERT 的模型,而不是完全不同的模型。但這是一個(gè)非常有前途和潛力的??傊?,XLNet是一種通用的自回歸預(yù)訓(xùn)練方法。

那么什么是自回歸(AR)語(yǔ)言模型?

AR語(yǔ)言模型是一種使用上下文詞來預(yù)測(cè)下一個(gè)詞的模型。但是在這里,上下文單詞被限制在兩個(gè)方向,前向或后向。

前向
后向

GPTGPT-2 都 AR 語(yǔ)言模型。

AR 語(yǔ)言模型的優(yōu)勢(shì)是擅長(zhǎng)生成式自然語(yǔ)言處理任務(wù)。 因?yàn)樵谏缮舷挛臅r(shí),通常是前向的。AR 語(yǔ)言模型很自然地適用于此類 NLP 任務(wù)。

但AR語(yǔ)言模型有一些缺點(diǎn),它只能使用前向上下文或后向上下文,這意味著它不能同時(shí)使用前向和后向上下文。

XLNet和BERT有什么區(qū)別?

與 AR 語(yǔ)言模型不同,BERT 被歸類為自動(dòng)編碼器(AE)語(yǔ)言模型。

AE 語(yǔ)言模型旨在從損壞的輸入重建原始數(shù)據(jù)。

雙向

損壞的輸入意味著我們?cè)陬A(yù)訓(xùn)練階段用 [MASK] 替換原始詞 into。目標(biāo)是預(yù)測(cè) into 得到原始句子。

AE 語(yǔ)言模型的優(yōu)勢(shì)是,它可以從向前和向后的方向看到上下文。

但 AE 語(yǔ)言模型也有其缺點(diǎn)。它在預(yù)訓(xùn)練中使用 [MASK],但這種人為的符號(hào)在調(diào)優(yōu)時(shí)在真實(shí)數(shù)據(jù)中并不存在,會(huì)導(dǎo)致預(yù)訓(xùn)練-調(diào)優(yōu)的差異。[MASK] 的另一個(gè)缺點(diǎn)是它假設(shè)預(yù)測(cè)(掩蔽的)詞 在給定未屏蔽的 詞 的情況下彼此獨(dú)立。例如,我們有一句話“它表明住房危機(jī)已經(jīng)變成銀行危機(jī)”。我們掩蔽“銀行業(yè)”和“危機(jī)”。在這里注意,我們知道掩蔽的“銀行業(yè)”和“危機(jī)”包含彼此的隱含關(guān)系。但 AE 模型試圖預(yù)測(cè)“銀行業(yè)”給予未掩蔽的 詞,并預(yù)測(cè)“危機(jī)”分別給出未掩蔽的 詞。它忽略了“銀行業(yè)”與“危機(jī)”之間的關(guān)系。換句話說,它假設(shè)預(yù)測(cè)(掩蔽)的標(biāo)記彼此獨(dú)立。但是我們知道模型應(yīng)該學(xué)習(xí)預(yù)測(cè)(掩蔽)詞之間的這種相關(guān)性來預(yù)測(cè)其中一個(gè)詞。

作者想要強(qiáng)調(diào)的是,XLNet 提出了一種讓 AR 語(yǔ)言模型從雙向上下文中學(xué)習(xí)的新方法,以避免 MASK 方法在 AE 語(yǔ)言模型中帶來的缺點(diǎn)。

XLNet 是如何工作的?

AR 語(yǔ)言模型只能向前或向后使用上下文,那么如何讓它從雙向上下文中學(xué)習(xí)呢?

語(yǔ)言模型包括兩個(gè)階段,即預(yù)訓(xùn)練階段和調(diào)優(yōu)階段。XLNet 專注于預(yù)訓(xùn)練階段。在預(yù)訓(xùn)練階段,它提出了一個(gè)名為排列語(yǔ)言建模的新目標(biāo)。我們可以從這個(gè)名稱知道基本思想,它使用排列。

論文中的圖示

這里我們舉一個(gè)例子來解釋。序列的次序是 [x1, x2, x3, x4]。這種序列的所有排列如下。

因此對(duì)于這 4 個(gè)詞的(N )句子,有 24(N! )個(gè)排列。

情景是我們想要預(yù)測(cè) x3。因此在 24 個(gè)排列中有 4 種模式,分別 x3 位于第 1 位,第 2 位,第 3 位,第 4 位。


[x3,xx,xx,xx] 
[xx,x3,xx,xx] 
[xx,xx,x3,xx] 
[xx,xx,xx,x3]

4 個(gè)模式

這里我們?cè)O(shè)置位置 x3 作為 t-th 位置,t-1 標(biāo)記是用于預(yù)測(cè) x3 的上下文單詞。

之前的 x3 單詞在序列中包含所有可能的單詞和長(zhǎng)度。直觀地,該模型將學(xué)習(xí)從雙向的所有位置收集信息。

實(shí)現(xiàn)比上面的解釋復(fù)雜得多,我在此不再贅述。但是你應(yīng)該已經(jīng)了解了關(guān)于 XLNet 的最基本和重要的想法。

來自 XLNet 的靈感

就像 BERT 將 MASK 方法帶給公眾一樣,XLNet 表明置換方法是語(yǔ)言模型目標(biāo)的一個(gè)很好的選擇??梢灶A(yù)見,未來會(huì)有更多的工作探索語(yǔ)言模型的目標(biāo)函數(shù)。

論文:https://arxiv.org/abs/1906.08237

代碼:https://github.com/zihangdai/xlnet

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文上兩篇系列 NLP的巨人肩膀(上) NLP的巨人肩膀(中) 4.6 Bidirectional Encoder...
    weizier閱讀 6,828評(píng)論 1 22
  • 最近幾天我又開始有點(diǎn)焦慮了,因?yàn)橄聜€(gè)月要做四維,害怕寶寶有什么不好,自己有乳腺增生和乳腺纖維瘤,醫(yī)生建議3...
    周清越閱讀 94評(píng)論 0 0
  • 醫(yī)生通知我們今天八點(diǎn)手術(shù),我們?cè)缭绲貋淼结t(yī)院,給他洗漱完畢,進(jìn)入手術(shù)室,在手術(shù)室門外等候。 一同進(jìn)去的還有另外三臺(tái)...
    簡(jiǎn)兒的十年閱讀 1,308評(píng)論 26 29
  • 推薦致力于人力資源管理行業(yè)發(fā)展的HR從業(yè)者閱讀清單 最新更新:2021年4月27日 《HR硬實(shí)力》《HR軟實(shí)力》 ...
    張鐵譯閱讀 1,229評(píng)論 1 7
  • 今天的陽(yáng)光很好,辦公室里很安靜,只有我吧嗒吧嗒敲鍵盤的聲音。今天距離上次征稿已經(jīng)有一個(gè)星期了,為了趕赴這個(gè)“單身”...
    見殊閱讀 627評(píng)論 1 2

友情鏈接更多精彩內(nèi)容