宛艷萍,閆思聰,于海闊,許敏聰
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
文本分類是自然語言處理領(lǐng)域(Natural Language Processing,NLP)中的重要分支之一,其目的是將文本按照一定的分類標(biāo)準(zhǔn),依次歸屬到一個(gè)或多個(gè)類別中。目前文本分類在垃圾郵件檢測、情感分析及其他領(lǐng)域有著廣泛的應(yīng)用。目前文本分類方法可分為三類:基于規(guī)則的文本分類方法、基于機(jī)器學(xué)習(xí)的文本分類方法和基于深度學(xué)習(xí)的文本分類方法[1]。
近年來,國內(nèi)外關(guān)于文本分類的研究逐漸由傳統(tǒng)機(jī)器學(xué)習(xí)向深度學(xué)習(xí)轉(zhuǎn)變,許多經(jīng)典深度學(xué)習(xí)模型如遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[2]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[3]和長短期記憶模型(Long Short-Term Memory,LSTM)[4]被應(yīng)用到文本分類中。楊興銳等人[5]提出了基于自注意力機(jī)制和殘差網(wǎng)絡(luò)(ResNet)的BiLSTM_CNN復(fù)合模型。通過自注意力賦予卷積運(yùn)算后信息的權(quán)重,進(jìn)一步提高模型的分類性能。李啟行等人[6]基于注意力機(jī)制的雙通道DAC-RNN文本分類模型,利用Bi-LSTM通道提取文本中的上下文關(guān)聯(lián)信息,并結(jié)合CNN通道提取文本中連續(xù)詞間的局部特征。
隨著基于Transformer[7]的BERT模型[8]的出現(xiàn),一系列大型預(yù)訓(xùn)練語言模型如ELMo[9]、GPT[10]、XLNET[11]和RoBERTa[12]等顯著提升了自然語言處理任務(wù)的性能。越來越多的研究者開始采用預(yù)訓(xùn)練模型進(jìn)行文本分類,但這些模型訓(xùn)練需要大量標(biāo)注數(shù)據(jù)并且參數(shù)規(guī)模龐大,這導(dǎo)致了預(yù)訓(xùn)練時(shí)間過長且計(jì)算成本高昂,因此一直為人所詬病。
大量標(biāo)注數(shù)據(jù)一般需要人工標(biāo)注,獲取難度高且費(fèi)用貴。為解決這個(gè)問題,Weston[13]和Yang[14]等人提出可以利用半監(jiān)督的方法,在標(biāo)注數(shù)據(jù)量較少的情況下,同時(shí)利用未標(biāo)注數(shù)據(jù)來提高模型的泛化能力。半監(jiān)督生成對抗網(wǎng)絡(luò)(Semi-Supervised Generative Adversarial Networks,SS-GANs)[15]利用了半監(jiān)督的方法對生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[16]進(jìn)行擴(kuò)展,在判別器中為每一個(gè)樣本增加一個(gè)新類別并且判斷該樣本是否為自動(dòng)生成的數(shù)據(jù)。在自然語言處理領(lǐng)域中,Croce等人[17]首次將SS-GANs應(yīng)用于NLP任務(wù)中,使用SS-GANs的方法擴(kuò)展基于內(nèi)核的深度體系結(jié)構(gòu)[18]。Croce等人[19]也從SS-GANs的角度對BERT模型進(jìn)行了簡單微調(diào),將BERT模型提取特征向量,并利用半監(jiān)督的方法來降低模型訓(xùn)練所需要的標(biāo)注數(shù)據(jù)量。針對BERT模型參數(shù)過大這一問題,目前已經(jīng)提出許多神經(jīng)網(wǎng)絡(luò)壓縮技術(shù),一般可以分為權(quán)重量化[20]、權(quán)重剪枝[21]和知識(shí)蒸餾[22]。Jiao等人[23]提出了更加復(fù)雜的特性模型蒸餾損失函數(shù)來提高性能。
針對目前BERT模型的缺點(diǎn),利用半監(jiān)督的方法在生成對抗性環(huán)境下,利用少量標(biāo)注數(shù)據(jù)和大量無標(biāo)注數(shù)據(jù)對BERT模型進(jìn)行訓(xùn)練,提出了一種基于SS-GAN的BERT改進(jìn)模型GT-BERT。該模型利用知識(shí)蒸餾的思路將BERT模型進(jìn)行壓縮,將文本輸入至SS-GAN框架下的壓縮模型進(jìn)行訓(xùn)練。從而降低模型對標(biāo)注數(shù)據(jù)的依賴以及模型參數(shù)規(guī)模與時(shí)間復(fù)雜度。
該文的主要貢獻(xiàn)有:第一,提出了一種改進(jìn)的BERT模型,在SS-GAN的框架下豐富了BERT的微調(diào)過程,改進(jìn)了模型的整體架構(gòu),使模型能夠有效利用大量無標(biāo)注數(shù)據(jù);第二,改進(jìn)了SS-GAN中生成器與判別器的選擇方式,選擇不同的生成器與判別器的最優(yōu)配置來提高整個(gè)訓(xùn)練過程的效果,從而提升模型的整體性能;第三,使用模型壓縮方法Bert-of-theseus對模型進(jìn)行壓縮,有效降低了模型的參數(shù)規(guī)模與時(shí)間復(fù)雜度。
GAN網(wǎng)絡(luò)通過生成器與判別模型器兩個(gè)模塊間的相互博弈,產(chǎn)生良好的輸出。模型架構(gòu)如圖1所示。
圖1 GAN網(wǎng)絡(luò)模型框架結(jié)構(gòu)
圖1中判別器D是一個(gè)傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)分類器,其輸入的數(shù)據(jù)一部分來自真實(shí)樣本數(shù)據(jù)集,另一部分來自生成器G生成的假樣本數(shù)據(jù)。判別器的訓(xùn)練目標(biāo)為對于真實(shí)樣本,判別器輸出概率值接近1,而對于生成器生成的假樣本,輸出概率值接近于0。生成器與判別器恰恰相反,其通過訓(xùn)練最大程度地生成接近真實(shí)樣本的假樣本來欺騙判別器。在GAN網(wǎng)絡(luò)中,同時(shí)使用兩個(gè)優(yōu)化器來最小化判別器與生成器的損失,從而得到良好輸出。
Bert-of-theseus[24]是基于模塊的可替換性,逐步使用小模塊替代BERT中的大模塊來進(jìn)行模型壓縮。在此方法中,被替換模塊和替換模塊分別被稱為前驅(qū)模塊(predecessor)和后繼模塊(successor)。
theseus壓縮方法的主要流程如圖2所示,以將6層的BERT模型壓縮至3層模型為例:首先,為兩個(gè)前驅(qū)模塊指定一個(gè)后繼模塊,在訓(xùn)練階段,逐步以一定概率將后繼模塊替換為所對應(yīng)的前驅(qū)模塊。將替換后的后繼模塊繼續(xù)放入模型中與其他剩余的前驅(qū)模塊共同訓(xùn)練,然后依次將前驅(qū)模塊替換為后繼模塊,直至將所有前驅(qū)模塊替換完畢。當(dāng)整個(gè)訓(xùn)練收斂后,將所有后繼模塊串聯(lián)起來作為新模型。假設(shè)前驅(qū)模型P和后繼模型S都含有n個(gè)模塊,即P={prd1,prd2,…,prdn},S={scc1,scc2,…,sccn},其中,scci用來替換prdi。假設(shè)第i個(gè)模塊輸入為yi,前驅(qū)模型的前向過程為:
yi+1=prdi(yi)
(1)
圖2 Bert-of-theseus壓縮流程
壓縮時(shí),對于第i+1個(gè)模塊,ri+1是一個(gè)獨(dú)立服從伯努利分布的變量,即以概率p取值為1,以概率1-p取值為0:
ri+1~Bernoulli(p)
(2)
則第ri+1個(gè)模塊輸出為:
yi+1=ri+1⊙scci(yi)+(1-ri+1)⊙prdi(yi)
(3)
其中,⊙表示逐元素相乘,ri+1∈{0,1}。通過這種方式,前驅(qū)模塊和后繼模塊同時(shí)訓(xùn)練,訓(xùn)練的損失函數(shù)即特定任務(wù)所設(shè)定的損失函數(shù)。
在反向傳播時(shí),所有前驅(qū)模塊的權(quán)重參數(shù)會(huì)被凍結(jié),只有后繼模塊參數(shù)會(huì)被更新。前驅(qū)模塊參數(shù)權(quán)重凍結(jié)后,其嵌入層和輸出層在訓(xùn)練階段會(huì)被直接當(dāng)作后繼模塊。
當(dāng)訓(xùn)練收斂時(shí),所有后繼模塊被串起來組成后繼模型S:
S={scc1,scc2,…,sccn}
(4)
yi+1=scci(yi)
(5)
由于scci比prdi規(guī)模小,因此整個(gè)前驅(qū)模型被壓縮為更小的后繼模型,之后后繼模型將會(huì)再次使用損失函數(shù)進(jìn)行微調(diào)優(yōu)化,最后使用微調(diào)后的后繼模型進(jìn)行后續(xù)的文本分類任務(wù)。
SS-GAN是對GAN網(wǎng)絡(luò)的一種改進(jìn)與擴(kuò)展,利用GAN網(wǎng)絡(luò)進(jìn)行半監(jiān)督學(xué)習(xí),從而使大量無標(biāo)注數(shù)據(jù)能夠作為訓(xùn)練數(shù)據(jù)參與模型訓(xùn)練,降低模型對標(biāo)注數(shù)據(jù)的依賴。判別器D對輸入的每一個(gè)樣本進(jìn)行分類,同時(shí)區(qū)分該樣本是否為生成器G生成的假樣本。SS-GAN將GAN的判別器D改為k+1類,其中第k+1類為異常類:當(dāng)判別器D將輸入數(shù)據(jù)鑒別為真實(shí)樣本時(shí),將數(shù)據(jù)分至(1,2,…,k)中其中一類;當(dāng)將輸入數(shù)據(jù)鑒別為生成器G生成的假樣本時(shí),將數(shù)據(jù)分至第k+1類中。為了訓(xùn)練半監(jiān)督的k類分類器,將生成器D的目標(biāo)擴(kuò)展如下:
LD=LDsup+LDunsup
(6)
其中:
(7)
(8)
其中,pr和pg分別表示真實(shí)數(shù)據(jù)和生成數(shù)據(jù)。LDsup表示判別器D的有監(jiān)督損失,即在判別過程中判別器D將真實(shí)樣本在(1,2,…,k)類中分類錯(cuò)誤的損失。LDunsup表示D的無監(jiān)督損失,即判別器D將無標(biāo)注的真實(shí)樣本分至k+1類中,或?qū)⑸善魃傻募贅颖惧e(cuò)誤判斷為真實(shí)樣本的損失。利用判別器中間層的輸出,使得生成數(shù)據(jù)與真實(shí)數(shù)據(jù)的特征相匹配,直觀上來講判別器的中間層為特征提取器,用來區(qū)別真實(shí)數(shù)據(jù)與生成數(shù)據(jù)的特征。因此G應(yīng)該盡可能生成近似真實(shí)的數(shù)據(jù)樣本,f(α)表示D中間層的輸出,G的特征匹配損失函數(shù)定義為:
(9)
此外,G的損失也應(yīng)考慮生成器D正確判別出G所生成的假樣本所產(chǎn)生的損失,因此:
(10)
因此,G的損失函數(shù)為:
LG=LGfeaturemmathing+LGunsup
(11)
為了使BERT模型能夠得到廣泛的應(yīng)用,在保證模型分類準(zhǔn)確率不降低的情況下,減少模型參數(shù)規(guī)模并降低時(shí)間復(fù)雜度,提出一種基于半監(jiān)督生成對抗網(wǎng)絡(luò)與BERT的文本分類模型GT-BERT。模型的整體框架如圖3所示。
圖3 GT-BERT模型架構(gòu)
首先,對BERT進(jìn)行壓縮,通過實(shí)驗(yàn)驗(yàn)證選擇使用Bert-of-theseus[24]方法進(jìn)行壓縮得到BERT-theseus模型。損失函數(shù)設(shè)定為文本分類常用的交叉熵?fù)p失:
L=-sumj∈|x|∑c∈C[1[zj=c]·logp(zj=c|xj)]
(12)
其中,xj為訓(xùn)練集的第j個(gè)樣本,zj是xj的標(biāo)簽,C和c表示標(biāo)簽集合和一個(gè)類標(biāo)簽。
接著,在壓縮之后,從SS-GANs角度擴(kuò)展BERT-theseus模型進(jìn)行微調(diào)。在預(yù)訓(xùn)練過的BERT-theseus模型中添加兩個(gè)組件:(1)添加特定任務(wù)層;(2)添加SS-GANs層來實(shí)現(xiàn)半監(jiān)督學(xué)習(xí)。本研究假定K類句子分類任務(wù),給定輸入句子s=(t1,t2,…,tn),其中開頭的t1為分類特殊標(biāo)記“[CLS]”,結(jié)尾的tn為句子分隔特殊標(biāo)記“[SEP]”,其余部分對輸入句子進(jìn)行切分后標(biāo)記序列輸入BERT模型后得到編碼向量序列為HBERT=(hCLS,ht1,…,htn,hSEP)。
將生成器G生成的假樣本向量與真實(shí)無標(biāo)注數(shù)據(jù)輸入BERT-theseus中所提取的特征向量,分別輸入至判別器D中,利用對抗訓(xùn)練來不斷強(qiáng)化判別器D。與此同時(shí),利用少量標(biāo)注數(shù)據(jù)對判別器D進(jìn)行分類訓(xùn)練,從而進(jìn)一步提高模型整體質(zhì)量。
其中,生成器G輸出服從正態(tài)分布的“噪聲”hfake,采用CNN網(wǎng)絡(luò),將輸出空間映射到樣本空間,記作hfake∈Rd。判別器D也為CNN網(wǎng)絡(luò),它在輸入中接收向量h*∈Rd,其中h*可以為真實(shí)標(biāo)注或者未標(biāo)注樣本hreal,也可以為生成器生成的假樣本數(shù)據(jù)hfake。在前向傳播階段,當(dāng)樣本為真實(shí)樣本時(shí),即h*=hreal,判別器D會(huì)將樣本分類在K類之中。當(dāng)樣本為假樣本時(shí),即h*=hfake,判別器D會(huì)把樣本相對應(yīng)的分類于K+1類別中。在此階段生成器G和判別器D的損失分別被記作LG和LD,訓(xùn)練過程中G和D通過相互博弈而優(yōu)化損失。
在反向傳播中,未標(biāo)注樣本只增加LDunsup。標(biāo)注的真實(shí)樣本只會(huì)影響LDsup,在最后LG和LD都會(huì)受到G的影響,即當(dāng)D找不出生成樣本時(shí),將會(huì)受到懲罰,反之亦然。在更新D時(shí),改變BERT-theseus的權(quán)重來進(jìn)行微調(diào)。訓(xùn)練完成后,生成器G會(huì)被舍棄,同時(shí)保留完整的BERT-theseus模型與判別器D進(jìn)行分類任務(wù)的預(yù)測。
本節(jié)驗(yàn)證了GT-BERT在不同數(shù)據(jù)集下文本分類的性能。分別在20 News Group(20N)、Stanford Sentiment Treebank(SST-5)、Movie Review sentiment classification data(MR)和TREC四個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。具體數(shù)據(jù)集設(shè)置如表1所示。
表1 數(shù)據(jù)集設(shè)置
為了更好地研究模型在小樣本數(shù)據(jù)下的分類性能,并且避免抽取小樣本而帶來原有數(shù)據(jù)集類別分布失衡的情況發(fā)生,該文在保證實(shí)驗(yàn)數(shù)據(jù)集與原有數(shù)據(jù)集中各個(gè)數(shù)據(jù)類別比例相同的情況下,分別抽取數(shù)據(jù)集中2%、10%和50%的三組數(shù)據(jù)進(jìn)行訓(xùn)練,來對比不同數(shù)據(jù)量下各個(gè)模型的訓(xùn)練效果。此外,還為GT-BERT模型額外提供一組無標(biāo)簽數(shù)據(jù)(|U|=100|L|,其中|U|表示無標(biāo)簽數(shù)據(jù)量,|L|為有標(biāo)簽數(shù)據(jù)量)參與訓(xùn)練。針對特定的數(shù)據(jù)集,設(shè)定了該數(shù)據(jù)集常用的評(píng)價(jià)指標(biāo),即SST-5、TREC和MR數(shù)據(jù)集的評(píng)價(jià)指標(biāo)為準(zhǔn)確率(accuracy),20N數(shù)據(jù)集的評(píng)價(jià)指標(biāo)為F1值。
將GT-BERT模型與目前較為先進(jìn)的文本分類模型進(jìn)行了對比實(shí)驗(yàn),對比模型分別為BERT、GAN-BERT、CNN、LSTM、RoBERTa、XLNet、ALBERT[25]、BERT-theseus[24]、GAN-Bt、GAN-DB、GAN-MB、GAN-TB。其中GAN-Bt、GAN-DB、GAN-MB和GAN-TB分別為將BERT-theseus、DistillBERT[26]、MobileBERT[27]和TinyBERT[23]壓縮模型放入半監(jiān)督GAN網(wǎng)絡(luò)的環(huán)境下進(jìn)行微調(diào)所得到的新模型。
使用BERT-base作為訓(xùn)練起點(diǎn)。首先進(jìn)行壓縮,在模型壓縮中,采用漸進(jìn)式替換策略來改進(jìn)Bert-of-theseus方法中固定概率p的替換方法,后繼模塊替換前驅(qū)模塊概率pd會(huì)隨著時(shí)間增加:
pd=min(1,φ(t))=min(1,kt+b)
(13)
其中,t為訓(xùn)練步長,k>0為系數(shù),b為基本替換概率。在壓縮的初始階段,當(dāng)φ(t)<1時(shí),替換模塊的數(shù)量是pd,n個(gè)后繼模塊的平均學(xué)習(xí)率為:
(14)
在擴(kuò)展階段,G和D都為CNN,激活函數(shù)為leaky-relu函數(shù)。G的輸出為噪聲,是由從服從N(0,1)中提取的噪聲向量通過CNN后變成的768維向量組成的。D也為一個(gè)CNN,隱藏層激活函數(shù)與D相同,在最后一層利用softmax進(jìn)行分類。在訓(xùn)練過程中epoch設(shè)置為4,學(xué)習(xí)率為2×10-5(20N數(shù)據(jù)集的學(xué)習(xí)率為5e-6),batch size為32,dropout設(shè)定為0.1,其他超參數(shù)和Devlin等人[8]設(shè)定的超參數(shù)一致。
除去有特殊說明的情況外,最終每一個(gè)模型都在各個(gè)測試集上執(zhí)行5次獨(dú)立測試,并計(jì)算5次測試得到的平均值。
3.4.1 模型文本分類性能比較
表2展示了各個(gè)模型在四種數(shù)據(jù)集上針對文本分類任務(wù)的性能對比。如表2所示:GT-BERT模型在20N數(shù)據(jù)集所有數(shù)據(jù)設(shè)置下以及其他數(shù)據(jù)集絕大部分情況下相比于其他模型都取得了最佳性能。
表2 模型分類性能對比
由表2可知,在使用較少的標(biāo)注數(shù)據(jù)時(shí),BERT模型與其他單獨(dú)的預(yù)訓(xùn)練模型的效果都不盡如人意,而GAN-BERT等其他將預(yù)訓(xùn)練模型放入半監(jiān)督環(huán)境下微調(diào)所得到的模型此時(shí)分類效果整體較為良好,尤其在使用50%的TREC數(shù)據(jù)集進(jìn)行訓(xùn)練,GAN-BERT模型取得了最優(yōu)效果。這證明將預(yù)訓(xùn)練語言模型放入半監(jiān)督生成對抗框架下利用額外的無標(biāo)注數(shù)據(jù)進(jìn)行微調(diào),能夠有效提升模型在低標(biāo)注數(shù)據(jù)量下的模型分類性能。
該文著重對比了GT-BERT與BERT、GAN-BERT模型,在20N數(shù)據(jù)集、SST-5數(shù)據(jù)集和TREC數(shù)據(jù)集下,當(dāng)使用2%的數(shù)據(jù)進(jìn)行訓(xùn)練時(shí),BERT模型的F1值和準(zhǔn)確率分別僅為32.5%、25.1%和10.2%。而GT-BERT和GAN-BERT模型相對應(yīng)值分別為54.2%、36.2%、45.9%和51.0%、35.2%、45.6%,遠(yuǎn)高于BERT模型。因此,當(dāng)標(biāo)注數(shù)據(jù)使用量低時(shí),BERT模型的分類效果較差,與其他兩個(gè)模型的差距較大。隨著訓(xùn)練使用的標(biāo)注數(shù)據(jù)量的增加,三者分類性能隨之提升同時(shí)之間的差距逐漸縮小,但絕大多數(shù)情況下GT-BERT仍取得了最佳效果。尤其在20N與TREC數(shù)據(jù)集下,當(dāng)只采用數(shù)據(jù)集中2%的數(shù)據(jù)(約220條和109條數(shù)據(jù))訓(xùn)練時(shí),GT-BERT模型性能指標(biāo)分別為54.2%和45.9%。相較于BERT模型提升了21.7百分點(diǎn)和35.7百分點(diǎn)。這可能表明,當(dāng)涉及到大量類別時(shí),即當(dāng)分類任務(wù)越復(fù)雜時(shí),半監(jiān)督學(xué)習(xí)方法的提升效果越好。
3.4.2 壓縮方法對比實(shí)驗(yàn)
BERT-theseus與BERT在各個(gè)數(shù)據(jù)集下表現(xiàn)大致相似,但參數(shù)量卻降低一倍[24]。由表2可得:與其他將其他壓縮模型放入SS-GANs框架下微調(diào)后模型相比,GAN-Bt在各個(gè)數(shù)據(jù)集下都獲得了良好結(jié)果。與原始未經(jīng)壓縮的GAN-BERT相比,GAN-Bt在20N數(shù)據(jù)集下使用10%的數(shù)據(jù)時(shí),F(xiàn)1值為68.6%,在MR數(shù)據(jù)集下使用2%的數(shù)據(jù)時(shí),準(zhǔn)確率為65.6%,都略高于GAN-BERT模型,其他情況下兩者相似。因此,選用theseus方法對BERT進(jìn)行壓縮并放入SS-GANs的環(huán)境下進(jìn)行微調(diào)。
3.4.3 生成器與判別器最佳配置選擇實(shí)驗(yàn)
為了探究不同生成器和判別器對模型的影響并獲取最優(yōu)配置,針對不同的生成器判別器配置組合在四種數(shù)據(jù)集下進(jìn)行實(shí)驗(yàn),結(jié)果如表3所示。為了不增加模型整體參數(shù)規(guī)模與運(yùn)行時(shí)間,生成器與判別器選擇MLP、CNN和LSTM這三種傳統(tǒng)神經(jīng)網(wǎng)絡(luò)。表中GAN-Bt-MC表示GAN-Bt模型的生成器為MLP、判別器CNN,GAN-Bt-MM表示GAN-Bt模型的生成器、判別器均為MLP,其他模型的表示方式與此同理(GT-BERT模型中生成器和判別器皆為CNN。GAN-Bt模型生成器與判別器為MLP,為了實(shí)驗(yàn)對比方便明顯,在此表示為GAN-Bt-MM)。
表3 不同生成器與判別器對模型的影響
由表3可知,生成器與判別器都為CNN時(shí),模型在絕大多數(shù)數(shù)據(jù)集設(shè)置下取得了最優(yōu)性能。此外,當(dāng)判別器為CNN時(shí),各個(gè)模型取得了相對良好的結(jié)果。如GAN-Bt-MC在MR數(shù)據(jù)集下使用50%的數(shù)據(jù)時(shí),準(zhǔn)確率達(dá)到85.8%;GAN-Bt-LC在SST-5數(shù)據(jù)集與TREC數(shù)據(jù)集下,分別使用2%和10%的數(shù)據(jù)時(shí),各自性能指標(biāo)分別達(dá)到36.4%和73.2%。當(dāng)生成器為LSTM時(shí),各個(gè)模型取得了不錯(cuò)的訓(xùn)練結(jié)果,如GAN-Bt-LM在使用10%的20N數(shù)據(jù)集的情況下,F(xiàn)1值為70.8%;GAN-Bt-LL在TREC數(shù)據(jù)集使用率為2%時(shí),準(zhǔn)確率為46.2%。雖然當(dāng)僅考慮單獨(dú)的生成器或判別器時(shí),或許GAN-Bt-LC配置為最優(yōu)選擇,但整體而言GT-BERT性能仍遠(yuǎn)高于GAN-Bt-LC。原因可能為與CNN相比,LSTM參數(shù)較多、訓(xùn)練難度較大。實(shí)驗(yàn)中為了公平起見,該文對于生成器與判別器的更新頻率參數(shù)設(shè)置相同,這有可能導(dǎo)致GT-BERT模型最終結(jié)果最優(yōu)。因此,選擇生成器與判別器都為CNN作為最終模型的配置。
3.4.4 模型參數(shù)規(guī)模與時(shí)間復(fù)雜度
為了比較模型的參數(shù)規(guī)模,就目前幾種模型的層數(shù)與參數(shù)進(jìn)行了對比,見表4。
由表4可以看到,新模型的參數(shù)規(guī)模相較于原始BERT模型以及未進(jìn)行壓縮的GAN-BERT模型有很大降低。BERT模型與GAN-BERT模型為120 M參數(shù),而GT-BERT模型參數(shù)僅有66 M大小。雖然ALBERT、TinyBERT和MobileBERT模型的參數(shù)規(guī)模較小,但各個(gè)數(shù)據(jù)集中分類性能較差,在標(biāo)記數(shù)據(jù)量小時(shí),不能很好地應(yīng)用于實(shí)際生產(chǎn)中。
表4 模型參數(shù)規(guī)模對比
圖4為在四個(gè)數(shù)據(jù)集下、使用10%的數(shù)據(jù)時(shí),各個(gè)模型之間文本預(yù)測時(shí)長的對比圖。由圖4可知,GT-BERT的預(yù)測耗時(shí)在不同數(shù)據(jù)集下都明顯小于其他模型。在SST-5數(shù)據(jù)集下,預(yù)測時(shí)間僅為48 s,其他模型中耗時(shí)最低的BERT為60 s,耗時(shí)最高的XLNet為80 s。
圖4 模型預(yù)測時(shí)間對比
由上述結(jié)果可以看出,在標(biāo)注數(shù)據(jù)量較低的小樣本數(shù)據(jù)集中,所提模型可以有效地利用無標(biāo)注數(shù)據(jù),提升模型的分類性能,同時(shí)降低模型的參數(shù)規(guī)模和時(shí)間復(fù)雜度。
該文提出了一種用于文本分類任務(wù)的GT-BERT模型。首先,使用theseus方法對BERT進(jìn)行壓縮,在不降低分類性能的前提下,有效降低了BERT的參數(shù)規(guī)模和時(shí)間復(fù)雜度。然后,引入SS-GAN框架改進(jìn)模型的訓(xùn)練方式,使BERT-theseus模型能有效利用無標(biāo)注數(shù)據(jù),并實(shí)驗(yàn)了多組生成器與判別器的組合方式,獲取了最優(yōu)的生成器判別器組合配置,進(jìn)一步提升了模型的分類性能。實(shí)驗(yàn)結(jié)果表明,提出的GT-BERT模型能夠有效利用無標(biāo)注數(shù)據(jù),降低了模型對標(biāo)注數(shù)據(jù)的依賴程度,在標(biāo)注數(shù)據(jù)量較小的數(shù)據(jù)集上的文本分類性能顯著高于其他模型,并且擁有較低的參數(shù)規(guī)模與時(shí)間復(fù)雜度。