鄧亞萍,王 新,尹甜甜,王 婷,鄭承宇
(云南民族大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,云南 昆明 650500)
人臉表情是喜怒哀樂(lè)的一種直觀表現(xiàn),具有豐富的情感內(nèi)涵,是情感分析的一個(gè)重要研究方向。在過(guò)去的研究中,人臉圖像情感分析大多是對(duì)淺層信息如顏色、輪廓等進(jìn)行分析[1]。Borth等[2]利用視覺(jué)情感本體訓(xùn)練得到情感庫(kù),然后利用情感庫(kù)進(jìn)行預(yù)測(cè)分析,為解決語(yǔ)義鴻溝問(wèn)題提供了新思路。近幾年,研究者開(kāi)始利用深度學(xué)習(xí)進(jìn)行情感特征提取。You等[3]利用已有的數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型,最終得到了一個(gè)更有判別力的情感模型PCNN(progressive CNN)。Xu等[4]利用大量數(shù)據(jù)集預(yù)訓(xùn)練模型參數(shù),通過(guò)遷移學(xué)習(xí)將參數(shù)放入圖像情感分析模型中,最終達(dá)到了減少訓(xùn)練時(shí)間的目的。Song等[5]首次將自注意力機(jī)制與CNN模型結(jié)合起來(lái),利用已知的顯著性區(qū)域來(lái)指導(dǎo)注意力機(jī)制學(xué)習(xí),彌補(bǔ)了自注意力機(jī)制在情感特征提取方面的不足。Yang等[6]通過(guò)目標(biāo)檢測(cè)確定候選區(qū)域,再根據(jù)情感分?jǐn)?shù)等擇優(yōu)選擇情感區(qū)域,最后通過(guò)CNN融合策略確定情感傾向。Yang等[7]還提出了用弱監(jiān)督耦合網(wǎng)絡(luò)模型進(jìn)行視覺(jué)情感分析。蔡國(guó)永等[8]利用對(duì)象探測(cè)器確定目標(biāo)的局部區(qū)域,然后將整體特征和局部區(qū)域特征結(jié)合起來(lái)共同訓(xùn)練圖像情感分析模型。Wu等[9]首先通過(guò)系統(tǒng)定位確定圖像中顯著的目標(biāo)區(qū)域,再分別訓(xùn)練顯著性目標(biāo)和圖像情感分析模型,最后根據(jù)兩者的預(yù)測(cè)結(jié)果確定最終的情感特征。
本研究提出了一種基于Self-adjust網(wǎng)絡(luò)模型的人臉圖像情感分析方法,該方法能抑制人臉圖像情感分析的不確定性,防止深層網(wǎng)絡(luò)對(duì)不確定的人臉圖像進(jìn)行過(guò)擬合,同時(shí)對(duì)錯(cuò)誤分類(lèi)的標(biāo)簽進(jìn)行矯正。
基于CNN的Self-adjust網(wǎng)絡(luò)模型分為4個(gè)部分:人臉對(duì)齊圖像預(yù)處理、注意力機(jī)制Focal損失加權(quán)、秩正則化排序、重新分類(lèi)。在該模型中,不確定樣本會(huì)獲得低重要性權(quán)重,從而落入低重要性組,通過(guò)重新加權(quán)來(lái)減少其負(fù)面影響,最后通過(guò)重新分類(lèi)對(duì)錯(cuò)誤標(biāo)簽進(jìn)行矯正。這些矯正的樣本可以在下一次訓(xùn)練中獲得高重要性權(quán)重,所以不確定樣本可以通過(guò)重新分類(lèi)來(lái)自行矯正。
大規(guī)模的人臉數(shù)據(jù)集中存在許多無(wú)關(guān)信息,為了增強(qiáng)信息的有效性,自動(dòng)人臉關(guān)鍵點(diǎn)檢測(cè)是面部情感分析之前的重要步驟,故采用人臉對(duì)齊的方法對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理。人臉對(duì)齊是根據(jù)輸入的人臉圖像確定其面部關(guān)鍵點(diǎn),如嘴角、眼睛、鼻尖等關(guān)鍵部位[10]。將人臉對(duì)齊視為級(jí)聯(lián)線性回歸模型,以圖像x作為輸入,學(xué)習(xí)一個(gè)回歸函數(shù)F,輸出θ為人臉形狀的特征點(diǎn),即θ=F(x)。
級(jí)聯(lián)回歸模型的框架為學(xué)習(xí)多個(gè)回歸函數(shù){f1,f2, …,fn-1,fn}來(lái)逼近函數(shù)F(x):
θ=F(x)=fn(fn-1(…,f1(θ0,x),x),x),
(1)
θi=fi(θi-1,x),i=1,2,…,n。
(2)
級(jí)聯(lián)的定義就是當(dāng)前的函數(shù)fi需要通過(guò)其上一級(jí)函數(shù)fi-1的輸出θi-1來(lái)確定,而每一個(gè)fi的學(xué)習(xí)目標(biāo)是靠近最終位置θ,式(1)中的θ0為初始位置。
預(yù)處理是對(duì)輸入的圖像進(jìn)行旋轉(zhuǎn)、裁剪、人臉對(duì)齊等操作,提取其關(guān)鍵特征T,然后將其放入后續(xù)的實(shí)驗(yàn)中,有助于增強(qiáng)信息的有效性和提升模型的優(yōu)化能力。人臉對(duì)齊圖像預(yù)處理流程如圖1所示。
圖1 人臉對(duì)齊圖像預(yù)處理流程
注意力機(jī)制是在海量信息中篩選出重要信息并聚焦到這些信息上,即對(duì)輸入權(quán)重分配關(guān)注。其計(jì)算過(guò)程就是計(jì)算Query與Key的相似性或相關(guān)性,從而確定Key對(duì)應(yīng)Value的權(quán)重系數(shù),再對(duì)Value進(jìn)行加權(quán)求和,然后得到最終的注意力數(shù)Attention[11]。其計(jì)算公式如下:
(3)
式中:Lx=‖Source‖,代表Source的長(zhǎng)度。
通常,實(shí)驗(yàn)中某些圖像樣本具有高權(quán)重,某些不確定樣本具有低權(quán)重,而注意力機(jī)制具有從海量信息中篩選出重要信息的優(yōu)點(diǎn),故可利用注意力機(jī)制來(lái)獲取樣本對(duì)訓(xùn)練的重要性權(quán)重??紤]到訓(xùn)練數(shù)據(jù)集存在類(lèi)別樣本不平衡問(wèn)題,受文獻(xiàn)[12]的啟發(fā),利用改進(jìn)的Focal損失函數(shù)進(jìn)行加權(quán)以提升情感分類(lèi)模型的訓(xùn)練效率,具體計(jì)算公式為
FL=-α(1-p)γlnp,
(4)
式中:聚焦參數(shù)γ是一個(gè)大于0的超參數(shù),最優(yōu)值通過(guò)實(shí)驗(yàn)獲得,其作用是通過(guò)(1-p)γ項(xiàng)來(lái)放大低置信樣本損失在總損失中的權(quán)重,縮小高置信度樣本損失在總損失中的權(quán)重。這是因?yàn)閷?duì)于置信度越高的樣本,調(diào)制因子(1-p)γ越小;反之,調(diào)制因子(1-p)γ越大。這樣,在訓(xùn)練中困難樣本的損失被放大,模型會(huì)更加關(guān)注困難樣本。平衡參數(shù)α同樣是一個(gè)超參數(shù),由網(wǎng)格搜索方法得到最優(yōu)值,其作用是控制正、負(fù)樣本在總損失中的權(quán)重,平衡不同類(lèi)別樣本的數(shù)量。
為了明確約束不確定樣本的重要性,設(shè)計(jì)了秩正則化模塊來(lái)正則化注意力權(quán)重。在秩正則化模塊中,首先按降序?qū)W(xué)習(xí)到的注意力權(quán)重進(jìn)行排序,然后用比率β將它們分成兩組。秩正則化模塊保證了高重要性組的平均注意權(quán)重高于低重要性組,并有一個(gè)余量。為此,在形式上定義了一個(gè)秩正則化損失:
LRR=max{0,δ1-(αH-αL) },
(5)
(6)
式中:δ1可以是一個(gè)固定超參數(shù)或一個(gè)可學(xué)習(xí)的參數(shù);αH和αL分別是具有β*N=M的高重要性群組和N-M的低重要性群組的平均值。
在秩正則化排序模塊中,樣本會(huì)被分為高重要性組和低重要性組,而不確定樣本通常具有較低的重要性權(quán)重,故可以通過(guò)重新分類(lèi)對(duì)因標(biāo)注者的主觀錯(cuò)誤而給錯(cuò)標(biāo)簽的樣本進(jìn)行矯正。具體來(lái)說(shuō),重新分類(lèi)模塊針對(duì)的是由于不確定性而具有低重要性權(quán)重的樣本,對(duì)其中每個(gè)圖片都進(jìn)行最大預(yù)測(cè)概率與原始標(biāo)簽概率的比較,若其最大預(yù)測(cè)概率高于原始標(biāo)簽概率,則樣本被重新分類(lèi)。重新分類(lèi)模塊可以定義為
(7)
式中:y′表示新標(biāo)簽;δ2是閾值;Pmax是最大預(yù)測(cè)概率;Pinitial是給定標(biāo)簽的預(yù)測(cè)概率;l0和lmax分別是原始標(biāo)簽和最大預(yù)測(cè)的索引。
Self-adjust網(wǎng)絡(luò)框架主要包括輸入層、圖像預(yù)處理層、Self-adjust網(wǎng)絡(luò)層、Dropout層和輸出層等。Self-adjust網(wǎng)絡(luò)算法流程如下:
(1)獲取數(shù)據(jù)集,輸入數(shù)據(jù)集中的人臉圖像X,其中Xi表示該張人臉圖像的第i個(gè)特征:
X=[X1,X2,…,Xn]。
(8)
(2)對(duì)輸入層的圖像進(jìn)行人臉對(duì)齊、裁剪、旋轉(zhuǎn)等預(yù)處理,提取關(guān)鍵特征T,其中Ti表示圖像經(jīng)過(guò)人臉對(duì)齊處理后得到的特征向量:
T=[T1,T2,…,Tn]。
(9)
(3)將預(yù)處理后得到的特征向量T作為輸入矩陣,在Self-adjust網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,經(jīng)過(guò)注意力機(jī)制Focal損失加權(quán)、秩正則化排序和重新分類(lèi)等操作后,得到圖像向量F。
(4)在輸出結(jié)果之前,為了減少過(guò)擬合現(xiàn)象,加入Dropout層讓某個(gè)神經(jīng)元的激活值以一定的概率P停止工作,剔除部分多余神經(jīng)元,使模型泛化性更強(qiáng)。
(5)輸出圖像X對(duì)應(yīng)的情感分析結(jié)果。
人臉圖像情感分析流程如圖2所示。
圖2 人臉圖像情感分析流程
Self-adjust網(wǎng)絡(luò)基于PyTorch環(huán)境進(jìn)行模型參數(shù)訓(xùn)練和調(diào)優(yōu)。為了緩解訓(xùn)練數(shù)據(jù)集的類(lèi)別樣本不平衡問(wèn)題,提升情感分類(lèi)模型的訓(xùn)練效率,前向傳播時(shí)采用Focal損失函數(shù),具體如公式(10)所示:
FL=-α(1-p)γlnp,
(10)
式中:聚焦參數(shù)γ為大于0的超參數(shù),可通過(guò)實(shí)驗(yàn)得到最優(yōu)值;平衡參數(shù)α也是一個(gè)超參數(shù),可由網(wǎng)格搜索得到最優(yōu)值。
在重新分類(lèi)模塊中,采用L2正則化進(jìn)行模型優(yōu)化,計(jì)算方法如公式(11)所示:
(11)
先計(jì)算導(dǎo)數(shù):
(12)
(13)
從上述公式發(fā)現(xiàn),L2正則化對(duì)b的更新沒(méi)有影響,但對(duì)ω的更新有影響,更新規(guī)則變?yōu)?/p>
(14)
L2正則化是希望得到更小的權(quán)值,從某種意義上說(shuō),ω越小表示網(wǎng)絡(luò)的復(fù)雜度越低,則數(shù)據(jù)擬合更好。
使用混淆矩陣統(tǒng)計(jì)分類(lèi)結(jié)果,結(jié)果如表1所示。表1中TP表示預(yù)測(cè)為正例的正例樣本數(shù)量,F(xiàn)N表示預(yù)測(cè)為負(fù)例的正例樣本數(shù)量,F(xiàn)P表示預(yù)測(cè)為正例的負(fù)例樣本數(shù)量,TN表示預(yù)測(cè)為負(fù)例的負(fù)例樣本數(shù)量。
表1 分類(lèi)結(jié)果的混淆矩陣
為了對(duì)Self-adjust網(wǎng)絡(luò)模型進(jìn)行評(píng)估,擬采用準(zhǔn)確率作為評(píng)價(jià)指標(biāo)。準(zhǔn)確率表示的是預(yù)測(cè)標(biāo)簽與真實(shí)標(biāo)簽的貼近程度,值越高說(shuō)明模型分類(lèi)效果越好。
準(zhǔn)確率的計(jì)算方法如式(15)所示:
(15)
本研究的實(shí)驗(yàn)平臺(tái)與環(huán)境配置如表2所示。為了評(píng)估本研究Self-adjust網(wǎng)絡(luò)模型情感分析的效果,采用網(wǎng)絡(luò)上公開(kāi)CK+的人臉圖像數(shù)據(jù)集[13]對(duì)模型的有效性進(jìn)行驗(yàn)證,該數(shù)據(jù)集共包含5 876張人臉圖像。將人臉圖像數(shù)據(jù)集按照4∶1劃分為訓(xùn)練集和測(cè)試集,標(biāo)簽分為生氣、輕蔑、厭惡、害怕、開(kāi)心、傷心、驚喜共7個(gè)大類(lèi)。數(shù)據(jù)樣本情感類(lèi)別分布如表3所示。
表2 實(shí)驗(yàn)平臺(tái)與環(huán)境
表3 情感類(lèi)別分布
實(shí)驗(yàn)的關(guān)鍵參數(shù)有學(xué)習(xí)率、Batch_size、epoch、損失函數(shù)、Dropout、優(yōu)化器等。學(xué)習(xí)率能通過(guò)損失函數(shù)的梯度調(diào)整網(wǎng)絡(luò)權(quán)重的參數(shù),而B(niǎo)atch_size和epoch參數(shù)能反映出樣本的迭代情況。損失函數(shù)用來(lái)衡量模型輸出與真實(shí)值之間的差距,給模型的優(yōu)化指明方向。Dropout參數(shù)按照一定概率將神經(jīng)單元暫時(shí)從網(wǎng)絡(luò)中丟棄,能達(dá)到防止模型過(guò)擬合的目的,而優(yōu)化器的選擇關(guān)系到如何利用合適的算法進(jìn)行參數(shù)學(xué)習(xí)。
在綜合考慮損失率和收斂速度等因素后,通過(guò)多次調(diào)試確定學(xué)習(xí)率、Batch_size、epoch等的參數(shù)值??紤]到數(shù)據(jù)集存在分布不均衡的情況,引入Focal損失函數(shù)來(lái)緩解訓(xùn)練數(shù)據(jù)集分布不平衡問(wèn)題。此外,為了實(shí)現(xiàn)更快的收斂速度,應(yīng)用L2正則化的限制約束。由于Adam結(jié)合了Adagrad和Mometum的優(yōu)點(diǎn),所以在Self-adjust網(wǎng)絡(luò)模型中選擇Adam梯度更新策略作為優(yōu)化器。在模型全連接層后添加Dropout參數(shù),防止模型過(guò)擬合,通過(guò)反復(fù)調(diào)試得到Dropout參數(shù)為0.000 1時(shí)效果最佳。Self-adjust網(wǎng)絡(luò)模型的相關(guān)參數(shù)如表4所示。
表4 Self-adjust網(wǎng)絡(luò)模型參數(shù)
為了驗(yàn)證本方法的有效性與優(yōu)越性,將本方法與另外3個(gè)經(jīng)典的圖像情感分析方法進(jìn)行對(duì)比,結(jié)果如表5所示。
表5 情感分析各方法性能對(duì)比
為了公平比較,本實(shí)驗(yàn)沒(méi)有使用其他數(shù)據(jù)集,也沒(méi)有進(jìn)行人工標(biāo)注。由表5可知,本方法準(zhǔn)確率比Resnet-18提高了約8個(gè)百分點(diǎn),比Resnet-34提高了約6個(gè)百分點(diǎn),比VGG-16提高了約1個(gè)百分點(diǎn)。本方法相比Resnet-18、Resnet-34和VGG-16方法,在準(zhǔn)確率這個(gè)評(píng)價(jià)指標(biāo)上提高顯著,充分驗(yàn)證了本方法的有效性與優(yōu)越性。
針對(duì)現(xiàn)有人臉圖像、標(biāo)簽分類(lèi)者的主觀性不同及標(biāo)簽樣本不均衡所帶來(lái)的不確定性問(wèn)題,本研究提出了一種基于CNN的Self-adjust網(wǎng)絡(luò)模型,并用該模型進(jìn)行了人臉圖像情感分析。本方法可以有效減少人臉情感分析的不確定性帶來(lái)的影響,緩解深層網(wǎng)絡(luò)對(duì)不確定人臉圖像的過(guò)擬合,并最終用實(shí)驗(yàn)驗(yàn)證了本方法的有效性與優(yōu)越性。