<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          BERT模型的優(yōu)化改進方法!

          共 2737字,需瀏覽 6分鐘

           ·

          2022-05-27 20:09

          ?Datawhale干貨?
          來源:Coggle數(shù)據(jù)科學(xué)

          本文為論文《BERT模型的主要優(yōu)化改進方法研究綜述》的閱讀筆記,對 BERT主要優(yōu)化改進方法進行了研究梳理。

          BERT基礎(chǔ)

          BERT是由Google AI于2018年10月提出的一種基于深度學(xué)習(xí)的語言表示模型。BERT 發(fā)布時,在11種不同的NLP測試任務(wù)中取得最佳效果,NLP領(lǐng)域近期重要的研究成果。

          BERT基礎(chǔ)

          BERT主要的模型結(jié)構(gòu)是Transformer編碼器。Transformer是由 Ashish 等于2017年提出的,用于Google機器翻譯,包含編碼器(Encoder)和解碼器(Decoder)兩部分。

          BERT預(yù)訓(xùn)練方法

          BERT 模型使用兩個預(yù)訓(xùn)練目標來完成文本內(nèi)容特征的學(xué)習(xí)。

          • 掩藏語言模型(Masked Language Model,MLM)通過將單詞掩蓋,從而學(xué)習(xí)其上下文內(nèi)容特征來預(yù)測被掩蓋的單詞
          • 相鄰句預(yù)測(Next Sentence Predication,NSP)通過學(xué)習(xí)句子間關(guān)系特征,預(yù)測兩個句子的位置是否相鄰

          分支1:改進預(yù)訓(xùn)練

          自然語言的特點在于豐富多變,很多研究者針對更豐富多變的文本表達形式,在這兩個訓(xùn)練目標的基礎(chǔ)上進一步完善和改進,提升了模型的文本特征學(xué)習(xí)能力。

          改進掩藏語言模型

          在BERT模型中,對文本的預(yù)處理都按照最小單位進行了切分。例如對于英文文本的預(yù)處理采用了Google的wordpiece方法以解決其未登錄詞的問題。

          在MLM中掩蓋的對象多數(shù)情況下為詞根(subword),并不是完整的詞;對于中文則直接按字切分,直接對單個字進行掩蓋。這種掩蓋策略導(dǎo)致了模型對于詞語信息學(xué)習(xí)的不完整。針對這一不足,大部分研究者改進了MLM的掩蓋策略。在 Google 隨后發(fā)布的BERT-WWM模型中,提出了全詞覆蓋的方式。

          • BERT-Chinese-wwm利用中文分詞,將組成一個完整詞語的所有單字同時掩蓋。
          • ERNIE擴展了中文全詞掩蓋策略,擴展到對于中文分詞、短語及命名實體的全詞掩蓋。
          • SpanBERT采用了幾何分布來隨機采樣被掩蓋的短語片段,通過Span邊界詞向量來預(yù)測掩蓋詞

          引入降噪自編碼器

          MLM 將原文中的詞用[MASK]標記隨機替換,這本身是對文本進行了破壞,相當(dāng)于在文本中添加了噪聲,然后通過訓(xùn)練語言模型來還原文本,消除噪聲。

          DAE 是一種具有降噪功能的自編碼器,旨在將含有噪聲的輸入數(shù)據(jù)還原為干凈的原始數(shù)據(jù)。對于語言模型來說,就是在原始語言中加入噪聲數(shù)據(jù),再通過模型學(xué)習(xí)進行噪聲的去除以恢復(fù)原始文本。

          BART引入了降噪自編碼器,豐富了文本的破壞方式。例如隨機掩蓋(同 MLM 一致)某些詞、隨機刪掉某些詞或片段、打亂文檔順序等,將文本輸入到編碼器中后,利用一個解碼器生成破壞之前的原始文檔。

          引入替代詞檢測

          MLM 對文本中的[MASK]標記的詞進行預(yù)測,以試圖恢復(fù)原始文本。其預(yù)測結(jié)果可能完全正確,也可能預(yù)測出一個不屬于原文本中的詞。

          ELECTRA引入了替代詞檢測,來預(yù)測一個由語言模型生成的句子中哪些詞是原本句子中的詞,哪些詞是語言模型生成的且不屬于原句子中的詞。

          ELECTRA 使用一個小型的 MLM 模型作為生成器(Generator),來對包含[MASK]的句子進行預(yù)測。另外訓(xùn)練一個基于二分類的判別器(Discriminator)來對生成器生成的句子進行判斷。

          改進相鄰句預(yù)測

          在大多數(shù)應(yīng)用場景下,模型僅需要針對單個句子完成建模,舍棄NSP訓(xùn)練目標來優(yōu)化模型對于單個句子的特征學(xué)習(xí)能力。

          • 刪除NSP:NSP僅僅考慮了兩個句子是否相鄰,而沒有兼顧到句子在整個段落、篇章中的位置信息。
          • 改進NSP:通過預(yù)測句子之間的順序關(guān)系,從而學(xué)習(xí)其位置信息。

          分支2:融合融合外部知識

          當(dāng)下知識圖譜的相關(guān)研究已經(jīng)取得了極大的進展,大量的外部知識庫都可以應(yīng)用到 NLP 的相關(guān)研究中。

          嵌入實體關(guān)系知識

          實體關(guān)系三元組是知識圖譜的最基本的結(jié)構(gòu),也是外部知識最直接和結(jié)構(gòu)化的表達。K-BERT從BERT模型輸入層入手,將實體關(guān)系的三元組顯式地嵌入到輸入層中。

          特征向量拼接知識

          BERT可以將任意文本表示為特征向量的形式,因此可以考慮采用向量拼接的方式在 BERT 模型中融合外部知識。

          SemBERT利用語義角色標注工具,獲取文本中的語義角色向量表示,與原始BERT文本表示融合。

          訓(xùn)練目標融合知識

          在知識圖譜技術(shù)中,大量豐富的外部知識被用來直接進行模型訓(xùn)練,形成了多種訓(xùn)練任務(wù)。ERNIE以DAE的方式在BERT中引入了實體對齊訓(xùn)練目標,WKLM通過隨機替換維基百科文本中的實體,讓模型預(yù)測正誤,從而在預(yù)訓(xùn)練過程中嵌入知識。

          分支3:改進Transformer

          由于Transformer結(jié)構(gòu)自身的限制,BERT等一系列采用 Transformer 的模型所能處理的最大文本長度為 512個token。

          改進 Encoder MASK矩陣

          BERT 作為一種雙向編碼的語言模型,其“雙向”主要體現(xiàn)在 Transformer結(jié)構(gòu)的 MASK 矩陣中。Transformer 基于自注意力機制(Self-Attention),利用MASK 矩陣提供一種“注意”機制,即 MASK 矩陣決定了文本中哪些詞可以互相“看見”。

          UniLM通過對輸入數(shù)據(jù)中的兩個句子設(shè)計不同的 MASK 矩陣來完成生成模型的學(xué)習(xí)。對于第一個句子,采用跟 BERT 中的 Transformer-Encoder 一致的結(jié)構(gòu),每個詞都能夠“注意”到其“上文”和“下文”信息。

          對于第二個句子,其中的每個詞只能“注意”到第一句話中的所有詞和當(dāng)前句子的“上文”信息。利用這種巧妙的設(shè)計,模型輸入的第一句話和第二句話形成了經(jīng)典的“Seq2Seq”的模式,從而將 BERT 成功用于語言生成任務(wù)。

          Encoder + Decoder語言生成

          BART模型同樣采用Encoder+Decoder 的結(jié)構(gòu),借助DAE語言模型的訓(xùn)練方式,能夠很好地預(yù)測和生成被“噪聲”破壞的文本,從而也得到具有文本生成能力的預(yù)訓(xùn)練語言模型。

          分支4:量化與壓縮

          模型蒸餾

          對 BERT 蒸餾的研究主要存在于以下幾個方面:

          • 在預(yù)訓(xùn)練階段還是微調(diào)階段使用蒸餾
          • 學(xué)生模型的選擇
          • 蒸餾的位置

          DistilBERT在預(yù)訓(xùn)練階段蒸餾,其學(xué)生模型具有與BERT結(jié)構(gòu),但層數(shù)減半。

          TinyBERT為BERT的嵌入層、輸出層、Transformer中的隱藏層、注意力矩陣都設(shè)計了損失函數(shù),來學(xué)習(xí) BERT 中大量的語言知識。

          模型剪枝

          剪枝(Pruning)是指去掉模型中不太重要的權(quán)重或組件,以提升推理速度。用于 BERT 的剪枝方法主要有權(quán)重修剪和結(jié)構(gòu)修剪。

          干貨學(xué)習(xí),三連

          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情操逼视频 | 国产精品99久久久久久久久 | 天天日夜夜爽 | 欧美成人网站在线观看视频 | 99成人看的视频 |