• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)增強(qiáng)型BERT

    2022-10-31 11:23:10盧嘉榮肖紅姜文超楊建仁王濤
    關(guān)鍵詞:集上語(yǔ)料矩陣

    盧嘉榮,肖紅,姜文超,,楊建仁,王濤

    (1.廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣東 廣州 510006;2.廣州云碩科技發(fā)展有限公司,廣東 廣州 511458)

    0 引言

    自然語(yǔ)言處理是語(yǔ)言學(xué)領(lǐng)域的重要分支,近年來(lái)隨著人工智能技術(shù)對(duì)自然語(yǔ)言處理研究的逐漸深入和計(jì)算機(jī)硬件性能的飛速提升,誕生了許多用于自然語(yǔ)言處理的神經(jīng)網(wǎng)絡(luò)模型,如ELMo[1]、OpenAI GPT[2]及BERT[3]等.該類模型擁有優(yōu)秀的自然語(yǔ)言理解與信息處理能力,遠(yuǎn)超N-Gram[4]、決策樹(shù)[5]、最大熵[6]等傳統(tǒng)概率學(xué)模型[7].

    BERT作為近年主流的自然語(yǔ)言理解模型,其在多個(gè)開(kāi)放領(lǐng)域任務(wù)中取得了較好的性能.BERT的神經(jīng)網(wǎng)絡(luò)層級(jí)結(jié)構(gòu)由transformer的encoder與self-attention[8]自注意力機(jī)制組成,BERT的Base模型具備12層上述結(jié)構(gòu),從而構(gòu)成深層神經(jīng)網(wǎng)絡(luò).BERT的主要貢獻(xiàn)在于推廣了預(yù)訓(xùn)練模型兩步法思路:首先使用大量語(yǔ)料訓(xùn)練模型參數(shù),使其獲得普遍語(yǔ)境下的知識(shí)與語(yǔ)言認(rèn)知能力;然后使用先前的預(yù)訓(xùn)練參數(shù)對(duì)下游任務(wù)進(jìn)行微調(diào).預(yù)訓(xùn)練(pre-train)與微調(diào)(fine-tune)兩步走的策略使BERT在2018年成為在多個(gè)開(kāi)放領(lǐng)域任務(wù)榜單上的最佳模型.

    但是,BERT并沒(méi)有解決預(yù)訓(xùn)練模型的一些常見(jiàn)問(wèn)題,比如,受限于預(yù)訓(xùn)練語(yǔ)料的規(guī)模與特性及模型本身的學(xué)習(xí)能力,在不同的適用場(chǎng)景中仍存在較大局限性.為了提升BERT的精度性能,多個(gè)工作開(kāi)始以BERT為基礎(chǔ)進(jìn)行調(diào)整與優(yōu)化,具體優(yōu)化方向包括調(diào)整預(yù)訓(xùn)練過(guò)程、改進(jìn)模型結(jié)構(gòu)、引入外部知識(shí)等.

    首先,在調(diào)整預(yù)訓(xùn)練過(guò)程方向上,通過(guò)改進(jìn)pre-train階段的訓(xùn)練工作,調(diào)整MLM(masked language model)為WWM(whole word mask)的Baidu-ERNIE[9]及BERT-WWM[10].Baidu-ERNIE與BERT-WWM通過(guò)將BERT的MLM訓(xùn)練逐一遮蔽單個(gè)字符的方式,更改為遮蔽一個(gè)完整的中文詞語(yǔ),并借助規(guī)模更大的中文語(yǔ)料進(jìn)行模型訓(xùn)練.RoBERTa[11]則是刪除BERT的NSP訓(xùn)練,并采用更長(zhǎng)的訓(xùn)練時(shí)間以及更多更長(zhǎng)的句子進(jìn)行模型訓(xùn)練.

    其次,在模型結(jié)構(gòu)改進(jìn)方向上,XLNet[12]采用Transformer-XL[13]替代BERT的Transformer結(jié)構(gòu),增加更多數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練.而T5模型[14]使用Decoder-Encoder結(jié)構(gòu)替代BERT的Encoder結(jié)構(gòu),并通過(guò)規(guī)模更大、數(shù)據(jù)更為純凈的Colossal Clean Crawled Corpus數(shù)據(jù)集[14]對(duì)模型進(jìn)行精細(xì)訓(xùn)練與調(diào)整,從而在一系列下游任務(wù)中成為目前的最佳模型;最后,在引入外部知識(shí)方向上,相對(duì)于清晰且結(jié)構(gòu)化的顯性知識(shí),預(yù)訓(xùn)練讓模型可從大量語(yǔ)料中獲得模糊的隱性知識(shí).而為了解決BERT缺少顯性知識(shí)的問(wèn)題,通過(guò)將顯性知識(shí)融入到模型中,可以在一定程度上提高模型的泛化能力,增強(qiáng)模型的魯棒性[15],引入外部顯性知識(shí)的模型主要有THU-ERNIE[16]、KnowBERT[17]、K-BERT[18]等.

    此外,在引入外部知識(shí)的優(yōu)化方法中,根據(jù)引入知識(shí)的階段不同,又分為pre-train與fine-tune兩類.其中THU-ERNIE與KnowBERT選擇在模型的pre-train階段進(jìn)行知識(shí)引入,將知識(shí)實(shí)體通過(guò)word2vec[19]與TransE[20]進(jìn)行編碼,輸入其各自的融合層結(jié)構(gòu)中,疊加至深層神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)知識(shí)注入.K-BERT選擇在fine-tune階段進(jìn)行知識(shí)增強(qiáng),相比于ERNIE與KnowBERT在pre-train階段進(jìn)行知識(shí)增強(qiáng),K-BERT在fine-tune階段添加的顯性知識(shí)可以快速更換不同領(lǐng)域相關(guān)的知識(shí)庫(kù),在各專業(yè)領(lǐng)域的下游任務(wù)中獲得性能提升[21].與ERNIE與KnowBERT等在pre-train階段進(jìn)行知識(shí)增強(qiáng)的模型相比,K-BERT模型可以免去預(yù)訓(xùn)練階段的知識(shí)導(dǎo)入,減少模型對(duì)計(jì)算資源的額外需求.但是K-BERT模型的知識(shí)增強(qiáng)方法仍存在以下3個(gè)問(wèn)題:

    1)顯性知識(shí)與原本語(yǔ)句產(chǎn)生關(guān)聯(lián)的語(yǔ)句樹(shù)無(wú)法讓BERT模型直接進(jìn)行訓(xùn)練;

    2)采用可視化矩陣的數(shù)據(jù)解析方法存在過(guò)多的信息冗余;

    3)解碼語(yǔ)句樹(shù)的可視化矩陣隨著輸入句子長(zhǎng)度增加,其計(jì)算資源需求指數(shù)式增長(zhǎng),注入知識(shí)與訓(xùn)練需要更長(zhǎng)的時(shí)間.

    針對(duì)上述問(wèn)題,提出一種基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)增強(qiáng)型BERT模型(corpus association generation based knowledge enhanced BERT,CAGBERT),CAGBERT將知識(shí)圖譜的異構(gòu)數(shù)據(jù)轉(zhuǎn)換為序列結(jié)構(gòu)引入至模型訓(xùn)練中,并基于語(yǔ)義關(guān)聯(lián)引入顯性知識(shí),從而進(jìn)一步提升模型精度和性能,在知識(shí)增強(qiáng)及微調(diào)訓(xùn)練兩方面有效減少模型訓(xùn)練與計(jì)算耗時(shí).以LCQMC、XNLI等6個(gè)公開(kāi)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析,結(jié)果表明在下游任務(wù)中準(zhǔn)確度比BERT最高提升2.24%,知識(shí)引入階段與訓(xùn)練計(jì)算階段的平均耗時(shí)比K-BERT分別降低53.5%與37.4%.

    1 基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)增強(qiáng)型BERT

    1.1 符號(hào)定義本模型將一個(gè)句子表示為一個(gè)有順序的令牌組合S={c0,c1,c2,,cn},n表示句子長(zhǎng)度,英文令牌以單詞為級(jí)別,中文令牌則以字符為級(jí)別.每一個(gè)令牌ci都包含在詞匯表中,ci∈.知識(shí)圖譜則定義為,其包含所有三元組τ=(ei,r,ej),τ∈.ei與ej表示兩個(gè)不同的實(shí)體名稱,而r則代表這兩個(gè)不同實(shí)體間的關(guān)系.所有實(shí)體名詞Noun∈.

    1.2 模型概述基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)增強(qiáng)型模型結(jié)構(gòu)如圖1所示,其包括5個(gè)部分:查詢知識(shí)實(shí)體的知識(shí)譜圖檢索層、將知識(shí)實(shí)體與相關(guān)文本進(jìn)行語(yǔ)料關(guān)聯(lián)生成的語(yǔ)料生成層、與包含Token Embedding、Position Embedding、Segment Embedding的Embedding層、總數(shù)為12層的Transformer Encoder層,以及外部知識(shí)層.外部知識(shí)主要用于在不同的下游任務(wù)中更換其知識(shí)來(lái)源,從而實(shí)現(xiàn)對(duì)不同專業(yè)領(lǐng)域任務(wù)的知識(shí)增強(qiáng).

    圖1 模型結(jié)構(gòu)與運(yùn)作流程

    從訓(xùn)練集中得到的語(yǔ)句被輸入到模型內(nèi),將會(huì)經(jīng)過(guò)以下流程進(jìn)行知識(shí)增強(qiáng)并應(yīng)用到下游任務(wù)中:1)語(yǔ)句輸入到模型后將進(jìn)行數(shù)據(jù)拷貝,其中一份拷貝將直接進(jìn)入Embedding Layer等待數(shù)據(jù)嵌入;2)另一份數(shù)據(jù)則會(huì)交給知識(shí)檢索層,連接到外置的知識(shí)庫(kù)中對(duì)語(yǔ)句進(jìn)行知識(shí)檢索,并將得到的三元組返回給語(yǔ)料生成器;3)語(yǔ)料生成器將知識(shí)檢索層的三元組與原始句子進(jìn)行融合,并將新生成的語(yǔ)料傳輸?shù)紼mbedding Layer;4)原始句子的拷貝與用于知識(shí)增強(qiáng)的語(yǔ)料同時(shí)輸入至Embedding Layer進(jìn)行Embedding,最后交由Transformer Encoder層進(jìn)行模型訓(xùn)練.

    1.3 注入知識(shí)的語(yǔ)料關(guān)聯(lián)生成方法傳統(tǒng)的預(yù)訓(xùn)練模型是基于大規(guī)模無(wú)標(biāo)注語(yǔ)料進(jìn)行訓(xùn)練,通過(guò)給預(yù)訓(xùn)練模型人類自然語(yǔ)言及語(yǔ)法相似的語(yǔ)料進(jìn)行訓(xùn)練,使其獲取隱藏在語(yǔ)料中的信息.此概念已在不同工程應(yīng)用中實(shí)現(xiàn)并在大量自然語(yǔ)言任務(wù)(如GLUE、SQuAD等)中證明了其可行性性與有效性[15].但是這類傳統(tǒng)方法引入的語(yǔ)料知識(shí)將存在大量冗余與噪聲,從而加重了模型訓(xùn)練的計(jì)算負(fù)載.為了克服這個(gè)問(wèn)題,提出通過(guò)語(yǔ)料關(guān)聯(lián)生成方法生成含有領(lǐng)域語(yǔ)義相關(guān)知識(shí)的語(yǔ)料,對(duì)預(yù)訓(xùn)練模型進(jìn)行fine-tune,從而將該部分顯性知識(shí)引入至預(yù)訓(xùn)練模型中,使預(yù)訓(xùn)練模型從外源知識(shí)庫(kù)中獲得與下游任務(wù)語(yǔ)義相關(guān)的知識(shí),從而獲得在不同領(lǐng)域下游任務(wù)中更好的性能表現(xiàn).

    圖2 引入外部知識(shí)與原始語(yǔ)料進(jìn)行語(yǔ)料關(guān)聯(lián)生成的過(guò)程

    基于語(yǔ)料關(guān)聯(lián)生成的外部知識(shí)注入通過(guò)知識(shí)檢索層運(yùn)算得到的知識(shí)三元組集合J與實(shí)體名詞集合進(jìn)行運(yùn)算,其具體步驟如圖2所示.模型使用來(lái)自外部的知識(shí)庫(kù)進(jìn)行知識(shí)強(qiáng)化,采用實(shí)體檢索的方式進(jìn)行選取.為了從輸入語(yǔ)料中獲得需要知識(shí)增強(qiáng)的實(shí)體名詞,知識(shí)檢索層需要將輸入的原始句子S={c0,c1,c2,,cn}中所包含的實(shí)體名詞Noun∈進(jìn)行區(qū)分(Seg),如式(1)所示.

    =Seg(S,Noun)

    (1)

    Q=Query(,)

    (2)

    (3)

    s={Noun0,c1,c2,Noun3,,cn}

    (4)

    (5)

    完成句子s的迭代后,將獲得大量包含外源顯性知識(shí)的語(yǔ)料t.然后如圖1所示,該部分?jǐn)?shù)據(jù)將同時(shí)與原始輸入句子S作為整個(gè)Transformer層的輸入數(shù)據(jù).

    1.4 Transformer與Embedding層在數(shù)據(jù)進(jìn)入Embedding層后,將沿用BERT的設(shè)計(jì)對(duì)數(shù)據(jù)進(jìn)行Embedding操作,包含Token Embedding、Position Embedding和Segment Embedding.Token embedding對(duì)應(yīng)字詞嵌入,為解決字詞嵌入過(guò)程中可能丟失句子序列順序位置信息的問(wèn)題,必須通過(guò)后續(xù)position embedding進(jìn)行補(bǔ)充,最后是分句分段嵌入,用于在嵌入過(guò)程中對(duì)單次輸入包含多個(gè)句子的區(qū)分.

    Token Embedding操作參考BERT執(zhí)行,沿用其模型參數(shù)與詞匯表.標(biāo)簽[CLS]被用于句子開(kāi)頭,標(biāo)簽[SEP]則用于區(qū)分單次輸入中不同句子,輸入語(yǔ)句中每個(gè)Token將通過(guò)BERT提供的預(yù)設(shè)參數(shù)轉(zhuǎn)換為維度為H的嵌入矢量.

    為避免模型因缺少句子序列順序信息而退化為詞袋模型,Position Embedding將句子中每個(gè)字按從左往右的順序位置嵌入數(shù)據(jù),從而給予模型一定的相對(duì)位置信息.

    Segment Embedding使用布爾值對(duì)(0,1)作為分句的區(qū)分.例如句子{c0,c1,c2,,cn}與{w0,w1,w2,,wn}需要同時(shí)被輸入到模型進(jìn)行訓(xùn)練或微調(diào)時(shí),其將被拼接到一起構(gòu)成一個(gè)長(zhǎng)句{[CLS],c0,c1,c2,,cn,[SEP],w1,w2,,wn}.此時(shí)為了在模型內(nèi)部對(duì)其進(jìn)行區(qū)分,使用布爾值對(duì)(0,1)對(duì)拼接句子中的兩個(gè)分句進(jìn)行區(qū)分,表現(xiàn)為segment tags的{0,0,0,,0,1,1,,1}.Token Embedding、Position Embedding和Segment Embedding構(gòu)成模型的基礎(chǔ)輸入結(jié)構(gòu)層,對(duì)輸入的數(shù)據(jù)進(jìn)行初步的運(yùn)算.

    Transformer層沿用BERT的Transformer結(jié)構(gòu),其Encoder主要是由多頭注意力機(jī)制、全連接前饋神經(jīng)網(wǎng)絡(luò)、殘差連接與歸一化組成.將Embedding層的結(jié)果e=e0,e1,e2,,en作為模型的輸入.多頭注意力機(jī)制由8個(gè)self-Attention機(jī)制構(gòu)成,將輸入向量e分別于矩陣WQ、WK、WV進(jìn)行矩陣乘法,得到查詢矩陣Q、鍵矩陣K和值矩陣V,再使用Q、K、V計(jì)算自注意力,如式(6)所示.

    (6)

    與K-BERT不同,本模型中的Attention計(jì)算仍然使用傳統(tǒng)的計(jì)算公式,而非K-BERT中進(jìn)行改版過(guò)后的Mask-Self-Attention方法,如式(7)所示.本文中提出的知識(shí)增強(qiáng)方法無(wú)需對(duì)Transformer層的結(jié)構(gòu)進(jìn)行修改,而且采用self-Attention與Mask-Self-Attention相比減少了可視化矩陣VM的SoftMax運(yùn)算,從而降低了運(yùn)算量規(guī)模.

    (7)

    在Transformer層的輸出則使用交叉熵?fù)p失函數(shù)[22]如式(8)所示,對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行反向傳播訓(xùn)練,作為下游任務(wù)的目標(biāo)函數(shù)進(jìn)行任務(wù)訓(xùn)練.

    (8)

    1.5 計(jì)算復(fù)雜度與時(shí)間復(fù)雜度分析浮點(diǎn)運(yùn)算次數(shù)(floating point operations,F(xiàn)LOPs)用于衡量模型計(jì)算復(fù)雜度及作為神經(jīng)網(wǎng)絡(luò)模型速度的間接衡量標(biāo)準(zhǔn),F(xiàn)LOPs數(shù)值越大,則該模型在實(shí)際運(yùn)行中需要的運(yùn)算操作需求越大,與實(shí)際運(yùn)算時(shí)間成正相關(guān)關(guān)系[23].

    本文中的對(duì)比對(duì)象K-BERT使用的語(yǔ)句樹(shù)數(shù)據(jù)結(jié)構(gòu)在運(yùn)算上需要兩方面額外計(jì)算:1)用于解讀語(yǔ)句樹(shù)數(shù)據(jù)結(jié)構(gòu)的可視化矩陣;2)避免BERT模型對(duì)輸入信息造成混淆的mask-self-attention計(jì)算.在引入知識(shí)階段用于計(jì)算VM的計(jì)算量則如式(9)所示.

    FLOPsVM=(N+M)2+P

    (9)

    如對(duì)長(zhǎng)度為N的句子進(jìn)行知識(shí)注入,假設(shè)其額外引入了數(shù)量為M的知識(shí)三元組,在K-BERT中需要對(duì)其進(jìn)行運(yùn)算得到用于解讀其語(yǔ)句樹(shù)數(shù)據(jù)結(jié)構(gòu)的可視化矩陣,其矩陣維度為N+M.長(zhǎng)度為N的句子引入數(shù)量為M的外部知識(shí),其生成矩陣的稀疏性及數(shù)據(jù)關(guān)聯(lián)程度等性質(zhì),需要額外消耗數(shù)量為P的運(yùn)算次數(shù)進(jìn)行可視化矩陣信息補(bǔ)充.

    將上述的操作以n表示其運(yùn)算規(guī)模,則該部分的函數(shù)操作可表示為式(10)所示,該部分涉及維度為N+M的矩陣運(yùn)算,需要對(duì)其進(jìn)行一次選擇性賦值運(yùn)算來(lái)補(bǔ)充信息,其運(yùn)算規(guī)模P與(N+M)正相關(guān),此處將其視為近似值.該運(yùn)算操作的時(shí)間復(fù)雜度可通過(guò)大O運(yùn)算進(jìn)行描述,在最壞情況下的時(shí)間復(fù)雜度如計(jì)算如式(11)所示,進(jìn)而得到K-BERT中計(jì)算VM算法的計(jì)算時(shí)間如式(12)所示,時(shí)間復(fù)雜度為O(n2).

    f(n)=n2+n

    (10)

    T(n)=O(f(n))

    (11)

    T(n)=O(n2)

    (12)

    而本文中提出的基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)注入方法,則采用更為輕便的方式引入知識(shí)到下游任務(wù)過(guò)程中,無(wú)需引入額外數(shù)據(jù)結(jié)構(gòu),進(jìn)而無(wú)需對(duì)引入的知識(shí)進(jìn)行解讀,輸入數(shù)據(jù)將交由模型結(jié)構(gòu)中的Embedding層直接進(jìn)行數(shù)據(jù)的嵌入.知識(shí)注入的語(yǔ)料生成計(jì)算量如式(13)所示.

    FLOPsCK=N+M

    (13)

    對(duì)長(zhǎng)度為N的句子進(jìn)行知識(shí)注入后,假設(shè)其額外引入了數(shù)量為M的知識(shí)三元組,則結(jié)合原長(zhǎng)度為N的句子拼接數(shù)量為M的知識(shí)三元組,輸出數(shù)量為N+M的蘊(yùn)含外部知識(shí)語(yǔ)料.同樣將上述操作以n作為其規(guī)模的表示,則該部分的函數(shù)操作可以表達(dá)為式(14)所示,其時(shí)間復(fù)雜度則可通過(guò)大O運(yùn)算進(jìn)行描述,通過(guò)最壞情況下的時(shí)間復(fù)雜度計(jì)算如式(15)所示.

    f(n)=2n

    (14)

    T(n)=O(n)

    (15)

    對(duì)比K-BERT的知識(shí)引入過(guò)程中的VM算法的時(shí)間復(fù)雜度O(n2),本文中提出的模型時(shí)間復(fù)雜度達(dá)到了O(n),可以有效降低其模型訓(xùn)練的時(shí)間復(fù)雜度.

    2 實(shí)驗(yàn)分析

    2.1 實(shí)驗(yàn)數(shù)據(jù)集實(shí)驗(yàn)包括問(wèn)答和文本分類兩類任務(wù),包括6個(gè)數(shù)據(jù)集,如表1所示,其中Book review、XNLI、LCQMC、NLPCC-DBQA為開(kāi)放領(lǐng)域數(shù)據(jù)集,Law_QA、insurance_QA為專業(yè)領(lǐng)域數(shù)據(jù)集,測(cè)試比較包括性能與耗時(shí)兩個(gè)方面.

    WikiZh是中文維基百科語(yǔ)料庫(kù),實(shí)驗(yàn)中被用于訓(xùn)練Google BERT,其包含100萬(wàn)條格式化的中文詞條,共1.2億個(gè)句子,數(shù)據(jù)總大小為1.2 GB.

    表1 實(shí)驗(yàn)數(shù)據(jù)集

    CN-DBpedia[24]是復(fù)旦大學(xué)知識(shí)工作實(shí)驗(yàn)室開(kāi)發(fā)的大規(guī)模開(kāi)放領(lǐng)域百科知識(shí)庫(kù),其涵蓋千萬(wàn)數(shù)量級(jí)別的實(shí)體與數(shù)億的關(guān)系屬性.實(shí)驗(yàn)采用CN-DBpedia進(jìn)行知識(shí)增強(qiáng),并對(duì)CN-DBpedia進(jìn)行一定的簡(jiǎn)化處理.參考K-BERT文中對(duì)CN-DBpedia的數(shù)據(jù)處理,在實(shí)驗(yàn)數(shù)據(jù)預(yù)處理中通過(guò)消除實(shí)體名稱長(zhǎng)度小于 2 或包含特殊字符的三元組來(lái)提煉官方CN-DBpedia,精簡(jiǎn)過(guò)后的CN-DBpedia 總共包含 517 萬(wàn)個(gè)三元組.

    2.2 測(cè)試基準(zhǔn)與實(shí)驗(yàn)環(huán)境對(duì)比實(shí)驗(yàn)設(shè)置Google BERT Base與K-BERT兩道基準(zhǔn)線.Google BERT Base是Google公司使用WikiZH語(yǔ)料集進(jìn)行預(yù)訓(xùn)練后公開(kāi)的模型.將自注意力機(jī)制層數(shù)與自注意力頭個(gè)數(shù)分別用L與A進(jìn)行描述,隱藏層的維度則用H表示.Google BERT Base的模型參數(shù)如下:L=12、A=12、H=768,該模型可用于訓(xùn)練的神經(jīng)網(wǎng)絡(luò)參數(shù)則是110 M.K-BERT與Google BERT的神經(jīng)網(wǎng)絡(luò)參數(shù)互相兼容,其數(shù)量均為110 M,因此K-BERT實(shí)驗(yàn)中使用與BERT相同的模型參數(shù)進(jìn)行實(shí)驗(yàn).為保持實(shí)驗(yàn)數(shù)據(jù)的嚴(yán)謹(jǐn)與可對(duì)比性,實(shí)驗(yàn)采用與K-BERT原文中模型參數(shù)一致的實(shí)驗(yàn)設(shè)置.

    為保持實(shí)驗(yàn)的嚴(yán)謹(jǐn)性與一致性原則,CAGBERT使用Google BERT Base的模型參數(shù)進(jìn)行實(shí)驗(yàn).引入外部知識(shí)的知識(shí)庫(kù)則采用簡(jiǎn)化版CN-DBpedia,保證實(shí)驗(yàn)環(huán)境與對(duì)比對(duì)象K-BERT一致.實(shí)驗(yàn)環(huán)境如表2所示,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率參數(shù)設(shè)置為5*10-5,單次實(shí)驗(yàn)任務(wù)運(yùn)行5個(gè)epoch,batch size設(shè)置為32.

    表2 實(shí)驗(yàn)環(huán)境

    2.3 評(píng)估標(biāo)準(zhǔn)實(shí)驗(yàn)采用分類任務(wù)常見(jiàn)的評(píng)估標(biāo)準(zhǔn),即準(zhǔn)確率進(jìn)行下游任務(wù)的實(shí)驗(yàn)評(píng)估.用于計(jì)算準(zhǔn)確率的混淆矩陣如表3所示.

    表3 混淆矩陣

    準(zhǔn)確率(Acc) 表示預(yù)測(cè)正確的樣本占總樣本的比重,其計(jì)算公式如(16)描述.

    (16)

    下游任務(wù)的對(duì)比實(shí)驗(yàn)中引入了加速比(Speedup)與耗時(shí)(Timecount)兩個(gè)指標(biāo).耗時(shí)通過(guò)系統(tǒng)時(shí)鐘的精確計(jì)時(shí)進(jìn)行統(tǒng)計(jì),加速比(Speedup)的計(jì)算公式如(17)描述.

    (17)

    其中,p表示處理器數(shù)量,Time1表示當(dāng)前順序執(zhí)行算法的執(zhí)行時(shí)間,Timep指當(dāng)有p個(gè)處理器時(shí),并行算法的執(zhí)行耗時(shí),為了嚴(yán)格進(jìn)行執(zhí)行耗時(shí)的對(duì)比,本文中特定限制p=1,此時(shí)計(jì)算公式結(jié)果則表示兩者算法的加速比.Time1表示K-BERT的算法耗時(shí),Timep表示CAGBERT模型方法的算法耗時(shí).加速比數(shù)值越大,則說(shuō)明CAGBERT模型的加速效果越好.

    2.4 實(shí)驗(yàn)結(jié)果與分析實(shí)驗(yàn)數(shù)據(jù)集被分割為T(mén)rain、Dev、Test這3個(gè)子集,并應(yīng)用到模型微調(diào)及下游任務(wù)實(shí)驗(yàn)當(dāng)中.實(shí)驗(yàn)使用Train訓(xùn)練集對(duì)模型進(jìn)行Fine-tune, Dev與Test用于驗(yàn)證模型在下游任務(wù)中的準(zhǔn)確度提升.

    如表4所示,實(shí)驗(yàn)結(jié)果顯示CAGBERT在文本分類任務(wù)中,在LCQMC數(shù)據(jù)集上取得準(zhǔn)確率比Google BERT高1.24%的成績(jī),并在XNLI和Book Review數(shù)據(jù)集上分別提高了0.8%和0.16%的準(zhǔn)確率.在問(wèn)答任務(wù)上,得益于外源知識(shí)的增強(qiáng),CAGBERT在NLPCC-DBQA[25]數(shù)據(jù)集上精確度比Google BERT高2.24%,在Law_QA與Insurance_QA上精確度則分別比Google BERT高0.97%和1.92%,總體準(zhǔn)確度與K-BERT的準(zhǔn)確度持平.

    表4 文中模型在不同領(lǐng)域任務(wù)中的成績(jī) %

    由實(shí)驗(yàn)結(jié)果可知,在引入外源知識(shí)對(duì)模型進(jìn)行增強(qiáng)后,CAGBERT在Laq_QA、Insurance_QA、NLPCC-DBQA這3個(gè)專業(yè)領(lǐng)域的數(shù)據(jù)集上顯著比BERT準(zhǔn)確度更高,而在其余3個(gè)數(shù)據(jù)集上則提升較少.因?yàn)樵谀P皖A(yù)訓(xùn)練時(shí)期使用的語(yǔ)料數(shù)據(jù)偏向于公開(kāi)領(lǐng)域,缺少專業(yè)領(lǐng)域相關(guān)的知識(shí),而知識(shí)圖譜則可以提供專業(yè)領(lǐng)域的知識(shí),彌補(bǔ)BERT模型在專業(yè)領(lǐng)域上的專業(yè)知識(shí)缺失問(wèn)題,從而顯著提高模型在專業(yè)領(lǐng)域任務(wù)上的性能表現(xiàn),略微提高其在公開(kāi)領(lǐng)域的準(zhǔn)確度性能.

    與此同時(shí),為了進(jìn)行實(shí)驗(yàn)耗時(shí)的對(duì)比,實(shí)驗(yàn)中配備高精度系統(tǒng)計(jì)時(shí)器用于在下游任務(wù)中記錄了K-BERT和CAGBERT的Fine-tune與知識(shí)注入過(guò)程耗時(shí),結(jié)果保留小數(shù)點(diǎn)后3位數(shù),數(shù)值越小則表明其在訓(xùn)練階段耗時(shí)越少,表明對(duì)計(jì)算資源需求越少.NLPCC-DBQA、Law_QA、Insurance_QA、Book Review這4個(gè)數(shù)據(jù)集被挑選用于Fine-tune與知識(shí)注入的過(guò)程耗時(shí)對(duì)比實(shí)驗(yàn).

    CAGBERT和K-BERT模型的微調(diào)耗時(shí)實(shí)驗(yàn)結(jié)果如表5所示,在LCQMC、Book Review、XNLI等6個(gè)數(shù)據(jù)集上進(jìn)行模型微調(diào)并記錄耗時(shí),實(shí)驗(yàn)結(jié)果顯示CAGBERT在上述6個(gè)數(shù)據(jù)集中耗時(shí)均少于K-BERT.由表5中加速比數(shù)據(jù)可得,在6個(gè)數(shù)據(jù)集上CAGBERT對(duì)比K-BERT的加速比值均大于1,說(shuō)明CAGBERT比K-BERT在微調(diào)階段耗時(shí)普遍減少,并在LCQMC數(shù)據(jù)集上取得最高1.87倍的加速效果,在Law_QA數(shù)據(jù)集上取得最少1.10倍的加速效果.

    表5 各模型在6個(gè)NLP 任務(wù)中進(jìn)行微調(diào)的時(shí)間計(jì)數(shù) s

    實(shí)驗(yàn)設(shè)置了FLOPs計(jì)數(shù)器在知識(shí)注入階段對(duì)K-BERT與CAGBERT進(jìn)行FLOPs統(tǒng)計(jì),K-BERT與CAGBERT的FLOPs測(cè)量數(shù)據(jù)結(jié)果如表6所示.由表6可得,在知識(shí)注入過(guò)程中CAGBERT比K-BERT的運(yùn)算數(shù)量更少,如在Book Review和NLPCC-DBQA數(shù)據(jù)集上CAGBERT較K-BERT分別減少了3.9 M和50.9 M的FLOPs,驗(yàn)證了本文中提出的CAG方法計(jì)算資源需求更低.CAG方法通過(guò)減少知識(shí)注入階段的操作數(shù),從而實(shí)現(xiàn)降低在下游任務(wù)中進(jìn)行知識(shí)注入所需的計(jì)算資源.

    表6 K-BERT 和 CAGBERT實(shí)現(xiàn)知識(shí)注入的FLOPs

    耗時(shí)加速比測(cè)試結(jié)果如表7所示,由表7可知:CAGBERT在NLPCC-DBQA、Law_QA、Insurance_QA、Book Review這4個(gè)數(shù)據(jù)集的實(shí)驗(yàn)中均取得不同程度的加速效果,如在Law_QA數(shù)據(jù)集上對(duì)比K-BERT減少了73.33%的知識(shí)注入操作耗時(shí),實(shí)現(xiàn)了3.75倍于K-BERT的加速效果.

    表7 K-BERT和CAGBERT實(shí)現(xiàn)知識(shí)注入的耗時(shí) s

    Law_QA、Insurance_QA數(shù)據(jù)集中文本信息較長(zhǎng),單句長(zhǎng)度普遍大于50個(gè)字符,而NLPCC-DBQA、Book Review的文本信息則較前者短,平均長(zhǎng)度約為20字符.從實(shí)驗(yàn)結(jié)果上可觀察到CAG方法在文本數(shù)據(jù)較長(zhǎng)時(shí)加速效果更為明顯,因?yàn)槠錈o(wú)需通過(guò)中間數(shù)據(jù)介質(zhì)對(duì)文本數(shù)據(jù)進(jìn)行解讀,計(jì)算資源需求較少.

    綜上所述,我們通過(guò)實(shí)驗(yàn)證明了CAGBERT對(duì)比K-BERT在任務(wù)微調(diào)與知識(shí)注入兩個(gè)步驟上均取得了明顯的速度提升,證明CAGBERT模型在訓(xùn)練速度上有明顯優(yōu)勢(shì).CAGBERT在獲得顯著速度優(yōu)勢(shì)的同時(shí),其準(zhǔn)確度性能與K-BERT持平,在精度性能上不存在下降的問(wèn)題,成功地引入了外源知識(shí)提高了BERT模型的準(zhǔn)確度性能.

    2.5 消融實(shí)驗(yàn)為驗(yàn)證CAG方法的有效性,我們構(gòu)建消融實(shí)驗(yàn)以證明基于CAG的知識(shí)增強(qiáng)方法在下游任務(wù)中的增強(qiáng)作用,實(shí)驗(yàn)使用專業(yè)領(lǐng)域任務(wù)數(shù)據(jù)集進(jìn)行.

    圖3 在金融領(lǐng)域數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)

    實(shí)驗(yàn)結(jié)果如圖3所示,圖中CAGBERT為經(jīng)過(guò)本研究提出的CAG方法進(jìn)行增強(qiáng)后的模型,BERT則為去除CAG方法后的原始版本BERT.由圖3可知:1)CAGBERT能達(dá)到二者中最好的效果;2)去掉CAG方法的BERT模型,在實(shí)驗(yàn)中準(zhǔn)確率表現(xiàn)不如CAGBERT.

    通過(guò)上述實(shí)驗(yàn)結(jié)果可知,CAG方法能通過(guò)為模型提供外源知識(shí),有效地提升模型在下游任務(wù)上的準(zhǔn)確度性能.

    3 結(jié)束語(yǔ)

    針對(duì)預(yù)訓(xùn)練模型BERT缺少專業(yè)領(lǐng)域知識(shí)支持導(dǎo)致模型準(zhǔn)確率受限,K-BERT引入外部知識(shí)提高準(zhǔn)確率的同時(shí)卻帶來(lái)計(jì)算資源與訓(xùn)練耗時(shí)大規(guī)模提升的問(wèn)題,提出基于語(yǔ)料關(guān)聯(lián)生成的知識(shí)增強(qiáng)型BERT模型,該模型無(wú)需侵入性的修改其原有神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),具備更好的魯棒性與模型兼容性.輕量化的快速知識(shí)引入方法,對(duì)計(jì)算資源要求更低,便于大規(guī)模的工業(yè)應(yīng)用及系統(tǒng)集成.實(shí)驗(yàn)證明在LCQMC、XNLI等6個(gè)公開(kāi)數(shù)據(jù)集上CAGBERT準(zhǔn)確度比BERT平均提升1.22%,而在知識(shí)引入階段與訓(xùn)練計(jì)算階段的平均耗時(shí)上,CAGBERT比K-BERT分別降低53.5%與37.4%,有著顯著的提升.

    鑒于引入知識(shí)關(guān)聯(lián)度不足和BERT模型規(guī)模仍然較大,以不損失模型精度為前提,如何實(shí)現(xiàn)模型輕量級(jí)優(yōu)化仍然是目前自然語(yǔ)言處理模型面臨的關(guān)鍵問(wèn)題.今后將繼續(xù)研究如何通過(guò)更好地精確檢索與語(yǔ)義相關(guān)度對(duì)知識(shí)進(jìn)行高質(zhì)量篩選以提升模型的精度,并通過(guò)模型蒸餾技術(shù)提升模型運(yùn)行速度,實(shí)現(xiàn)輕量級(jí)模型構(gòu)建等.

    猜你喜歡
    集上語(yǔ)料矩陣
    Cookie-Cutter集上的Gibbs測(cè)度
    鏈完備偏序集上廣義向量均衡問(wèn)題解映射的保序性
    復(fù)扇形指標(biāo)集上的分布混沌
    基于語(yǔ)料調(diào)查的“連……都(也)……”出現(xiàn)的語(yǔ)義背景分析
    初等行變換與初等列變換并用求逆矩陣
    華語(yǔ)電影作為真實(shí)語(yǔ)料在翻譯教學(xué)中的應(yīng)用
    矩陣
    南都周刊(2015年4期)2015-09-10 07:22:44
    矩陣
    南都周刊(2015年3期)2015-09-10 07:22:44
    矩陣
    南都周刊(2015年1期)2015-09-10 07:22:44
    《苗防備覽》中的湘西語(yǔ)料
    夏邑县| 恩平市| 桐乡市| 马鞍山市| 区。| 章丘市| 拜泉县| 尤溪县| 栾城县| 永丰县| 益阳市| 丁青县| 博客| 大新县| 濉溪县| 壤塘县| 怀来县| 上栗县| 建始县| 陆川县| 花莲县| 兰溪市| 上高县| 汝南县| 永定县| 澄城县| 天气| 湟源县| 江川县| 福州市| 广灵县| 隆回县| 正蓝旗| 营山县| 怀安县| 新民市| 林芝县| 耒阳市| 博客| 黄陵县| 合川市|