葉施仁,丁 力,Ali MD Rinku
(常州大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,江蘇 常州 213164)
情感分析[1]是自然語言處理領(lǐng)域的重要問題,廣泛應(yīng)用于輿情分析和內(nèi)容推薦等方面。早期的情感分析任務(wù),僅要求輸出句子或者文章的正面或者負(fù)面的兩種情感極性,近年來,出現(xiàn)了一些多樣化的任務(wù),如細(xì)粒度情感分析[2],方面級(jí)情感分析[3]等,使預(yù)測的難度顯著提升。
與用極性表示的情感分析相比,情緒分析[4]任務(wù)擁有更多多樣化的標(biāo)簽。如Ekman[5]將情緒劃分為六種基本情緒;Plutchik[6]將情緒劃分為八種基本情緒,并通過情感輪盤將更多情緒來插入這八種基礎(chǔ)情緒中。近年來,很多情緒分析的數(shù)據(jù)集逐步擴(kuò)展到多標(biāo)簽任務(wù)[7],即一個(gè)樣本可以有多個(gè)標(biāo)簽,也可以沒有標(biāo)簽。這種改變是合理且必要的,因?yàn)橐欢挝淖挚梢员憩F(xiàn)出多種情緒,也可以不帶情緒。
對(duì)文本分類問題,深度學(xué)習(xí)模型常見的方法是使用預(yù)訓(xùn)練的上游模型,在下游任務(wù)中進(jìn)行微調(diào),并通過獨(dú)熱向量計(jì)算多分類交叉熵?fù)p失(對(duì)于多分類任務(wù))或多個(gè)二分類交叉熵?fù)p失(對(duì)于多標(biāo)簽任務(wù))。然而這種方式在細(xì)粒度分類任務(wù)上顯得過于粗糙了。獨(dú)熱向量計(jì)算多分類交叉熵?fù)p失時(shí),損失值事實(shí)上只與正確標(biāo)簽有關(guān)(因?yàn)閮H有正確標(biāo)簽對(duì)應(yīng)的概率被計(jì)算)。在多標(biāo)簽任務(wù)中,獨(dú)立計(jì)算每個(gè)標(biāo)簽的二分類交叉熵。它們都忽略了標(biāo)簽間的相關(guān)信息。
在細(xì)粒度情感分析中,正例和負(fù)例標(biāo)簽往往不是正交的,如非常積極的樣本錯(cuò)誤地標(biāo)記成積極,其錯(cuò)誤的程度顯然應(yīng)該比標(biāo)記成消極,或者非常消極小許多,同時(shí)區(qū)分非常積極與積極的難度也遠(yuǎn)大于區(qū)分非常積極與非常消極。對(duì)情緒分析問題,如圖1所示,這11類情緒標(biāo)簽之間存在顯著的正相關(guān)和互相關(guān)。因此,我們應(yīng)該考慮設(shè)計(jì)適當(dāng)?shù)膿p失函數(shù)把類別標(biāo)簽之間的相關(guān)性體現(xiàn)出來。在計(jì)算機(jī)視覺領(lǐng)域,流行的方式是通過Ranking loss[8]、Margin loss[9]、Contrastive loss[10]、Triplet loss[11]等成對(duì)優(yōu)化方式度量樣本之間的距離。
圖1 SemEval18數(shù)據(jù)集中標(biāo)簽的相關(guān)性
情感分析和情緒分析數(shù)據(jù)集的另一特點(diǎn)是不同類別的樣本數(shù)差別非常大。如廣泛使用的SemEval18數(shù)據(jù)集[12],在其包含的6 838條推特文本中,頻率最高的3個(gè)標(biāo)簽累計(jì)出現(xiàn)7 623次,頻率最低3個(gè)標(biāo)簽累計(jì)出現(xiàn)1 418次,其最低和最高的平均頻次相差5.4倍,如圖2所示。在GoEmotions數(shù)據(jù)集[13]中,在其包含的58 011條推特文本中,頻率最高的3個(gè)標(biāo)簽累計(jì)出現(xiàn)54 713次,頻率最低3個(gè)樣本標(biāo)簽出現(xiàn)2 773次,其最低和最高的平均頻次相差19.7倍。
數(shù)量龐大的頭部標(biāo)簽往往主導(dǎo)了訓(xùn)練過程,甚至導(dǎo)致頭部標(biāo)簽上的過度學(xué)習(xí)。相比之下,尾部標(biāo)簽占比很低,難以得到足夠的訓(xùn)練,導(dǎo)致尾部標(biāo)簽上的分類準(zhǔn)確率往往不及頭部標(biāo)簽。
針對(duì)情感分析和情緒分析中普遍存在的標(biāo)簽不獨(dú)立、分布不均衡的問題,我們借鑒計(jì)算機(jī)視覺領(lǐng)域中的Circle loss[14]方法。將梯度衰減(Automatically Down-weight)、成對(duì)優(yōu)化(Pair Optimization)、添加余量(Margin)三種深度學(xué)習(xí)模型優(yōu)化的損失函數(shù)。通過衰減因子平衡數(shù)據(jù)集中標(biāo)簽的長尾分布,并根據(jù)標(biāo)簽的情感/情緒距離,調(diào)整超參數(shù)余量(Margin),使模型能夠?qū)W習(xí)標(biāo)簽間的距離信息。在不對(duì)學(xué)習(xí)模型進(jìn)行任何改變的前提下,僅僅通過損失函數(shù)的優(yōu)化,在細(xì)粒度情感分析和情緒分析數(shù)據(jù)集上多個(gè)評(píng)價(jià)指標(biāo)獲得了性能提升,從而驗(yàn)證本文提出的損失函數(shù)優(yōu)化是有效的。
基于大規(guī)模預(yù)訓(xùn)練模型[15],下游任務(wù)中通過修改模型結(jié)構(gòu)、調(diào)整學(xué)習(xí)目標(biāo)、多任務(wù)學(xué)習(xí)[16]等方式來處理細(xì)粒度情感/情緒分析任務(wù)是當(dāng)前的主流方法。
Balikas等人[17]使用基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的多任務(wù)模型,同時(shí)在二分類和多分類任務(wù)上訓(xùn)練模型。在兩個(gè)任務(wù)上都取得了性能提升。Yang等人[18]提出了基于方面的情感分析的多任務(wù)學(xué)習(xí)模型(LCF-ATEPC),該模型同步學(xué)習(xí)提取方面詞和推斷方面詞極性。結(jié)果顯示,在常用的方面級(jí)情感分析數(shù)據(jù)集SemEval-2014 task4 Restaurant和Laptop數(shù)據(jù)集中實(shí)現(xiàn)了方面術(shù)語提取(Aspect Term Extraction,ATE)和方面極性分類(Aspect Polarity Classification,APC)的性能提升。
Yin等人[19]提出了SentiBERT,在BERT模型的基礎(chǔ)上結(jié)合了上下文表示法和二元依存解析樹來捕捉語義構(gòu)成。Park等人[20]提出一種多維度的情緒探測模型,模型學(xué)習(xí)從 NRC-VAD 詞典(Mohammad等人[21])獲得的標(biāo)簽詞的 VAD (Valence, Arousal, and Dominance)分?jǐn)?shù),并同時(shí)預(yù)測句子的情緒標(biāo)簽。
Tian等人[22]修改了語言模型的預(yù)訓(xùn)練目標(biāo),引入了情感知識(shí)增強(qiáng)預(yù)訓(xùn)練(Sentiment Knowledge Enhanced Pre-training,SKEP),借助自動(dòng)挖掘的知識(shí),SKEP 進(jìn)行情感掩蔽并構(gòu)建三個(gè)情感知識(shí)預(yù)測目標(biāo),從而將詞、極性和方面級(jí)別的情感信息嵌入到預(yù)訓(xùn)練的情感表示中,在細(xì)粒度情感分析中表現(xiàn)出改進(jìn)的性能。Suresh等人[23]提出知識(shí)嵌入注意 (Knowledge-Embedded Attention,KEA),使用來自情感詞典的知識(shí)來增強(qiáng) ELECTRA 和 BERT 模型的上下文表示。
對(duì)于數(shù)據(jù)集標(biāo)簽的不平衡,常用的方法有對(duì)數(shù)據(jù)集進(jìn)行重采樣和調(diào)整損失函數(shù)的權(quán)重。
重采樣可分為欠采樣和重采樣兩個(gè)方向。對(duì)數(shù)據(jù)集中出現(xiàn)頻率較高的標(biāo)簽樣本,欠采樣方法是隨機(jī)刪除部分樣本。但深度學(xué)習(xí)模型通常需要更多的訓(xùn)練樣本。因此,多數(shù)工作中對(duì)數(shù)據(jù)集中出現(xiàn)頻率較低的樣本進(jìn)行重采樣。
簡單的重采樣直接把數(shù)據(jù)集中出現(xiàn)頻率較低的樣本復(fù)制多次,來擴(kuò)充和平衡數(shù)據(jù)集。更加流行的做法是在重采樣中對(duì)數(shù)據(jù)進(jìn)行一定的變換。圖像領(lǐng)域常對(duì)圖像進(jìn)行裁剪、縮放、鏡像、拼接等操作[24]。自然語言處理領(lǐng)域一般使用同義詞替換、隨機(jī)插入、使用深度學(xué)習(xí)模型翻譯后再回譯等[25]。
針對(duì)這一問題,深度學(xué)習(xí)常用的方法是根據(jù)樣本比例對(duì)損失函數(shù)的權(quán)重進(jìn)行調(diào)整。與簡單重采樣類似,簡單的梯度調(diào)整也存在一定的缺陷,如過大的梯度會(huì)影響模型的收斂。
在計(jì)算機(jī)視覺領(lǐng)域,Lin等人[26]提出了Focal loss損失函數(shù),提出了一種損失函數(shù)的設(shè)計(jì)思路。
Focal loss會(huì)根據(jù)模型輸出概率的大小,動(dòng)態(tài)地調(diào)節(jié)損失函數(shù)中的權(quán)重,對(duì)易分樣本的權(quán)重進(jìn)行衰減,從而令模型更關(guān)注于難分、未充分學(xué)習(xí)的樣本。
FL(pt)=-(1-pt)γlog(pt)
(1)
其中,
(2)
γ為超參數(shù)。實(shí)驗(yàn)表明,γ取2時(shí),模型性能最好。
當(dāng)樣本標(biāo)簽y=1時(shí),模型的輸出p接近于真值(ground truth),系數(shù)(1-p)γ接近于0,對(duì)梯度的衰減力度就比較大,從而抑制模型在易分樣本上的過度學(xué)習(xí)。
Focal-loss提出后,獲得了廣泛的關(guān)注與研究,不少文章也提出了自己的Focal loss變體。如Cui等人[27]提出類平衡損失(Class Balanced Focal Loss),根據(jù)類平衡項(xiàng)(Class Balanced Term)進(jìn)一步加權(quán)Focal loss,以平衡數(shù)據(jù)集中樣本分布的不均衡。Wu等人[28]更進(jìn)一步地提出分布平衡損失(Distribution Balanced Loss),聚焦于多標(biāo)簽中的標(biāo)簽共現(xiàn),首先去除標(biāo)簽共現(xiàn)的冗余信息,再將更低的權(quán)重分配給益于分類的實(shí)例。Huang等人[29]將多個(gè)Focal loss變體應(yīng)用在多個(gè)多標(biāo)簽文本分類數(shù)據(jù)集上。在尾部標(biāo)簽的分類上,取得了顯著的成果。
多標(biāo)簽學(xué)習(xí)中除了標(biāo)簽種類的分布不均衡,跨數(shù)據(jù)集間標(biāo)簽數(shù)量也有巨大差異。如SemEval18數(shù)據(jù)集中,41.80%的樣本有兩個(gè)標(biāo)簽,31.87%的樣本有3個(gè)標(biāo)簽,14.80%的樣本有1個(gè)標(biāo)簽。而在GoEmotions數(shù)據(jù)集中,82.68%的樣本有1個(gè)標(biāo)簽,15.00%的樣本有兩個(gè)標(biāo)簽,2.1%的樣本有3個(gè)標(biāo)簽。
Li等人[30]將醫(yī)學(xué)圖像領(lǐng)域的Dice Loss應(yīng)用于自然語言處理任務(wù),在廣泛的數(shù)據(jù)不平衡自然語言處理任務(wù)上性能提升顯著。Dice Loss基于索倫森-骰子系數(shù)(Sorensen-Dice Coefficient)或特沃斯基索引(Tversky Index),對(duì)誤報(bào)和漏報(bào)的重要性相似,并且不易受數(shù)據(jù)不平衡問題的影響。
Bénédict等人[31]提出的SigmoidF1-loss是一個(gè)近似于Macro-F1分?jǐn)?shù)的損失函數(shù)。其首先對(duì)模型輸出使用Sigmoid函數(shù)處理,然后計(jì)算F1分?jǐn)?shù)。結(jié)果顯示SigmoidF1-loss在訓(xùn)練時(shí)對(duì)于隨機(jī)梯度下降是平滑且易于處理的,自然地近似于多標(biāo)簽度量,能夠很好地估計(jì)標(biāo)簽的分布。在多個(gè)指標(biāo)上,SigmoidF1-loss在一個(gè)文本和三個(gè)圖像數(shù)據(jù)集上的表現(xiàn)優(yōu)于其他損失函數(shù)。
在情感分析和情緒分析中,將標(biāo)簽間的相關(guān)性引入模型也是一個(gè)重要的研究方向。Alhuzali等人[32]將多標(biāo)簽問題轉(zhuǎn)換為跨度預(yù)測問題(Span-Prediction),通過BERT模型學(xué)習(xí)標(biāo)簽間的相關(guān)性。Suresh等人[33]通過引入對(duì)比學(xué)習(xí)損失,與不太相似的負(fù)例相比,對(duì)容易混淆的負(fù)例加權(quán)。Wang等人[34]提出了一個(gè)通用框架,用于從給定的情感分類數(shù)據(jù)集中學(xué)習(xí)情感空間中情感類別的分布式表示,情感空間表示比語義空間中的詞向量能更好地表達(dá)情感關(guān)系。
Diera等人[35]使用了一個(gè)簡單的多層感知機(jī)(Multi-Layer Perceptron,MLP)模型,在多個(gè)多標(biāo)簽任務(wù)上取得了與BERT、DistilBERT、HiAGM等先進(jìn)模型相當(dāng)?shù)慕Y(jié)果,但在GoEmotions數(shù)據(jù)集上多層感知機(jī)的性能大幅度落后于基于BERT的模型。這表明在細(xì)粒度分類領(lǐng)域,標(biāo)簽間關(guān)系是模型設(shè)計(jì)中不可忽視的因素。
度量學(xué)習(xí)常用于樣本間具有相似性的數(shù)據(jù)集。比如在人臉識(shí)別領(lǐng)域中,人臉照片之間具有較高的相似度,但任務(wù)需要辨別出照片中不同人臉?biāo)鶎俚娜恕3R娮龇ㄊ羌僭O(shè)特征分布在超球面上如式(3)所示。
(3)
其中,x和μ都經(jīng)過單位化處理,并且不添加線性層中常見的偏置項(xiàng)。x和μ計(jì)算內(nèi)積,即在計(jì)算高維空間中單位向量的相似度。對(duì)不同分類的樣本,球面上分布有不同的特征中心。大部分工作在此基礎(chǔ)上添加超參數(shù)余量(Margin),使得類內(nèi)分布更加緊湊,類間距離更大。如SphereFace[36]、CosFace[37]、ArcFace[38]。
在細(xì)粒度情感和情緒分類中,引入適當(dāng)?shù)奶荻人p和余量是有必要的。Sun等人[14]提出的Circle loss不僅統(tǒng)一了多分類損失和多標(biāo)簽損失,還僅通過引入一個(gè)參數(shù),同時(shí)將梯度衰減和余量加入到了損失函數(shù)中。本文在損失函數(shù)設(shè)計(jì)方案中使用Circle loss在訓(xùn)練階段引入梯度衰減和余量,并在實(shí)驗(yàn)過程中根據(jù)研究領(lǐng)域的特點(diǎn)微調(diào)了Circle loss的取值范圍和取值方式。
Sun等人從統(tǒng)一的相似度配對(duì)優(yōu)化角度出發(fā),使用類別標(biāo)簽學(xué)習(xí)和樣本對(duì)標(biāo)簽學(xué)習(xí)兩種基本學(xué)習(xí)范式,提出了統(tǒng)一的損失函數(shù)如式(4)所示。
(4)
其目標(biāo)是最大化類內(nèi)相似度sp和最小化類間相似度sn,式中K和L分別為正標(biāo)簽和負(fù)標(biāo)簽的數(shù)量。
當(dāng)正標(biāo)簽K取1,縮放系數(shù)γ取1時(shí),損失函數(shù)退化如式(5)所示。
(5)
即為基于相似度度量的多分類交叉熵?fù)p失函數(shù)。
而當(dāng)有多個(gè)正標(biāo)簽、多個(gè)負(fù)個(gè)標(biāo)簽時(shí),則式(3)與Yeh等人[39]提出的LCA(Label-Correlation Aware)損失相類似如式(6)所示。
(6)
本文在式(3)的基礎(chǔ)上引入梯度衰減和余量如式(7)、式(8)所示。
(7)
其中,
(8)
與文獻(xiàn)[14] 中Circle loss不同的是,本文將優(yōu)化目標(biāo)從sp→1和sn→0擴(kuò)大到sp→1和sn→-1。Circle loss應(yīng)用在計(jì)算機(jī)視覺問題,相似度為0表示兩張圖片是不相似的,但很難說兩張圖片是相反的(相似度為-1)。而在情感和情緒分類中,是完全可以描述標(biāo)簽間的對(duì)立關(guān)系(如非常積極和非常消極,開心和生氣),優(yōu)化目標(biāo)設(shè)計(jì)為sp→1和sn→-1更為合理。對(duì)文本分類問題,盡管常見的向量空間模型中相似性只在0與1之間,但是對(duì)類別標(biāo)簽,我們可以把這種對(duì)立關(guān)系的標(biāo)簽考慮成相似性為-1,則有優(yōu)化目標(biāo)擴(kuò)展到-1。
同時(shí),本文選擇用Sigmoid函數(shù)作為衰減函數(shù),與文獻(xiàn)[14]中Circle loss使用的線性衰減方式相比,在優(yōu)化目標(biāo)sp→1和sn→-1時(shí),如圖3~圖5所示。
圖3 兩種損失函數(shù)的優(yōu)化梯度對(duì)比
圖3(a)為原始的Circle loss梯度圖,橫軸為sn,縱軸為sp,參數(shù)m取0.75,箭頭方向表示梯度的優(yōu)化方向,長短表示梯度的大小。
圖3(b)為使用Sigmoid函數(shù)作為衰減函數(shù)的圓形決策邊界梯度圖,橫軸為sn,縱軸為sp,參數(shù)d取0.25,箭頭方向表示梯度的優(yōu)化方向,長短表示梯度的大小。
在這樣的參數(shù)選擇下,它們擁有同樣的優(yōu)化目標(biāo)sp>0.25和sn<-0.25。
圖4 兩種損失函數(shù)的梯度曲面對(duì)比
圖5 兩種損失函數(shù)的梯度曲線對(duì)比
通常,機(jī)器學(xué)習(xí)中把正確或者錯(cuò)誤分類的正例和反例分別稱為TP(True Positive)、TN(True Negative)、FP(False Negative)和FN(False Negative)。損失函數(shù)的設(shè)計(jì)原則是TP和TN盡可能多,而FP和FN盡可能少。損失函數(shù)包含的項(xiàng)應(yīng)該與正確分類或者錯(cuò)誤分類數(shù)量具有單調(diào)性的,并且是平滑的。
我們將式(3)改寫為如式(9)所示。
(9)
此時(shí),可將式(3)簡記如式(10)所示。
(10)
與準(zhǔn)確率的計(jì)算公式對(duì)照,可認(rèn)為Circle Loss是在優(yōu)化準(zhǔn)確率。
更一般地,只要TP′、TN′、FP′、FN′是恰當(dāng)定義的(正比于模型在TP、TN、FP、FN四個(gè)指標(biāo)上的輸出),可以設(shè)計(jì)出與各種評(píng)價(jià)指標(biāo)同形的損失函數(shù)。如式(11)~式(13)所示。
? 召回?fù)p失:
(11)
?F1損失:
(12)
? Jaccard損失:
(13)
更進(jìn)一步,我們甚至可以不依照現(xiàn)有的公式,只要優(yōu)化目標(biāo)單調(diào)保序,令TP′、TN′更大,FP′、FN′更小,如式(14)、式(15)所示。
都是有意義的組合。
本文使用如下公式作為損失函數(shù),在實(shí)驗(yàn)中取得了最優(yōu)結(jié)果如式(16)所示。
(16)
其中,
在多標(biāo)簽任務(wù)中,僅用準(zhǔn)確率作為評(píng)價(jià)指標(biāo)是不夠的,更優(yōu)的做法是讓模型學(xué)習(xí)接近Jaccard系數(shù)和F1值。如式(16)所示,本文通過在損失函數(shù)中加入的FP′、FN′項(xiàng),令模型學(xué)習(xí)到的分布更接近與真實(shí)數(shù)據(jù)集的分布。
我們選擇三個(gè)常用的情感分析和情緒分析語料庫來驗(yàn)證本文提出的損失函數(shù)的有效性,分別為細(xì)粒度情感分類數(shù)據(jù)集SST-5[40],細(xì)粒度情緒分類數(shù)據(jù)集GoEmotions和SemEval18。實(shí)驗(yàn)旨在驗(yàn)證本文的損失函數(shù)能夠在多個(gè)復(fù)雜數(shù)據(jù)集上提升主干網(wǎng)絡(luò)的性能。
我們使用RoBERTa[41]作為模型的主干網(wǎng)絡(luò),它是基于BERT模型的改進(jìn)模型。我們通過Python中的HuggingFace庫[42]加載和實(shí)例化預(yù)訓(xùn)練完成的RoBERTa-base和RoBERTa-large模型。
本文實(shí)驗(yàn)所用機(jī)器配置為處理器AMD Ryzen 3600,顯卡NVIDIA RTX 3090,內(nèi)存32 GB,操作系統(tǒng)windows 10。Python版本3.8.5,Pytorch版本1.9.0+cu111。
SST-5是一個(gè)細(xì)粒度的情感分析任務(wù),數(shù)據(jù)集由句子和情感極性組成。情感極性分為非常消極,消極,中性,積極,非常積極五類。任務(wù)是由給出的句子預(yù)測出正確的情感極性。
在我們的實(shí)驗(yàn)中,使用AdamW優(yōu)化器,模型的參數(shù)r=d,d=0.3,學(xué)習(xí)率設(shè)置為1.5e-6,RoBERTa的最大句子長度設(shè)置為256,RoBERTa-base模型詞向量長度為768,RoBERTa-large模型詞向量長度為1 024。準(zhǔn)確率為多次實(shí)驗(yàn)結(jié)果中驗(yàn)證集上損失函數(shù)值最小的模型在測試集上的平均值(取隨機(jī)種子為2 022遞減)。
如表1所示,文獻(xiàn)[19] 把RNN當(dāng)作基準(zhǔn),長短時(shí)記憶網(wǎng)絡(luò)(Long Short Term Memory Network, LSTM)的工作,基于BERT的模型的準(zhǔn)確率提高了很多。表中第(8)、第(11)項(xiàng)來自文獻(xiàn)[41],是骨干網(wǎng)絡(luò)RoBERTa的結(jié)果;此前的最好結(jié)果是來自文獻(xiàn)[43]的第(12)項(xiàng),其使用一個(gè)復(fù)雜度為O(N2D)的下游模型鏈接骨干網(wǎng)絡(luò)來抽取情感信息。結(jié)果表明對(duì)于細(xì)粒度情感分析任務(wù),Circle loss能夠有效提升模型的準(zhǔn)確率。
表1 sst-5上不同模型的準(zhǔn)確率 (單位: %)
SemEval18數(shù)據(jù)集來自于SemEval-2018 Task 1。任務(wù)是給定一個(gè)推特文本,對(duì)其標(biāo)注若干個(gè)情緒標(biāo)簽,而這種情緒標(biāo)簽總計(jì)有11種。
我們按照SemEval18給定的訓(xùn)練集、驗(yàn)證集和測試集來評(píng)估我們的模型。評(píng)價(jià)標(biāo)準(zhǔn)有三個(gè)指標(biāo),Jaccard系數(shù),micro-F1(MiF1),macro-F1(MaF1)。其中,Jaccard系數(shù)被定義為預(yù)測標(biāo)簽和真實(shí)標(biāo)簽交集與它們的并集之比。F1值的計(jì)算由精確率和召回率組成,micro-F1給予每個(gè)樣本相同的權(quán)重,而macro-F1給予每個(gè)類別相同的權(quán)重。
實(shí)驗(yàn)使用AdamW優(yōu)化器,模型的參數(shù)r=12,d=0,學(xué)習(xí)率設(shè)置為1e-5,RoBERTa最大句子長度設(shè)置為128,各個(gè)評(píng)價(jià)指標(biāo)為多次實(shí)驗(yàn)結(jié)果中驗(yàn)證集上損失函數(shù)值最小的模型在測試集上的平均值(取隨機(jī)種子為2 022遞減)。
如表2所示,編號(hào)(1)~(8)的實(shí)驗(yàn)列出了這個(gè)測試集上的經(jīng)典結(jié)果和最新的結(jié)果。在骨干網(wǎng)絡(luò)RoBERTa-base 上使用uni-loss損失函數(shù)(9)得到的結(jié)果比最新的結(jié)果(8)要差一些,已經(jīng)具有不錯(cuò)的結(jié)果。這是由于uni-loss在優(yōu)化過程中是正例和負(fù)例成對(duì)優(yōu)化的。我們在骨干網(wǎng)絡(luò)RoBERTa-base上使用帶有衰減和余量的sig-loss(10),實(shí)驗(yàn)顯示優(yōu)于最新的結(jié)果(8)。
表2 SemEval18評(píng)價(jià)指標(biāo) (單位: %)
對(duì)比標(biāo)準(zhǔn)的uni-loss損失函數(shù)(9),我們提出的損失函數(shù)sig-loss在Jaccard系數(shù)、micro-F1、macro-F1值上均取得了顯著的提升[(如(10)和(11)],其中Jaccard系數(shù)和macro-F1的假設(shè)檢驗(yàn)p<0.05,micro-F1的假設(shè)檢驗(yàn)p<0.01,均在統(tǒng)計(jì)學(xué)上顯著。由于sig-loss中梯度衰減和余量是一同出現(xiàn)的,形成圓形的決策邊界。假如只考慮其中一項(xiàng),就會(huì)破壞其設(shè)計(jì)結(jié)構(gòu)。如果兩項(xiàng)一起去掉,sig-loss將退化成uni-loss。
多分類中常用的二元交叉熵(Binary Cross Entropy,BCE)損失,將每個(gè)標(biāo)簽看成一個(gè)二分類問題,輸出“是”或者“不是”。這種優(yōu)化方式忽略了標(biāo)簽之間聯(lián)系的學(xué)習(xí)。最新的結(jié)果[表2中的(8)]來自文獻(xiàn)[32],使用了二元交叉熵?fù)p失和文獻(xiàn)[39]提出的LCA損失聯(lián)合訓(xùn)練。其使用的LCA損失,正是基于正例和負(fù)例成對(duì)優(yōu)化來學(xué)習(xí)標(biāo)簽間的聯(lián)系。
如文獻(xiàn)[29]所示,Focal loss引入的梯度衰減能夠動(dòng)態(tài)調(diào)節(jié)梯度的分配,在標(biāo)簽長尾分布的情況下,能夠有效地提升模型的性能。
Circle loss中同樣帶有梯度衰減,實(shí)驗(yàn)結(jié)果也顯示在更加重視類別均衡的macro-F1分?jǐn)?shù)上,RoBERTa-base+sig-loss領(lǐng)先于基線模型RoBERTa-base+uni-loss。
此外,如果使用規(guī)模更大的RoBERTa-large作為主干網(wǎng)絡(luò),維度從768維提升到1024維,會(huì)取得更好的效果。
與SemEval18數(shù)據(jù)集相比,GoEmotions含有更多樣本、更多的標(biāo)簽種類。其樣本數(shù)量達(dá)到5萬條,共有27個(gè)情緒標(biāo)簽和1個(gè)中性標(biāo)簽,并已被開發(fā)者劃分為訓(xùn)練集、驗(yàn)證集和測試集。我們?nèi)匀皇褂肑accard系數(shù),micro-F1,macro-F1三個(gè)指標(biāo)來評(píng)價(jià)結(jié)果。
實(shí)驗(yàn)使用AdamW優(yōu)化器,模型的參數(shù)γ=12,d=0.2,學(xué)習(xí)率設(shè)置為1e-5,RoBERTa最大句子長度設(shè)置為128,各個(gè)評(píng)價(jià)指標(biāo)為多次實(shí)驗(yàn)結(jié)果中驗(yàn)證集上損失函數(shù)值最小的模型在測試集上的平均值(取隨機(jī)種子為2 022遞減)。
如表3所示,我們使用帶有衰減和余量的RoBERTa-base+sig-loss和作為基線模型的RoBERTa-base+uni-loss與其他相關(guān)工作中的結(jié)果進(jìn)行比較。結(jié)果在Jaccard系數(shù)、Micro-F1、Macro-F1值上均取得了顯著的提升,其中Jaccard系數(shù)、Micro-F1、Macro-F1的假設(shè)檢驗(yàn)p<0.01 ,在統(tǒng)計(jì)學(xué)上顯著。
基于二元交叉熵?fù)p失的模型最終的閾值確定依賴于在驗(yàn)證集上取不同的閾值對(duì)模型進(jìn)行測試。在模型的訓(xùn)練過程中,閾值對(duì)模型沒有任何影響。而在sig-loss中,可以將余量取為閾值。假設(shè)基于二元交叉熵?fù)p失的模型最終閾值選定為0.2而不是0,而模型事實(shí)上訓(xùn)練時(shí)的決策邊界是0,這恰恰說明在決策邊界上,模型并不能很好地區(qū)分正例和負(fù)例,將閾值取為0時(shí),會(huì)出現(xiàn)大量誤判,導(dǎo)致評(píng)價(jià)指標(biāo)降低。sig -loss中引入的余量參數(shù),把閾值作為模型訓(xùn)練中的一個(gè)超參數(shù),參與到模型的訓(xùn)練中來。模型取更大的閾值,不僅僅是最后的判定上更嚴(yán)格,在訓(xùn)練時(shí),正例和負(fù)例會(huì)獲得更大的類間距離和更小的類內(nèi)距離,這有利于模糊樣本的判定。
我們選取了SemEval18數(shù)據(jù)集中兩對(duì)高相關(guān)性的標(biāo)簽,計(jì)算在選定其中一個(gè)標(biāo)簽的情況下,模型在另一個(gè)標(biāo)簽上的準(zhǔn)確率。如表4中anger-disgust列,表示選擇測試集中有anger標(biāo)簽的數(shù)據(jù),計(jì)算模型在disgust標(biāo)簽上的準(zhǔn)確率。結(jié)果顯示,用本文2.2節(jié)中的方式調(diào)整后的損失函數(shù)能夠有效提升標(biāo)簽相關(guān)時(shí)的準(zhǔn)確率。
表4 相關(guān)標(biāo)簽間的準(zhǔn)確率 (單位: %)
表5中,我們計(jì)算了模型在SemEval18數(shù)據(jù)集中出現(xiàn)頻率最低的5個(gè)標(biāo)簽上的Jaccard系數(shù),micro-F1,macro-F1。結(jié)果顯示,與基線模型相比,用本文2.2節(jié)中的方式調(diào)整后的損失函數(shù)能夠有效提升模型在尾部標(biāo)簽上的性能。
表5 尾部標(biāo)簽的評(píng)價(jià)指標(biāo) (單位: %)
考慮到情感和情緒分析數(shù)據(jù)集中標(biāo)簽廣泛存在的分布不均衡、標(biāo)簽之間具有相關(guān)性的現(xiàn)象,我們使用Circle Loss針對(duì)性地引入了梯度權(quán)重衰減、配對(duì)優(yōu)化、度量學(xué)習(xí)的方法,并推廣了Circle Loss的計(jì)算公式。其中,梯度權(quán)重衰減動(dòng)態(tài)地調(diào)節(jié)梯度的分配,在標(biāo)簽長尾分布的情況下,能夠有效地引導(dǎo)模型學(xué)習(xí)稀少、難分的樣本;配對(duì)優(yōu)化與二分類交叉熵相比,能夠隱式地學(xué)習(xí)標(biāo)簽之間的相關(guān)性;針對(duì)難分標(biāo)簽,使用度量學(xué)習(xí)中的余量,加寬決策邊界,令正例和負(fù)例獲得更大的類間距離和更小的類內(nèi)距離,使樣本更容易區(qū)分。Cirlce Loss可視為優(yōu)化模型的準(zhǔn)確率,在多標(biāo)簽分類中,僅優(yōu)化準(zhǔn)確率還不足以使模型達(dá)到最優(yōu),我們的推廣公式可以靈活地優(yōu)化各種指標(biāo),如召回值、F1值、Jaccard系數(shù)等。
在多個(gè)測試集上的實(shí)驗(yàn)表明,僅僅通過改進(jìn)損失函數(shù),獲得的結(jié)果比最新的經(jīng)典方法有所提升,說明了本文構(gòu)造的損失函數(shù)是有效的。
特別地,我們設(shè)計(jì)的損失函數(shù)沒有使用多目標(biāo)優(yōu)化的方式,而是將多種優(yōu)化方式在一個(gè)損失函數(shù)中體現(xiàn),減少了超參數(shù)的數(shù)量。該損失函數(shù)的框架與具體學(xué)習(xí)任務(wù)無關(guān),可能適用各種深度學(xué)習(xí)模型。在多分類任務(wù)上驗(yàn)證本文所提出的損失函數(shù)的有效性和性能,是我們將來工作的重點(diǎn)。