劉曦 高士武 賀雨
摘 ? 要:為提高卷積神經(jīng)網(wǎng)絡(luò)(CNN)在小樣本數(shù)據(jù)集中的識別準(zhǔn)確率,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的目標(biāo)分類方法,提高了卷積神經(jīng)網(wǎng)絡(luò)對小樣本混凝土裂紋的識別率。實驗表明,該方法加快了卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,降低了網(wǎng)絡(luò)的過擬合過程,提高了目標(biāo)分類識別準(zhǔn)確率。
關(guān)鍵詞:遷移學(xué)習(xí) ?卷積神經(jīng)網(wǎng)絡(luò) ?裂紋分類
中圖分類號:G642 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)02(a)-0024-02
隨著計算機(jī)技術(shù)的發(fā)展,基于機(jī)器視覺的橋梁檢測法受到了人們的關(guān)注,它是基于機(jī)器視覺理論,利用計算機(jī)、無人機(jī)等設(shè)備對橋梁進(jìn)行遠(yuǎn)距離、高像素、低成本的自動檢測技術(shù)[1]。使其能夠代替人工專家,實現(xiàn)對混凝土橋梁裂紋的識別、分類、定位等工作。當(dāng)前卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像識別方面表現(xiàn)十分出色[2],隨著深度學(xué)習(xí)技術(shù)的發(fā)展,有了把深度學(xué)習(xí)技術(shù)和橋梁結(jié)構(gòu)損傷檢測相結(jié)合的想法。但在深度學(xué)習(xí)任務(wù)中,訓(xùn)練結(jié)構(gòu)模型需要數(shù)量龐大的數(shù)據(jù)集,否則容易出現(xiàn)過擬合和陷入局部最優(yōu)解等現(xiàn)象。遷移學(xué)習(xí)的加入很好地解決了訓(xùn)練樣本不足所帶來的問題。本文應(yīng)用的是首先將從大量數(shù)據(jù)集上學(xué)習(xí)到的CNN遷移到小樣本目標(biāo)集上,作為目標(biāo)集的底層和中層特征提取器;然后替換CNN的全連接層;最后通過小樣本目標(biāo)數(shù)據(jù)集對新的全連接層進(jìn)行訓(xùn)練,得到適用于小樣本目標(biāo)集的分類識別網(wǎng)絡(luò)。
1 ?卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)基本原理
1.1 卷積神經(jīng)網(wǎng)絡(luò)
本文使用的卷積神經(jīng)網(wǎng)絡(luò)模型主要是由輸入層、卷積層、批歸一化層、池化層、全連接層和輸出層組成[3]。卷積層的主要功能是訓(xùn)練提取目標(biāo)局部特征。池化層主要是對局部特征圖進(jìn)行降維,提升網(wǎng)絡(luò)對輸入圖像的平移旋轉(zhuǎn)等抗變形能力,本文選擇無重疊區(qū)域的最大池化(max pooling)作為采樣函數(shù),相比平均池化(average pooling),最大池化能更好地保留感知野之間的相互特性。在卷積層與池化層中添加了批歸一化層,它不僅可以加快模型的收斂速度,而且在一定程度上緩解了網(wǎng)絡(luò)中“梯度彌散”的問題,使得訓(xùn)練網(wǎng)絡(luò)模型更加簡單和穩(wěn)定。經(jīng)過多組卷積層與下采樣層的運(yùn)算,CNN依靠全連接網(wǎng)絡(luò)加一個頂層激活函數(shù)對提取的特征進(jìn)行分類,頂層分類函數(shù)為softmax。
1.2 遷移學(xué)習(xí)
深度學(xué)習(xí)近年來已經(jīng)取得了巨大成功,但它在很大程度上依然依賴于大量數(shù)據(jù),特別是帶有標(biāo)記的數(shù)據(jù)[4]。在實際應(yīng)用中,帶有標(biāo)記的有用數(shù)據(jù)往往非常珍貴。為了減少深度學(xué)習(xí)對可用數(shù)據(jù)數(shù)量的巨大依賴性,遷移學(xué)習(xí)成為一種非常有效的手段。遷移學(xué)習(xí)的一般定義是:給定源域及其學(xué)習(xí)任務(wù),目標(biāo)域及其目標(biāo)任務(wù),目的是使用源域與源目標(biāo)的知識幫助改進(jìn)學(xué)習(xí)目標(biāo)任務(wù)中的預(yù)測功能。根據(jù)源域和目標(biāo)域與任務(wù)之間的不同條件,遷移學(xué)習(xí)可以分為三個子類,歸納、遷移和無監(jiān)督,本文中的檢測任務(wù)屬于歸納學(xué)習(xí),歸納學(xué)習(xí)需要在目標(biāo)中標(biāo)記一些數(shù)據(jù)。此外,根據(jù)知識遷移目標(biāo)域的要求,有四種常用方法可以應(yīng)用:(1)實例遷移學(xué)習(xí)方法;(2)特征遷移學(xué)習(xí)方法;(3)參數(shù)遷移學(xué)習(xí)方法;(4)關(guān)系遷移學(xué)習(xí)方法。
2 ?網(wǎng)絡(luò)結(jié)構(gòu)
本文使用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是VGG結(jié)構(gòu)的變體形式,其中使用大小為33的濾波器,最大池化層的步長為2,窗口大小為22,與原型VGGNet相比,在softmax層之前將配置更改為具有256個神經(jīng)元的全連接層,使網(wǎng)絡(luò)由于訓(xùn)練數(shù)據(jù)不足而更好地與遷移學(xué)習(xí)兼容。模型輸入的參數(shù)數(shù)量,濾波器大小和全連接層中的神經(jīng)元數(shù)量有關(guān)。首先通過大樣本數(shù)據(jù)集對卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)進(jìn)行預(yù)訓(xùn)練;其次,用兩個自適應(yīng)全連接層代替卷積神經(jīng)網(wǎng)絡(luò)中全連接層,實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的遷移學(xué)習(xí);最后通過小樣本數(shù)據(jù)集對新的全連接層網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)進(jìn)行訓(xùn)練,得到新的分類識別模型。新適應(yīng)層的維度基于圖像中特征的復(fù)雜性,取決于網(wǎng)絡(luò)經(jīng)驗和交叉驗證。在設(shè)計中,使用兩個自適應(yīng)全連接層,其中第一個具有256個神經(jīng)元,第二個是Softmax層,其中神經(jīng)元的數(shù)量等于任務(wù)類的數(shù)量。
3 ?網(wǎng)絡(luò)訓(xùn)練
實驗環(huán)境為python3.5.2,基于keras2.1.5,計算機(jī)配置為:intel core i5 7500 CPU、主頻3.4GHz,GPU:NVIDIA GTX 1050TI,內(nèi)存為8GB。原始圖像總數(shù)為1000張高清照片(3,344×2,224分辨率)。這些圖像來自大型鋼筋混凝土梁強(qiáng)度檢測試驗。使用索尼NEX-5C數(shù)碼單反相機(jī)采集。其中800個圖像用于訓(xùn)練和驗證,200個圖像用于測試。將原始圖像裁剪成224×224像素分辨率的較小圖像,以構(gòu)建用于訓(xùn)練和驗證的數(shù)據(jù)集。在訓(xùn)練之前,首先將每個圖像標(biāo)注為有損傷和無損傷的標(biāo)簽。在測試步驟中使用滑動窗口技術(shù),用來檢測位于圖像空間中任何位置的裂縫。同時在此訓(xùn)練模式中應(yīng)用數(shù)據(jù)增強(qiáng)技巧,減少過度擬合問題。使用實驗采集數(shù)據(jù)進(jìn)行歸一化處理,搭建卷積神經(jīng)網(wǎng)絡(luò)。編譯函數(shù)選用RMSprop,層間激活函數(shù)選用ReLU,分類函數(shù)選用softmax。把訓(xùn)練集輸入搭建好的CNN中,將數(shù)據(jù)通過預(yù)訓(xùn)練模型得到的特征向量保存下來,接著以這些特征向量為原始數(shù)據(jù)訓(xùn)練我們新的全連接層網(wǎng)絡(luò),經(jīng)過100次充分迭代后,損失值不再下降,則認(rèn)為網(wǎng)絡(luò)訓(xùn)練完成。
4 ?實驗結(jié)論
從圖2可以看到,對裂紋圖像進(jìn)行分類時,零基礎(chǔ)學(xué)習(xí)的分類正確率初始值為17.4%,同時期的遷移學(xué)習(xí)初始值為61.8%。經(jīng)過約20次epochs迭代訓(xùn)練后遷移學(xué)習(xí)模式下網(wǎng)絡(luò)分類正確率達(dá)到峰值97.39%,經(jīng)過約60次epochs迭代訓(xùn)練后兩者均達(dá)到最高值。相比較而言,遷移學(xué)習(xí)的loss值下降得也更快,說明模型的學(xué)習(xí)速度更快。通過對比可以看到,遷移學(xué)習(xí)的迭代曲線相比零基礎(chǔ)學(xué)習(xí)更加平滑,說明遷移學(xué)習(xí)模式下,每一次迭代過程更加趨向于全局最優(yōu)解,避免了陷入局部最優(yōu)的問題發(fā)生,并且明顯加快了網(wǎng)絡(luò)參數(shù)的訓(xùn)練速度。在未來的研究中,有三種方法可以改善模型的性能:(1)增加訓(xùn)練數(shù)據(jù);(2)改進(jìn)更好的架構(gòu);(3)使用相同的架構(gòu),微調(diào)一些部分網(wǎng)絡(luò)結(jié)構(gòu)。
參考文獻(xiàn)
[1] 龐娜,趙啟林,芮挺,等.基于機(jī)器視覺的橋梁檢測技術(shù)現(xiàn)狀及發(fā)展[J].現(xiàn)代交通技術(shù),2015(6): 25-31.
[2] 劉洪公,王學(xué)軍,李冰瑩,等.基于卷積神經(jīng)網(wǎng)絡(luò)的橋梁裂縫檢測與識別[J].河北科技大學(xué)學(xué)報,2016(5):485-490.
[3] 李雪松,林逸洲,馬宏偉,等.基于卷積神經(jīng)網(wǎng)絡(luò)的橋梁損傷識別方法應(yīng)用研究[J].青海大學(xué)學(xué)報,2018(2):1-46.
[4] 李松,魏中浩,張冰塵,等.深度卷積神經(jīng)網(wǎng)絡(luò)在遷移學(xué)習(xí)模式下的SAR目標(biāo)識別李松[J].中國科學(xué)院大學(xué)學(xué)報,2018(1):75-83.