0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

字符感知預訓練模型CharBERT

深度學習自然語言處理 ? 來源:哈工大訊飛聯(lián)合實驗室 ? 作者:哈工大訊飛聯(lián)合實 ? 2020-11-27 10:47 ? 次閱讀

本期推送介紹了哈工大訊飛聯(lián)合實驗室在自然語言處理重要國際會議COLING 2020上發(fā)表的工作,提出了一種字符感知預訓練模型CharBERT,在多個自然語言處理任務中取得顯著性能提升,并且大幅度提高了模型的魯棒性。本文以高分被COLING 2020錄用,且獲得審稿人的最佳論文獎推薦Recommendation for Best Paper Award)。

簡介

目前預訓練語言模型在NLP領域的大部分任務上都得到了顯著的效果提升,其中絕大部分模型都是基于subword的子詞粒度構建表示,這樣幾乎可以避免OOV(out-of-vocab)的產生。但這種基于子詞粒度的表示也存在兩個問題:1)不完整,只能構建子詞粒度的表示,而喪失了全詞及字符的信息;2)不魯棒,字符上一個小的變化就會導致整個切詞組合的變化。我們可以通過下面一個示例來說明這兩個問題。

圖1 單詞backhand內部結構示例

一個單詞的內部結構可以表示成三層的樹:根節(jié)點-全詞;孩子節(jié)點-子詞;葉子節(jié)點-字符。以BPE(Byte-Pair Encoding)[1]為代表的子詞粒度表示方法只可以表示孩子節(jié)點的信息,而喪失了根和葉子節(jié)點的信息。如果字符序列出現了噪音或者拼寫錯誤(如去掉了字符k),那么整個子詞組合就會完全變化,輸入到模型中的表示也就完全不一樣了,因此魯棒性較差。以CoNLL-2003 NER的開發(fā)集為例,我們基于BERT[2]的tokenizer切詞后統(tǒng)計發(fā)現28%的名詞會被切分成多個子詞。如果隨機刪除所有名詞中的任意一個字符,78%的詞會切分成如圖1這樣完全不一樣的組合。由此可以看出,不完整與不魯棒問題是具有統(tǒng)計顯著性的問題。

繼續(xù)看圖1中的示例。如果我們仔細觀察字符信息對應的葉子節(jié)點,可以發(fā)現在去掉字符k后,葉子節(jié)點只有一個節(jié)點發(fā)生了變化,信息的變化量從孩子節(jié)點的100%降低為12.5%。另外,我們也可以通過字符信息構建出全詞級別的表示,從而將詞的各級信息完整地表示出來。因此,我們將在目前預訓練模型的架構上,融合字符信息來解決上述兩個問題。

基于預訓練模型的字符融合具有兩個挑戰(zhàn):1)如何建模字符序列;2)如何融合字符與原有基于subword的計算。我們在方法上主要解決了這兩個問題,其主要貢獻如下:

我們提出了一種字符感知預訓練模型CharBERT,可以在已有預訓練模型的基礎上融合字符層級的信息;

我們在問答、文本分類和序列標注三類任務的8個數據集上進行了驗證,發(fā)現CharBERT可以在BERT和RoBERTa[3]兩個基線上有明顯的效果提升;

我們通過字符攻擊的方式構造了這三類任務對應的噪音測試集合,發(fā)現CharBERT可以大幅度提升模型的魯棒性。

模型與方法

主要架構

因為要同時融合預訓練模型原有的subword粒度計算和基于字符的計算,我們整體上采用的雙通道的架構,具體如下圖2所示。其中我們設計了兩大模塊:字符編碼器Character Encoder和交互融合模塊Heterogeneous Interaction來解決上述字符融合的兩個問題。其中Character Encoder基于Bi-GRU構造了上下文的字符表示,Heterogeneous Interaction通過融合和分拆兩步計算進行兩個信息流的交互式融合。

圖2 CharBERT模型圖

Character Encoder的輸入是字符序列,輸出與BERT Embedding具有相同shape的字符表示。Heterogeneous Interaction在每個transformer之后進行兩個信息流的融合計算,因此其輸入和輸出具有相同的shape。

Character Encoder

字符編碼器的結構如圖3所示,主要基于Bi-GRU構建上下文的字符表示。

圖3 Character Encoder示意圖

我們將整個輸入序列看成字符序列,詞之間使用一個空字符隔開。將每個字符映射成一個固定大小的embedding后,使用Bi-GRU構建每一個字符的表示,然后將每個詞的首尾字符的表示拼接作為每個詞對應的表示,對應公式如下:

其中ni表示第i個詞的長度,h表示通過字符信息構建的詞向量?;贐i-GRU的字符表示,在每個詞的首尾字符位置是帶上下文信息的,所以將其拼接作為詞的表示。

Heterogeneous Interaction

由于來自原始預訓練模型的表示和來源于character encoder基于字符的表示是異構的,很難通過簡單操作將二者融合起來。因此我們設計了交互式的融合模塊Heterogeneous Interaction, 在每一個transformer層計算后進行迭代式融合,其結構如圖4所示。

圖4 異構交互模塊示意圖

該模塊主要包含兩步:融合和分拆。在融合過程中,先對各自表示進行轉換后,使用CNN抓取局部特征將兩個來源的信息融合到一起:

在分拆過程中,各自進行新的轉換然后基于殘差構造各自不同的表示:

融合的目的是讓兩個來源的信息相互補充,分拆是為了各自保持住自己獨有的特征,也為后面不同的預訓練任務做準備。

無監(jiān)督字符預訓練

為了讓模型更好地學習詞內部的字符特征,我們設計了一種無監(jiān)督的字符預訓練任務NLM(Noisy LM)。通過字符的增刪改自動構造一定比例的字符噪音,再通過NLM任務進行原始序列還原,具體計算如圖5所示。

圖5 NLM預訓練任務示例

需要注意的是,因為在引入字符噪音之后,每個詞對應的切詞組合會變化,因此我們在NLM任務中預測粒度是全詞而不是子詞,在預訓練過程中我們需要額外構造一個全詞詞表,而該詞表在fine-tuning階段是不需要的。另外,對于原始預訓練模型計算的分支,我們在預訓練階段仍然保持做MLM(Masked LM)任務,該任務預測的詞與NLM任務不交叉,在該部分處理和預測的詞是不帶噪音的。

下游任務精調

NLP中絕大部分分類任務可以分成兩類:token-level分類(如序列標注)和sequence-level分類(如文本分類)。對于token-level的分類,我們將CharBERT兩個分支的表示拼接進行預測。對于sequence-level的分類,目前大部分預訓練模型使用‘[CLS]’位做預測。因為該位置不帶有有效的字符序列,所以我們將兩個分支的表示拼接后取平均再做分類。

實驗

實驗設置

為了保持對比的公平性,我們不引入額外數據,僅使用英文維基百科數據(12G,2500M words)進行預訓練。由于算力有限,我們只基于BERT和RoBERTa的base模型進行實驗,額外增加的模塊共占用5M的參數量。預訓練過程進行了320K步迭代,使用兩張32GB顯存的NVIDIA Tesla V100的GPU訓練5天左右。我們將MLM中mask的比例從BERT的15%調低到10%,而NLM中將序列中15%的詞使用隨機增刪改的方式引入噪音。

通用評估

我們在問答、文本分類和序列標注三類任務中做模型通用效果的評估。其中問答方面我們基于SQuAD 1.1和2.0兩個版本的閱讀理解數據集,文本分類基于CoLA、MRPC、QQP和QNLI四個單句和句對分類數據集,序列標注方面基于CoNLL-2003 NER和Penn Treebank POS分類數據集。主要結果如下表1和表2所示。

表1閱讀理解、文本分類結果

表2命名實體識別、詞性標注結果

在通用效果的評估上,我們基于BERT的提升比較顯著,但是在RoBERTa的基線上由于baseline的增高,提升比較微弱。另外,在各個任務的提升幅度上,大致上是序列標注>閱讀理解>文本分類,可能是因為字符信息在序列標注任務上更為重要。

魯棒性評估

我們基于上述三類任務進行了魯棒性評估。在該部分評估集的構建上,我們主要按照之前的工作[4]通過四種方式進行字符層級的攻擊:dropping, adding, swapping和keyboard。與之前工作不同的是,我們同時考慮問答、文本分類和序列標注三類任務,而不僅僅是某一類任務上的魯棒性,整體魯棒性對比結果如下表3所示。

表3魯棒性測試

其中AdvBERT是我們基于BERT進行與CharBERT同樣數據和超參的預訓練,BERT+WordRec是之前工作[4]在BERT之前增加了一個詞糾正器,Original是原始測試集,Attack是攻擊集合。我們可以看到BERT在攻擊集合上效果下降很大,說明BERT的表示在字符攻擊上確實不魯棒。CharBERT在保持原有集合效果提升的前提下,大幅度提升了BERT的魯棒性。以其中QNLI的數據進行具體對比,我們可以發(fā)現各模型效果變化如下。

圖6QNLI上不同模型的魯棒性對比

我們可以看到BERT效果下降幅度超過30%,另外兩個baseline模型效果降幅明顯縮小,而CharBERT下降幅度為12%,顯著超過了所有模型。

分析

為了進一步探究文首所提出的預訓練模型不完整和不魯棒的問題,我們基于CoNLL-2003 NER數據的測試集做了進一步分析。

Word vs. Subword

針對不完整性問題,我們將測試集中所有的詞按照是否會被BERT tokenizer切分成多個子詞分成‘Word’和‘Subword’兩個子集合,前者不會被切分(如‘apple’)而后者會被切分成多個子詞(如‘backhand’)。實際上,‘Subword’部分只包含了所有詞的17.8%但是包含了所有實體的45.3%。CharBERT和BERT在整體與兩個子集合中的效果如下圖7所示。

圖7CoNLL-2003 NER上性能表現對比

首先,對比同一個模型在不同集合上的表現,我們發(fā)現‘Word’集合上的效果都要遠高于‘Subword’集合,這說明切分成多個詞確實對模型效果有直接影響,子詞粒度的表示應該客觀上存在不充分的問題。對比同一個集合下不同模型的表現,我們發(fā)現CharBERT在‘Word’集合上的提升是0.29%,而在‘Subword’集合上的提升是0.68%,這說明主要的提升來源于‘Subword’集合,也就是說我們通過融入字符信息,可以有效提升切分成多個子詞部分的效果,緩解了表示上的不完整問題。

魯棒性分析

針對預訓練模型的魯棒性問題,我們探究預訓練的表示在字符噪音下的變化。我們定義了一個敏感性指標分析模型輸出的詞向量在噪音下的變化量,從而分析模型對噪音的敏感程度,其具體計算如下:

其中m是集合中詞的總數,模型敏感性S本質上是模型在整個集合所有序列輸出的表示在引入噪音后的cosine距離均值,如果一個模型對噪音完全不敏感,那么前后表示不變,S=0。對應到具體一個序列,我們也可以對每一個詞計算引入噪音后的表示變化,如圖8所示。

圖8CoNLL-2003 NER敏感度測試

我們發(fā)現對于沒有引入噪音的詞如‘I’、‘it’三個模型輸出表示的變化量區(qū)別不大。而對于引入字符噪音的詞如‘think-thnik’、’fair-far’,CharBERT的變化量要遠遠大于BERT,而經過噪音數據進行訓練的AdvBERT則明顯低于BERT。在整個集合統(tǒng)計上也具有相同趨勢:S(BERT)=0.0612,S(AdvBERT)=0.0407,S(CharBERT)=0.0986。說明CharBERT通過NLM的預訓練對噪音部分采用了不同方式的表示,與常規(guī)使用噪音數據來提升模型魯棒性方式有些不同。直觀上,我們一般認為越不敏感的模型魯棒性越好,但是CharBERT通過對噪音部分不同的建模,在表示變得敏感的同時也提升了魯棒性,這將啟發(fā)我們后續(xù)提升模型魯棒性的路徑也可以有多種方向。

總結

本文主要基于目前預訓練模型表示粒度上不完整和不魯棒的兩個問題,提出了字符感知預訓練模型CharBERT,通過在已有預訓練架構上融入字符信息來解決這些問題。CharBERT在技術上融合了傳統(tǒng)的CNN、RNN與現在流行的transformer結構,在模型特征上具有字符敏感、魯棒和可拓展的特點,可以自然拓展到現在基于transformer的各種預訓練模型上。另外,由于本工作限于英語單個語種和有限的算力,在通用的任務上效果提升有限。未來可以在更多的語種,尤其是在字符層級帶有更多形態(tài)學信息的語言上進行適配,同時也可以在噪音種類上拓展到子詞、句子級別的噪音,更全面地提升預訓練模型的魯棒性。

原文標題:COLING 2020 | 字符感知預訓練模型CharBERT

文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3032

    瀏覽量

    48374
  • 機器學習
    +關注

    關注

    66

    文章

    8306

    瀏覽量

    131853

原文標題:COLING 2020 | 字符感知預訓練模型CharBERT

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    訓練和遷移學習的區(qū)別和聯(lián)系

    訓練和遷移學習是深度學習和機器學習領域中的兩個重要概念,它們在提高模型性能、減少訓練時間和降低對數據量的需求方面發(fā)揮著關鍵作用。本文將從定義、原理、應用、區(qū)別和聯(lián)系等方面詳細探討
    的頭像 發(fā)表于 07-11 10:12 ?365次閱讀

    大語言模型訓練

    能力,逐漸成為NLP領域的研究熱點。大語言模型訓練是這一技術發(fā)展的關鍵步驟,它通過在海量無標簽數據上進行訓練,使模型學習到語言的通用知識
    的頭像 發(fā)表于 07-11 10:11 ?256次閱讀

    LLM訓練的基本概念、基本原理和主要優(yōu)勢

    在人工智能和自然語言處理(NLP)領域,大型語言模型(Large Language Model,簡稱LLM)的興起極大地推動了技術的進步和應用的發(fā)展。LLM通過在大規(guī)模文本數據上進行訓練,獲得了
    的頭像 發(fā)表于 07-10 11:03 ?725次閱讀

    人臉識別模型訓練流程

    人臉識別模型訓練流程是計算機視覺領域中的一項重要技術。本文將詳細介紹人臉識別模型訓練流程,包括數據準備、模型選擇、
    的頭像 發(fā)表于 07-04 09:19 ?508次閱讀

    訓練模型的基本原理和應用

    訓練模型(Pre-trained Model)是深度學習和機器學習領域中的一個重要概念,尤其是在自然語言處理(NLP)和計算機視覺(CV)等領域中得到了廣泛應用。
    的頭像 發(fā)表于 07-03 18:20 ?1436次閱讀

    摩爾線程和滴普科技完成大模型訓練與推理適配

    近日,摩爾線程與滴普科技宣布了一項重要合作成果。摩爾線程的夸娥(KUAE)千卡智算集群與滴普科技的企業(yè)大模型Deepexi已完成訓練及推理適配,共同實現了700億參數LLaMA2大語言模型
    的頭像 發(fā)表于 05-30 10:14 ?417次閱讀

    大語言模型:原理與工程時間+小白初識大語言模型

    種語言模型進行訓練,此處訓練為自然語言處理領域的里程碑 分詞技術(Tokenization) Word粒度:我/賊/喜歡/看/大語言
    發(fā)表于 05-12 23:57

    LeddarTech和Immervision達成合作,加速ADAS和AD感知模型訓練

    近日,汽車技術領域的兩家領軍企業(yè)LeddarTech和Immervision宣布達成合作,共同推動高級駕駛輔助系統(tǒng)(ADAS)和自動駕駛(AD)感知模型訓練的發(fā)展。
    的頭像 發(fā)表于 05-11 10:44 ?295次閱讀

    LeddarTech 和 Immervision 聯(lián)合宣布 合作加速 ADAS 和 AD 感知模型訓練

    宣布了一項合作,旨在簡化感知模型訓練過程,使其更快、更具成本效益并減少數據密集度。LeddarTech 是一家汽車軟件公司,為高級駕駛輔助系統(tǒng)?(ADAS) 和自動駕駛?(AD) 和停車應用,提供
    的頭像 發(fā)表于 05-09 10:54 ?431次閱讀
    LeddarTech 和 Immervision 聯(lián)合宣布 合作加速 ADAS 和 AD <b class='flag-5'>感知</b><b class='flag-5'>模型</b><b class='flag-5'>訓練</b>

    【大語言模型:原理與工程實踐】大語言模型訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養(yǎng)通用的處理能力。然而,隨著學習容量的增加,對訓練數據的需求也相
    發(fā)表于 05-07 17:10

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    模型架構奠定基礎。然后,引介一些經典的訓練模型,如BERT、GPT等。最后,解讀ChatGPT和LLaMA系列模型,幫助讀者初步
    發(fā)表于 05-05 12:17

    【大語言模型:原理與工程實踐】核心技術綜述

    訓練和微調,直到模型的部署和性能評估。以下是對這些技術的綜述: 模型架構: LLMs通常采用深層的神經網絡架構,最常見的是Transformer網絡,它包含多個自注意力層,能夠捕
    發(fā)表于 05-05 10:56

    如何提高自動駕駛汽車感知模型訓練效率和GPU利用率

    由于采用了多攝像頭輸入和深度卷積骨干網絡,用于訓練自動駕駛感知模型的 GPU 內存占用很大。當前減少內存占用的方法往往會導致額外的計算開銷或工作負載的失衡。
    的頭像 發(fā)表于 04-29 09:12 ?679次閱讀
    如何提高自動駕駛汽車<b class='flag-5'>感知</b><b class='flag-5'>模型</b>的<b class='flag-5'>訓練</b>效率和GPU利用率

    谷歌模型訓練軟件有哪些功能和作用

    谷歌模型訓練軟件主要是指ELECTRA,這是一種新的訓練方法,源自谷歌AI。ELECTRA不僅擁有BERT的優(yōu)勢,而且在效率上更勝一籌。
    的頭像 發(fā)表于 02-29 17:37 ?641次閱讀

    如何優(yōu)化深度學習模型?

    因為大部分人使用的模型都是訓練模型,使用的權重都是在大型數據集上訓練好的模型,當然不需要自己去
    發(fā)表于 01-29 14:25 ?1083次閱讀
    如何優(yōu)化深度學習<b class='flag-5'>模型</b>?