陳 星,李丹楊,何 慶
(貴州大學 大數(shù)據與信息工程學院,貴州 貴陽 550025)
人臉表情識別主要通過眼睛、嘴巴、眉毛和其它人臉特征識別人類個體的內在情感[1]。人臉表情識別在心理學、人機交互以及自動駕駛等領域[2-4]具有重要作用。當使用表情圖片進行情感分析時,其結果受圖片亮度、圖片完整程度、拍攝者的種族以及拍照角度等因素影響,從而增加了表情識別難度,因此需要繼續(xù)進行人臉表情識別研究并提高識別效果。
研究表明,使用多分類器的集成學習比使用單一分類器在人臉表情識別領域具有更高的準確率和魯棒性[5-6]。然而,集成學習也帶來了一些問題?;诸惼鞒匕恍┑妥R別率和冗余的分類器,它們會降低識別效果并增加存儲空間和運行時間的負擔。因此,解決此問題的集成剪枝研究逐漸興起。集成剪枝從基分類器池中剔除弱分類器和冗余分類器,將最優(yōu)能力的分類器保留下來進行集成,相比于集成學習,該方法在降低算法時空復雜度的同時提高了最終的識別效果。然而,從全局搜索空間找到最優(yōu)的分類器子集仍是一個需要不斷研究的問題。
進化計算技術因其在整個搜索空間強大而高效的搜索能力受到了廣泛關注[7]。進化計算技術采用基于種群的隨機搜索方法將分類器選擇視為一個尋求最優(yōu)解的過程,進一步提高了選擇最優(yōu)分類器子集的能力。遺傳算法[8]是一種經典且高效的進化計算方法,二進制編碼方案的遺傳算法可以較容易地找到合適的分類器子集,且搜索空間遠小于其他進化計算方法。因此,本文使用遺傳算法進行分類器的選擇。
集成剪枝選擇的分類器應是“好而不同”,需同時考慮兩個評價指標,即最低錯誤率和最少的分類器數(shù)量,因此使用集成算法進行分類器剪枝變成了一個多目標優(yōu)化問題。多目標優(yōu)化問題的解通常來源于帕累托前沿(Pareto Front,PF)。圖1給出了集成剪枝的雙目標問題的PF,每一個點代表遺傳算法的一個染色體,由二進制0-1編碼構成,1代表選擇對應分類器,0代表不選擇相應分類器。在PF上的解都是集成剪枝問題的最優(yōu)解。文獻[9]證明了使用多目標遺傳算法進行分類器剪枝可以有效提高人臉表情識別的準確率。NSGA-Ⅱ[10]是一種經典的多目標優(yōu)化遺傳算法,但在此算法的交叉策略中仍沒有一種合適的策略既可以適合前期探索,又可以適合后期開發(fā)。
圖1 集成剪枝的帕累托前沿分布Figure 1. Pareto front distribution with ensemble pruning
本文提出了一種自適應多目標遺傳算法的集成剪枝(Adaptive Multi-objective Genetic Algorithm with Ensemble Pruning,AMGAEP),并將其用于人臉表情識別領域。AMGAEP是對NSGA-Ⅱ的改進,其改進主要有以下幾個方面:1)AMGAEP從4種交叉算子中自適應地選擇一種合適的交叉算子進行染色體的交叉操作,而不是始終使用一種固定交叉算子。該方法通過輪盤賭和貪婪優(yōu)化的方法自適應地確定各個交叉算法的優(yōu)先級,從而在算法的不同階段選擇不同的交叉算子,其目標是充分利用不同交叉算法的搜索能力,選擇一組數(shù)量少、分類精度高的最優(yōu)分類器子集。2)AMGAEP考慮了交叉概率和變異概率隨著算法更新過程也應該進行動態(tài)變化的情況,并設計了一種新的變異概率計算機制。3)AMGAEP使用一種最新的擁塞距離計算方法,促進了PF上解均衡分布。
為提升人臉表情識別的性能,本文提出了AMGAEP,其框架如圖2中所示。首先,采用訓練集和驗證集構建基分類器池;然后,使用多目標遺傳算法在驗證集的預測標簽中生成PF;最后,利用測試集在PF中測試各個解的效果并找到最優(yōu)解從而獲得最終的決策結果。
圖2 AMGAEP的流程Figure 2. Flow of AMGAEP
集成剪枝的有效性在較大程度上依賴基分類器的多樣性和錯誤率,多樣性越高且錯誤率越低,集成剪枝的效果就越好。卷積神經網絡(Convolutional Neural Network,CNN)在人臉表情識別領域已經取得了不錯的識別效果[11-12]。為了保證最終集成剪枝的誤差較少,本文采用CNN作為基分類器,同時通過改變CNN的參數(shù)和網絡結構來滿足基分類器多樣性的要求,CNN結構如圖3所示。
圖3 CNN結構Figure 3. Structure of CNN
本文使用TensorFlow深度學習框架構造了231個不同的CNN模型,每個CNN模型包含k層。其中,前兩層被固定為卷積層和池化層,最后一層被固定為Softmax層。CNN模型的每一層包含較多參數(shù),例如卷積核的大小、池化核的大小和隨機失活等,參數(shù)的取值范圍如表1所示。
表1 生成的CNN模型參數(shù)范圍
本文使用cj(xj)表示j個分類器對i個樣本實例的一個預測值,則預測矩陣P∈Rm×n如式(1)所示。
(1)
AMGAEP使用多目標遺傳算法對基分類器池進行分類器的剪枝,將選擇分類器過程視為最優(yōu)分類器子集過程。
1.3.1 種群初始化
本文直接使用二進制編碼,即0-1編碼來進行分類器選擇問題。如果一個染色體的編碼為100001,則表示選擇第一個和最后一個分類器進行集成。
1.3.2 目標函數(shù)
AMGAEP從分類器池中選擇出來的分類器要滿足“好而不同”的特點,即選出來的分類器不僅錯誤率低,而且滿足數(shù)量少的特點,因此本文使用分類器的錯誤率和選擇分類器的數(shù)量作為目標函數(shù)。錯誤率err的目標函數(shù)為
(2)
其中,X是一個解;NError和NAll分別為樣本中錯誤預測實例和所有實例的數(shù)量。
選擇分類器數(shù)量的目標函數(shù)為
(3)
其中,xi是一個染色體第i個值;D是分類器的數(shù)量。
1.3.3 新穎的動態(tài)突變率更新策略
本文目標為算法在探索前期進行更多地突變以便進行更全面地全局搜索,而在探索后期盡量減小突變的發(fā)生,避免跳出最優(yōu)值,因此AMGAEP設計了一種自適應步長的方法,使得突變概率能夠隨迭代次數(shù)自動變化。突變概率pu的計算式為
(4)
其中,δ一個可變參數(shù),本文設為0.1;t是當前迭代次數(shù);maxIter是最大迭代次數(shù)。突變概率的動態(tài)變化如圖4所示。
圖4 突變率動態(tài)更新曲線Figure 4. Dynamic update chart of mutation rate
1.3.4 新穎的自適應交叉策略
染色體交叉就是交換父代染色體并重新組合從而生成新的子代染色體的過程,常見的二進制交叉有單點交叉[7]、雙點交叉[7]、均勻交叉[7]和卡牌交叉[7]等。本文使用上述4種交叉操作作為基本的交叉策略,并引用輪盤賭和貪婪的方式進行染色體自適應交叉操作。
首先,該方法將4種策略的優(yōu)先級設為1,每個策略的優(yōu)先級隨著搜索階段的變化而變化。其次,根據每個策略的優(yōu)先級大小,該方法通過輪盤堵的方式選擇合適的交叉策略。優(yōu)先級越大代表被選擇的概率越高。同時,本文使用貪婪的策略進行優(yōu)先級的更新,當一種交叉策略生成的子代染色體支配父代染色體時,該優(yōu)先級會加1。策略被選擇的概率描述為
(5)
其中,PAi是第i個交叉策略被選擇的概率;si是該策略的優(yōu)先級。如果一個策略生成的子代支配其父代,表明該策略適合當前搜索階段,可增加該策略的優(yōu)先級。
如圖5所示,圓中的每個扇形區(qū)域代表一個交叉策略(S1、S2、S3、S4)的優(yōu)先級,策略優(yōu)先級越高,所占的比例越大,表示該策略被選擇的概率越大。初始時,每種策略的優(yōu)先級相同,隨著探索深度的增加,每個策略的優(yōu)先級會發(fā)生變化,優(yōu)先級的值會變得不同。根據式(5)可得到相應策略被選擇的概率,因此每個策略被選中的概率也會不同。在算法每一代結束時,重新初始化每個策略的優(yōu)先級,以防止當前一代的策略選擇影響到下一代。交叉策略自適應選擇與更新的詳細描述如算法1所示。
算法1 自適應交叉策略選擇與更新輸入:策略優(yōu)先級Sm,m∈{1,2,3,4},父代總群。輸出:策略優(yōu)先級Sm,m∈{1,2,3,4},兩個子代。1.用式(5)計算每個策略被選擇的策略SPm2.輪盤賭選擇一個策略SPm3.ifSPm==14. 使用單點交叉策略生成兩個子代5. if有一個子代支配一個父代6. s1=s1+17.else if SPm==28. 使用雙點交叉策略生成兩個子代
圖5 輪盤賭優(yōu)先級Figure 5. Roulette plugging priority
1.3.5 AMGAEP的其他部分
在算法的染色體選擇階段,AMGAEP使用錦標賽選擇方法選擇兩個子代種群,每個子代種群的數(shù)量是父代種群的一半,將兩個子代種群合并得到一個大小和原始父代種群一樣的子代種群。
(6)
本文使用文獻[14]所提方法計算染色體在探索過程中的交叉概率,實現(xiàn)交叉概率的動態(tài)更新,交叉概率pc的計算式為
(7)
其中,pc0是一個控制因子,控制交叉概率的變化程度,本文設為0.8;c是一個可調參數(shù),本文設為0.5;t是當前迭代次數(shù);maxIter是最大迭代次數(shù)。
在算法的其他部分,AMGAEP與原始NSGA-Ⅱ保持一致。AMGAEP算法的標準處理過程如算法2所示。
算法2 AMGAEP輸入:訓練集T={(xi,xj)}ni=1,驗證集V={(xi,xj)}ni=1,測試集T={(xi,xj)}ni=1。輸出:集成剪枝錯誤率err,最優(yōu)的分類器子集cls={ci(x)}ki=1。1.使用訓練集訓練一組基分類器C={ci(x)}mi=1
本文主要研究分類器的選擇,因此分類器的集成使用一種簡單策略,即大多數(shù)投票法,其計算式為
(8)
其中,e=1,2,…,7;k是分類器的數(shù)量。如果分類器j對樣本i的預測值等于e,則φ(·)=1,否則φ(·)=0。
本文實驗電腦配置如下:Windows系統(tǒng)及主頻為2.3 GHz Intel i7-11800H 的CPU和NVIDIA RTX3060顯卡。
表2 5個數(shù)據集中每種表情的詳細信息
AMGAEP在每個數(shù)據集上各自進行10次實驗,將10次實驗得到的帕累托前沿進行組合,再將組合的結果進行非支配排序,從而得到新的帕累托前沿并將此作為10次實驗的結果。將最大迭代次數(shù)maxIter設為500,種群大popsize設為300。
在得到的PF中,將兩端的兩個解剔除,用測試集測試其余解的性能,挑選錯誤率最低的解作為本文方法獲得的最優(yōu)解,從而得到集成剪枝的錯誤率和分類器子集數(shù)量。
本文算法對分類器進行剪枝,剪枝前后分類器的分布情況如圖6所示,圖6(a)和圖6(b)分別為集成剪枝前后基分類器的錯誤率分布情況。
(a)
圖6中的小黑點表示存在相應的分類器有對應的誤差值。圖6(b)是誤差值分布的正態(tài)曲線。由圖6可知,剪枝后的分類器數(shù)量明顯減少且主要集中在錯誤率更低的區(qū)間。但剪枝后仍存在一部分弱分類器,由于本文使用大多數(shù)投票進行集成,因此較少部分分類器不會影響最終的集成效果。
如圖7所示為5個數(shù)據集中7種表情的歸一化混淆矩陣,圖中行代表真實標簽,列代表預測標簽。元素越大,主對角線上的顏色越深,表示預測標簽和真實標簽之間的一致性越高,某個表情的識別率越高。
(a)
將AMGAEP在5個數(shù)據集上與一些集成剪枝方法進行了比較,結果如表3所示。
表3 AMGAEP與8種集成剪枝方法的錯誤率比較
為驗證基分類器性能的好壞影響集成剪枝的最終結果,本文使用EfficientNet[21]和ConvNeXt[22]作為基分類器,通過更改其參數(shù)獲得了30個不同的基分類器模型,包含10個EfficientNet模型和20個convNeXt模型。增加優(yōu)質分類器數(shù)量會增加集成剪枝的性能且在任何一個數(shù)據集上均具有相同效果。本文僅在KDEF數(shù)據集上進行實驗,這30個模型在KDEF數(shù)據集上的錯誤率為0.23~0.28。將這30個基分類器與之前的231個基分類器組合,從而構成了一組新的基分類器池,共計261個基分類器。
在新的基分類器池中,AMGAEP在KDEF數(shù)據集上的結果如表4所示。與表3相比,在新基分類器池中具有更低的錯誤率,說明基分類器模型性能的好壞影響集成剪枝的最終識別結果。
表4 AMGAEP在新基分類器池中的效果
在新的基分類器池中,AMGAEP在KDEF數(shù)據集上的歸一化混淆矩陣如圖8所示。與圖7(e)相比,在新的基分類器池中,本文方法對disgust 和 fear具有更高的識別率,進一步說明了基分類器性能越好,集成剪枝的效果越好。然而,AMGAEP并未在新基分類器池中取得顯著性提升,這是因為基分類器池中的弱分類器會影響集成剪枝的識別結果。提升集成剪枝的整體效果需要向基分類器池中添加更多具有多樣性的優(yōu)質分類器,提高集成剪枝的基線,從而取得更好的識別效果。
圖8 AMGAEP在KDEF數(shù)據集中的歸一化混淆矩陣Figure 8. Normalized confusion matrix of AMGAEP in the KDEF data set
本文提出了一種新的自適應多目標遺傳算法用于分類器的剪枝,提出了新的自適應突變概率計算式,以獲得一組分類器數(shù)量更少、學習能力誤差更低的分類器子集。在交叉策略自適應階段,使用輪盤賭和貪婪策略動態(tài)更新每個交叉策略的優(yōu)先級,根據優(yōu)先級計算每個策略被選中的概率,從而在算法探索開發(fā)過程中自適應地選擇合適的交叉算子生成子代,增強算法在搜索空間的探索能力。突變概率的動態(tài)更新使得所提算法在探索階段更注重全局搜索,而在后期階段則側重于局部開發(fā)。在5個真實人臉表情數(shù)據集上將本文提出的AMGAEP與一些集成剪枝方法進行對比。實驗結果表明,AMGAEP可以選出誤差更低、冗余度更小的分類器子集,提升集成剪枝的效果。
在未來的工作中,本文將考慮使用更多的表情圖片去訓練基分類器以降低分類器模型過擬合的影響。同時,在基分類器池中添加最新的神經網絡模型以提高識別效果。最后,本文考慮將方法應用于公共安全和健康領域去增加該方法的泛化能力。