摘要:針對深度卷積神經(jīng)網(wǎng)絡(luò)在進行圖像分類時,隨著深度的增加可能出現(xiàn)的梯度彌散以及由于卷積核尺度不合適出現(xiàn)的特征提取能力不足等問題,文章提出了一種多尺度融合特征的深度卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)的主要結(jié)構(gòu)由包含多尺度卷積核的卷積層、多層感知機與池化層堆疊構(gòu)成,在特征提取完成后,經(jīng)過特征融合層與全連接層相連,輸入Softmax分類器完成圖像分類。實驗結(jié)果表明,與深度卷積神經(jīng)網(wǎng)絡(luò)相比,該網(wǎng)絡(luò)模型提高了CIFAR-10數(shù)據(jù)集的圖像分類精度,具有較強的魯棒性。
關(guān)鍵詞:圖像分類;卷積神經(jīng)網(wǎng)絡(luò);卷積核;特征融合
中圖分類號:TP183;TP391.41" 文獻(xiàn)標(biāo)志碼:A
作者簡介:徐春雨(1978— ),女,講師,碩士;研究方向:人工智能,計算機視覺。
0" 引言
深度卷積神經(jīng)網(wǎng)絡(luò)通常由多個非線性的卷積層與池化層堆疊而成,隨著網(wǎng)絡(luò)深度的加深,能夠改善網(wǎng)絡(luò)結(jié)構(gòu)的性能,提升圖像分類的精度。但是,當(dāng)網(wǎng)絡(luò)進一步加深時,可能會導(dǎo)致網(wǎng)絡(luò)性能的退化而使得網(wǎng)絡(luò)無法收斂。另外,合適的卷積核尺寸對圖像分類結(jié)果有著很大的影響[1]。同時,在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)中,每個卷積層通常采用單一尺度的卷積核,故當(dāng)卷積核尺寸不合適時,容易帶來網(wǎng)絡(luò)特征提取能力不足,導(dǎo)致?lián)p失圖像特征有效信息的問題;池化過程的實質(zhì)是對特征圖像進行下采樣,當(dāng)采樣間隔較小時,經(jīng)過卷積運算與最大值池化,網(wǎng)絡(luò)輸出能夠重構(gòu)與輸入圖像相似的圖像[2],但是過小的采樣間隔會使網(wǎng)絡(luò)喪失不變性,而過大的采樣間隔會損失特征圖像的細(xì)節(jié)信息,這兩者都會導(dǎo)致圖像分類準(zhǔn)確率下降。
基于以上問題,本文提出了一種多尺度融合特征的深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Networks with Multi-Scale Fusion Features,DCNN-MSFF),首先,整個網(wǎng)絡(luò)的主要結(jié)構(gòu)由卷積層與池化層堆疊構(gòu)成,后接入2個全連接層,再接入輸出層;其次,每個卷積層由多尺度的卷積核構(gòu)成,在每個卷積層與池化層中間添加一個多層感知機層,主要作用是實現(xiàn)跨通道的信息融合;最后,在所有的卷積與池化操作均完成后,進行特征融合并與全連接層相連,輸入Softmax分類器完成圖像分類。
1" 模型優(yōu)化策略
為了提升網(wǎng)絡(luò)模型的性能,本文須要對網(wǎng)絡(luò)模型進行優(yōu)化,常用的模型優(yōu)化策略主要包括如下2種:正則化(Regulization)機制以及批標(biāo)準(zhǔn)化(Batch Normalization,BN)[3]。
1.1" Dropout技術(shù)
正則化機制主要包括2種方法,分別是權(quán)值衰減和Dropout技術(shù)[4-6]。在圖像分類的模型中,為了防止模型出現(xiàn)過擬合現(xiàn)象,通常使用的優(yōu)化策略是Dropout技術(shù)。Dropout技術(shù)是一種在訓(xùn)練過程中隨機刪除神經(jīng)元的方法,在訓(xùn)練過程中一部分神經(jīng)元輸出值為0,系統(tǒng)將使這些神經(jīng)元失效,并非將神經(jīng)元從網(wǎng)絡(luò)結(jié)構(gòu)中刪除。在反向傳播過程中,這些失效的神經(jīng)元不會參與權(quán)重參數(shù)的更新。在下輪的訓(xùn)練中,系統(tǒng)會再次隨機選擇一部分神經(jīng)元使其失效。通過這種方式減少網(wǎng)絡(luò)模型中權(quán)重參數(shù)的數(shù)量,降低網(wǎng)絡(luò)模型的復(fù)雜性,從而達(dá)到抑制過擬合的作用。該方法的工作原理如圖1所示。
Dropout技術(shù)不僅可以降低模型發(fā)生過擬合現(xiàn)象的可能性,還減少了網(wǎng)絡(luò)模型的計算量,加快了網(wǎng)絡(luò)的收斂速度。Dropout技術(shù)的數(shù)學(xué)表達(dá)式如式(1)所示。
y=m*a(Wx)(1)
其中,x為輸入,是n×1維的向量,W為權(quán)重矩陣,a(x)為激活函數(shù),m為n×1維向量,m中的元素由0和1構(gòu)成,0表示失效的神經(jīng)元,1表示正常的神經(jīng)元。m與a(Wx)中的元素對應(yīng)相乘。本文使用Dropout技術(shù),即使是表現(xiàn)力很強的網(wǎng)絡(luò),仍然能夠抑制過擬合現(xiàn)象的發(fā)生。
1.2" BN算法
在深度學(xué)習(xí)中,每批輸入數(shù)據(jù)分布的不同都會導(dǎo)致網(wǎng)絡(luò)須要不斷學(xué)習(xí)來適應(yīng)不同的數(shù)據(jù)分布,既降低了網(wǎng)絡(luò)模型的收斂速度,又降低了模型的泛化能力。因此,本文須要考慮每批數(shù)據(jù)在輸入網(wǎng)絡(luò)之前能夠保持同一數(shù)據(jù)分布。BN(Batch Normalization)算法的主要思路是調(diào)整網(wǎng)絡(luò)中各層激活值的分布使其具有適當(dāng)?shù)膹V度,對網(wǎng)絡(luò)中每層輸入數(shù)據(jù)的分布進行正規(guī)化,即將網(wǎng)絡(luò)中每層輸入加入BN層。加入BN層的卷積神經(jīng)網(wǎng)絡(luò)如圖2所示。
圖2中,構(gòu)建了一個簡單卷積神經(jīng)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中的卷積層與池化層中間添加一個BN層。BN層對卷積運算后所得的結(jié)果進行數(shù)據(jù)分布調(diào)整,即數(shù)據(jù)正規(guī)化。在訓(xùn)練過程中,BN算法以一個批次(batch)的數(shù)據(jù)為單位,按照一個批次的數(shù)據(jù)進行正規(guī)化,即使數(shù)據(jù)服從均值為0、方差為1的分布。具體方法如式(2)所示。
μB=1m∑mi=1xi
σ2B=1m∑mi=1(xi-μB)2
x^i=xi-μBσ2B+ε(2)
其中,μB和σ2B分別為一個批次的輸入數(shù)據(jù)集合B={x1,x2,…,xm}的均值和方差。對輸入數(shù)據(jù)進行均值為0、方差為1的正規(guī)化,ε是一個微小值,作用主要是防止出現(xiàn)除數(shù)為0的情況,x^i為輸入數(shù)據(jù)xi正規(guī)化后所得結(jié)果,BN層將對正規(guī)化后的數(shù)據(jù)進行縮放和平移變換,如式(3)所示。
yi=γx^i+β(3)
其中,γ和β為須要學(xué)習(xí)的權(quán)重參數(shù),設(shè)其初始值分別為γ=1,β=0,經(jīng)過網(wǎng)絡(luò)學(xué)習(xí)將其調(diào)整到合適的值。BN層既可以在插入激活函數(shù)之前,又可以在插入激活函數(shù)之后,這樣可以減小輸入數(shù)據(jù)分布的偏向。在網(wǎng)絡(luò)中增加BN層,可以有效推動訓(xùn)練過程的進行并降低網(wǎng)絡(luò)對權(quán)重參數(shù)的初始值的依賴。該算法可以被應(yīng)用于很多類型的神經(jīng)元網(wǎng)絡(luò)中。
2" 網(wǎng)絡(luò)模型設(shè)計
2.1" 網(wǎng)絡(luò)基本結(jié)構(gòu)
為了進一步增強卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力,降低深度卷積神經(jīng)網(wǎng)絡(luò)的深度,提升網(wǎng)絡(luò)模型的性能,本文設(shè)計了一種DCNN-MSFF。DCNN-MSFF網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
由圖3可知,所提方案首先通過一個3×3的卷積層,然后通過堆疊多個集成單元加上一個特征融合層以及2個全連接層,最后通過Softmax輸出層,構(gòu)成了MSFF網(wǎng)絡(luò)。圖3中被虛線框出的部分為一個集成單元,每個集成單元由3個不同尺度的卷積層、多層感知機和池化層構(gòu)成。所提方案在每個尺度的卷積層后添加一個多層感知機層用來融合不同通道的特征信息;每個集成單元的最后為池化層,對提取的特征信息進行降維,池化算法采用最大值池化;經(jīng)過3個堆疊的集成單元后,對所得信息進行特征融合,形成特征融合層,特征融合的基本過程如圖4所示。A、B、C表示經(jīng)過3個集成單元中不同尺度的卷積運算以及池化操作所得到的圖像特征信息,將特征信息由二維數(shù)據(jù)形式展開成一維特征向量,經(jīng)過全連接層以及Softmax后得到最終的分類結(jié)果。模型優(yōu)化策略采用BN算法和Dropout技術(shù)。
2.2" 網(wǎng)絡(luò)模型結(jié)構(gòu)分析
在DCNN-MSFF網(wǎng)絡(luò)結(jié)構(gòu)中,每個集成單元所構(gòu)建的3個不同尺度卷積層主要用于增強網(wǎng)絡(luò)特征提取的能力,同時能夠減少網(wǎng)絡(luò)模型的深度;每個尺度的卷積層后的多層感知機層用來融合不同通道的特征信息;池化層對提取到的特征信息進行降維。經(jīng)過多個堆疊的集成單元后,本文對所得信息進行特征融合,其可將具有差異性的特征信息進行融合,從而使圖像特征信息的區(qū)分度更高,使圖像的表達(dá)能力更好,最后經(jīng)過全連接層以及Softmax后得到最終的分類結(jié)果。
當(dāng)使用CNN進行圖像分類時,卷積核的大小與分類結(jié)果密切相關(guān)。當(dāng)卷積核的尺寸較大時,有利于提取圖像的全局信息;當(dāng)卷積核較小時,有利于提取圖像的細(xì)節(jié)信息。當(dāng)CNN模型中只采用單一尺度進行卷積運算時,可能會存在圖像的全局特征信息與局部特征信息丟失的情況,從而導(dǎo)致圖像分類準(zhǔn)確率下降。使用多尺度的卷積神經(jīng)網(wǎng)絡(luò)能夠減少圖像特征信息的損失,即在卷積層中使用不同尺度的卷積核與圖像進行卷積運算。若不同尺度卷積核的數(shù)量過多,則容易造成網(wǎng)絡(luò)模型的權(quán)重參數(shù)過多,使模型的表現(xiàn)力過強從而造成過擬合現(xiàn)象。因此,當(dāng)進行網(wǎng)絡(luò)模型設(shè)計時,本文在卷積層采用3個不同尺度的卷積核進行卷積運算,尺度分別為2×2、3×3和5×5。為了減少權(quán)重參數(shù)的數(shù)量,尺度為5×5的卷積核用2個3×3的卷積核替代,經(jīng)過不同尺度的卷積運算提取特征,既包括圖像的全局信息(卷積核尺度為5×5),又包括圖像的細(xì)節(jié)信息(卷積核尺度為2×2和3×3)。
3" 實驗與結(jié)果分析
本文使用CIFAR-10數(shù)據(jù)集為樣本數(shù)據(jù),對DCNN-MSFF網(wǎng)絡(luò)模型進行訓(xùn)練并與單一尺度的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)模型進行對比,從圖像分類的精度、網(wǎng)絡(luò)的收斂速度以及網(wǎng)絡(luò)的泛化性能等方面分析實驗結(jié)果。實驗平臺使用高性能計算機工作站,該工作站配置1塊CPU和2塊2080ti的GPU,其中,CPU型號為美國Intel公司生產(chǎn)的intel Xeon W-2150b,GPU型號為美國NVIDIA公司生產(chǎn)的NVIDIA GeForce RTX 2080ti。深度學(xué)習(xí)框架采用TensorFlow框架,版本為2.3。
3.1" 實驗過程
CIFAR-10數(shù)據(jù)集共有60000張圖片,其中50000張訓(xùn)練圖片,10000張測試圖片;共10個類別,每張圖片的大小為32×32×3。按照圖3所示的網(wǎng)絡(luò)結(jié)構(gòu),針對CIFAR-10數(shù)據(jù)集,設(shè)置網(wǎng)絡(luò)模型參數(shù),DCNN-MSFF模型各尺度的參數(shù)設(shè)置如表1—3所示。最后的2個全連接層神經(jīng)元個數(shù)為256,輸出層神經(jīng)元個數(shù)為10。
DCNN-MSFF網(wǎng)絡(luò)訓(xùn)練過程中的其他參數(shù)設(shè)置如表4所示。
與DCNN-MSFF網(wǎng)絡(luò)對比的單一尺度的CNN網(wǎng)絡(luò)模型主要由3組卷積層與池化層堆疊而成,采用3組堆疊主要是為了與DCNN-MSFF網(wǎng)絡(luò)模型進行比較,之后與2個全連接層相連并通過Softmax分類器進行圖像分類,網(wǎng)絡(luò)模型如圖5所示,具體參數(shù)如表5所示。
與DCNN-MSFF網(wǎng)絡(luò)模型相比,CNN模型須要經(jīng)過多次迭代后才有可能收斂,因此,CNN模型的迭代次數(shù)設(shè)置為100次,訓(xùn)練過程中的具體參數(shù)如表6所示。
3.2" 結(jié)果分析
在DCNN-MSFF網(wǎng)絡(luò)模型與CNN模型參數(shù)設(shè)置完畢,本文使用CIFAR-10數(shù)據(jù)集作為訓(xùn)練集對這2個網(wǎng)絡(luò)模型進行訓(xùn)練,2種模型的訓(xùn)練結(jié)果如圖6所示。
圖6為2種模型的訓(xùn)練結(jié)果。圖6(a)表示2種模型的訓(xùn)練誤差,由圖可知,DCNN-MSFF模型的損失函數(shù)值明顯下降得更快,僅訓(xùn)練了30次的損失函數(shù)值遠(yuǎn)小于CNN模型訓(xùn)練了100次的損失函數(shù)值。圖6(b)表示2種模型的圖像分類精度,由圖可知,DCNN-MSFF模型的圖像分類精度高于CNN模型;當(dāng)網(wǎng)絡(luò)迭代為20次以上時則可達(dá)到90%以上,而CNN模型迭代了100次,其圖像分類精度也只有近80%。2個模型的圖像分類精度及泛化能力評估如表7所示。
表7中泛化能力評估的計算方法為測試集的分類精度與訓(xùn)練集的分類精度之差的絕對值除以訓(xùn)練集的分類精度[7]。若所得計算結(jié)果較小,則說明訓(xùn)練集的分類精度較高,同時訓(xùn)練集的分類精度與測試集的分類精度較接近,此時模型的訓(xùn)練效果好并且泛化能力強。
由網(wǎng)絡(luò)模型訓(xùn)練結(jié)果可以看出,對于相同的訓(xùn)練數(shù)據(jù)集,DCNN-MSFF網(wǎng)絡(luò)的收斂速度更快,能夠在短時間內(nèi),快速下降到網(wǎng)絡(luò)的收斂值,主要原因是DCNN-MSFF網(wǎng)絡(luò)的深度較淺,網(wǎng)絡(luò)結(jié)構(gòu)更多的是縱向擴展,能夠快速進行正向計算和反向傳播,由于減小了網(wǎng)絡(luò)結(jié)構(gòu)的深度,因而降低了梯度彌散的可能性。DCNN-MSFF模型的圖像分類精度高于CNN模型的圖像分類精度,主要原因是DCNN-MSFF模型通過不同尺度的卷積核提取了不同尺度的圖像特征,增強了網(wǎng)絡(luò)特征提取的能力,使得模型在通過全連接層進行圖像分類時能夠?qū)D像進行更準(zhǔn)確的識別;另外,DCNN-MSFF模型還在2次卷積層之間添加了多層感知機,對提取的特征進行了通道融合,也進一步提升了網(wǎng)絡(luò)特征提取的能力。從泛化能力的評估結(jié)果可以看出,DCNN-MSFF模型的泛化能力優(yōu)于CNN模型。綜上,無論針對訓(xùn)練集還是測試集,DCNN-MSFF模型的圖像分類準(zhǔn)確率均高于CNN模型,DCNN-MSFF模型的收斂速度更快,這說明DCNN-MSFF模型是有效的,且該模型的特征提取更強,泛化能力也優(yōu)于CNN模型,具有較強的魯棒性。
4" 結(jié)語
當(dāng)網(wǎng)絡(luò)深度進一步加深并進行網(wǎng)絡(luò)反向傳播時,深度卷積神經(jīng)網(wǎng)絡(luò)容易產(chǎn)生梯度彌散的現(xiàn)象,從而使網(wǎng)絡(luò)性能迅速下降并導(dǎo)致網(wǎng)絡(luò)無法收斂;當(dāng)卷積核尺寸不合適時,將產(chǎn)生網(wǎng)絡(luò)特征提取能力不足,進而損失特征圖像的有效信息。針對以上問題,本文提出了DCNN-MSFF網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型由3個集成單元構(gòu)成,每個集成單元中包含了不同尺度的卷積核,增強了網(wǎng)絡(luò)特征提取的能力,降低了網(wǎng)絡(luò)模型的深度。相較于傳統(tǒng)的CNN網(wǎng)絡(luò)模型,DCNN-MSFF網(wǎng)絡(luò)模型提高了圖像分類的精度并具有較強的魯棒性。
參考文獻(xiàn)
[1]COATES A, NG A Y, LEE H. An analysis of single-layer networks in unsupervised feature learning[J]. Journal of Machine Learning Research,2011,15:215-223.
[2]ZENLER M D, FERGUS R. Proceedings of the 13th European Conference Computer Vision on Visualizing and Understanding Convolutional Neural Networks, September 6-12,2014[C]. Berlin:Springer,2014.
[3]LUO G Q, LI J H, ZUO W T. Improved batch normalization algorithm for deep learning[J]. Computer Systems and Applications,2020(4):187-194.
[4]SRIVASTAVA N, HINTOM G E, KRIZHEVSKY A, et al. Dropout:a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014(1):1929-1958.
[5]YOO H J. Deep convolution neural networks in computer vision[J]. IEEE Transactions on Smart Processing and Computing, 2015(1):35-43.
[6]魏雄,王子樊.融合多尺度卷積和BiGRU網(wǎng)絡(luò)的人類活動識別模型[J].計算機應(yīng)用,2023(增刊2):72-76.
[7]朱曉寧.深度神經(jīng)網(wǎng)絡(luò)在圖像識別中的研究與應(yīng)用[D].北京:北京郵電大學(xué),2019.
(編輯" 王雪芬)
Research on image classification algorithm based on multi-scale fusion features of
convolutional neural network
XU" Chunyu, JIA" Rui
(Liaoning Provincial College of Communications, Shenyang 110122, China)
Abstract: When the deep convolutional neural networks are used for image classification, the problems such as gradient vanishing with increasing depth and the insufficient feature extraction ability due to inappropriate convolution kernel scale, a deep convolutional neural network with multi-scale fusion features is proposed to solve these problems. The main structure of this network consists of the convolutional layers containing multi-scale convolution kernels, stacked layers of perceptron,and pooling layers. After the feature extraction is completed,it is connected to fully connected layers through a feature fusion layer, and input into a Softmax classifier to complete image classification. The experimental result show that compared with deep convolutional neural network, the network model can improve the image classification accuracy of the CIFAR-10 dataset and have strong robustness.
Key words: image classification; convolutional neural network; convolution kernel; feature fusion