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