陽(yáng)華東 李明東 鄧旭 李賢富
摘要:深度卷積神經(jīng)網(wǎng)絡(luò)能自動(dòng)從訓(xùn)練樣本中學(xué)習(xí)高層語(yǔ)義特征,本文嘗試將深度卷積神經(jīng)網(wǎng)絡(luò)用于圖像檢索,以解決語(yǔ)義鴻溝問(wèn)題,將圖像檢索輸入特征使用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)作為提取特征。但傳統(tǒng)的深度卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程的初始參數(shù)是隨機(jī)的,在實(shí)際訓(xùn)練過(guò)程中,如果訓(xùn)練的樣本集不是足夠大該模型容易出現(xiàn)局部?jī)?yōu)化或過(guò)度擬合,致使實(shí)際結(jié)果不好。因此,本文提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)模型,該模型使用未標(biāo)記的樣本數(shù)據(jù)預(yù)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)。在這個(gè)改進(jìn)的模型中,結(jié)合自動(dòng)編碼器的原理,通過(guò)重建輸入數(shù)據(jù)來(lái)提取輸入數(shù)據(jù)的特征表達(dá)式并在常用的Caltech 256數(shù)據(jù)集上對(duì)所提出的方法進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果證明;對(duì)于大型神經(jīng)網(wǎng)絡(luò),提出的改進(jìn)算法具有較高精度且在時(shí)間收斂速度方面較原算法也有提升。同時(shí),還使用了ImageNet預(yù)訓(xùn)練的VggNet網(wǎng)絡(luò)的特征作為圖像檢索的輸入特征,結(jié)果顯示:1.VggNet取得了最高的準(zhǔn)確率和ImageNet預(yù)訓(xùn)練模型的特征具有很好的泛化能力;2.對(duì)于大型網(wǎng)絡(luò)結(jié)構(gòu),在小的數(shù)據(jù)集上重新訓(xùn)練極易陷入過(guò)擬合,因此很難得到最好的訓(xùn)練結(jié)果。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);圖像檢索;預(yù)訓(xùn)練
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)05-0184-03
引言
近年來(lái),數(shù)字圖像領(lǐng)域飛速發(fā)展廣大人民群眾對(duì)數(shù)字圖像功能的需求愈來(lái)愈高,各種成像設(shè)備層出不窮,如何在龐大且繁雜的圖像集里快速準(zhǔn)確地獲得所需目標(biāo)是我們努力的方向,同時(shí)圖像檢索技術(shù)[1]應(yīng)勢(shì)而生。
圖像檢索的發(fā)展經(jīng)歷了兩個(gè)階段:基于文本的圖像檢索和基于內(nèi)容的圖像檢索。[2]在基于文本的圖像檢索中,每個(gè)圖像具有相應(yīng)的標(biāo)簽,該標(biāo)簽根據(jù)搜索關(guān)鍵字和圖像標(biāo)簽之間的匹配程度進(jìn)行搜索。該方法的設(shè)計(jì)很簡(jiǎn)單,但由于圖像標(biāo)簽是人為標(biāo)注的,因此標(biāo)記過(guò)程跟人的理解有很大的關(guān)系,結(jié)果,主觀因素影響更加嚴(yán)重,面對(duì)互聯(lián)網(wǎng)上的大量數(shù)據(jù)顯然是不現(xiàn)實(shí)的。因此基于內(nèi)容的圖像檢索已經(jīng)迅速發(fā)展[3]。這里的內(nèi)容是指圖像本身包含的特征,包括特征、形狀、紋理和顏色,例如SIFT [4],SURF,HOG和GIST。這些特征從各個(gè)角度反映圖像的一個(gè)或一些方面內(nèi)容,可以使圖像檢索的準(zhǔn)確率得到提升。然而,無(wú)論是基于顏色,紋理,形狀還是多特征合成,它都是圖像視覺(jué)內(nèi)容的低級(jí)表示。在機(jī)器和人類(lèi)對(duì)相似性的看法和判定中,兩者間仍然存在難以克服的語(yǔ)義[5]差距。因此,即使基于內(nèi)容的圖像檢索已經(jīng)取得了一系列重要成果,但由于語(yǔ)義空白的差距,圖像檢索仍然是一個(gè)具有挑戰(zhàn)性的問(wèn)題。
2006年,在《科學(xué)》雜志上有一篇來(lái)自多倫多大學(xué)教授Geoffrey E. Hinton發(fā)表的論文[6]加速了深度神經(jīng)網(wǎng)絡(luò)研究的興起。Hinton 研究發(fā)現(xiàn):一個(gè)神經(jīng)網(wǎng)絡(luò)如果擁有多個(gè)隱藏層的特征說(shuō)明其學(xué)習(xí)能力較強(qiáng)。分層初始化訓(xùn)練方法可以有效地避免深度神經(jīng)網(wǎng)絡(luò)難收斂的情況。通過(guò)學(xué)習(xí)如此深入的網(wǎng)絡(luò)結(jié)構(gòu),深入學(xué)習(xí)可以很好地表達(dá)非線性問(wèn)題,從而可以自動(dòng)提取訓(xùn)練樣本的高級(jí)語(yǔ)義特征。
卷積神經(jīng)網(wǎng)絡(luò)是一種典型的深度學(xué)習(xí)架構(gòu),由輸入層、池化層、全鏈接層和輸入層組成[7]。研究表明,卷積神經(jīng)網(wǎng)絡(luò)較低的層通常學(xué)習(xí)圖像的紋理、顏色等底層特征,而較高層的卷積神經(jīng)網(wǎng)絡(luò)通常包含了圖像的語(yǔ)義信息。目前,由于深度神經(jīng)網(wǎng)絡(luò)在圖像分類(lèi)和識(shí)別領(lǐng)域表現(xiàn)出非常強(qiáng)的特征表示,卷積神經(jīng)網(wǎng)絡(luò)已被廣泛應(yīng)用于圖像分類(lèi)[8]和識(shí)別。本文中,我們嘗試使用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的分類(lèi)模型的隱藏層輸出作為圖像的特征表示。在此基礎(chǔ)上,研究了檢索特征的性能,以確定深度學(xué)習(xí)技術(shù)是否可以解決語(yǔ)義缺口問(wèn)題。
1 相關(guān)理論
卷積神經(jīng)網(wǎng)絡(luò)[9]自20世紀(jì)90年代引入以來(lái),典型的深度學(xué)習(xí)[10-12]架構(gòu)之一,以及第一個(gè)真正成功的多層神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理,圖像和圖語(yǔ)音識(shí)別領(lǐng)域取得了顯著成果。
通常,卷積神經(jīng)網(wǎng)絡(luò)中的輸入層是第一層,并且順序地連接幾個(gè)卷積、下采樣層、完全連接的層和分類(lèi)器。[13]學(xué)習(xí)過(guò)程主要包括學(xué)習(xí)卷積和下采樣層[14]。
1.1 卷積層的學(xué)習(xí)
在卷積層中,可學(xué)習(xí)卷積核和前一層的若干特征映射,然后使用激活函數(shù)f。例如Sigmoid函數(shù)、Tanh函數(shù)、Relu函數(shù)等,相應(yīng)的輸出特征可以通過(guò)使用公式(1)獲得。
[hlj=f(i∈Mjhl-1i*Wlij+blj)] (1)
(其中, [hlj]表示第[l]層的第[j]個(gè)特征圖,[l]表示層數(shù),[W]是卷積核,[*]表示二維卷積,[b]是偏置,[Mj]表示輸入特征圖的集合)。
1.2 下采樣層的學(xué)習(xí)
下采樣層執(zhí)行合并操作,同時(shí)保持特征映射的數(shù)量等于相鄰的先前層卷積層特征映射的數(shù)量。但是,特征圖變小,輸出特征可用于等式(2)計(jì)算。
[hlj=f(down(hl-1i)?wlj+blj)] (2)
(其中, [hlj]表示第[l]層的第[j]個(gè)特征圖, [w]是相應(yīng)的權(quán)值,[b]是相應(yīng)的偏置,down()是相應(yīng)的下采樣函數(shù),如果對(duì)輸入特征圖的塊特征值求平均值或者最大值等,這樣輸出特征圖在兩個(gè)維度上都縮小了[p]倍)。
對(duì)于深度卷積網(wǎng)絡(luò),使用前后逐層學(xué)習(xí)。在全部卷積和下采樣層學(xué)習(xí)完畢之后,將所得到的標(biāo)簽數(shù)據(jù)輸入網(wǎng)絡(luò),同時(shí)將學(xué)習(xí)的特征輸入編碼器。BP算法用于微調(diào)網(wǎng)絡(luò)的訓(xùn)練參數(shù)。
2 提出的改進(jìn)算法
考慮到上述學(xué)習(xí)過(guò)程的初始參數(shù)是隨機(jī)的,但在實(shí)際訓(xùn)練過(guò)程中,如果訓(xùn)練的樣本集不是足夠大。該模型容易出現(xiàn)局部?jī)?yōu)化或過(guò)度擬合,致使實(shí)際結(jié)果不好。因此,本文提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)模型,該模型使用未標(biāo)記的樣本數(shù)據(jù)預(yù)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)。
在這個(gè)改進(jìn)的模型中,本文結(jié)合自動(dòng)編碼器[15]的原理,通過(guò)重建輸入數(shù)據(jù)來(lái)提取輸入數(shù)據(jù)的特征表達(dá)式。它主要包括卷積編碼,卷積解碼和誤差反向傳播以更新權(quán)重的過(guò)程。具體過(guò)程如下:
假設(shè)某卷積層共有H個(gè)特征圖,[x]表示當(dāng)前層的輸入,[Wk]表示第[k]個(gè)特征圖的權(quán)值,偏置為[bk],采用的激活函數(shù)為[f]。
卷積編碼過(guò)程:得到當(dāng)前層的特征圖為:
[hk=f(x*Wk+bk)] (3)
(其中*表示2維卷積)。
卷積解碼過(guò)程:通過(guò)解碼器,利用公式(4)得到特征圖式(3)的重構(gòu)。
[x=f(k=1Hhk*Wk+c)] (4)
(其中[Wk]表示第[k]個(gè)特征圖的權(quán)值矩陣[Wk]的轉(zhuǎn)置,[c]為相應(yīng)的偏置)。
目標(biāo)函數(shù)是最小化重建誤差函數(shù):
[E(W,b)=||x-x||2] (5)
誤差反向傳播過(guò)程:使用類(lèi)似于BP神經(jīng)網(wǎng)絡(luò)的誤差反向傳播算法,使用以下公式計(jì)算目標(biāo)函數(shù)的梯度值。
[?E(W,b)?Wk=x*δ(hk)+hk*δ(x)] (6)
(其中[δ(hk)]和[δ(x)]分別表示卷積層和重構(gòu)層的殘差)。[13] 最終的隨機(jī)梯度下降法可用于更新權(quán)值,直到網(wǎng)絡(luò)收斂。
通過(guò)使用上述過(guò)程中描述的方法,可以獲得這個(gè)卷積神經(jīng)網(wǎng)絡(luò)的初始化參數(shù),然后標(biāo)記數(shù)據(jù)用于再次訓(xùn)練。以這種方式可以獲得訓(xùn)練后的卷積神經(jīng)網(wǎng)絡(luò),并且提取網(wǎng)絡(luò)的最后一層輸出矩陣用于圖像檢索。
3 實(shí)驗(yàn)
在本文中,從深度卷積神經(jīng)網(wǎng)絡(luò)中提取的兩個(gè)特征被用于圖像檢索。一種是自定義的網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)構(gòu)和AlexNet[16]大致一致,對(duì)于這種網(wǎng)絡(luò),本文采用隨機(jī)初始化(原算法)和提出的改進(jìn)算法(改進(jìn)算法)兩種方法對(duì)其進(jìn)行訓(xùn)練,然后提取特征用于圖像檢索。另一種深度卷積神經(jīng)網(wǎng)絡(luò)采用VggNet[17],其直接采用ImageNet預(yù)訓(xùn)練模型進(jìn)行特征提取。
3.1 實(shí)驗(yàn)數(shù)據(jù)集
本文在常用的Caltech 256數(shù)據(jù)集[18]上對(duì)所提出的方法進(jìn)行實(shí)驗(yàn)驗(yàn)證,該數(shù)據(jù)集共有30607個(gè)圖像,分為256個(gè)不同的對(duì)象類(lèi)別,以及一個(gè)背景類(lèi)別。每個(gè)類(lèi)別平均包含40到800張圖像,每個(gè)圖像的大小約為[300×200]像素,通過(guò)計(jì)算查詢(xún)圖像的平均準(zhǔn)確率來(lái)對(duì)所提出的方法進(jìn)行量化評(píng)價(jià)。圖1顯示了Caltech 256數(shù)據(jù)集示例圖片。
3.2 網(wǎng)絡(luò)結(jié)構(gòu)
該網(wǎng)絡(luò)與AlexNet網(wǎng)絡(luò)大致相同,與AlexNet的不同之處在于,自定義網(wǎng)絡(luò)將AlexNet網(wǎng)絡(luò)最后的1000個(gè)分類(lèi)改為了256個(gè),以適應(yīng)數(shù)據(jù)集的大小。其網(wǎng)絡(luò)具體參數(shù)如下:
VggNet與AlexNet也非常類(lèi)似,與AlexNet不同的是,其卷積層的模板更小,都為3,但是網(wǎng)絡(luò)的深度更深,模型的參數(shù)更少,這樣對(duì)避免過(guò)擬合問(wèn)題具有一定的作用。
3.3 實(shí)驗(yàn)結(jié)果
在該實(shí)驗(yàn)中,使用fc6層特征被用作圖像檢索的輸入,其中使用VggNet網(wǎng)絡(luò)的檢索結(jié)果如圖2所示。
比較幾種不同的深度卷積神經(jīng)網(wǎng)絡(luò),本文從收斂速度和準(zhǔn)確度兩個(gè)方面來(lái)考慮,圖3顯示了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(原算法)和改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(改進(jìn)算法)的收斂速度(由于VGGNet直接ImageNet預(yù)訓(xùn)練模型的特征,因此無(wú)法獲得收斂速度)。
圖3的結(jié)果顯示,改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(改進(jìn)算法)由于初始化參數(shù)時(shí),采用了預(yù)訓(xùn)練的方式,使算法在訓(xùn)練之初具有了較好的初始化值,收斂速度上改進(jìn)算法優(yōu)于原算法。
圖4顯示了幾種網(wǎng)絡(luò)的檢索準(zhǔn)確度,這里均使用fc6層的特征作為圖像檢索的輸入。
從圖4的實(shí)驗(yàn)結(jié)果能夠得出,改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(改進(jìn)算法)準(zhǔn)確率明顯高于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(原算法),說(shuō)明對(duì)于參數(shù)較大的模型,當(dāng)訓(xùn)練數(shù)據(jù)集不是很大時(shí),預(yù)訓(xùn)練可以有效地提高準(zhǔn)確率。此外,從結(jié)果還可以看出,VggNet的檢索的準(zhǔn)確度最高,說(shuō)明了ImageNet預(yù)訓(xùn)練模型的特征具有很好的泛化能力,同時(shí)也證明了,對(duì)于大型網(wǎng)絡(luò)結(jié)構(gòu),在小的數(shù)據(jù)集上重新訓(xùn)練極易陷入過(guò)擬合,因此很難得到好的訓(xùn)練結(jié)果。
4 結(jié)論
針對(duì)傳統(tǒng)圖像檢索方法中語(yǔ)義鴻溝的存在,本文嘗試?yán)蒙疃染矸e神經(jīng)網(wǎng)絡(luò)用于圖像檢索。本文采用的改進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò),提取特征作為圖像檢索的輸入特征,實(shí)驗(yàn)結(jié)果表明,對(duì)于大型神經(jīng)網(wǎng)絡(luò),采用本文提出的算法具有更高的準(zhǔn)確率。改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(改進(jìn)算法)由于初始化參數(shù)時(shí),采用了預(yù)訓(xùn)練的方式,使算法在訓(xùn)練之初具有了較好的初始化值,與原算法相比,該算法在收斂速度上更好。此外,本文還使用了ImageNet預(yù)訓(xùn)練的VggNet網(wǎng)絡(luò)的特征作為圖像檢索的輸入特征,實(shí)驗(yàn)結(jié)果表明,VggNet取得了最高的準(zhǔn)確率,說(shuō)明了ImageNet預(yù)訓(xùn)練模型的特征具有很好的泛化能力,同時(shí)也證明了,對(duì)于大型網(wǎng)絡(luò)結(jié)構(gòu),在小的數(shù)據(jù)集上重新訓(xùn)練極易陷入過(guò)擬合,因此很難得到最好的訓(xùn)練結(jié)果。
參考文獻(xiàn):
[1] Zhang Chen, Lingyu-Duan, Chunyu Wang, Tiejun Huang, Wen Gao. Generating vocabulary for global feature representation towar ds commerce image retrieva[C].IEEE ICIP 2011:105-108.
[2] 王偉光,解成俊.《基于內(nèi)容的圖像檢索技術(shù)探索》ISSN:1673-5641.產(chǎn)業(yè)與科技論壇,2014(1):P82—P82,83.
[3] 周飛,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[4] David Lowe. Object recognition from local scale-invariant features[C].IEEE ICCV ,1999:1150-1157.
[5]胡二雷,馮瑞.基于深度學(xué)習(xí)的圖像檢索系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017.26(3):8-19.
[6] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. science, 2006, 313(5786):504–507.
[7] 劉洋.基于深度學(xué)習(xí)的圖像檢索技術(shù)研究[D].武漢:華中科技大學(xué),2015.
[8] 席曉聰.圖像分類(lèi)方法研究[D].[S.l.]:山東大學(xué),2013.
[9] LECUN Y, BOSER B E, DENKER J S, et al. Handwritten digit recognition with a back-propagation network[C].Advances in neural information processing systems. 1990:396–404.
[10] 劉建偉,楊育彬,陳兆乾.深度學(xué)習(xí)研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2014,31(7):1921-1930,1942.
[11] 孫志遠(yuǎn),魯成祥,史中植,等.深度學(xué)習(xí)研究與進(jìn)展[J].計(jì)算機(jī)科學(xué),2016,43(2):1-8.
[12] 尹寶才,王文通,王立春.深度學(xué)習(xí)研究綜述[J],北京工業(yè)大學(xué)學(xué)報(bào).2015,41(1):48-59.
[13] 段寶彬,韓立新.改進(jìn)的深度卷積網(wǎng)絡(luò)及在碎紙片拼接中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2014(9):P176—P181,270.
[14] 芮挺,費(fèi)建超,周遊,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的行人檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2016(13):162-166.
[15] HINTON G E, ZEMEL R S. Autoencoders, minimum description length and Helmholtz free energy[C]//Advances in neural information processing systems. 1994:3-10.
[16] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012:1097–1105.
[17] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J].arXiv preprint arXiv:1409.1556, 2014.
[18] GRIFFIN G, HOLUB A, PERONA P. Caltech-256 object category dataset[J].2007.
【通聯(lián)編輯:唐一東】