葉建龍,胡新海
(隴南師范高等專科學(xué)校,甘肅 成縣 742500)
科學(xué)技術(shù)的飛速發(fā)展,自媒體的日新月異,圖像視頻充斥著人類生活的方方面面,基于海量數(shù)據(jù)的圖像分類和識(shí)別技術(shù)成為當(dāng)前研究的熱點(diǎn),也對(duì)相關(guān)的研究提出了更高的要求[1]。目前,由于圖像的復(fù)雜性以及各種算法本身固有的局限性,圖像識(shí)別領(lǐng)域在海量圖像識(shí)別的精度和性能等方面仍然是研究的難點(diǎn),主流的技術(shù)包括支持向量機(jī)、基于紋理特征等圖像特征提取和分類算法,其中傳統(tǒng)的基于支持向量機(jī)的圖像分類技術(shù)精度僅僅達(dá)到48%左右,距離期望值相去甚遠(yuǎn)[2]。Grishick等人提出了將卷積神經(jīng)網(wǎng)絡(luò)與推薦方法相結(jié)合進(jìn)行圖像特征提取和分類工作,提取精度較高但檢測(cè)速度比較慢[3]。Zhou等學(xué)者將機(jī)器視覺(jué)與改進(jìn)的SVM分類算法結(jié)合應(yīng)用于農(nóng)作物病蟲(chóng)害識(shí)別工作,檢測(cè)準(zhǔn)確率也有較大的提升,弊端在于算法復(fù)雜度較高[4]。2011年以后,深度學(xué)習(xí)技術(shù)日趨成熟并廣泛應(yīng)用,在自然語(yǔ)言處理、語(yǔ)言識(shí)別等很多領(lǐng)域都取得了良好的成果,如何將深度學(xué)習(xí)技術(shù)與圖像識(shí)別深度融合提升識(shí)別的準(zhǔn)確率和性能,是研究的重點(diǎn)所在。
基于前人研究的基礎(chǔ)上,提出改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別算法,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)具有的共享權(quán)值、自學(xué)習(xí)提取分類特征、網(wǎng)絡(luò)訓(xùn)練的優(yōu)勢(shì),在模型訓(xùn)練階段通過(guò)歸納遷移算法構(gòu)建模型網(wǎng)絡(luò)及共享特征參數(shù),圖像分類過(guò)程中使用交叉熵?fù)p失函數(shù)提升模型的泛化性以及分類的準(zhǔn)確率。實(shí)驗(yàn)選取了8個(gè)經(jīng)典的圖像分類數(shù)據(jù)集作為實(shí)驗(yàn)對(duì)象,經(jīng)與經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)比,該算法在模型訓(xùn)練上速度更快,對(duì)于不同的數(shù)據(jù)集平均識(shí)別準(zhǔn)確率達(dá)到了96.2%,對(duì)于不同數(shù)據(jù)集的泛化能力也較強(qiáng),優(yōu)勢(shì)明顯。
卷積神經(jīng)網(wǎng)絡(luò)是一種模仿人體神經(jīng)組織的基本模型,采用卷積層和關(guān)聯(lián)下采樣層的雙層網(wǎng)絡(luò)關(guān)聯(lián)結(jié)構(gòu)構(gòu)成的網(wǎng)絡(luò)模型[5-6]。設(shè)定的規(guī)則上下層級(jí)間、相鄰的神經(jīng)組織間互相連接,從而形成層級(jí)之間的強(qiáng)約束的局部的關(guān)聯(lián)關(guān)系,其結(jié)構(gòu)如圖1所示:
圖1 卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖
圖1所示的網(wǎng)絡(luò)結(jié)構(gòu)圖的各個(gè)神經(jīng)元之間互相連接,其局部空間濾波具有較強(qiáng)的強(qiáng)適應(yīng)性[7]。結(jié)構(gòu)上主要分為輸入層和隱含層,其中隱含層再次細(xì)化為卷積層、下采樣層以及池化層。核心原理是使用卷積和池化操作,構(gòu)建有監(jiān)督學(xué)習(xí)式的訓(xùn)練網(wǎng),訓(xùn)練方式分為前項(xiàng)訓(xùn)練傳播以及反向訓(xùn)練傳播兩種,二者互相結(jié)合,互為輸入,具體算法如公式(1)所示:
(1)
在公式(1)中,使用s(i,j)標(biāo)識(shí)特征向量矩陣,使用二維矩陣M×N標(biāo)記二維輸入矩陣,wm,n代表大小為M×N的卷積核矩陣,wb代表了偏移向量。網(wǎng)絡(luò)模型構(gòu)建過(guò)程中使用的損失函數(shù)采用損失熵計(jì)算方法,具體如公式(2):
(2)
公式(2)中使用L代表?yè)p失,x代表了輸入的樣本數(shù)據(jù),a是指計(jì)算的結(jié)果,y代表了標(biāo)簽項(xiàng)值,n為樣本總數(shù)。
為了將卷積神經(jīng)網(wǎng)絡(luò)算法更好應(yīng)用于圖像識(shí)別,在構(gòu)建CNN網(wǎng)絡(luò)模型的過(guò)程中,引入了融合歸納遷移算法進(jìn)行模型的搭建和學(xué)習(xí),避免由于規(guī)范化樣本數(shù)據(jù)過(guò)少以及計(jì)算資源和硬件資源不足產(chǎn)生的過(guò)度擬合等造成最終分類不準(zhǔn)確的問(wèn)題。融合歸納遷移學(xué)習(xí)法的核心思想是通過(guò)已知經(jīng)驗(yàn),識(shí)別位置環(huán)境進(jìn)行輔助學(xué)習(xí)[8]。研究采用基于參數(shù)的歸納遷移算法進(jìn)行模型訓(xùn)練。
應(yīng)用歸納遷移模型進(jìn)行樣本識(shí)別訓(xùn)練過(guò)程如圖2所示:
圖2 歸納遷移進(jìn)行樣本訓(xùn)練識(shí)別流程
第一步:進(jìn)行與訓(xùn)練模型的加載工作,初始化載入在數(shù)據(jù)集中已經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型,得到輸入數(shù)據(jù)的張量數(shù)值以及計(jì)算存在瓶頸層的張量值。
第二步:完成CNN網(wǎng)絡(luò)初始化輸入工作,初始化學(xué)習(xí)率、訓(xùn)練次數(shù)、批量次數(shù)以及每層網(wǎng)絡(luò)的Dropout數(shù)值。
第三步:提取訓(xùn)練圖片特征。載入第一步中預(yù)訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)應(yīng)的特征值權(quán)重、節(jié)點(diǎn)計(jì)量公式,將其作為目標(biāo)特征提取器,將待分類的樣本圖片作為CNN模型的輸入,采用前饋神經(jīng)網(wǎng)絡(luò)模型,再次計(jì)算瓶頸層的張量值。
第四步:完成分類任務(wù),在已經(jīng)訓(xùn)練完的模型結(jié)構(gòu)增加1層卷積模型,并對(duì)全連接層進(jìn)行目標(biāo)任務(wù)分類,并使用交叉熵?fù)p失函數(shù)構(gòu)建損失層。
第五步:引入待測(cè)數(shù)據(jù)圖像樣本集進(jìn)行特征分類,獲得模型的準(zhǔn)確率。
在訓(xùn)練模型過(guò)程中,采用組歸一化(GroupNormalization, GN)算法與優(yōu)化的交叉損失嫡算法用于優(yōu)化識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)。
在第一步的模型訓(xùn)練環(huán)節(jié),采用組歸一化[9-10]處理。在對(duì)訓(xùn)練樣本的分組完成后進(jìn)行規(guī)一劃化處理,進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)模型識(shí)別的準(zhǔn)確率。其計(jì)算過(guò)程首先進(jìn)行通道分組及組內(nèi)的計(jì)算方差和均值后完成歸一化處理,使用公式(3)計(jì)算標(biāo)準(zhǔn)差及其均值對(duì)應(yīng)圖像像素點(diǎn)集合Si
(3)
式(3)中,i和k是代表圖像索引坐標(biāo),其處在同一通道,N為樣本數(shù)量,C/G代表每一組的通道個(gè)數(shù)。
像素點(diǎn)對(duì)應(yīng)的均值和方差計(jì)算公式如(4)、(5)所示:
(4)
(5)
公式中的xk代表需要計(jì)算的像素點(diǎn),ε代表維持?jǐn)?shù)據(jù)穩(wěn)定的參數(shù),m代表Si的長(zhǎng)度值。
對(duì)于每個(gè)通道組內(nèi)的像素使用公式(4)、(5)完成歸一化處理后,由于不能對(duì)學(xué)習(xí)的特征分布進(jìn)行破壞,需要進(jìn)行數(shù)據(jù)的規(guī)范化處理,通過(guò)重構(gòu)和尺度偏移變化完成,具體如公式(6)、(7)
(6)
yi=γxi+β
(7)
經(jīng)過(guò)上述步驟處理后,獲得新的特征分布yi,使用組歸一化方法,在樣本圖像進(jìn)行神經(jīng)網(wǎng)生產(chǎn)的過(guò)程中,確保神經(jīng)網(wǎng)絡(luò)模型的性能達(dá)到最優(yōu),加速收斂。
損失網(wǎng)絡(luò)用于更新神經(jīng)網(wǎng)絡(luò)的參數(shù),以便不同類型圖像進(jìn)行對(duì)應(yīng)風(fēng)格的遷移模型的訓(xùn)練,考慮到圖像數(shù)據(jù)集分類本身存在分布均勻性不足、比例不均衡等問(wèn)題,對(duì)深度神經(jīng)網(wǎng)絡(luò)的損失函數(shù)進(jìn)行了優(yōu)化,改進(jìn)交叉熵函數(shù)對(duì)于正向樣本的深入挖掘,增加正向樣本的權(quán)重和出現(xiàn)概率,進(jìn)一步提升圖像識(shí)別的準(zhǔn)確度。具體如公式(8)所示
(8)
由于該損失函數(shù)的正向樣本與損失函數(shù)呈現(xiàn)負(fù)相關(guān),相反的負(fù)樣本y′與損失函數(shù)為正相關(guān),所以無(wú)法適應(yīng)大量樣本數(shù)據(jù),基于此,通過(guò)加入調(diào)節(jié)參數(shù)γ和α來(lái)降低易分類樣本的損失值,平衡正負(fù)樣存在的分布不均衡問(wèn)題,具體如公式(9)所示:
(9)
其中實(shí)驗(yàn)證實(shí)調(diào)節(jié)參數(shù)γ取值為2,α取值為0.25。
引入組歸一化和交叉熵?fù)p失函數(shù)后的圖像識(shí)別過(guò)程如圖3所示:
該算法的核心為首先去掉預(yù)訓(xùn)練模型的分類層,然后凍結(jié)前面的層提取特征,后續(xù)經(jīng)過(guò)組歸一化完成網(wǎng)絡(luò)構(gòu)建后,調(diào)整樣本訓(xùn)練權(quán)重,完成損失層的優(yōu)化,最終完成目標(biāo)任務(wù)分類。
選用的訓(xùn)練數(shù)據(jù)樣本為包含約1500個(gè)圖片、約2萬(wàn)個(gè)分類的ImageNet數(shù)據(jù)集,用于網(wǎng)絡(luò)模型的訓(xùn)練。選擇該數(shù)據(jù)庫(kù)的89個(gè)物種圖像20000幅圖像劃分?jǐn)?shù)據(jù)子集合其中70%用于訓(xùn)練集、30%作為測(cè)試集。
根據(jù)以往圖像分類識(shí)別的算法的性能研究發(fā)現(xiàn),模型樣本訓(xùn)練的過(guò)程占有資源較多且運(yùn)行時(shí)間較長(zhǎng),為避免實(shí)驗(yàn)中斷和內(nèi)存溢出的問(wèn)題,采用分組循環(huán)迭代的方式進(jìn)行實(shí)驗(yàn),設(shè)定了實(shí)驗(yàn)執(zhí)行的次數(shù)和時(shí)間。主要與文獻(xiàn)[1]和文獻(xiàn)[2]中的基于卷積網(wǎng)絡(luò)和支持向量機(jī)的圖像識(shí)別算法進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1所示:
表1 不同算法結(jié)果對(duì)比
圖4 算法收斂性測(cè)試圖
根據(jù)表1顯示結(jié)果可以發(fā)現(xiàn),對(duì)應(yīng)用于同一訓(xùn)練集而言,使用經(jīng)典的卷積網(wǎng)絡(luò)模型進(jìn)行圖像識(shí)別平均識(shí)別率對(duì)比支持向量機(jī)算法提高較多,支持向量機(jī)算法更適用于文本分類,而本文對(duì)于卷積網(wǎng)絡(luò)模型進(jìn)行了組歸一化處理并優(yōu)化損失熵函數(shù)后,執(zhí)行效率提升了約6個(gè)百分點(diǎn)。 實(shí)驗(yàn)過(guò)程中,對(duì)算法的收斂速度進(jìn)行了測(cè)試,重點(diǎn)對(duì)比了組歸一化和批量歸一化兩種方法進(jìn)行模型訓(xùn)練的收斂情況,迭代次數(shù)設(shè)置為 40000 次,實(shí)驗(yàn)結(jié)果如圖4 所示,在應(yīng)用組歸一化處理的模型的損失函數(shù)的下降速度更快,其在20000次的循環(huán)迭代時(shí)已經(jīng)達(dá)到最小值完成收斂,而對(duì)于批量歸一化方法的收斂速度明顯較慢。
對(duì)于該算法的魯棒性,該算法模型在農(nóng)作物數(shù)據(jù)集Potato dataset的魯棒性表現(xiàn)比普通數(shù)據(jù)集、醫(yī)療數(shù)據(jù)集的表現(xiàn)更好,識(shí)別的準(zhǔn)確率能夠達(dá)到98%以上。
表2 本文算法應(yīng)用不同數(shù)據(jù)集結(jié)果對(duì)比
深度學(xué)習(xí)與圖像分類識(shí)別在進(jìn)入智能化、大數(shù)據(jù)時(shí)代逐步成為數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)領(lǐng)域研究的熱點(diǎn),為更精確、智能化的圖像分類識(shí)別提供了可能。本文對(duì)卷積神經(jīng)網(wǎng)絡(luò)的損失熵進(jìn)行了優(yōu)化,在模型訓(xùn)練階段通過(guò)歸納遷移算法構(gòu)建模型網(wǎng)絡(luò)及共享特征參數(shù),圖像分類過(guò)程中使用交叉熵?fù)p失函數(shù)提升模型的泛化性以及分類的準(zhǔn)確率,過(guò)程中結(jié)合卷積神經(jīng)網(wǎng)絡(luò)具有的共享權(quán)值、自學(xué)習(xí)提取分類特征、網(wǎng)絡(luò)訓(xùn)練的優(yōu)勢(shì),將基于卷積網(wǎng)絡(luò)分類模型用于圖像識(shí)別,在算法性能以及識(shí)別準(zhǔn)確率上均有大幅提升。不足之處在于訓(xùn)練環(huán)節(jié)資源占用率過(guò)高,后續(xù)將重點(diǎn)對(duì)此問(wèn)題進(jìn)行研究解決。
安陽(yáng)師范學(xué)院學(xué)報(bào)2021年5期