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