BERT論文翻譯

BERT論文地址:https://arxiv.org/abs/1810.04805
翻譯 https://arxiv.org/pdf/1810.04805.pdf

BERT:預(yù)訓(xùn)練的深度雙向 Transformer 語(yǔ)言模型

Jacob Devlin;Ming-Wei Chang;Kenton Lee;Kristina Toutanova
Google AI Language
{jacobdevlin,mingweichang,kentonl,kristout}@google.com

摘要

我們提出了一種新的稱為 BERT 的語(yǔ)言表示模型,BERT 代表來(lái)自 Transformer 的雙向編碼器表示(Bidirectional Encoder Representations from Transformers)。不同于最近的語(yǔ)言表示模型(Peters et al., 2018,Radford et al., 2018), BERT 旨在通過(guò)聯(lián)合調(diào)節(jié)所有層中的左右上下文來(lái)預(yù)訓(xùn)練深度雙向表示。因此,只需要一個(gè)額外的輸出層,就可以對(duì)預(yù)訓(xùn)練的 BERT 表示進(jìn)行微調(diào),從而為廣泛的任務(wù)(比如回答問(wèn)題和語(yǔ)言推斷任務(wù))創(chuàng)建最先進(jìn)的模型,而無(wú)需對(duì)特定于任務(wù)進(jìn)行大量模型結(jié)構(gòu)的修改。

BERT 的概念很簡(jiǎn)單,但實(shí)驗(yàn)效果很強(qiáng)大。它刷新了 11 個(gè) NLP 任務(wù)的當(dāng)前最優(yōu)結(jié)果,包括將 GLUE 基準(zhǔn)提升至 80.4%(7.6% 的絕對(duì)改進(jìn))、將 MultiNLI 的準(zhǔn)確率提高到 86.7%(5.6% 的絕對(duì)改進(jìn)),以及將 SQuAD v1.1 的問(wèn)答測(cè)試 F1 得分提高至 93.2 分(提高 1.5 分)——比人類表現(xiàn)還高出 2 分。

1. 介紹

語(yǔ)言模型預(yù)訓(xùn)練可以顯著提高許多自然語(yǔ)言處理任務(wù)的效果(Dai and Le, 2015;Peters et al., 2018Radford et al., 2018;Howard and Ruder, 2018)。這些任務(wù)包括句子級(jí)任務(wù),如自然語(yǔ)言推理(Bow-man et al., 2015Williams et al., 2018)和釋義(Dolan and Brockett, 2005),目的是通過(guò)對(duì)句子的整體分析來(lái)預(yù)測(cè)句子之間的關(guān)系,以及標(biāo)記級(jí)任務(wù),如命名實(shí)體識(shí)別(Tjong Kim Sang and De Meulder, 2003)和 SQuAD 問(wèn)答(Rajpurkar et al., 2016),模型需要在標(biāo)記級(jí)生成細(xì)粒度的輸出。

現(xiàn)有的兩種方法可以將預(yù)訓(xùn)練好的語(yǔ)言模型表示應(yīng)用到下游任務(wù)中:基于特征的和微調(diào)。基于特征的方法,如 ELMo (Peters et al., 2018),使用特定于任務(wù)的模型結(jié)構(gòu),其中包含預(yù)訓(xùn)練的表示作為附加特特征。微調(diào)方法,如生成預(yù)訓(xùn)練 Transformer (OpenAI GPT) (Radford et al., 2018)模型,然后引入最小的特定于任務(wù)的參數(shù),并通過(guò)簡(jiǎn)單地微調(diào)預(yù)訓(xùn)練模型的參數(shù)對(duì)下游任務(wù)進(jìn)行訓(xùn)練。在之前的工作中,兩種方法在預(yù)訓(xùn)練任務(wù)中都具有相同的目標(biāo)函數(shù),即使用單向的語(yǔ)言模型來(lái)學(xué)習(xí)通用的語(yǔ)言表達(dá)。

我們認(rèn)為,當(dāng)前的技術(shù)嚴(yán)重地限制了預(yù)訓(xùn)練表示的效果,特別是對(duì)于微調(diào)方法。主要的局限性是標(biāo)準(zhǔn)語(yǔ)言模型是單向的,這就限制了可以在預(yù)訓(xùn)練期間可以使用的模型結(jié)構(gòu)的選擇。例如,在 OpenAI GPT 中,作者使用了從左到右的模型結(jié)構(gòu),其中每個(gè)標(biāo)記只能關(guān)注 Transformer 的自注意層中該標(biāo)記前面的標(biāo)記(Williams et al., 2018)。這些限制對(duì)于句子級(jí)別的任務(wù)來(lái)說(shuō)是次優(yōu)的(還可以接受),但當(dāng)把基于微調(diào)的方法用來(lái)處理標(biāo)記級(jí)別的任務(wù)(如 SQuAD 問(wèn)答)時(shí)可能會(huì)造成不良的影響(Rajpurkar et al., 2016),因?yàn)樵跇?biāo)記級(jí)別的任務(wù)下,從兩個(gè)方向分析上下文是至關(guān)重要的。

在本文中,我們通過(guò)提出 BERT 改進(jìn)了基于微調(diào)的方法:來(lái)自 Transformer 的雙向編碼器表示。受完形填空任務(wù)的啟發(fā),BERT 通過(guò)提出一個(gè)新的預(yù)訓(xùn)練任務(wù)來(lái)解決前面提到的單向約束:“遮蔽語(yǔ)言模型”(MLM masked language model)(Tay-lor, 1953)。遮蔽語(yǔ)言模型從輸入中隨機(jī)遮蔽一些標(biāo)記,目的是僅根據(jù)被遮蔽標(biāo)記的上下文來(lái)預(yù)測(cè)它對(duì)應(yīng)的原始詞匯的 id。與從左到右的語(yǔ)言模型預(yù)訓(xùn)練不同,MLM 目標(biāo)允許表示融合左右上下文,這允許我們預(yù)訓(xùn)練一個(gè)深層雙向 Transformer。除了遮蔽語(yǔ)言模型之外,我們還提出了一個(gè)聯(lián)合預(yù)訓(xùn)練文本對(duì)來(lái)進(jìn)行“下一個(gè)句子預(yù)測(cè)”的任務(wù)。

本文的貢獻(xiàn)如下:

  • 我們論證了雙向預(yù)訓(xùn)練對(duì)語(yǔ)言表征的重要性。與 Radford et al., 2018 使用單向語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練不同,BERT 使用遮蔽語(yǔ)言模型來(lái)實(shí)現(xiàn)預(yù)訓(xùn)練深層雙向表示。這也與 Peters et al., 2018 的研究形成了對(duì)比,他們使用了一個(gè)由左到右和由右到左的獨(dú)立訓(xùn)練語(yǔ)言模型的淺層連接。
  • 我們表明,預(yù)訓(xùn)練的表示消除了許多特定于任務(wù)的高度工程化的的模型結(jié)構(gòu)的需求。BERT 是第一個(gè)基于微調(diào)的表示模型,它在大量的句子級(jí)和標(biāo)記級(jí)任務(wù)上實(shí)現(xiàn)了最先進(jìn)的性能,優(yōu)于許多特定于任務(wù)的結(jié)構(gòu)的模型。
  • BERT 為 11 個(gè) NLP 任務(wù)提供了最先進(jìn)的技術(shù)。我們還進(jìn)行大量的消融研究,證明了我們模型的雙向本質(zhì)是最重要的新貢獻(xiàn)。代碼和預(yù)訓(xùn)練模型將可在 goo.gl/language/bert 獲取。

2 相關(guān)工作

預(yù)訓(xùn)練通用語(yǔ)言表示有很長(zhǎng)的歷史,我們將在本節(jié)簡(jiǎn)要回顧最流行的方法。

2.1 基于特征的方法

幾十年來(lái),學(xué)習(xí)廣泛適用的詞語(yǔ)表示一直是一個(gè)活躍的研究領(lǐng)域,包括非神經(jīng)網(wǎng)絡(luò)學(xué)領(lǐng)域(Brown et al., 1992;;Blitzer et al., 2006)和神經(jīng)網(wǎng)絡(luò)領(lǐng)域(Collobert and Weston, 2008Mikolov et al., 2013;Pennington et al., 2014)方法。經(jīng)過(guò)預(yù)訓(xùn)練的詞嵌入被認(rèn)為是現(xiàn)代 NLP 系統(tǒng)的一個(gè)不可分割的部分,詞嵌入提供了比從頭開(kāi)始學(xué)習(xí)的顯著改進(jìn)(Turian et al., 2010)。

這些方法已被推廣到更粗的粒度,如句子嵌入(Kiros et al., 2015;Logeswaran and Lee, 2018)或段落嵌入(Le and Mikolov, 2014)。與傳統(tǒng)的單詞嵌入一樣,這些學(xué)習(xí)到的表示通常也用作下游模型的輸入特征。

ELMo(Peters et al., 2017)從不同的維度對(duì)傳統(tǒng)的詞嵌入研究進(jìn)行了概括。他們建議從語(yǔ)言模型中提取上下文敏感的特征。在將上下文嵌入與特定于任務(wù)的架構(gòu)集成時(shí),ELMo 為幾個(gè)主要的 NLP 標(biāo)準(zhǔn)提供了最先進(jìn)的技術(shù)(Peters et al., 2018),包括在 SQuAD 上的問(wèn)答(Rajpurkar et al., 2016),情感分析(Socher et al., 2013),和命名實(shí)體識(shí)別(jong Kim Sang and De Meul-der, 2003)。

2.2 基于微調(diào)的方法

語(yǔ)言模型遷移學(xué)習(xí)(LMs)的一個(gè)最新趨勢(shì)是,在對(duì)受監(jiān)督的下游任務(wù)的模型進(jìn)行微調(diào)之前,先對(duì) LM 目標(biāo)上的一些模型構(gòu)造進(jìn)行預(yù)訓(xùn)練(Dai and Le, 2015;Howard and Ruder, 2018;Radford et al., 2018)。這些方法的優(yōu)點(diǎn)是只有很少的參數(shù)需要從頭開(kāi)始學(xué)習(xí)。至少部分得益于這一優(yōu)勢(shì),OpenAI GPT (Radford et al., 2018)在 GLUE 基準(zhǔn)測(cè)試的許多句子級(jí)任務(wù)上取得了此前最先進(jìn)的結(jié)果(Wang et al.(2018))。

2.3 從有監(jiān)督的數(shù)據(jù)中遷移學(xué)習(xí)

雖然無(wú)監(jiān)督預(yù)訓(xùn)練的優(yōu)點(diǎn)是可用的數(shù)據(jù)量幾乎是無(wú)限的,但也有研究表明,從具有大數(shù)據(jù)集的監(jiān)督任務(wù)中可以進(jìn)行有效的遷移,如自然語(yǔ)言推理(Con-neau et al., 2017)和機(jī)器翻譯(McCann et al., 2017)。在NLP之外,計(jì)算機(jī)視覺(jué)研究也證明了從大型預(yù)訓(xùn)練模型中進(jìn)行遷移學(xué)習(xí)的重要性,有一個(gè)有效的方法可以微調(diào)在 ImageNet 上預(yù)訓(xùn)練的模型(Deng et al., 2009;Yosinski et al., 2014

3 BERT

本節(jié)將介紹 BERT 及其具體實(shí)現(xiàn)。首先介紹了 BERT 模型結(jié)構(gòu)和輸入表示。然后我們?cè)?3.3 節(jié)介紹本文的核心創(chuàng)新——預(yù)訓(xùn)練任務(wù)。在 3.4 和 3.5 節(jié)中分別詳細(xì)介紹了預(yù)訓(xùn)練過(guò)程和微調(diào)模型過(guò)程。最后,在 3.6 節(jié)中討論了 BERT 和 OpenAI GPT 之間的區(qū)別。

3.1 模型結(jié)構(gòu)

BERT 的模型結(jié)構(gòu)是一個(gè)基于 Vaswani et al.(2017) 描述的原始實(shí)現(xiàn)的多層雙向 Transformer 編碼器,并且 Transformer 編碼器發(fā)布在 tensor2tensor 代碼庫(kù)中。由于最近 Transformer 的使用已經(jīng)非常普遍,而且我們的實(shí)現(xiàn)與最初的實(shí)現(xiàn)實(shí)際上是相同的,所以我們將省略對(duì)模型結(jié)構(gòu)的詳盡的背景描述,并向讀者推薦 Vaswani et al.(2017) 以及優(yōu)秀的指南,如“帶注釋的 Transformer”。

在這項(xiàng)工作中,我們表示層的數(shù)量(即,Transformer 塊)為 L,隱藏尺寸為 H,自注意頭的個(gè)數(shù)為 A。在所有例子中,我們將前饋/過(guò)濾器的大小設(shè)置為 4H,即當(dāng) H = 768 時(shí)是 3072;當(dāng) H = 10244096。我們主要分析兩個(gè)模型大小的結(jié)果:

  • BERT_{BASE}: L=12, H=768, A=12, Total Parameters=110M
  • BERT_{LARGE}: L=24, H=1024, A=16, Total Parameters=340M

為了方便比較,BERT_{BASE} 選擇了與 OpenAI GPT 一樣的模型大小。然而,重要的是,BERT Transformer 使用的是雙向的自注意力,而 GPT Transformer 使用的是受限的自注意力,每個(gè)標(biāo)記只能關(guān)注其左邊的語(yǔ)境。我們注意到,在文獻(xiàn)中,雙向 Transformer 通常被稱為“Transformer 編碼器”,而只有標(biāo)記左側(cè)語(yǔ)境的版本由于可以用于文本生成而被重新定義為“Transformer 解碼器”。BERT、OpenAI GPT 和 ELMo 之間的比較如圖 1 所示。

BERT、OpenAI GPT 和 ELMo 之間的比較

圖 1:預(yù)訓(xùn)練模型結(jié)構(gòu)的不同。BERT 使用雙向 Transformer。OpenAI GPT 使用 從左到右的 Transformer。ELMo 使用獨(dú)立訓(xùn)練的從左到右和從右到左的 LSTM 的連接來(lái)為下游任務(wù)生成特征。其中,只有 BERT 表示在所有層中同時(shí)受到左右語(yǔ)境的制約。

3.2 輸入表示

我們的輸入表示能夠在一個(gè)標(biāo)記序列中清楚地表示單個(gè)文本句子或一對(duì)文本句子(例如,[Question, Answer])。(注釋:在整個(gè)工作中,“句子”可以是連續(xù)的任意跨度的文本,而不是實(shí)際語(yǔ)言意義上的句子。“序列”是指輸入到 BERT的標(biāo)記序列,它可以是單個(gè)句子,也可以是兩個(gè)句子組合在一起。)通過(guò)把給定標(biāo)記對(duì)應(yīng)的標(biāo)記嵌入、句子嵌入和位置嵌入求和來(lái)構(gòu)造其輸入表示。圖 2 給出了輸入表示的可視化表示。
細(xì)節(jié)是:

圖 2:BERT 的輸入表示。輸入嵌入是標(biāo)記嵌入(詞嵌入)、句子嵌入和位置嵌入的總和。

  • 我們使用含 3 萬(wàn)個(gè)標(biāo)記詞語(yǔ)的 WordPiece 嵌入(Wu et al., 2016)。我們用 ## 表示拆分的單詞片段。
  • 我們使用學(xué)習(xí)到的位置嵌入,支持的序列長(zhǎng)度最長(zhǎng)可達(dá) 512 個(gè)標(biāo)記。
  • 每個(gè)序列的第一個(gè)標(biāo)記始終是特殊分類嵌入([CLS])。該特殊標(biāo)記對(duì)應(yīng)的最終隱藏狀態(tài)(即,Transformer 的輸出)被用作分類任務(wù)中該序列的總表示。對(duì)于非分類任務(wù),這個(gè)最終隱藏狀態(tài)將被忽略。
  • 句子對(duì)被打包在一起形成一個(gè)單獨(dú)的序列。我們用兩種方法區(qū)分這些句子。方法一,我們用一個(gè)特殊標(biāo)記([SEP])將它們分開(kāi)。方法二,我們給第一個(gè)句子的每個(gè)標(biāo)記添加一個(gè)可訓(xùn)練的句子 A 嵌入,給第二個(gè)句子的每個(gè)標(biāo)記添加一個(gè)可訓(xùn)練的句子 B 嵌入。
  • 對(duì)于單句輸入,我們只使用句子 A 嵌入。

3.3.1 任務(wù)一#:遮蔽語(yǔ)言模型

直覺(jué)上,我們有理由相信,深度雙向模型嚴(yán)格來(lái)說(shuō)比從左到右模型或從左到右模型結(jié)合從右到左模型的淺層連接更強(qiáng)大。不幸的是,標(biāo)準(zhǔn)條件語(yǔ)言模型只能從左到右或從右到左進(jìn)行訓(xùn)練,因?yàn)殡p向條件作用將允許每個(gè)單詞在多層上下文中間接地“看到自己”。

為了訓(xùn)練深度雙向表示,我們采用了一種簡(jiǎn)單的方法,即隨機(jī)遮蔽一定比例的輸入標(biāo)記,然后僅預(yù)測(cè)那些被遮蔽的標(biāo)記。我們將這個(gè)過(guò)程稱為“遮蔽語(yǔ)言模型”(MLM),盡管在文獻(xiàn)中它通常被稱為完形填詞任務(wù)(Taylor, 1953)。在這種情況下,就像在標(biāo)準(zhǔn)語(yǔ)言模型中一樣,與遮蔽標(biāo)記相對(duì)應(yīng)的最終隱藏向量被輸入到與詞匯表對(duì)應(yīng)的輸出 softmax 中(也就是要把被遮蔽的標(biāo)記對(duì)應(yīng)為詞匯表中的一個(gè)詞語(yǔ))。在我們所有的實(shí)驗(yàn)中,我們?cè)诿總€(gè)序列中隨機(jī)遮蔽 15% 的標(biāo)記。與去噪的自動(dòng)編碼器(Vincent et al., 2008)不同的是,我們只是讓模型預(yù)測(cè)被遮蔽的標(biāo)記,而不是要求模型重建整個(gè)輸入。

雖然這確實(shí)允許我們獲得一個(gè)雙向預(yù)訓(xùn)練模型,但這種方法有兩個(gè)缺點(diǎn)。第一個(gè)缺點(diǎn)是,我們?cè)陬A(yù)訓(xùn)練和微調(diào)之間造成了不匹配,因?yàn)?[MASK] 標(biāo)記在微調(diào)期間從未出現(xiàn)過(guò)。為了緩和這種情況,我們并不總是用真的用 [MASK] 標(biāo)記替換被選擇的單詞。而是,訓(xùn)練數(shù)據(jù)生成器隨機(jī)選擇 15% 的標(biāo)記,例如,在my dog is hairy 這句話中,它選擇 hairy。然后執(zhí)行以下步驟:

  • 數(shù)據(jù)生成不會(huì)總是用 [MASK] 替換被選擇的單詞,而是執(zhí)行以下操作:
  • 80% 的情況下:用 [MASK] 替換被選擇的單詞,例如,my dog is hairy → my dog is [MASK]
  • 10% 的情況下:用一個(gè)隨機(jī)單詞替換被選擇的單詞,例如,my dog is hairy → my dog is apple
  • 10% 的情況下:保持被選擇的單詞不變,例如,my dog is hairy → my dog is hairy。這樣做的目的是使表示偏向于實(shí)際觀察到的詞。

Transformer 編碼器不知道它將被要求預(yù)測(cè)哪些單詞,或者哪些單詞已經(jīng)被隨機(jī)單詞替換,因此它被迫保持每個(gè)輸入標(biāo)記的分布的上下文表示。另外,因?yàn)殡S機(jī)替換只發(fā)生在 1.5% 的標(biāo)記(即,15% 的 10%)這似乎不會(huì)損害模型的語(yǔ)言理解能力。

第二個(gè)缺點(diǎn)是,使用 Transformer 的每批次數(shù)據(jù)中只有 15% 的標(biāo)記被預(yù)測(cè),這意味著模型可能需要更多的預(yù)訓(xùn)練步驟來(lái)收斂。在 5.3 節(jié)中,我們證明了 Transformer 確實(shí)比從左到右的模型(預(yù)測(cè)每個(gè)標(biāo)記)稍微慢一點(diǎn),但是 Transformer 模型的實(shí)驗(yàn)效果遠(yuǎn)遠(yuǎn)超過(guò)了它增加的預(yù)訓(xùn)練模型的成本。

3.3.2 任務(wù)2#:下一句預(yù)測(cè)

許多重要的下游任務(wù),如問(wèn)題回答(QA)和自然語(yǔ)言推理(NLI),都是建立在理解兩個(gè)文本句子之間的關(guān)系的基礎(chǔ)上的,而這并不是語(yǔ)言建模直接捕捉到的。為了訓(xùn)練一個(gè)理解句子關(guān)系的模型,我們預(yù)訓(xùn)練了一個(gè)下一句預(yù)測(cè)的二元分類任務(wù),這個(gè)任務(wù)可以從任何單語(yǔ)語(yǔ)料庫(kù)中簡(jiǎn)單地歸納出來(lái)。具體來(lái)說(shuō),在為每個(gè)訓(xùn)練前的例子選擇句子 A 和 B 時(shí),50% 的情況下 B 是真的在 A 后面的下一個(gè)句子,50% 的情況下是來(lái)自語(yǔ)料庫(kù)的隨機(jī)句子。比如說(shuō):

我們完全隨機(jī)選擇不是下一句的句子,最終的預(yù)訓(xùn)練模型在這個(gè)任務(wù)中達(dá)到了 97%-98% 的準(zhǔn)確率。盡管這個(gè)任務(wù)很簡(jiǎn)單,但是我們?cè)?5.1 節(jié)中展示了針對(duì)此任務(wù)的預(yù)訓(xùn)練對(duì) QA 和 NLI 都非常有益。

3.4 預(yù)訓(xùn)練過(guò)程

預(yù)訓(xùn)練過(guò)程大體上遵循以往文獻(xiàn)中語(yǔ)言模型預(yù)訓(xùn)練過(guò)程。對(duì)于預(yù)訓(xùn)練語(yǔ)料庫(kù),我們使用 BooksCorpus(800M 單詞)(Zhu et al., 2015)和英語(yǔ)維基百科(2,500M 單詞)。對(duì)于維基百科,我們只提取文本段落,而忽略列表、表格和標(biāo)題。為了提取長(zhǎng)的連續(xù)序列,使用文檔級(jí)別的語(yǔ)料庫(kù),而不是使用像 Billion Word Benchmark (Chelba et al., 2013)那樣使用打亂順序的句子級(jí)別語(yǔ)料庫(kù)是至關(guān)重要的。

為了生成每個(gè)訓(xùn)練輸入序列,我們從語(yǔ)料庫(kù)中采樣兩段文本,我們將其稱為“句子”,盡管它們通常比單個(gè)句子長(zhǎng)得多(但也可以短一些)。第一個(gè)句子添加 A 嵌入,第二個(gè)句子添加 B 嵌入。50% 的情況下 B 確實(shí)是 A 后面的實(shí)際下一句,50% 的情況下它是隨機(jī)選取的一個(gè)的句子,這是為“下一句預(yù)測(cè)”任務(wù)所做的。兩句話合起來(lái)的長(zhǎng)度要小于等于 512 個(gè)標(biāo)記。語(yǔ)言模型遮蔽過(guò)程是在使用 WordPiece 序列化句子后,以均勻的 15% 的概率遮蔽標(biāo)記,不考慮部分詞片的影響(那些含有被 WordPiece 拆分,以##為前綴的標(biāo)記)。

我們使用 256 個(gè)序列(256 個(gè)序列 * 512 個(gè)標(biāo)記= 128,000 個(gè)標(biāo)記/批次)的批大小進(jìn)行 1,000,000 步的訓(xùn)練,這大約是在 33 億詞的語(yǔ)料庫(kù)中訓(xùn)練 40 個(gè)周期。我們用Adam 優(yōu)化算法并設(shè)置其學(xué)習(xí)率為 1e-4,β1 = 0.9,β2 = 0.999,L2 的權(quán)重衰減是 0.01,并且在前 10000 步學(xué)習(xí)率熱身(learning rate warmup),然后學(xué)習(xí)率開(kāi)始線性衰減。我們?cè)谒袑由鲜褂?0.1 概率的 dropout。像 OpenAI GPT 一樣,我們使用 gelu 激活(Hendrycks and Gimpel, 2016)而不是標(biāo)準(zhǔn) relu。訓(xùn)練損失是遮蔽語(yǔ)言模型似然值與下一句預(yù)測(cè)似然值的平均值。

在 4 塊 Cloud TPU(共含有 16 塊 TPU)上訓(xùn)練 BERT_{BASE}。在 16 塊 Cloud TPU(共含有 64 塊 TPU)訓(xùn)練 BERT_{LARGE}。每次訓(xùn)練前需要 4 天的時(shí)間。

3.5 微調(diào)過(guò)程

對(duì)于序列級(jí)別的分類任務(wù),BERT 微調(diào)非常簡(jiǎn)單。為了獲得輸入序列的固定維度的表示,我們?nèi)√厥鈽?biāo)記([CLS])構(gòu)造相關(guān)的嵌入對(duì)應(yīng)的最終的隱藏狀態(tài)(即,為 Transformer 的輸出)的池化后輸出。我們把這個(gè)向量表示為 C \in \mathbb{R}^H,在微調(diào)期間唯一需要的新增加的參數(shù)是分類層的參數(shù)矩陣 W \in \mathbb{R}^{K \times H},其中 K 是要分類標(biāo)簽的數(shù)量。分類標(biāo)簽的概率P \in \mathbb{R}^K 由一個(gè)標(biāo)準(zhǔn)的 softmax 來(lái)計(jì)算,P=softmax(CW^T)。對(duì) BERT 的參數(shù)矩陣 W 的所有參數(shù)進(jìn)行了聯(lián)合微調(diào),使正確標(biāo)簽的對(duì)數(shù)概率最大化。對(duì)于區(qū)間級(jí)和標(biāo)記級(jí)預(yù)測(cè)任務(wù),必須以特定于任務(wù)的方式稍微修改上述過(guò)程。具體過(guò)程見(jiàn)第 4 節(jié)的相關(guān)內(nèi)容。

對(duì)于微調(diào),除了批量大小、學(xué)習(xí)率和訓(xùn)練次數(shù)外,大多數(shù)模型超參數(shù)與預(yù)訓(xùn)練期間相同。Dropout 概率總是使用 0.1。最優(yōu)超參數(shù)值是特定于任務(wù)的,但我們發(fā)現(xiàn)以下可能值的范圍可以很好地在所有任務(wù)中工作:

  • Batch size: 16, 32
  • Learning rate (Adam): 5e-5, 3e-5, 2e-5
  • Number of epochs: 3, 4

我們還觀察到大數(shù)據(jù)集(例如 100k+ 標(biāo)記的訓(xùn)練集)對(duì)超參數(shù)選擇的敏感性遠(yuǎn)遠(yuǎn)低于小數(shù)據(jù)集。微調(diào)通常非???,因此只需對(duì)上述參數(shù)進(jìn)行完全搜索,并選擇在驗(yàn)證集上性能最好的模型即可。

3.6 BERT 和 OpenAI GPT 的比較

在現(xiàn)有預(yù)訓(xùn)練方法中,與 BERT 最相似的是 OpenAI GPT,它在一個(gè)大的文本語(yǔ)料庫(kù)中訓(xùn)練從左到右的 Transformer 語(yǔ)言模型。事實(shí)上,BERT 中的許多設(shè)計(jì)決策都是有意選擇盡可能接近 GPT 的,這樣兩種方法就可以更加直接地進(jìn)行比較。我們工作的核心論點(diǎn)是,在 3.3 節(jié)中提出的兩項(xiàng)新的預(yù)訓(xùn)練語(yǔ)言模型任務(wù)占了實(shí)驗(yàn)效果改進(jìn)的大部分,但是我們注意到 BERT 和 GPT 在如何訓(xùn)練方面還有其他幾個(gè)不同之處:

  • GPT 是在 BooksCorpus(800M 詞)上訓(xùn)練出來(lái)的;BERT 是在 BooksCor-pus(800M 詞)和 Wikipedia(2,500M 詞)上訓(xùn)練出來(lái)的。
  • GPT 僅在微調(diào)時(shí)使用句子分隔符([SEP])和分類標(biāo)記([CLS]);BERT 在預(yù)訓(xùn)練時(shí)使用 [SEP], [CLS] 和 A/B 句嵌入。
  • GPT 在每批次含 32,000 詞上訓(xùn)練了 1M 步;BERT 在每批次含 128,000 詞上訓(xùn)練了 1M 步。
  • GPT 在所有微調(diào)實(shí)驗(yàn)中學(xué)習(xí)速率均為 5e-5;BERT 選擇特定于任務(wù)的在驗(yàn)證集中表現(xiàn)最好的微調(diào)學(xué)習(xí)率。

為了分清楚這些差異的帶來(lái)的影響,我們?cè)?5.1 節(jié)中的進(jìn)行每一種差異的消融實(shí)驗(yàn)表明,大多數(shù)的實(shí)驗(yàn)效果的改善實(shí)際上來(lái)自新的預(yù)訓(xùn)練任務(wù)(遮蔽語(yǔ)言模型和下一句預(yù)測(cè)任務(wù))。

圖 3:我們具體于特定任務(wù)的模型是通過(guò)給 BERT 加一個(gè)額外的輸出層構(gòu)成,所以僅需要從頭學(xué)習(xí)最小數(shù)量的參數(shù)。其中(a)和(b)是序列級(jí)任務(wù),(c)和(d)是標(biāo)記級(jí)任務(wù)。圖中 E 表示嵌入的輸入,Ti 表示第 i 個(gè)標(biāo)記的上下文表示,[CLS] 是分類輸出的特殊符號(hào),[SEP] 是分離非連續(xù)標(biāo)記(分離兩個(gè)句子)序列的特殊符號(hào)。

4. 實(shí)驗(yàn)

在這一節(jié),我們將展示 BERT 在 11 項(xiàng)自然語(yǔ)言處理任務(wù)中的微調(diào)結(jié)果。

4.1 GLUE 數(shù)據(jù)集

通用語(yǔ)言理解評(píng)價(jià) (GLUE General Language Understanding Evaluation) 基準(zhǔn)(Wang et al.(2018))是對(duì)多種自然語(yǔ)言理解任務(wù)的集合。大多數(shù) GLUE 數(shù)據(jù)集已經(jīng)存在多年,但 GLUE 的用途是(1)以分離的訓(xùn)練集、驗(yàn)證集和測(cè)試集的標(biāo)準(zhǔn)形式發(fā)布這些數(shù)據(jù)集;并且(2)建立一個(gè)評(píng)估服務(wù)器來(lái)緩解評(píng)估不一致和過(guò)度擬合測(cè)試集的問(wèn)題。GLUE 不發(fā)布測(cè)試集的標(biāo)簽,用戶必須將他們的預(yù)測(cè)上傳到 GLUE 服務(wù)器進(jìn)行評(píng)估,并對(duì)提交的數(shù)量進(jìn)行限制。

GLUE 基準(zhǔn)包括以下數(shù)據(jù)集,其描述最初在 Wang et al.(2018)中總結(jié):

MNLI 多類型的自然語(yǔ)言推理(Multi-Genre Natural Language Inference)是一項(xiàng)大規(guī)模的、眾包的蘊(yùn)含分類任務(wù)(Williams et al., 2018)。給定一對(duì)句子,目的是預(yù)測(cè)第二個(gè)句子相對(duì)于第一個(gè)句子是暗含的、矛盾的還是中立的關(guān)系。

QQP Quora問(wèn)題對(duì)(Quora Question Pairs)是一個(gè)二元分類任務(wù),目的是確定兩個(gè)問(wèn)題在Quora上問(wèn)的語(yǔ)義是否相等 (Chen et al., 2018)。

QNLI 問(wèn)題自然語(yǔ)言推理(Question Natural Language Inference)是斯坦福問(wèn)題回答數(shù)據(jù)集(Rajpurkar et al., 2016)已經(jīng)轉(zhuǎn)換為二進(jìn)制分類任務(wù)的一個(gè)版本 Wang et al.(2018)。正類的例子是(問(wèn)題,句子)對(duì),句子中包含正確的答案,和負(fù)類的例子是來(lái)自同一段的(問(wèn)題,句子)對(duì),句子中不包含正確的答案。

SST-2 斯坦福情感語(yǔ)義樹(shù)(Stanford Sentiment Treebank)數(shù)據(jù)集是一個(gè)二元單句分類任務(wù),數(shù)據(jù)由電影評(píng)論中提取的句子組成,并對(duì)由人工對(duì)這些句子進(jìn)行標(biāo)注(Socher et al., 2013)。

CoLA 語(yǔ)言可接受性單句二元分類任務(wù)語(yǔ)料庫(kù)(Corpus of Linguistic Acceptability),它的目的是預(yù)測(cè)一個(gè)英語(yǔ)句子在語(yǔ)言學(xué)上是否 “可接受”(Warstadt et al., 2018)。

STS-B 文本語(yǔ)義相似度基準(zhǔn)(Semantic Textual Similarity Bench-mark )是從新聞標(biāo)題中和其它來(lái)源里提取的句子對(duì)的集合(Cer et al., 2017)。他們用從 1 到 5 的分?jǐn)?shù)標(biāo)注,表示這兩個(gè)句子在語(yǔ)義上是多么相似。

MRPC 微軟研究釋義語(yǔ)料庫(kù)(Microsoft Research Paraphrase Corpus)從在線新聞中自動(dòng)提取的句子對(duì)組成,并用人工注解來(lái)說(shuō)明這兩個(gè)句子在語(yǔ)義上是否相等(Dolan and Brockett, 2005.)。

RTE 識(shí)別文本蘊(yùn)含(Recognizing Textual Entailment)是一個(gè)與 MNLI 相似的二元蘊(yùn)含任務(wù),只是 RTE 的訓(xùn)練數(shù)據(jù)更少 Bentivogli et al., 2009。

WNLI 威諾格拉德自然語(yǔ)言推理(Winograd NLI)是一個(gè)來(lái)自(Levesque et al., 2011) )的小型自然語(yǔ)言推理數(shù)據(jù)集。GLUE網(wǎng)頁(yè)提示到這個(gè)數(shù)據(jù)集的構(gòu)造存在問(wèn)題,每一個(gè)被提交給 GLUE 的經(jīng)過(guò)訓(xùn)練的系統(tǒng)在預(yù)測(cè)多數(shù)類時(shí)都低于 65.1 這個(gè)基線準(zhǔn)確度。因此,出于對(duì) OpenAI GPT 的公平考慮,我們排除了這一數(shù)據(jù)集。對(duì)于我們的 GLUE 提交,我們總是預(yù)測(cè)多數(shù)類。

4.1.1 GLUE 結(jié)果

為了在 GLUE 上微調(diào)模型,我們按照本文第 3 節(jié)中描述的那樣表示輸入的句子或者句子對(duì),并且使用最后一層的隱藏向量 C \in \mathbb{R}^H 中的第一個(gè)輸入標(biāo)記([CLS])作為句子總的表示。如圖3 (a)和(b)所示。在微調(diào)期間唯一引入的新的參數(shù)是一個(gè)分類層參數(shù)矩陣 W \in \mathbb{R}^{K \times H},其中 K 是要分類的數(shù)量。我們用 CW 計(jì)算一個(gè)標(biāo)準(zhǔn)的分類損失,換句話說(shuō)是 log(softmax(CW^T))。

我們?cè)?GLUE 所有的任務(wù)中使用 32 的批次大小和 3 個(gè)周期。對(duì)于每個(gè)任務(wù)我們使用 5e-5, 4e-5, 3e-5, 2e-5 的學(xué)習(xí)率來(lái)微調(diào),然后在驗(yàn)證集中選擇表現(xiàn)最好的學(xué)習(xí)率。此外,對(duì)于 BERT_{LARGE} 我們發(fā)現(xiàn)它有時(shí)在小數(shù)據(jù)集上微調(diào)時(shí)不穩(wěn)定(換句話說(shuō)是,有時(shí)運(yùn)行時(shí)會(huì)使結(jié)果更差),因此,我們進(jìn)行了幾次隨機(jī)重啟,并選擇了在驗(yàn)證集上表現(xiàn)最好的模型。對(duì)于隨機(jī)重啟,我們使用相同的預(yù)訓(xùn)練檢查點(diǎn),但執(zhí)行不同的數(shù)據(jù)打亂和分類器層初始化來(lái)微調(diào)模型。我們注意到,GLUE 發(fā)布的數(shù)據(jù)集不包括測(cè)試的標(biāo)簽,所以我們分別將 BERT_{BASE}BERT_{LARGE} 向 GLUE 評(píng)估服務(wù)器提交結(jié)果。

結(jié)果如表 1 所示。在所有的任務(wù)上,BERT_{BASE}BERT_{LARGE} 都比現(xiàn)有的系統(tǒng)更加出色 ,與先進(jìn)水平相比,分別取得 4.4% 及 6.7% 的平均改善。請(qǐng)注意,除了 BERT_{BASE} 含有注意力屏蔽(attention masking),BERT_{BASE} 和 OpenAI GPT 的模型結(jié)構(gòu)方面幾乎是相同的。對(duì)于最大和最廣泛使用的 GLUE 任務(wù) MNLI,BERT 比當(dāng)前最優(yōu)模型獲得了 4.7% 的絕對(duì)提升。在 GLUE 官方的排行榜上, BERT_{LARGE} 獲得了 80.4 的分?jǐn)?shù),與原榜首的 OpenAI GPT 相比截止本文寫作時(shí)只獲得了 72.8 分。

有趣的是, BERT_{LARGE} 在所有任務(wù)中都顯著優(yōu)于 BERT_{BASE},即使是在那些只有很少訓(xùn)練數(shù)據(jù)的任務(wù)上。BERT 模型大小的影響在本文 5.2 節(jié)有更深入的探討。

表 1:GLUE 測(cè)試結(jié)果,由 GLUE 評(píng)估服務(wù)器評(píng)分。每個(gè)任務(wù)下面的數(shù)字表示訓(xùn)練示例的數(shù)量?!癆verage”列與官方 GLUE 評(píng)分略有不同,因?yàn)槲覀兣懦擞袉?wèn)題的 WNLI 數(shù)據(jù)集。OpenAI GPT = (L=12, H=768, A=12); BERTBASE = (L=12, H=768, A=12); BERTLARGE = (L=24, H=1024, A=16)。BERT 和 OpenAI GPT 都是單模型,單任務(wù)。所有結(jié)果可以從 https://gluebenchmark.com/leaderboardhttps://blog.openai.com/language-unsupervised/ 獲得。

4.2 SQuAD v1.1

斯坦福問(wèn)答數(shù)據(jù)集(SQuAD Standford Question Answering Dataset)是一個(gè)由 100k 個(gè)眾包的問(wèn)題/答案對(duì)組成的集合(Rajpurkar et al., 2016)。給出一個(gè)問(wèn)題和一段來(lái)自維基百科包含這個(gè)問(wèn)題答案的段落,我們的任務(wù)是預(yù)測(cè)這段答案文字的區(qū)間。例如:

  • 輸入問(wèn)題:
    Where do water droplets collide with ice crystals to form precipitation?
  • 輸入段落
    ... Precipitation forms as smaller droplets coalesce via collision with other rain drops or ice crystals within a cloud. ...
  • 輸出答案
    within a cloud

這種區(qū)間預(yù)測(cè)任務(wù)與 GLUE 的序列分類任務(wù)有很大的區(qū)別,但是我們能夠讓 BERT 以一種直接的方式在 SQuAD 上運(yùn)行。就像在 GLUE 中,我們將輸入問(wèn)題和段落表示為一個(gè)單一打包序列(packed sequence),其中問(wèn)題使用 A 嵌入,段落使用 B 嵌入。在微調(diào)模型期間唯一需要學(xué)習(xí)的新參數(shù)是區(qū)間開(kāi)始向量 S \in \mathbb{R}^H 和區(qū)間結(jié)束向量 E \in \mathbb{R}^H。讓 BERT 模型最后一層的隱藏向量的第 i^{th} 輸入標(biāo)記被表示為 T_i \in \mathbb{R}^H。如圖 3(c)可視化的表示。然后,計(jì)算單詞 i 作為答案區(qū)間開(kāi)始的概率,它是 T_iS 之間的點(diǎn)積并除以該段落所有單詞的結(jié)果之后再 softmax:

P_i=\dfrac{e^{S \cdot T_i}}{\sum_j e^{S \cdot T_j}}

同樣的式子用來(lái)計(jì)算單詞作為答案區(qū)間的結(jié)束的概率,并采用得分最高的區(qū)間作為預(yù)測(cè)結(jié)果。訓(xùn)練目標(biāo)是正確的開(kāi)始和結(jié)束位置的對(duì)數(shù)可能性。

我們使用 5e-5 的學(xué)習(xí)率,32 的批次大小訓(xùn)練模型 3 個(gè)周期。在模型推斷期間,因?yàn)榻Y(jié)束位置與開(kāi)始位置沒(méi)有條件關(guān)系,我們?cè)黾恿私Y(jié)束位置必須在開(kāi)始位置之后的條件,但沒(méi)有使用其他啟發(fā)式。為了方便評(píng)估,把序列化后的標(biāo)記區(qū)間對(duì)齊回原始未序列化的輸入。

結(jié)果如表 2 中描述那樣。SQuAD 使用一個(gè)高度嚴(yán)格的測(cè)試過(guò)程,其中提交者必須手動(dòng)聯(lián)系小組組織人員,然后在一個(gè)隱藏的測(cè)試集上運(yùn)行他們的系統(tǒng),所以我們只提交了最好的模型來(lái)測(cè)試。表中顯示的結(jié)果是我們提交給小組的第一個(gè)也是唯一一個(gè)測(cè)試。我們注意到上面的結(jié)果在小組排行榜上沒(méi)有最新的公共模型描述,并被允許在訓(xùn)練他們的模型時(shí)使用任何的公共數(shù)據(jù)。因此,我們?cè)谔峤坏哪P椭惺褂梅浅S邢薜臄?shù)據(jù)增強(qiáng),通過(guò)在 SQuAD 和 TriviaQA(Joshi et al., 2017) 聯(lián)合訓(xùn)練。

我們表現(xiàn)最好的模型在集成模型排名中上比排名第一模型高出 1.5 個(gè) F1 值,在一個(gè)單模型排行榜中比排名第一的模型高出 1.7(譯者注:原文是 1.3) 個(gè) F1 值。實(shí)際上,我們的單模型 BERT 就比最優(yōu)的集成模型表現(xiàn)更優(yōu)。即使只在 SQuAD 數(shù)據(jù)集上(不用 TriviaQA 數(shù)據(jù)集)我們只損失 0.1-0.4 個(gè) F1 值,而且我們的模型輸出結(jié)果仍然比現(xiàn)有模型的表現(xiàn)好很多。

表 2:SQuAD 結(jié)果。Ensemble BERT 是使用不同的預(yù)訓(xùn)練模型檢查點(diǎn)和微調(diào)種子的 7x 模型。

4.3 命名實(shí)體識(shí)別

為了評(píng)估標(biāo)記任務(wù)的性能,我們?cè)?CoNLL 2003 命名實(shí)體識(shí)別數(shù)據(jù)集(NER Named Entity Recognition)上微調(diào) BERT 模型。該數(shù)據(jù)集由 200k 個(gè)訓(xùn)練單詞組成,這些訓(xùn)練詞被標(biāo)注為人員、組織、地點(diǎn)、雜項(xiàng)或其他(無(wú)命名實(shí)體)。

為了微調(diào),我們將最后一層每個(gè)單詞的隱藏表示 T_i \in \mathbb{R}^H 送入一個(gè)在 NER 標(biāo)簽集合的分類層。每個(gè)單詞的分類不以周圍預(yù)測(cè)為條件(換句話說(shuō),沒(méi)有自回歸和沒(méi)有 CRF)。為了與詞塊(WordPiece)序列化相適應(yīng),我們把 CoNLI-序列化的(CoNLL-tokenized)的輸入詞輸入我們的 WordPiece 序列化器,然后使用這些隱藏狀態(tài)相對(duì)應(yīng)的第一個(gè)塊而不用預(yù)測(cè)標(biāo)記為 X的塊。例如:

由于單詞塊序列化邊界是輸入中已知的一部分,因此對(duì)訓(xùn)練和測(cè)試都要這樣做。
結(jié)果如表 3 所示。BERT_{LARGE} 優(yōu)于現(xiàn)存的最優(yōu)模型,使用多任務(wù)學(xué)習(xí)的交叉視野訓(xùn)練 (Clark et al., 2018),CoNLL-2003 命名實(shí)體識(shí)別測(cè)試集上高 0.2 F1 值。

表 3:CoNLL-2003 命名實(shí)體識(shí)別。模型超參數(shù)使用驗(yàn)證集進(jìn)行選擇,報(bào)告的驗(yàn)證集和測(cè)試分?jǐn)?shù)使用這些超參數(shù)進(jìn)行隨機(jī)五次以上的實(shí)驗(yàn)然后取實(shí)驗(yàn)的平均結(jié)果。

4.4 SWAG

Adversarial Generations(SWAG)數(shù)據(jù)集由 113k 個(gè)句子對(duì)組合而成,用于評(píng)估基于常識(shí)的推理 (Zellers et al., 2018)

給出一個(gè)來(lái)自視頻字幕數(shù)據(jù)集的句子,任務(wù)是在四個(gè)選項(xiàng)中選擇最合理的延續(xù)。例如:

為 SWAG 數(shù)據(jù)集調(diào)整 BERT 模型的方式與為 GLUE 數(shù)據(jù)集調(diào)整的方式相似。對(duì)于每個(gè)例子,我們構(gòu)造四個(gè)輸入序列,每一個(gè)都連接給定的句子(句子A)和一個(gè)可能的延續(xù)(句子B)。唯一的特定于任務(wù)的參數(shù)是我們引入向量 V \in \mathbb{R}^{H},然后它點(diǎn)乘最后層的句子總表示 C_i \in \mathbb{R}^H 為每一個(gè)選擇 i 產(chǎn)生一個(gè)分?jǐn)?shù)。概率分布為 softmax 這四個(gè)選擇:

P_i=\dfrac{e^{V \cdot C_i}}{\sum_j^4 e^{S \cdot C_j}}

我們使用 2e-5 的學(xué)習(xí)率,16 的批次大小訓(xùn)練模型 3 個(gè)周期。結(jié)果如表 4 所示。BERT_{LARGE} 優(yōu)于作者的 ESIM+ELMo 的基線標(biāo)準(zhǔn)模型的 27.1% 。

表 4:SWAG 驗(yàn)證集和測(cè)試集準(zhǔn)確率。測(cè)試結(jié)果由 SWAG 作者對(duì)隱藏的標(biāo)簽進(jìn)行評(píng)分。人類的表現(xiàn)是用 100 個(gè)樣本來(lái)衡量的,正如 SWAG 論文中描述的那樣。

5. 消融研究(Ablation Studies)

雖然我們已經(jīng)證明了非常強(qiáng)有力的實(shí)證結(jié)果,但到目前為止提出的結(jié)果并沒(méi)有提現(xiàn)出 BERT 框架的每個(gè)部分具體的貢獻(xiàn)。在本節(jié)中,我們對(duì) BERT 的許多方面進(jìn)行了消融實(shí)驗(yàn),以便更好地理解每個(gè)部分的相對(duì)重要性。

5.1 預(yù)訓(xùn)練任務(wù)的影響

我們的核心觀點(diǎn)之一是,與之前的工作相比,BERT 的深層雙向性(通過(guò)遮蔽語(yǔ)言模型預(yù)訓(xùn)練)是最重要的改進(jìn)。為了證明這一觀點(diǎn),我們?cè)u(píng)估了兩個(gè)新模型,它們使用與 BERT_{BASE} 完全相同的預(yù)訓(xùn)練數(shù)據(jù)、微調(diào)方案和 Transformer 超參數(shù):

  1. No NSP:模型使用“遮蔽語(yǔ)言模型”(MLM)但是沒(méi)有“預(yù)測(cè)下一句任務(wù)”(NSP)。
  2. LTR & No NSP:模型使用一個(gè)從左到右(LTR)的語(yǔ)言模型,而不是遮蔽語(yǔ)言模型。在這種情況下,我們預(yù)測(cè)每個(gè)輸入詞,不應(yīng)用任何遮蔽。在微調(diào)中也應(yīng)用了僅限左的約束,因?yàn)槲覀儼l(fā)現(xiàn)使用僅限左的上下文進(jìn)行預(yù)訓(xùn)練和使用雙向上下文進(jìn)行微調(diào)總是比較糟糕。此外,該模型未經(jīng)預(yù)測(cè)下一句任務(wù)的預(yù)訓(xùn)練。這與OpenAI GPT有直接的可比性,但是使用更大的訓(xùn)練數(shù)據(jù)集、輸入表示和微調(diào)方案。

結(jié)果如表 5 所示。我們首先分析了 NSP 任務(wù)所帶來(lái)的影響。我們可以看到去除 NSP 對(duì) QNLI、MNLI 和 SQuAD 的表現(xiàn)造成了顯著的傷害。這些結(jié)果表明,我們的預(yù)訓(xùn)練方法對(duì)于獲得先前提出的強(qiáng)有力的實(shí)證結(jié)果是至關(guān)重要的。

接著我們通過(guò)對(duì)比 “No NSP” 與 “LTR & No NSP” 來(lái)評(píng)估訓(xùn)練雙向表示的影響。LTR 模型在所有任務(wù)上的表現(xiàn)都比 MLM 模型差,在 MRPC 和 SQuAD 上的下降特別大。對(duì)于SQuAD來(lái)說(shuō),很明顯 LTR 模型在區(qū)間和標(biāo)記預(yù)測(cè)方面表現(xiàn)很差,因?yàn)闃?biāo)記級(jí)別的隱藏狀態(tài)沒(méi)有右側(cè)上下文。因?yàn)?MRPC 不清楚性能差是由于小的數(shù)據(jù)大小還是任務(wù)的性質(zhì),但是我們發(fā)現(xiàn)這種性能差是在一個(gè)完全超參數(shù)掃描和許多次隨機(jī)重啟之間保持一致的。

為了增強(qiáng) LTR 系統(tǒng),我們嘗試在其上添加一個(gè)隨機(jī)初始化的 BiLSTM 來(lái)進(jìn)行微調(diào)。這確實(shí)大大提高了 SQuAD 的成績(jī),但是結(jié)果仍然比預(yù)訓(xùn)練的雙向模型表現(xiàn)差得多。它還會(huì)損害所有四個(gè) GLUE 任務(wù)的性能。

我們注意到,也可以培訓(xùn)單獨(dú)的 LTR 和 RTL 模型,并將每個(gè)標(biāo)記表示為兩個(gè)模型表示的連接,就像 ELMo 所做的那樣。但是:(a)這是單個(gè)雙向模型參數(shù)的兩倍大小;(b)這對(duì)于像 QA 這樣的任務(wù)來(lái)說(shuō)是不直觀的,因?yàn)?RTL 模型無(wú)法以問(wèn)題為條件確定答案;(c)這比深層雙向模型的功能要弱得多,因?yàn)樯顚与p向模型可以選擇使用左上下文或右上下文。

表 5:在預(yù)訓(xùn)練任務(wù)中使用 BERT_{BASE} 模型進(jìn)行消融實(shí)驗(yàn)?!癗o NSP”表示不進(jìn)行下一句預(yù)測(cè)任務(wù)來(lái)訓(xùn)練模型。“LTR & No NSP”表示就像 OpenAI GPT 一樣,使用從左到右的語(yǔ)言模型不進(jìn)行下一句預(yù)測(cè)任務(wù)來(lái)訓(xùn)練模型?!? BiLSTM”表示在“LTR & No NSP”模型微調(diào)時(shí)添加一個(gè)隨機(jī)初始化的 BiLSTM 層。

5.2 模型大小的影響

在本節(jié)中,我們將探討模型大小對(duì)微調(diào)任務(wù)準(zhǔn)確度的影響。我們用不同的層數(shù)、隱藏單位和注意力頭個(gè)數(shù)訓(xùn)練了許多 BERT 模型,同時(shí)使用了與前面描述的相同的超參數(shù)和訓(xùn)練過(guò)程。

選定 GLUE 任務(wù)的結(jié)果如表 6 所示。在這個(gè)表中,我們報(bào)告了 5 次在驗(yàn)證集上的微調(diào)的隨機(jī)重啟的平均模型準(zhǔn)確度。我們可以看到,更大的模型在所選 4 個(gè)數(shù)據(jù)集上都帶來(lái)了明顯的準(zhǔn)確率上升,甚至對(duì)于只有 3600 個(gè)訓(xùn)練數(shù)據(jù)的 MRPC 來(lái)說(shuō)也是如此,并且與預(yù)訓(xùn)練任務(wù)有很大的不同。也許令人驚訝的是,相對(duì)于現(xiàn)有文獻(xiàn),我們能夠在現(xiàn)有的模型基礎(chǔ)上實(shí)現(xiàn)如此顯著的改進(jìn)。例如,Vaswani et al.(2017) 研究的最大 Transformer 為(L=6, H=1024, A=16),編碼器參數(shù)為 100M,我們所知的文獻(xiàn)中的最大 Transformer 為(L=64, H=512, A=2),參數(shù)為235M(Al-Rfou et al., 2018)。相比之下,BERT_{BASE} 含有 110M 參數(shù)而 BERT_{LARGE} 含有 340M 參數(shù)。

多年來(lái)人們都知道,增加模型的大小將持續(xù)提升在大型任務(wù)(如機(jī)器轉(zhuǎn)換和語(yǔ)言建模)上的的表現(xiàn),表 6 所示的由留存訓(xùn)練數(shù)據(jù)(held-out traing data)計(jì)算的語(yǔ)言模型的困惑度(perplexity)。然而,我們相信,這是第一次證明,如果模型得到了足夠的預(yù)訓(xùn)練,那么將模型擴(kuò)展到極端的規(guī)模也可以在非常小的任務(wù)中帶來(lái)巨大的改進(jìn)。

表 6:調(diào)整 BERT 的模型大小。#L = 層數(shù);#H = 隱藏維度大?。?A = 注意力頭的個(gè)數(shù)。“LM (ppl)”表示遮蔽語(yǔ)言模型在預(yù)留訓(xùn)練數(shù)據(jù)上的困惑度。

5.3 訓(xùn)練步數(shù)的影響

圖 4 顯示了經(jīng)過(guò) K 步預(yù)訓(xùn)練模型的檢查點(diǎn)再模型微調(diào)之后在 MNLI 驗(yàn)證集上的準(zhǔn)確率。這讓我們能夠回答下列問(wèn)題:

  1. 問(wèn):BERT真的需要這么多的預(yù)訓(xùn)練 (128,000 words/batch * 1,000,000 steps) 來(lái)實(shí)現(xiàn)高的微調(diào)精度嗎?
    答:是的,BERT_{BASE} 在 MNLI 上進(jìn)行 1M 步預(yù)訓(xùn)練時(shí)的準(zhǔn)確率比 500k 步提高了近 1.0%。
  2. 問(wèn):遮蔽語(yǔ)言模型的預(yù)訓(xùn)練是否比 LTR 模型預(yù)訓(xùn)練訓(xùn)收斂得慢,因?yàn)槊颗活A(yù)測(cè) 15% 的單詞,而不是每個(gè)單詞?
    答:遮蔽語(yǔ)言模型的收斂速度確實(shí)比 LTR 模型稍慢。然而,在絕對(duì)準(zhǔn)確性方面,遮蔽語(yǔ)言模型幾乎在訓(xùn)練一開(kāi)始就超越 LTR 模型。

圖 4:調(diào)整模型的訓(xùn)練步數(shù)。圖中展示了已經(jīng)預(yù)訓(xùn)練了 k 步后的模型參數(shù)在 MNLI 數(shù)據(jù)集上的再經(jīng)過(guò)微調(diào)后的準(zhǔn)確率。x 軸的值就是 k。

5.4 使用 BERT 基于特征的方法

到目前為止,所有的 BERT 結(jié)果都使用了微調(diào)方法,將一個(gè)簡(jiǎn)單的分類層添加到預(yù)訓(xùn)練的模型中,并在一個(gè)下行任務(wù)中對(duì)所有參數(shù)進(jìn)行聯(lián)合微調(diào)。然而,基于特征的方法,即從預(yù)訓(xùn)練模型中提取固定的特征,具有一定的優(yōu)勢(shì)。首先,并不是所有 NLP 任務(wù)都可以通過(guò) Transformer 編碼器體系結(jié)構(gòu)輕松地表示,因此需要添加特定于任務(wù)的模型體系結(jié)構(gòu)。其次,能夠一次性耗費(fèi)大量計(jì)算預(yù)先計(jì)算訓(xùn)練數(shù)據(jù)的表示,然后在這種表示的基礎(chǔ)上使用更節(jié)省計(jì)算的模型進(jìn)行許多實(shí)驗(yàn),這有很大的計(jì)算優(yōu)勢(shì)。

在本節(jié)中,我們通過(guò)在 CoNLL-2003 命名實(shí)體識(shí)別任務(wù)上生成類似于 elmo 的預(yù)訓(xùn)練的上下文表示來(lái)評(píng)估基于特征的方法中的 BERT 表現(xiàn)有多好。為此,我們使用與第 4.3 節(jié)相同的輸入表示,但是使用來(lái)自一個(gè)或多個(gè)層的激活輸出,而不需要對(duì)BERT的任何參數(shù)進(jìn)行微調(diào)。在分類層之前,這些上下文嵌入被用作對(duì)一個(gè)初始化的兩層 768 維 Bi-LSTM 的輸入。

結(jié)果如表 7 所示。最佳的執(zhí)行方法是從預(yù)訓(xùn)練的轉(zhuǎn)換器的前 4 個(gè)隱藏層串聯(lián)符號(hào)表示,這只比整個(gè)模型的微調(diào)落后 0.3 F1 值。這說(shuō)明 BERT 對(duì)于微調(diào)和基于特征的方法都是有效的。

表 7:在 CoNLL-2003 命名實(shí)體識(shí)別上使用基于特征的方法,并調(diào)整 BERT 層數(shù)。來(lái)自指定層的激活輸出被組合起來(lái),并被送到一個(gè)兩層的 BiLSTM 中,而不需要反向傳播到 BERT。

6. 結(jié)論

最近,由于使用語(yǔ)言模型進(jìn)行遷移學(xué)習(xí)而取得的實(shí)驗(yàn)提升表明,豐富的、無(wú)監(jiān)督的預(yù)訓(xùn)練是許多語(yǔ)言理解系統(tǒng)不可或缺的組成部分。特別是,這些結(jié)果使得即使是低資源(少量標(biāo)簽的數(shù)據(jù)集)的任務(wù)也能從非常深的單向結(jié)構(gòu)模型中受益。我們的主要貢獻(xiàn)是將這些發(fā)現(xiàn)進(jìn)一步推廣到深層的雙向結(jié)構(gòu),使同樣的預(yù)訓(xùn)練模型能夠成功地廣泛地處理 NLP 任務(wù)。

雖然這些實(shí)證結(jié)果很有說(shuō)服力,在某些情況下甚至超過(guò)了人類的表現(xiàn),但未來(lái)重要的工作是研究 BERT 可能捕捉到的或不捕捉到的語(yǔ)言現(xiàn)象。

參考文獻(xiàn)

所有參考文獻(xiàn)按論文各小節(jié)中引用順序排列,多次引用會(huì)多次出現(xiàn)在下面的列表中。

Abstract 摘要中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Peters et al., 2018 Deep contextualized word representations ELMo
Radford et al., 2018 Improving Language Understanding with Unsupervised Learning OpenAI GPT

1. Introduction 介紹中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Peters et al., 2018 Deep contextualized word representations ELMo
Radford et al., 2018 Improving Language Understanding with Unsupervised Learning OpenAI GPT
Dai and Le, 2015 Semi-supervised sequence learning. In Advances in neural information processing systems, pages 3079–3087 AndrewMDai and Quoc V Le. 2015
Howard and Ruder, 2018 Universal Language Model Fine-tuning for Text Classification ULMFiT;Jeremy Howard and Sebastian Ruder.
Bow-man et al., 2015 A large annotated corpus for learning natural language inference Samuel R. Bowman, Gabor Angeli, Christopher Potts, and Christopher D. Manning.
Williams et al., 2018 A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference Adina Williams, Nikita Nangia, and Samuel R Bowman.
Dolan and Brockett, 2005 Automatically constructing a corpus of sentential paraphrases William B Dolan and Chris Brockett. 2005.
Tjong Kim Sang and De Meulder, 2003 Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition Erik F Tjong Kim Sang and Fien De Meulder. 2003.
Rajpurkar et al., 2016 SQuAD: 100,000+ Questions for Machine Comprehension of Text SQuAD
Taylor, 1953 "Cloze Procedure": A New Tool For Measuring Readability Wilson L Taylor. 1953.

2. Related Work 相關(guān)工作中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Brown et al., 1992 Class-based n-gram models of natural language Peter F Brown, Peter V Desouza, Robert L Mercer, Vincent J Della Pietra, and Jenifer C Lai. 1992.
Ando and Zhang, 2005 A Framework for Learning Predictive Structures from Multiple Tasks and Unlabeled Data Rie Kubota Ando and Tong Zhang. 2005.
Blitzer et al., 2006 Domain adaptation with structural correspondence learning John Blitzer, Ryan McDonald, and Fernando Pereira.2006.
Collobert and Weston, 2008 A Unified Architecture for Natural Language Processing Ronan Collobert and Jason Weston. 2008.
Mikolov et al., 2013 Distributed Representations of Words and Phrases and their Compositionality CBOW Model;Skip-gram Model
Pennington et al., 2014 GloVe: Global Vectors for Word Representation GloVe
Turian et al., 2010 Word Representations: A Simple and General Method for Semi-Supervised Learning Joseph Turian, Lev Ratinov, and Yoshua Bengio. 2010.
Kiros et al., 2015 Skip-Thought Vectors Skip-Thought Vectors
Logeswaran and Lee, 2018 An efficient framework for learning sentence representations Lajanugen Logeswaran and Honglak Lee. 2018.
Le and Mikolov, 2014 Distributed Representations of Sentences and Documents Quoc Le and Tomas Mikolov. 2014.
Peters et al., 2017 Semi-supervised sequence tagging with bidirectional language models Matthew Peters, Waleed Ammar, Chandra Bhagavatula, and Russell Power. 2017.
Peters et al., 2018 Deep contextualized word representations ELMo
Rajpurkar et al., 2016 SQuAD: 100,000+ Questions for Machine Comprehension of Text SQuAD
Socher et al., 2013 Deeply Moving: Deep Learning for Sentiment Analysis SST-2
Tjong Kim Sang and De Meulder, 2003 Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition Erik F Tjong Kim Sang and Fien De Meulder. 2003.
Dai and Le, 2015 Semi-supervised sequence learning. In Advances in neural information processing systems, pages 3079–3087 AndrewMDai and Quoc V Le. 2015
Howard and Ruder, 2018 Universal Language Model Fine-tuning for Text Classification ULMFiT;Jeremy Howard and Sebastian Ruder.
Radford et al., 2018 Improving Language Understanding with Unsupervised Learning OpenAI GPT
Wang et al.(2018) GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding GLUE
Con-neau et al., 2017 Supervised Learning of Universal Sentence Representations from Natural Language Inference Data Alexis Conneau, Douwe Kiela, Holger Schwenk, Loic Barrault, and Antoine Bordes. 2017.
McCann et al., 2017 Learned in Translation: Contextualized Word Vectors Bryan McCann, James Bradbury, Caiming Xiong, and Richard Socher. 2017.
Deng et al. ImageNet: A large-scale hierarchical image database J. Deng,W. Dong, R. Socher, L.-J. Li, K. Li, and L. FeiFei. 2009.
Yosinski et al., 2014 How transferable are features in deep neural networks? Jason Yosinski, Jeff Clune, Yoshua Bengio, and Hod Lipson. 2014.

3. BERT 中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Vaswani et al. (2017) Attention Is All You Need Transformer
Wu et al., 2016 Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation WordPiece
Taylor, 1953 "Cloze Procedure": A New Tool For Measuring Readability Wilson L Taylor. 1953.
Vincent et al., 2008 Extracting and composing robust features with denoising autoencoders denoising auto-encoders
Zhu et al., 2015 Aligning Books and Movies: Towards Story-like Visual Explanations by Watching Movies and Reading Books BooksCorpus (800M words)
Chelba et al., 2013 One Billion Word Benchmark for Measuring Progress in Statistical Language Modeling Billion Word Benchmark corpus
Hendrycks and Gimpel, 2016 Gaussian Error Linear Units (GELUs) GELUs

4. Experiments 實(shí)驗(yàn)中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Wang et al.(2018) GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding GLUE
Williams et al., 2018 A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference MNLI
Chen et al., 2018 First Quora Dataset Release: Question Pairs QQP
Rajpurkar et al., 2016 SQuAD: 100,000+ Questions for Machine Comprehension of Text QNLI
Socher et al., 2013 Deeply Moving: Deep Learning for Sentiment Analysis SST-2
Warstadt et al., 2018 The Corpus of Linguistic Acceptability CoLA
Cer et al., 2017 SemEval-2017 Task 1: Semantic Textual Similarity - Multilingual and Cross-lingual Focused Evaluation STS-B
Dolan and Brockett, 2005 Automatically constructing a corpus of sentential paraphrases MRPC
Bentivogli et al., 2009 The fifth pascal recognizing textual entailment challenge RTE
Levesque et al., 2011 The winograd schema challenge. In Aaai spring symposium: Logical formalizations of commonsense reasoning, volume 46, page 47. WNLI
Rajpurkar et al., 2016 SQuAD: 100,000+ Questions for Machine Comprehension of Text SQuAD
Joshi et al., 2017 TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension TriviaQA
Clark et al., 2018 Semi-Supervised Sequence Modeling with Cross-View Training
Zellers et al., 2018 SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference SWAG

5. Ablation Studies 消融研究中的參考文獻(xiàn)

BERT 文中簡(jiǎn)寫 原始標(biāo)論文標(biāo)題 其它
Vaswani et al. (2017) Attention Is All You Need Transformer
Al-Rfou et al., 2018 Character-Level Language Modeling with Deeper Self-Attention
最后編輯于
?著作權(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ù)。

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