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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BERT中文翻译

發布時間:2023/12/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BERT中文翻译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BERT:語言理解的深層雙向transformer的預訓練

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

目錄

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

Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova

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

BERT概念簡單,經驗豐富。它在11項自然語言處理任務上取得了最新的技術成果,包括將GLUE分數提高到80.7%(7.7%絕對改善),多項精度至86.7%(4.6%絕對改善),SQuAD v1.1問答測試F1到93.2%(1.5%絕對改善)和SQuAD v2.0測試F1到83.1%(5.1%絕對改善)。

1.介紹

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

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

我們認為,當前的技術限制了預訓練的表示的能力,特別是對于微調方法。主要的限制是標準的語言模型是單向的,這限制了在預訓練可以使用的體系結構的選擇。例如,在OpenAI GPT中,作者使用了從左到右大體系結構,其中每個標記只能處理Transformer(Vaswanit等人,2017)。這樣的限制對于句子級的任務來說是次優的,當基于調優的方法應用于諸如回答問題之類的標記任務時可能非常有害,因為在這些任務中,從兩個方向合并上下文是非常重要的。

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

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

一般語言表示在預訓練前就已有很長的歷史了,我們在本節中簡要回顧了最廣泛使用的方法。

2.1 基于無監督特征的方法

數十年來,學習廣泛適用的單詞表示一直是一個活躍的研究領域,包括非神經(Brown等人,1992;Ando和Zhang,2005;Blitzer等人,2006)和神經(Mikolov等人,2013;Pennington等人,2014)的方法。預訓練的詞嵌入是現代NLP系統的一個組成部分,提供了重要的改進從嵌入式從零開始學習(Turian等人,2010)。為了預訓練單詞嵌入向量,使用了從左到右的語言建模目標(Mnih和Hinton,2009),以及在左和右上下文中區分正確和錯誤的單詞的目標(Mikolov等人,2013)。

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

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

2.2 非監督微調方法

與基于特征的方法一樣,第一種方法只對來自未標記文本的預訓練的詞嵌入參數起作用(Collobert和Weston,2008)。
最近,產生上下文標記表示的句子或文檔編碼器已經從未標記的文本中進行了預訓練,并針對監督的下游任務進行了微調(Dai和Le,2015;Howard和Ruder,2018;Radford等人,2018)。這些方法的優點幾乎不需要從頭學習參數。至少部分由于這一優勢,OpenAI GPT(Radford等人,2018)在GLUE基準測試的許多句子級任務上取得了以前最先進的結果(Wang等人,2018)。從左到右的語言模型,和自動編碼器的目標已用于此類模型的預訓練(Howard和Ruder,2018;Radford等人,2018;Dai和Le,2015)。

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

2.3 從監督數據中轉移學習

也有研究表明,從監督任務與大數據集的有效轉移,如自然語言推理(Conneau等人,2017)和機器翻譯(McCann等人,2017)。計算機視覺研究也證明了從大型預訓練模型中轉移學習的重要性,其中一個有效的方法是使用ImageNet對預訓練模型進行微調(Deng等人,2009;Yosinski等人,2014)。

3 BERT

我們將在本節介紹BERT及其詳細實現。在我們的框架中有兩個步驟:預訓練和微調。在訓練前,對不同訓練前任務的未標記數據進行訓練。為了進行微調,首先使用預先訓練的參數初始化BERT模型,然后使用來自下游任務的標記數據對所有參數進行微調。每個下游任務都有單獨的經過調優的模型,即使它們是用相同的預先訓練的參數初始化的。圖1中的問題回答示例將作為本節的運行示例。

BERT的一個顯著特征是它跨不同任務的統一框架。預訓練的體系結構和最終的下游體系結構之間的差異很小。

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

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

輸入/輸出表示:為了使BERT能夠處理各種下游任務,我們的輸入表示能夠清楚地表示一個句子和兩個句子(例如,<問題,回答>)在一個標記標記序列中。在此工作中,一個“句子”可以是任意一段連續的文本,而不是一個實際的語言句子。“序列”是指BERT的輸入標記序列,它可以是一個句子,也可以是兩個句子組合在一起。

我們使用單詞嵌入法(Wu等人,2016),擁有30000個象征性詞匯。每個序列的第一個標記總是一個特殊的分類標記([CLS])。與此標記對應的最終隱藏狀態用作分類任務的聚合序列表示。句子對被打包成一個單獨的序列,我們用兩種方法區分這些句子。首先,我們用一個特殊的標記將它們分開,。其次,我們在每個標記中加入一個學習嵌入,表明它是屬于句子A還是句子B。如圖1所示,我們將輸入嵌入記為E,專用[CLS]標記的最終隱藏向量記為C∈RH,第i個輸入標記的最終隱藏向量記為Ti∈RH。

對于給定的標記,其輸入表示是通過對相應的標記、段和位置嵌入求和來構造的。這種結構的可視化結果可以在圖2中看到。

3.1 預訓練的BERT

不像Peters等人(2018)和Radford等人(2018),我們沒有使用傳統的從左到右或從右到左的語言模型來預訓練BERT。相反,我們使用兩個非監督任務對BERT進行預訓練,如本節所示。此步驟在圖1的左側部分中顯示。

任務#1:直觀地隱蔽LM,我們有理由相信深度雙向模型比從左到右的模型或者從右到左的模型的淺層連接更強大。不幸的是,標準的條件語言模型只能訓練從左到右或從右到左,因為雙向條件作用可讓每個單詞間接的“看到自己”,而且該模型可以在多層的上下文中輕松地預測目標單詞。

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

雖然這允許我們獲得雙向的預訓練模型,但缺點是我們在預訓練和微調之間產生了不匹配,因為在微調期間不會出現[MASK]標記。為了緩解這種情況,我們并不總是使用實際的[MASK]標記來替換“掩蔽”單詞。訓練數據生成器隨機選擇15%的標記位置進行預測。如果選擇了第i個標記,我們將第i個標記替換為:
(1)80%的時間是[MASK]標記
(2)10%的時間是一個隨機標記
(3)10%的時間是不變的第i個標記
然后利用Ti來預測具有交叉熵的原始標記。我們在附錄C.2中比較這個過程的變化。

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

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

NSP任務與Jernite等人(2017)、Logeswaran和Lee(2018)使用的表征學習目標密切相關。然而,在以前的工作中,只有語句嵌入被傳輸到下游任務,在那里BERT傳輸所有的參數來初始化最終任務模型參數。

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

3.2 微調BERT

微調是很簡單的,因為Transformer中的自我注意力機制(self-attention mechanism)將替換掉適當的輸入和輸出,從而對許多下游任務(無論是單個文本還是文本對)進行建模。對于涉及文本對的應用程序,一種常見的模式是在應用雙向交叉注意(如Parikh等人,2016;Seo等人,2017)對文本進行獨立編碼。BERT使用了自我注意力機制來統一這兩個階段,因為自我注意力編碼一個連接的文本對有效地包含了兩個句子之間的雙向交叉注意。

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

與預訓練相比,微調相對便宜。本文中所有的結果都可以在一個單一的云TPU上最多一個小時內復制,或者在GPU上最多幾個小時,從完全相同的預訓練模型開始。我們在第4節的相應小節中描述了特定于任務的細節。

4.實驗

在本節中,我們將展示11個NLP任務的BERT微調結果。

4.1 GLUE

一般語言理解評價(GLUE)基準(Wang等人,2018)是一個集合了多種自然語言理解任務的集合。GLUE的數據集詳細描述包含在附錄B.1中。

為了對GLUE進行微調,我們按照第3節的描述表示輸入序列(對單個句子或句子對),并使用第一個輸入標記對應的最終隱藏向量C∈RH([CLS])作為聚合表示。微調過程中引入的唯一新參數是分類層權值W∈K×H,其中K為標簽數。我們用C和W計算標準分類損失,即log(softmax(CWT))。

表1:由評估服務(https://gluebenchmark.com/leaderboard)評分的GLUE測試結果。每個任務下面的數字表示培訓示例的數量。 “平均”列略有不同比官方GLUE得分要高,因為我們排除了有問題的WNLI集。8BERT和OpenAI GPT是單一模
型,單項任務。 報告QQP和MRPC的F1得分,報告STS-B的Spearman相關性,以及報告其他任務的準確性得分。 我們排除使用BERT作為其組件之一的條目。

我們對所有的粘合任務使用32的批大小和3個時間段的數據調優。對于每個任務,我們選擇了開發集上最佳微調學習率(5e-5, 4e-5, 3e-5,和2e-5)。此外,對于BERTLARGE,我們發現微調有時在小型數據集上是不穩定的,因此我們運行了幾個隨機重啟,并在開發集上選擇了最好的模型。對于隨機重新啟動,我們使用相同的預訓練的檢查點,但是執行不同的微調數據變換和分類器層初始化。

結果見表1。BERTBASE和BERTLARGE在所有任務上的表現都遠遠超過所有系統,獲得4.5%和7.0%相對于現有技術水平的平均準確率提高。注意BERTBASE和OpenAI GPT在模型架構方面幾乎是相同的。對于規模最大、報道范圍最廣泛的的GLUE任務,MNLI, BERT獲得了4.6%的絕對準確度。在官方的GLUE排行榜上,BERTLARGE的分數是80.5,截至撰寫本文時,OpenAI GPT的得分為72.8。

我們發現,BERTLARGE在所有任務中都明顯優BERTBASE,尤其是那些訓練數據很少的任務。模型大小的影響在5.2節中進行了更深入的探討。

4.2 SQuAD v1.1

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

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

我們的最佳性能系統在整體表現上領先+1.5 F1,而在整體系統方面則優于+1.3 F1。實際上,就F1分數而言,我們的單個BERT模型優于頂級集成系統。沒有TriviaQA的微調,我們只損失0.1-0.4 F1,仍然遠遠勝過所有現有系統。


表2:SQuAD 1.1結果。 BERT合奏是使用不同的預訓練檢查點的7x系統和微調因子。

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

表4:SWAG開發和測試精度。 人的表現用100個樣品測量,如SWAG文件

4.3 SQuAD v2.0

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

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

4.4 SWAG

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

5. 消融研究

在本節中,我們將對BERT的多個方面進行消融實驗,以更好地了解它們的相對重要性。額外地,消融研究可在附錄C中找到

表5:使用BERTBASE體系結構。 沒有培訓“無NSP”下一個句子的預測任務。 “ LTR&No NSP”是訓練為從左到右的LM,無需下一句預測,例如OpenAI GPT。
“ + BiLSTM”隨機添加在“ LTR + No”之上初始化BiLSTMNSP”模型在微調期間。

5.1 預訓練任務的效果

通過使用與BERTBASE完全相同的預訓練數據,微調方案和超參數來評估兩個預訓練目標,我們證明了BERT雙向深度的重要性:
No NSP:使用“掩蓋的LM”(MLM)訓練但沒有“下一句預測”(NSP)任務的雙向模型。

LTR&No NSP: 使用標準的從左到右(LTR)LM(而不是MLM)訓練的僅左上下文模型。左約束也應用于微調,因為刪除它會引入預訓練/微調不匹配,從而降低下游性能。此外,該模型無需NSP任務即可進行預訓練。這可以直接與OpenAI GPT相提并論,但要使用更大的訓練數據集,輸入表示形式和微調方案。

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

對于SQuAD,直觀上很清楚,因為標記級別的隱藏狀態沒有右側上下文,所以LTR模型在標記預測時的性能會很差。為了增強LTR系統的可靠性,我們在頂部添加了一個隨機初始化的BiLSTM。這確實可以顯著改善SQuAD的結果,但是這個結果仍然遠比預訓練的雙向模型差。 BiLSTM損害了GLUE任務的性能。

我們認識到,像ELMo一樣,也有可能訓練單獨的LTR和RTL模型并將每個標記表示為兩個模型的串聯。但是:(a)這是單個雙向模型的兩倍昂貴;(b)對于QA這樣的任務,這是不直觀的,因為RTL模型將無法確定問題的答案;(c)這絕對不像深度雙向模型那么強大,因為它可以在每一層使用左右上下文。

5.2模型大小的影響

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

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

5.3 BERT的基于特征的方法

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

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

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

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

表7:CoNLL-2003命名實體識別結果。使用Dev選擇超參數
組。 報告的開發和測試分數是使用這些超參數隨機重啟5次。
結果顯示在表7中。BERTLARGE用最新技術具有競爭力。效果最好的方法將來自預訓練的Transformer的頂部四個隱藏層的標記表示連接起來,這僅比微調整個模型低0.3 F1。這表明BERT對于微調和基于特征的方法均有效。

6 結論

由于使用語言模型進行了轉移學習,最近的經驗改進表明,豐富的,無監督的預培訓是許多語言理解系統不可或缺的一部分。尤其是,這些結果使即使是資源匱乏的任務也可以從深度單向架構中受益。我們的主要貢獻是將這些發現進一步推廣到深層次的雙向體系結構,從而使相同的經過預訓練的模型能夠成功解決各種NLP任務。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。