日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BERT中文翻译

發(fā)布時(shí)間:2023/12/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BERT中文翻译 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

BERT:語言理解的深層雙向transformer的預(yù)訓(xùn)練

原文鏈接: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

目錄

        • BERT:語言理解的深層雙向transformer的預(yù)訓(xùn)練
          • 1.介紹
          • 2.相關(guān)工作
            • 2.1 基于無監(jiān)督特征的方法
          • 2.2 非監(jiān)督微調(diào)方法
          • 2.3 從監(jiān)督數(shù)據(jù)中轉(zhuǎn)移學(xué)習(xí)
        • 3 BERT
          • 3.1 預(yù)訓(xùn)練的BERT
          • 3.2 微調(diào)BERT
        • 4.實(shí)驗(yàn)
          • 4.1 GLUE
            • 4.2 SQuAD v1.1
          • 4.3 SQuAD v2.0
          • 4.4 SWAG
        • 5. 消融研究
          • 5.1 預(yù)訓(xùn)練任務(wù)的效果
          • 5.2模型大小的影響
          • 5.3 BERT的基于特征的方法
        • 6 結(jié)論

Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova

摘要:介紹了一種新的語言模型表示BERT,它代表transformer的雙向編碼器表示。與最近的表示模型不同(Peters等人,2018;Radford等人,2018),BERT被用來設(shè)計(jì)成通過所有層中聯(lián)合調(diào)節(jié)左右上下文來預(yù)訓(xùn)練來自未標(biāo)記文本的深層雙向表示。因此,只需一個(gè)額外的輸出層,就可以對(duì)預(yù)訓(xùn)練的BERT模型進(jìn)行微調(diào),從而為各種任務(wù)(如問題回歸和語言推理)創(chuàng)建最先進(jìn)的模型,而無需對(duì)特定任務(wù)的體系結(jié)構(gòu)進(jìn)行大量修改。

BERT概念簡(jiǎn)單,經(jīng)驗(yàn)豐富。它在11項(xiàng)自然語言處理任務(wù)上取得了最新的技術(shù)成果,包括將GLUE分?jǐn)?shù)提高到80.7%(7.7%絕對(duì)改善),多項(xiàng)精度至86.7%(4.6%絕對(duì)改善),SQuAD v1.1問答測(cè)試F1到93.2%(1.5%絕對(duì)改善)和SQuAD v2.0測(cè)試F1到83.1%(5.1%絕對(duì)改善)。

1.介紹

語言模型預(yù)訓(xùn)練已被證明對(duì)改善許多自然語言處理任務(wù)是有效的(Dai和Le,2015;Peters等人,2018;Radford等人,2018;Howard和Ruder,2018)。這些任務(wù)包括句子層次的任務(wù),如自然語言推理(Bowman等人,2015;Williams等人,2018)和釋義(Dolan和Brockett,2005),旨在預(yù)測(cè)整體句子通過分析他們之間的關(guān)系,以及標(biāo)記級(jí)任務(wù),比如命名實(shí)體識(shí)別和回答問題,模型需要產(chǎn)生細(xì)粒度輸出在詞標(biāo)記級(jí)別(Tjong Kim Sang和De Meulder,2003;Rajpurkar等人,2016)。

目前有兩種將先預(yù)訓(xùn)練好的語言表示應(yīng)用于下游任務(wù)的策略:基于功能的和微調(diào)的。基于功能的方法,如ELMO(Peters等人,2018),使用特定于任務(wù)的體系結(jié)構(gòu),其中包括作為附加功能的預(yù)訓(xùn)練表示。微調(diào)方法,如生成式預(yù)訓(xùn)練Transformer(OpenAI GPT)(Radford等人,2018),引入最小的特定于任務(wù)的參數(shù),并通過簡(jiǎn)單地微調(diào)所有預(yù)先訓(xùn)練的參數(shù)對(duì)下游任務(wù)進(jìn)行訓(xùn)練。這兩種方法在訓(xùn)練前共享相同的目標(biāo)功能,即使用單向語言模型來學(xué)習(xí)一般的語言表示。

我們認(rèn)為,當(dāng)前的技術(shù)限制了預(yù)訓(xùn)練的表示的能力,特別是對(duì)于微調(diào)方法。主要的限制是標(biāo)準(zhǔn)的語言模型是單向的,這限制了在預(yù)訓(xùn)練可以使用的體系結(jié)構(gòu)的選擇。例如,在OpenAI GPT中,作者使用了從左到右大體系結(jié)構(gòu),其中每個(gè)標(biāo)記只能處理Transformer(Vaswanit等人,2017)。這樣的限制對(duì)于句子級(jí)的任務(wù)來說是次優(yōu)的,當(dāng)基于調(diào)優(yōu)的方法應(yīng)用于諸如回答問題之類的標(biāo)記任務(wù)時(shí)可能非常有害,因?yàn)樵谶@些任務(wù)中,從兩個(gè)方向合并上下文是非常重要的。

在本文中,我們通過提出BERT:Transformer的雙向編碼器表示來改進(jìn)基于微調(diào)的方法。Bert受完形填空任務(wù)的啟發(fā),通過使用“掩蔽語言模型”(MLM)的訓(xùn)練前目標(biāo),緩解了前面提到的單向性約束(Taylor,1953)。掩碼語言模型隨機(jī)地從輸入中屏蔽掉一些標(biāo)記,其目的是僅根據(jù)上下文來預(yù)測(cè)掩碼的原始詞匯表id。與從左到右的語言模型預(yù)訓(xùn)練不同,MLM目標(biāo)使表示能夠預(yù)訓(xùn)練一個(gè)深層雙向的Transformer。除了蒙面語言模型之外,我們還使用了一個(gè)“下一句話預(yù)測(cè)”任務(wù)來聯(lián)合預(yù)訓(xùn)練文本對(duì)表示。本文的貢獻(xiàn):

  • 我們證明了語言表征的雙向預(yù)訓(xùn)練的重要性。不像Radford等人(2018),使用單向語言模型進(jìn)行預(yù)訓(xùn)練,BERT使用掩蔽語言模型實(shí)現(xiàn)預(yù)訓(xùn)練的深層雙向表示。這也與Peters等人形成了對(duì)比(2018),它使用了獨(dú)立訓(xùn)練的從左到右和從右到左的LMs淺層表示。
  • 我們證明,預(yù)訓(xùn)練的表示減少了對(duì)許多高工程化的特定于任務(wù)的體系結(jié)構(gòu)的需求。BERT是第一個(gè)基于微調(diào)的表示模型,它在大量語句級(jí)和標(biāo)記級(jí)任務(wù)上實(shí)現(xiàn)了最先進(jìn)的性能,并形成了許多特定于任務(wù)的體系結(jié)構(gòu)。
  • BERT提升了11個(gè)NLP任務(wù)的技術(shù)水平,代碼和預(yù)訓(xùn)練的模型可在https://github.com/google-research/bert獲得。
2.相關(guān)工作

一般語言表示在預(yù)訓(xùn)練前就已有很長(zhǎng)的歷史了,我們?cè)诒竟?jié)中簡(jiǎn)要回顧了最廣泛使用的方法。

2.1 基于無監(jiān)督特征的方法

數(shù)十年來,學(xué)習(xí)廣泛適用的單詞表示一直是一個(gè)活躍的研究領(lǐng)域,包括非神經(jīng)(Brown等人,1992;Ando和Zhang,2005;Blitzer等人,2006)和神經(jīng)(Mikolov等人,2013;Pennington等人,2014)的方法。預(yù)訓(xùn)練的詞嵌入是現(xiàn)代NLP系統(tǒng)的一個(gè)組成部分,提供了重要的改進(jìn)從嵌入式從零開始學(xué)習(xí)(Turian等人,2010)。為了預(yù)訓(xùn)練單詞嵌入向量,使用了從左到右的語言建模目標(biāo)(Mnih和Hinton,2009),以及在左和右上下文中區(qū)分正確和錯(cuò)誤的單詞的目標(biāo)(Mikolov等人,2013)。

這些方法已經(jīng)被推廣到更粗的粒度,例如句子嵌入(Kiros等人,2015;Logeswaran和Lee,2018)或者段落嵌入(Le和Mikolov,2014)。為了訓(xùn)練句子表征,之前的工作已使用目標(biāo)來對(duì)候選的下一個(gè)句子進(jìn)行排序(Jernite等人,2017;Logeswaran和Lee,2018),從左到右生成下一個(gè)句子單詞,給出上一個(gè)句子的表示(Kiros等人),或去噪自動(dòng)編碼器派生的目標(biāo)(Hill等人,2016)。

ELMO及其前身(Peters等人,2017)將傳統(tǒng)的詞嵌入搜索沿不同的維度進(jìn)行泛化。它們從左到右和從右到左的語言模型中提取上下文敏感的特性。每個(gè)標(biāo)記的上下文表示是從左到右和從右到左表示的任務(wù)連接。在將上下文相關(guān)的詞嵌入與現(xiàn)有的特定于任務(wù)的體系結(jié)構(gòu)集成時(shí),ELMO為幾個(gè)主要的NLP基準(zhǔn)提高了技術(shù)水平(Peters等人,2018),情緒分析(Socher等人,2016)和命名實(shí)體識(shí)別(Tjong Kim Sang和De Meulder,2003)。Melamed等人(2016)提出通過使用LSTM從左到右兩種語境中預(yù)測(cè)單個(gè)單詞的任務(wù)來學(xué)習(xí)語境表示。與ELMO類似,它們的模型是基于特征的,不是深度雙向的。Redus等人(2018)表明完形填空任務(wù)可以用來提高文本生成模型的魯棒性。

2.2 非監(jiān)督微調(diào)方法

與基于特征的方法一樣,第一種方法只對(duì)來自未標(biāo)記文本的預(yù)訓(xùn)練的詞嵌入?yún)?shù)起作用(Collobert和Weston,2008)。
最近,產(chǎn)生上下文標(biāo)記表示的句子或文檔編碼器已經(jīng)從未標(biāo)記的文本中進(jìn)行了預(yù)訓(xùn)練,并針對(duì)監(jiān)督的下游任務(wù)進(jìn)行了微調(diào)(Dai和Le,2015;Howard和Ruder,2018;Radford等人,2018)。這些方法的優(yōu)點(diǎn)幾乎不需要從頭學(xué)習(xí)參數(shù)。至少部分由于這一優(yōu)勢(shì),OpenAI GPT(Radford等人,2018)在GLUE基準(zhǔn)測(cè)試的許多句子級(jí)任務(wù)上取得了以前最先進(jìn)的結(jié)果(Wang等人,2018)。從左到右的語言模型,和自動(dòng)編碼器的目標(biāo)已用于此類模型的預(yù)訓(xùn)練(Howard和Ruder,2018;Radford等人,2018;Dai和Le,2015)。

圖1:BERT的總體預(yù)訓(xùn)練和微調(diào)過程。 除了輸出層,相同的體系結(jié)構(gòu)用于預(yù)訓(xùn)練和微調(diào)。 相同的預(yù)訓(xùn)練模型參數(shù)用于初始化不同下游任務(wù)的模型。 在微調(diào)期間,所有參數(shù)都將進(jìn)行微調(diào)。 [CLS]是添加在每個(gè)輸入示例前面的特殊符號(hào),[SEP]是特殊的分隔符(例如,分隔問題/答案)。

2.3 從監(jiān)督數(shù)據(jù)中轉(zhuǎn)移學(xué)習(xí)

也有研究表明,從監(jiān)督任務(wù)與大數(shù)據(jù)集的有效轉(zhuǎn)移,如自然語言推理(Conneau等人,2017)和機(jī)器翻譯(McCann等人,2017)。計(jì)算機(jī)視覺研究也證明了從大型預(yù)訓(xùn)練模型中轉(zhuǎn)移學(xué)習(xí)的重要性,其中一個(gè)有效的方法是使用ImageNet對(duì)預(yù)訓(xùn)練模型進(jìn)行微調(diào)(Deng等人,2009;Yosinski等人,2014)。

3 BERT

我們將在本節(jié)介紹BERT及其詳細(xì)實(shí)現(xiàn)。在我們的框架中有兩個(gè)步驟:預(yù)訓(xùn)練和微調(diào)。在訓(xùn)練前,對(duì)不同訓(xùn)練前任務(wù)的未標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練。為了進(jìn)行微調(diào),首先使用預(yù)先訓(xùn)練的參數(shù)初始化BERT模型,然后使用來自下游任務(wù)的標(biāo)記數(shù)據(jù)對(duì)所有參數(shù)進(jìn)行微調(diào)。每個(gè)下游任務(wù)都有單獨(dú)的經(jīng)過調(diào)優(yōu)的模型,即使它們是用相同的預(yù)先訓(xùn)練的參數(shù)初始化的。圖1中的問題回答示例將作為本節(jié)的運(yùn)行示例。

BERT的一個(gè)顯著特征是它跨不同任務(wù)的統(tǒng)一框架。預(yù)訓(xùn)練的體系結(jié)構(gòu)和最終的下游體系結(jié)構(gòu)之間的差異很小。

BERT的模型結(jié)構(gòu)是基于Vaswani等人(2017)描述的原始實(shí)現(xiàn)的多層雙向Transformer編碼器,并在tensor2tensor庫(kù)中發(fā)布。由于Transformer的使用已經(jīng)變得很普遍,并且我們的實(shí)現(xiàn)與最初的實(shí)現(xiàn)幾乎完全相同,所以我們將省略對(duì)模型架構(gòu)的詳盡的背景描述,并向讀者推薦Vaswani等人(2017)以及“The Annotated Transformer”等優(yōu)秀指南。

在這項(xiàng)工作中,我們表示層的數(shù)量(即Transformer組)為L(zhǎng),隱藏尺寸為H,注意頭個(gè)數(shù)為A。我們主要報(bào)告了兩個(gè)模型尺寸的結(jié)果BERTBASE (L=12, H=768, A=12,總的參數(shù)=110M) and BERTLARGE (L=24, H=1024,A=16, 總的參數(shù)=340M)。
為了進(jìn)行比較,選擇BERTBASE的模型大小與OpenAI GPT相同。然而,關(guān)鍵的是,BERT Transformer使用雙向的self-attention,而GPT Transformer使用約束的self-attention,其中每個(gè)標(biāo)記只能注意其左邊的上下文。

輸入/輸出表示:為了使BERT能夠處理各種下游任務(wù),我們的輸入表示能夠清楚地表示一個(gè)句子和兩個(gè)句子(例如,<問題,回答>)在一個(gè)標(biāo)記標(biāo)記序列中。在此工作中,一個(gè)“句子”可以是任意一段連續(xù)的文本,而不是一個(gè)實(shí)際的語言句子?!靶蛄小笔侵窧ERT的輸入標(biāo)記序列,它可以是一個(gè)句子,也可以是兩個(gè)句子組合在一起。

我們使用單詞嵌入法(Wu等人,2016),擁有30000個(gè)象征性詞匯。每個(gè)序列的第一個(gè)標(biāo)記總是一個(gè)特殊的分類標(biāo)記([CLS])。與此標(biāo)記對(duì)應(yīng)的最終隱藏狀態(tài)用作分類任務(wù)的聚合序列表示。句子對(duì)被打包成一個(gè)單獨(dú)的序列,我們用兩種方法區(qū)分這些句子。首先,我們用一個(gè)特殊的標(biāo)記將它們分開,。其次,我們?cè)诿總€(gè)標(biāo)記中加入一個(gè)學(xué)習(xí)嵌入,表明它是屬于句子A還是句子B。如圖1所示,我們將輸入嵌入記為E,專用[CLS]標(biāo)記的最終隱藏向量記為C∈RH,第i個(gè)輸入標(biāo)記的最終隱藏向量記為Ti∈RH。

對(duì)于給定的標(biāo)記,其輸入表示是通過對(duì)相應(yīng)的標(biāo)記、段和位置嵌入求和來構(gòu)造的。這種結(jié)構(gòu)的可視化結(jié)果可以在圖2中看到。

3.1 預(yù)訓(xùn)練的BERT

不像Peters等人(2018)和Radford等人(2018),我們沒有使用傳統(tǒng)的從左到右或從右到左的語言模型來預(yù)訓(xùn)練BERT。相反,我們使用兩個(gè)非監(jiān)督任務(wù)對(duì)BERT進(jìn)行預(yù)訓(xùn)練,如本節(jié)所示。此步驟在圖1的左側(cè)部分中顯示。

任務(wù)#1:直觀地隱蔽LM,我們有理由相信深度雙向模型比從左到右的模型或者從右到左的模型的淺層連接更強(qiáng)大。不幸的是,標(biāo)準(zhǔn)的條件語言模型只能訓(xùn)練從左到右或從右到左,因?yàn)殡p向條件作用可讓每個(gè)單詞間接的“看到自己”,而且該模型可以在多層的上下文中輕松地預(yù)測(cè)目標(biāo)單詞。

為了訓(xùn)練一個(gè)深層的雙向表示,我們簡(jiǎn)單地隨機(jī)屏蔽掉一些百分比的輸入標(biāo)記,然后預(yù)測(cè)那些屏蔽的標(biāo)記。我們把這個(gè)過程稱為“蒙面LM”(MLM),盡管文獻(xiàn)中它經(jīng)常被稱為完形填空任務(wù)(Taylor,1953)。在這種情況下,掩碼標(biāo)記對(duì)應(yīng)的最終隱藏向量通過詞匯表被輸入到輸出softmax中,就像在標(biāo)準(zhǔn)LM中一樣。在我們所有的實(shí)驗(yàn)中,我們隨機(jī)屏蔽了每個(gè)序列中15%的單詞標(biāo)記。相對(duì)于去噪的自動(dòng)編碼器(Vincent等人,2008),我們只預(yù)測(cè)掩蔽詞,而不是重建整個(gè)輸入。

雖然這允許我們獲得雙向的預(yù)訓(xùn)練模型,但缺點(diǎn)是我們?cè)陬A(yù)訓(xùn)練和微調(diào)之間產(chǎn)生了不匹配,因?yàn)樵谖⒄{(diào)期間不會(huì)出現(xiàn)[MASK]標(biāo)記。為了緩解這種情況,我們并不總是使用實(shí)際的[MASK]標(biāo)記來替換“掩蔽”單詞。訓(xùn)練數(shù)據(jù)生成器隨機(jī)選擇15%的標(biāo)記位置進(jìn)行預(yù)測(cè)。如果選擇了第i個(gè)標(biāo)記,我們將第i個(gè)標(biāo)記替換為:
(1)80%的時(shí)間是[MASK]標(biāo)記
(2)10%的時(shí)間是一個(gè)隨機(jī)標(biāo)記
(3)10%的時(shí)間是不變的第i個(gè)標(biāo)記
然后利用Ti來預(yù)測(cè)具有交叉熵的原始標(biāo)記。我們?cè)诟戒汣.2中比較這個(gè)過程的變化。

任務(wù)#2:下一個(gè)句子預(yù)測(cè)(NSP),許多重要的下游任務(wù),如問答(QA)和自然語言推理(NLI),都是建立在理解兩個(gè)句子之間的關(guān)系的基礎(chǔ)上的,而語言建模并不能直接捕獲這些關(guān)系。為了訓(xùn)練一個(gè)理解句子關(guān)系的,模型,我們訓(xùn)練了一個(gè)二值化的下一個(gè)句子預(yù)測(cè)任務(wù),這個(gè)任務(wù)可以從任何單語語料庫(kù)中輕松生成。具體來說,在為每個(gè)訓(xùn)練前的例子選擇A和B兩個(gè)句子時(shí),50%的時(shí)間是B是A后面的下一個(gè)句子(標(biāo)記為IsBext),50%的時(shí)間B是語料庫(kù)中的一個(gè)隨機(jī)句子(標(biāo)記為NotNext)。如圖1所示,C用于下一個(gè)句子預(yù)測(cè)(NSP)。盡管它很簡(jiǎn)單,但我們將在第5節(jié)中進(jìn)行演示,針對(duì)這項(xiàng)任務(wù)的預(yù)訓(xùn)練對(duì)QA和NLI都非常有益。

圖2:BERT輸入表示。 輸入的嵌入是標(biāo)記嵌入,分段的總和嵌入和位置嵌入。

NSP任務(wù)與Jernite等人(2017)、Logeswaran和Lee(2018)使用的表征學(xué)習(xí)目標(biāo)密切相關(guān)。然而,在以前的工作中,只有語句嵌入被傳輸?shù)较掠稳蝿?wù),在那里BERT傳輸所有的參數(shù)來初始化最終任務(wù)模型參數(shù)。

訓(xùn)練前的數(shù)據(jù),預(yù)訓(xùn)練前的程序很大程度上遵循了現(xiàn)有文獻(xiàn)關(guān)于語言模型的預(yù)訓(xùn)練。對(duì)于預(yù)訓(xùn)練的語料庫(kù),我們使用BooksCorpus(8億單詞(Zhu等人,2015))和英文維基百科(2500萬字)。對(duì)于Wikipedia,我們只提取文本段落,而忽略列表、表格和標(biāo)題。關(guān)鍵是要使用文檔級(jí)的語料庫(kù),而不是句子級(jí)的語料庫(kù),比如十億詞基準(zhǔn)(Chelba等人,2013)為了提取長(zhǎng)連續(xù)序列。

3.2 微調(diào)BERT

微調(diào)是很簡(jiǎn)單的,因?yàn)門ransformer中的自我注意力機(jī)制(self-attention mechanism)將替換掉適當(dāng)?shù)妮斎牒洼敵?#xff0c;從而對(duì)許多下游任務(wù)(無論是單個(gè)文本還是文本對(duì))進(jìn)行建模。對(duì)于涉及文本對(duì)的應(yīng)用程序,一種常見的模式是在應(yīng)用雙向交叉注意(如Parikh等人,2016;Seo等人,2017)對(duì)文本進(jìn)行獨(dú)立編碼。BERT使用了自我注意力機(jī)制來統(tǒng)一這兩個(gè)階段,因?yàn)樽晕易⒁饬幋a一個(gè)連接的文本對(duì)有效地包含了兩個(gè)句子之間的雙向交叉注意。

對(duì)于每個(gè)任務(wù),我們只需將特定于任務(wù)的輸入和輸出輸入到BERT中,并對(duì)所有參數(shù)進(jìn)行端到端的微調(diào)。在輸入端,來自預(yù)訓(xùn)練的句子A和句子B類似于(1)釋義的句子對(duì)(2)引申義的假設(shè)-前提對(duì)(3)問答中的問題-短文對(duì),以及(4)文本分類或序列標(biāo)注中出現(xiàn)退化文本對(duì)。在輸出中,標(biāo)記表現(xiàn)形式被輸入到一個(gè)輸出層,用于標(biāo)記級(jí)別的任務(wù),如序列標(biāo)記或問題回答,而[CLS]表現(xiàn)形式被輸入到一個(gè)輸出層用于分類,例如需求或情感分析。

與預(yù)訓(xùn)練相比,微調(diào)相對(duì)便宜。本文中所有的結(jié)果都可以在一個(gè)單一的云TPU上最多一個(gè)小時(shí)內(nèi)復(fù)制,或者在GPU上最多幾個(gè)小時(shí),從完全相同的預(yù)訓(xùn)練模型開始。我們?cè)诘?節(jié)的相應(yīng)小節(jié)中描述了特定于任務(wù)的細(xì)節(jié)。

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

在本節(jié)中,我們將展示11個(gè)NLP任務(wù)的BERT微調(diào)結(jié)果。

4.1 GLUE

一般語言理解評(píng)價(jià)(GLUE)基準(zhǔn)(Wang等人,2018)是一個(gè)集合了多種自然語言理解任務(wù)的集合。GLUE的數(shù)據(jù)集詳細(xì)描述包含在附錄B.1中。

為了對(duì)GLUE進(jìn)行微調(diào),我們按照第3節(jié)的描述表示輸入序列(對(duì)單個(gè)句子或句子對(duì)),并使用第一個(gè)輸入標(biāo)記對(duì)應(yīng)的最終隱藏向量C∈RH([CLS])作為聚合表示。微調(diào)過程中引入的唯一新參數(shù)是分類層權(quán)值W∈K×H,其中K為標(biāo)簽數(shù)。我們用C和W計(jì)算標(biāo)準(zhǔn)分類損失,即log(softmax(CWT))。

表1:由評(píng)估服務(wù)(https://gluebenchmark.com/leaderboard)評(píng)分的GLUE測(cè)試結(jié)果。每個(gè)任務(wù)下面的數(shù)字表示培訓(xùn)示例的數(shù)量。 “平均”列略有不同比官方GLUE得分要高,因?yàn)槲覀兣懦擞袉栴}的WNLI集。8BERT和OpenAI GPT是單一模
型,單項(xiàng)任務(wù)。 報(bào)告QQP和MRPC的F1得分,報(bào)告STS-B的Spearman相關(guān)性,以及報(bào)告其他任務(wù)的準(zhǔn)確性得分。 我們排除使用BERT作為其組件之一的條目。

我們對(duì)所有的粘合任務(wù)使用32的批大小和3個(gè)時(shí)間段的數(shù)據(jù)調(diào)優(yōu)。對(duì)于每個(gè)任務(wù),我們選擇了開發(fā)集上最佳微調(diào)學(xué)習(xí)率(5e-5, 4e-5, 3e-5,和2e-5)。此外,對(duì)于BERTLARGE,我們發(fā)現(xiàn)微調(diào)有時(shí)在小型數(shù)據(jù)集上是不穩(wěn)定的,因此我們運(yùn)行了幾個(gè)隨機(jī)重啟,并在開發(fā)集上選擇了最好的模型。對(duì)于隨機(jī)重新啟動(dòng),我們使用相同的預(yù)訓(xùn)練的檢查點(diǎn),但是執(zhí)行不同的微調(diào)數(shù)據(jù)變換和分類器層初始化。

結(jié)果見表1。BERTBASE和BERTLARGE在所有任務(wù)上的表現(xiàn)都遠(yuǎn)遠(yuǎn)超過所有系統(tǒng),獲得4.5%和7.0%相對(duì)于現(xiàn)有技術(shù)水平的平均準(zhǔn)確率提高。注意BERTBASE和OpenAI GPT在模型架構(gòu)方面幾乎是相同的。對(duì)于規(guī)模最大、報(bào)道范圍最廣泛的的GLUE任務(wù),MNLI, BERT獲得了4.6%的絕對(duì)準(zhǔn)確度。在官方的GLUE排行榜上,BERTLARGE的分?jǐn)?shù)是80.5,截至撰寫本文時(shí),OpenAI GPT的得分為72.8。

我們發(fā)現(xiàn),BERTLARGE在所有任務(wù)中都明顯優(yōu)BERTBASE,尤其是那些訓(xùn)練數(shù)據(jù)很少的任務(wù)。模型大小的影響在5.2節(jié)中進(jìn)行了更深入的探討。

4.2 SQuAD v1.1

斯坦福問答數(shù)據(jù)集(SQuAD v1.1)是一個(gè)收集了100k個(gè)眾包的問題/答案對(duì)(Rajpurkar等人,2016)。給出一個(gè)問題和一段話包括答案的Wikipedia,其任務(wù)是預(yù)測(cè)文章中答案的文本跨度。

如圖1所示,在問答任務(wù)中,我們將輸入的問題和短文表示為單個(gè)壓縮序列,其中問題使用A嵌入,短文使用B嵌入。微調(diào)時(shí),我們只引入起始向量S∈RH和結(jié)束向量E∈RH。單詞i作為答案空間大開始的概率被計(jì)算為Ti和S之間的點(diǎn)積,在段落所有單詞后面跟著一個(gè)softmax:Pi = e^(S_(T_i ) )/(∑_j?〖eS^(T_j ) 〗)。類似的公式用于回答跨度的末端。定義從位置i到位置j的候選跨度分為S·Ti + E·Tj,以j≥i作為預(yù)測(cè)的最大得分跨度。訓(xùn)練目標(biāo)是正確的開始和結(jié)束位置的概率之和。我們進(jìn)行了3個(gè)輪次的微調(diào),學(xué)習(xí)速率為5e-5和批處理大小為32。
表2顯示了頂級(jí)排行榜條目以及頂級(jí)發(fā)布系統(tǒng)的結(jié)果(Seo等人,2017;Clark和Gardner,2018;Peters等人,2018;Hu等人,2018)。排行榜靠前的SQuAD沒有最新的公共系統(tǒng)描述。因此,我們首先對(duì)TriviaQA進(jìn)行微調(diào)(Joshi等人,2017),然后在SQuAD上進(jìn)行微調(diào),從而在系統(tǒng)中使用適度的數(shù)據(jù)增強(qiáng)。

我們的最佳性能系統(tǒng)在整體表現(xiàn)上領(lǐng)先+1.5 F1,而在整體系統(tǒng)方面則優(yōu)于+1.3 F1。實(shí)際上,就F1分?jǐn)?shù)而言,我們的單個(gè)BERT模型優(yōu)于頂級(jí)集成系統(tǒng)。沒有TriviaQA的微調(diào),我們只損失0.1-0.4 F1,仍然遠(yuǎn)遠(yuǎn)勝過所有現(xiàn)有系統(tǒng)。


表2:SQuAD 1.1結(jié)果。 BERT合奏是使用不同的預(yù)訓(xùn)練檢查點(diǎn)的7x系統(tǒng)和微調(diào)因子。

表3:SQuAD 2.0結(jié)果。 我們排除以下條目使用BERT作為其組件之一。

表4:SWAG開發(fā)和測(cè)試精度。 人的表現(xiàn)用100個(gè)樣品測(cè)量,如SWAG文件

4.3 SQuAD v2.0

SQuAD 2.0任務(wù)通過允許在提供的段落中不存在簡(jiǎn)短答案的可能性擴(kuò)展了SQuAD 1.1問題定義,從而使問題更加實(shí)際。
我們使用一種簡(jiǎn)單的方法來擴(kuò)展SQuAD v1.1 BERT模型以完成此任務(wù)。我們將沒有答案的問題視為答案范圍以[CLS]標(biāo)記開頭和結(jié)尾。起始和終止答案跨度位置的概率空間已擴(kuò)展為包括[CLS]標(biāo)記的位置。為了進(jìn)行預(yù)測(cè),我們比較了無答案范圍的得分:snull = S·C + E·C到最佳非空跨度的分?jǐn)?shù)s_(j≥i)^^= 〖max〗(j≥i) S·Ti + E·Tj。當(dāng)s(j≥i)^^ > s_null+ τ時(shí),我們預(yù)測(cè)一個(gè)非空答案,其中在開發(fā)集上選擇閾值以最大化F1。我們沒有為此模型使用TriviaQA數(shù)據(jù)。我們微調(diào)了2個(gè)時(shí)期,學(xué)習(xí)率為5e-5,批量大小為48。

表3中顯示了與先前排行榜條目和排名靠前的作品(Sun等人,2018; Wang等人,2018b)相比的結(jié)果,其中不包括使用BERT作為其組件之一的系統(tǒng)。與之前的最佳系統(tǒng)相比,我們觀察到+1 F1的改進(jìn)。

4.4 SWAG

對(duì)抗生成代的情境(SWAG)數(shù)據(jù)集包含113k個(gè)句子對(duì)完成示例,用于評(píng)估扎實(shí)的常識(shí)推理(Zellers等人,2018)。給定一個(gè)句子,任務(wù)是在四個(gè)選擇中選擇最合理的延續(xù)。
在SWAG數(shù)據(jù)集上進(jìn)行微調(diào)時(shí),我們構(gòu)造了四個(gè)輸入序列,每個(gè)輸入序列都包含給定句子(句子A)和可能的延續(xù)詞(句子B)的串聯(lián)。引入的唯一特定于任務(wù)的參數(shù)是矢量,其矢量與[CLS]標(biāo)記表示C的點(diǎn)積表示每個(gè)選擇的得分,并使用softmax層對(duì)其進(jìn)行歸一化。
我們對(duì)模型進(jìn)行了3個(gè)時(shí)期的微調(diào),學(xué)習(xí)率為2e-5,批處理大小為16。結(jié)果如表4所示。BERTLARGE優(yōu)于作者的基線ESIM + ELMo系統(tǒng)+ 27.1%,OpenAI GPT優(yōu)于8.3 %。

5. 消融研究

在本節(jié)中,我們將對(duì)BERT的多個(gè)方面進(jìn)行消融實(shí)驗(yàn),以更好地了解它們的相對(duì)重要性。額外地,消融研究可在附錄C中找到

表5:使用BERTBASE體系結(jié)構(gòu)。 沒有培訓(xùn)“無NSP”下一個(gè)句子的預(yù)測(cè)任務(wù)。 “ LTR&No NSP”是訓(xùn)練為從左到右的LM,無需下一句預(yù)測(cè),例如OpenAI GPT。
“ + BiLSTM”隨機(jī)添加在“ LTR + No”之上初始化BiLSTMNSP”模型在微調(diào)期間。

5.1 預(yù)訓(xùn)練任務(wù)的效果

通過使用與BERTBASE完全相同的預(yù)訓(xùn)練數(shù)據(jù),微調(diào)方案和超參數(shù)來評(píng)估兩個(gè)預(yù)訓(xùn)練目標(biāo),我們證明了BERT雙向深度的重要性:
No NSP:使用“掩蓋的LM”(MLM)訓(xùn)練但沒有“下一句預(yù)測(cè)”(NSP)任務(wù)的雙向模型。

LTR&No NSP: 使用標(biāo)準(zhǔn)的從左到右(LTR)LM(而不是MLM)訓(xùn)練的僅左上下文模型。左約束也應(yīng)用于微調(diào),因?yàn)閯h除它會(huì)引入預(yù)訓(xùn)練/微調(diào)不匹配,從而降低下游性能。此外,該模型無需NSP任務(wù)即可進(jìn)行預(yù)訓(xùn)練。這可以直接與OpenAI GPT相提并論,但要使用更大的訓(xùn)練數(shù)據(jù)集,輸入表示形式和微調(diào)方案。

我們首先研究NSP任務(wù)帶來的影響。在表5中,我們顯示刪除NSP會(huì)嚴(yán)重?fù)p害QNLI,MNLI和SQuAD 1.1的性能。接下來,我們通過比較“無NSP”與“ LTR和無NSP”來評(píng)估訓(xùn)練雙向表示的影響。在所有任務(wù)上,LTR模型的性能都比MLM模型差,而MRPC和SQuAD的性能下降很大。

對(duì)于SQuAD,直觀上很清楚,因?yàn)闃?biāo)記級(jí)別的隱藏狀態(tài)沒有右側(cè)上下文,所以LTR模型在標(biāo)記預(yù)測(cè)時(shí)的性能會(huì)很差。為了增強(qiáng)LTR系統(tǒng)的可靠性,我們?cè)陧敳刻砑恿艘粋€(gè)隨機(jī)初始化的BiLSTM。這確實(shí)可以顯著改善SQuAD的結(jié)果,但是這個(gè)結(jié)果仍然遠(yuǎn)比預(yù)訓(xùn)練的雙向模型差。 BiLSTM損害了GLUE任務(wù)的性能。

我們認(rèn)識(shí)到,像ELMo一樣,也有可能訓(xùn)練單獨(dú)的LTR和RTL模型并將每個(gè)標(biāo)記表示為兩個(gè)模型的串聯(lián)。但是:(a)這是單個(gè)雙向模型的兩倍昂貴;(b)對(duì)于QA這樣的任務(wù),這是不直觀的,因?yàn)镽TL模型將無法確定問題的答案;(c)這絕對(duì)不像深度雙向模型那么強(qiáng)大,因?yàn)樗梢栽诿恳粚邮褂米笥疑舷挛摹?/p>

5.2模型大小的影響

在本節(jié)中,我們探索模型大小對(duì)微調(diào)任務(wù)準(zhǔn)確性的影響。我們訓(xùn)練了許多具有不同層數(shù)、隱藏單元和注意頭的BERT模型,而其他方面則使用了與之前所述相同的超參數(shù)和訓(xùn)練過程。
表6列出了選定的GLUE任務(wù)的結(jié)果。在此表中,我們報(bào)告了5次隨機(jī)微調(diào)重新啟動(dòng)后的平均Dev Set精度。我們可以看到,即使對(duì)于只有3,600個(gè)帶標(biāo)簽的訓(xùn)練示例的MRPC,它與預(yù)訓(xùn)練任務(wù)也大不相同,較大的模型會(huì)導(dǎo)致所有四個(gè)數(shù)據(jù)集的準(zhǔn)確性都得到嚴(yán)格提高。我們能夠在相對(duì)于現(xiàn)有文獻(xiàn)而言已經(jīng)相當(dāng)大的模型的基礎(chǔ)上實(shí)現(xiàn)如此顯著的改進(jìn),這也許也令人驚訝。例如,在Vaswani等人中探索的最大的Transformer(2017)是(L=6,H=1024,A=16),編碼器的參數(shù)為100M,而我們?cè)谖墨I(xiàn)中發(fā)現(xiàn)的最大的Transformer是(L=64,H=512,A=2和235M參數(shù)(Al-Rfou等人,2018)。相比之下,BERTBASE包含110M參數(shù),而BERTLARGE包含340M參數(shù)。

眾所周知,增加模型的大小將導(dǎo)致對(duì)諸如機(jī)器翻譯和語言建模之類的大規(guī)模任務(wù)的持續(xù)改進(jìn),表6所示的持久性訓(xùn)練數(shù)據(jù)的LM困惑證明了這一點(diǎn)。但是,我們認(rèn)為,這是第一個(gè)有說服力的證明,只要模型已經(jīng)過充分的預(yù)訓(xùn)練,按比例縮放到極端的模型大小也將導(dǎo)致非常小的規(guī)模任務(wù)的重大改進(jìn)。Peters等人(2018b)對(duì)于將預(yù)訓(xùn)練的Bi-LM尺寸從兩層增加到四層對(duì)下游任務(wù)的影響提出了不同的結(jié)果,Melamud等人(2016年)順便提到了將隱藏尺寸從200增加到600有所幫助,但進(jìn)一步增加到1000并沒有帶來進(jìn)一步的改進(jìn)。這兩個(gè)先前的工作都使用基于特征的方法-我們假設(shè),當(dāng)直接在下游任務(wù)上對(duì)模型進(jìn)行微調(diào)并且僅使用很少數(shù)量的隨機(jī)初始化的附加參數(shù)時(shí),特定于任務(wù)的模型可以從更大,更具表達(dá)力的模型中受益訓(xùn)練的表示形式,即使下游任務(wù)數(shù)據(jù)非常小也是如此。

5.3 BERT的基于特征的方法

到目前為止提出的所有BERT結(jié)果都使用了微調(diào)方法,其中在預(yù)訓(xùn)練模型中添加了一個(gè)簡(jiǎn)單的分類層,并且在下游任務(wù)上共同對(duì)所有參數(shù)進(jìn)行了微調(diào)。但是,從預(yù)訓(xùn)練模型中提取固定特征的基于特征的方法具有某些優(yōu)勢(shì)。首先,并非所有任務(wù)都可以由Transformer編碼器體系結(jié)構(gòu)輕松表示,因此需要添加特定于任務(wù)的模型體系結(jié)構(gòu)。其次,預(yù)先計(jì)算出訓(xùn)練數(shù)據(jù)的昂貴表示形式,然后在此表示形式之上使用較便宜的模型運(yùn)行許多實(shí)驗(yàn),這具有很大的計(jì)算優(yōu)勢(shì)。

在本節(jié)中,我們通過將BERT應(yīng)用于CoNLL-2003命名實(shí)體識(shí)別(NER)任務(wù)來比較這兩種方法(Tjong Kim Sang和De Meulder,2003年)。在BERT的輸入中,我們使用了一個(gè)區(qū)分大小寫的WordPiece模型,并且包括了數(shù)據(jù)提供的最大文檔上下文。按照標(biāo)準(zhǔn)慣例,我們將其公式化為標(biāo)記任務(wù)但部在輸出中使用CRF層。我們使用第一個(gè)子標(biāo)記的表示作為NER標(biāo)簽集上標(biāo)記級(jí)別分類器的輸入。

表6:BERT模型尺寸的消融。 #L =的層數(shù); #H =隱藏尺寸; #A =注意次數(shù)頭 “ LM(ppl)”是掩蓋的LM困惑保留的培訓(xùn)數(shù)據(jù)。

為了消除微調(diào)方法,我們通過從一個(gè)或多個(gè)層中提取激活來應(yīng)用基于特征的方法,而無需微調(diào)BERT的任何參數(shù)。這些上下文嵌入用作分類層之前隨機(jī)初始化的兩層768維BiLSTM的輸入。

表7:CoNLL-2003命名實(shí)體識(shí)別結(jié)果。使用Dev選擇超參數(shù)
組。 報(bào)告的開發(fā)和測(cè)試分?jǐn)?shù)是使用這些超參數(shù)隨機(jī)重啟5次。
結(jié)果顯示在表7中。BERTLARGE用最新技術(shù)具有競(jìng)爭(zhēng)力。效果最好的方法將來自預(yù)訓(xùn)練的Transformer的頂部四個(gè)隱藏層的標(biāo)記表示連接起來,這僅比微調(diào)整個(gè)模型低0.3 F1。這表明BERT對(duì)于微調(diào)和基于特征的方法均有效。

6 結(jié)論

由于使用語言模型進(jìn)行了轉(zhuǎn)移學(xué)習(xí),最近的經(jīng)驗(yàn)改進(jìn)表明,豐富的,無監(jiān)督的預(yù)培訓(xùn)是許多語言理解系統(tǒng)不可或缺的一部分。尤其是,這些結(jié)果使即使是資源匱乏的任務(wù)也可以從深度單向架構(gòu)中受益。我們的主要貢獻(xiàn)是將這些發(fā)現(xiàn)進(jìn)一步推廣到深層次的雙向體系結(jié)構(gòu),從而使相同的經(jīng)過預(yù)訓(xùn)練的模型能夠成功解決各種NLP任務(wù)。

總結(jié)

以上是生活随笔為你收集整理的BERT中文翻译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。