李 偉,黃鶴鳴
(1. 青海師范大學(xué)計算機學(xué)院,青海 西寧 810008;2. 藏語智能信息處理與應(yīng)用國家重點實驗室,青海 西寧 810008)
近年來,隨著大數(shù)據(jù)和硬件計算能力的發(fā)展,神經(jīng)網(wǎng)絡(luò)在各個領(lǐng)域不斷取得了突破性進展[1]。卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Networks, CNNs)作為一種帶有卷積計算的深層前饋型神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks),可以更好地獲取圖像的空間位置等相關(guān)特征[2,3]。2017年,陳玉石等人提出使用不同的卷積神經(jīng)網(wǎng)絡(luò)提取異構(gòu)特征的圖像分類模型[4];Bartunov等人在2018年將注意力機制應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)來提取圖像特征[5],注意力機制通過引入新的參數(shù)來彌補模型的擬合能力;2019年,王培森等人認為單一的注意力機制不能充分提取圖像的特征信息[6],故提出多通道視覺注意力機制的全卷積網(wǎng)絡(luò)分類模型;同年,Li等人提出了雙交叉熵損失函數(shù)概念,并將其應(yīng)用到CNNs結(jié)構(gòu)[7],該模型在小樣本汽車庫上取得了不錯的分類效果;2020年9月,Pathak等人將深度遷移學(xué)習(xí)算法應(yīng)用于CNNs,搭建出基于深度遷移學(xué)習(xí)的2019新冠肺炎病毒分類模型,并在此模型中使用十倍交叉驗證來防止過擬合現(xiàn)象[8];同年12月,張祥東等人提出了一種結(jié)合擴張卷積與注意力機制的三維-二維串聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型[9],利用三維卷積提取圖像特征的同時,并采用二維卷積進一步提取高級空間語義信息,再通過引入擴張卷積增大卷積核感受野,構(gòu)建了多尺度特征提取結(jié)構(gòu),最后,利用注意力機制使網(wǎng)絡(luò)關(guān)注到較重要特征,并抑制噪聲和冗余信息,有效提高了小樣本訓(xùn)練條件下的分類精度。
經(jīng)過不斷地發(fā)展研究和改進,CNN具有良好的擴展性和魯棒性。利用CNN進行圖像分類時,能夠比較快速且全面地提取空間位置相關(guān)特征,但會產(chǎn)生過擬合、梯度爆炸或梯度消失等問題。Dropout技術(shù)有效緩解了網(wǎng)絡(luò)過擬合問題,本研究受圖像自身特性的啟發(fā),提出了一種融合掩模和注意機制的CNN圖像分類算法:使用基于掩模的預(yù)訓(xùn)練方法突出前景目標物體和去噪神經(jīng)網(wǎng)絡(luò)提取的去噪深度特征,降低了圖像背景噪聲和深度特征噪聲的干擾,從而促使網(wǎng)絡(luò)模型總框架更加穩(wěn)定。并使用三種不同注意類型的激活函數(shù)進行充分實驗,進一步提升了算法的性能。實驗結(jié)果表明:將其算法應(yīng)用于Corel-1000圖像庫時,分類精確度有了較大提升。
為了更好地讀取圖像內(nèi)容信息和提高圖像分類精確度,構(gòu)建了如圖1所示的深度CNN網(wǎng)絡(luò)模型總體框架。該框架模型共有四個卷積層:去噪深度特征層、深度特征解釋層、特征抽象表示層、特征高級表示層。卷積層后各跟隨一個池化層,池化是縮小高、長方向上的空間運算。后面是三層全連接層,相鄰層的神經(jīng)元全部連接在一起,輸出的數(shù)量可以任意決定。最后采用應(yīng)對多分類問題的softmax函數(shù)進行分類[10-12],其計算公式如下
圖1 深度CNN網(wǎng)絡(luò)模型總體框架
圖2 去噪神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(1)
exp(x)是表示ex的指數(shù)函數(shù),假設(shè)輸出層共有n個神經(jīng)元,計算第k個神經(jīng)元的輸出yk。softmax函數(shù)的分子是輸入信號ak的指數(shù)函數(shù),分母是所有輸入信號的指數(shù)函數(shù)的和。
圖1中的去噪深度特征層由一個輸入層和兩個卷積層構(gòu)成,用于提取去噪深度特征。CNN的卷積層依賴于網(wǎng)絡(luò)分層學(xué)習(xí)上下文不變特征[4]:空間位置信息,這在圖像分類和圖像檢索中都特別有用。
在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和訓(xùn)練過程中,由于特征維度比較高而訓(xùn)練樣本有限,過擬合問題不可避免。同時,神經(jīng)網(wǎng)絡(luò)希望模型對沒有包含在訓(xùn)練數(shù)據(jù)里的未觀測數(shù)據(jù)也可以進行正確的識別。因此,在搭建復(fù)雜有效的網(wǎng)絡(luò)模型時,尋找有效抑制過擬合的方法很重要。
本研究受圖像自身特性的啟發(fā),提出了一種融合掩模的預(yù)訓(xùn)練方法。這種方法通過降低圖像背景噪聲的干擾,不僅可以對訓(xùn)練過程中出現(xiàn)的過擬合現(xiàn)象起到一定程度的抑制作用,而且更有助于提高算法的穩(wěn)定性和健壯性。圖像掩模處理是將原圖中的每個像素和掩膜中的每個對應(yīng)像素進行與運算。比如1 &1=1,1 &0=0等。一個3×3的圖像與3×3的掩模進行運算,得到結(jié)果圖3。
圖3 圖像的掩模處理過程圖
基于掩模預(yù)訓(xùn)練方法的具體步驟是:首先,對圖像做掩模處理,去掉背景,突出前景的目標物體,如圖4所示;其次,使用掩模后的圖像對網(wǎng)絡(luò)進行首次預(yù)訓(xùn)練;最后,使用完整圖像對神經(jīng)網(wǎng)絡(luò)進行第二次預(yù)訓(xùn)練。
圖4 圖像掩模處理后的效果圖
基于掩模預(yù)訓(xùn)練方法中掩模圖像的算法,用偽代碼描述如下:
Begin
原始圖像像素值存于矩陣OG;
二值化掩模矩陣數(shù)組MA;
掩模后圖像像素值存于矩陣MG;
for(i=0;i for(j=0;j MG[i][j]=OG[i][j]*MA[i][j]; end for end for End 比例關(guān)注[13]或空間關(guān)注[14]只獲取一種類型的關(guān)注,就需要通過權(quán)重共享或歸范化對網(wǎng)絡(luò)結(jié)構(gòu)施加額外的約束。文獻[15,16]研究了混合關(guān)注?;旌详P(guān)注在沒有附加約束的情況下,通過改變不同的關(guān)注度,可以獲得最佳性能的網(wǎng)絡(luò)模型。由于ReLU函數(shù)具有單側(cè)抑制作用,訓(xùn)練速度快,也能夠更好地學(xué)習(xí)數(shù)據(jù)特征,所以使用了帶有隨機失活和數(shù)據(jù)增強的ReLU[17]混合關(guān)注、通道關(guān)注和空間關(guān)注三種類型的激活函數(shù)。混合關(guān)注f1是在沒有施加額外約束的條件下,針對每一個通道和空間位置,使用激活函數(shù)ReLU。f1的計算公式如下 (2) 通道關(guān)注f2對所有通道內(nèi)的每個空間位置的像素點執(zhí)行L2標準化,達到移除空間信息的目的。f2的計算公式如下 (3) 空間關(guān)注f3的作用與通道關(guān)注f2相反,對每個通道的所有特征圖進行標準化,移除通道信息僅保留空間信息。f3的計算公式如下 (4) 在式(2)-(4)中,i表示所有空間位置,c表示所有通道,meanc和stdc分別表示第c個通道的均值和標準差,xi表示第i個空間位置的特征向量。 實驗使用的是Corel公司所提供的標準圖像素材庫Corel-1000,有10類子集,共包含1000幅圖像。并且,網(wǎng)絡(luò)模型中不同卷積層的參數(shù)設(shè)置如表1所示。 表1 各卷積層中的參數(shù) 在本研究中,使用交叉熵誤差函數(shù)作為模型的損失函數(shù)[18]。同時,要使損失函數(shù)最優(yōu)化,需要用到優(yōu)化方法,實驗采用Adam優(yōu)化器[19],其更新步長的步驟可總結(jié)如下 1) 計算時刻t的梯度 gt=?θJ(θt-1) (5) 2) 計算梯度的指數(shù)移動平均數(shù): mt=β1mt-1+(1-β1)gt (6) 3) 計算梯度平方的指數(shù)移動平均數(shù): (7) 4) 對梯度均值mt進行偏差糾正: (8) 5) 對梯度方差vt進行偏差糾正: (9) 6) 更新參數(shù),默認學(xué)習(xí)率α=0.001: (10) 其中,ε=10-8,避免除數(shù)為0。 本研究將使用去噪神經(jīng)網(wǎng)絡(luò)提取深度特征作為輸入的去噪卷積神經(jīng)網(wǎng)絡(luò)(Denoising Convolution Neural Network),稱為DCNN;將基于掩模預(yù)訓(xùn)練方法的DCNN (mask-based Denoising Convolution Neural Network),稱為mDCNN。各算法在測試集上的準確率見表2。 表2 CNN、DCNN和mDCNN在測試集上的準確率 從表2可以看出:由于DCNN使用了去噪深度特征作為輸入,所以一定程度上提升了分類準確率。在此基礎(chǔ)上,mDCNN在首次預(yù)訓(xùn)練時,不僅突出了圖像中的目標物體,還降低了背景噪聲的干擾。從而較大程度地提升了分類精度,mDCNN比CNN分類準確率提高了5.81%。這是因為mDCNN網(wǎng)絡(luò)模型不僅使用了去噪深度特征,還掩蔽掉了圖像的背景噪聲,抑制了訓(xùn)練過程中出現(xiàn)的過擬合現(xiàn)象,從而提升了分類準確率。 為了更明顯地展示實驗結(jié)果,圖5給出了mDCNN和CNN在測試集上的曲線精度對比圖。從圖5中的曲線精度對比圖可以看到:首先,和CNN相比,mDCNN有效提高了分類精度;其次,由于mDCNN降低了圖像背景噪聲的干擾,使得前景目標物體更加突出,比CNN的收斂速度更快;最后,mDCNN網(wǎng)絡(luò)模型具有更加優(yōu)良的分類穩(wěn)定性。 圖5 mDCNN和CNN在測試集的曲線精度對比圖 為了驗證三種不同注意類型的激活函數(shù)在不同卷積層上的實驗效果,在mDCNN網(wǎng)絡(luò)模型的第一個卷積層使用不同注意類型的激活函數(shù),實驗結(jié)果如箱線圖6和表3所示。 表3 測試集上注意機制的實驗結(jié)果 圖6 三種不同注意機制在測試集上的錯誤率 從表3可以得到,由于通道關(guān)注和空間關(guān)注僅關(guān)注了一種類型的信息,分別去除了空間位置信息和通道信息。所以與混合關(guān)注的錯誤率相比,實驗數(shù)據(jù)不夠理想:空間關(guān)注的錯誤率比混合關(guān)注的錯誤率提升了7.4個百分點,而通道關(guān)注的錯誤率提升了10.3個百分點。當只在mDCNN模型的第一個卷積層進行實驗時,通道關(guān)注性能最差,而混合關(guān)注同時考慮了空間位置和通道信息,其性能最優(yōu)。 從圖6的箱線圖中,可以觀察到,混合關(guān)注有關(guān)錯誤率的相應(yīng)數(shù)值特性,均小于空間關(guān)注和通道關(guān)注。此外,混合關(guān)注的實驗結(jié)果比空間關(guān)注和通道關(guān)注更為緊湊。因此,混合關(guān)注不僅有較低的錯誤率,而且性能也相對穩(wěn)定。相比通道關(guān)注,空間關(guān)注性能略有提高。 當mDCNN網(wǎng)絡(luò)模型的前兩個卷積層均使用三種不同注意機制時,在測試集上得到的實驗結(jié)果見表4??梢钥闯?當前兩層卷積都使用通道關(guān)注或空間關(guān)注時,與混合關(guān)注相比,實驗效果差距明顯增大。相對于表3的實驗性能,表4中的空間關(guān)注相比于通道關(guān)注,錯誤率上升了2.6個百分點。 表4 三種不同注意機制的實驗結(jié)果 本研究提出了基于去噪神經(jīng)網(wǎng)絡(luò)的掩模預(yù)訓(xùn)練方法,該方法通過掩模預(yù)訓(xùn)練消除圖像的背景噪聲和深度特征噪聲的干擾,突出圖像的前景目標物體,有效抑制了CNN訓(xùn)練過程中出現(xiàn)的過擬合現(xiàn)象。同時,使用三種不同注意類型的激活函數(shù),在標準圖像庫Corel-1000上充分進行驗證。實驗結(jié)果表明,基于去噪神經(jīng)網(wǎng)絡(luò)的掩模預(yù)訓(xùn)練方法不僅對分類效果有較大程度的提升,而且加速了網(wǎng)絡(luò)模型的收斂速度,增強了算法的穩(wěn)定性。特別地,加入混合注意機制后,實驗效果最優(yōu)。在未來的研究工作中,嘗試多特征數(shù)據(jù)融合比如加入主顏色特征,彌補CNN只讀取圖像空間位置信息的不足,使模型性能達到更優(yōu)。3.2 注意機制
4 實驗結(jié)果及分析
4.1 實驗參數(shù)與圖像庫
4.2 實驗結(jié)果
5 總結(jié)