《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于深度學(xué)習(xí)的圖像分類方法
基于深度學(xué)習(xí)的圖像分類方法
2018年電子技術(shù)應(yīng)用第6期
許少尉,陳思宇
中國航空計算技術(shù)研究所,,陜西 西安710065
摘要: 提出了一種用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò),,將不同池化方式對圖像分類的影響進行了分析對比,采用重疊池化和dropout技術(shù),,較好地解決過擬合問題,。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,該方法在CIFAR-10數(shù)據(jù)集上獲得了較好的結(jié)果,,在測試集上準確率比訓(xùn)練集上準確率高9%左右,。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.180803
中文引用格式: 許少尉,陳思宇. 基于深度學(xué)習(xí)的圖像分類方法[J].電子技術(shù)應(yīng)用,,2018,,44(6):116-119.
英文引用格式: Xu Shaowei,Chen Siyu. Image classification method based on deep learning[J]. Application of Electronic Tech-
nique,,2018,,44(6):116-119.
Image classification method based on deep learning
Xu Shaowei,,Chen Siyu
Xi′an Aeronautics Computing Technique Research Institute,AVIC,,Xi′an 710065,,China
Abstract: This paper proposes a convolution neural network(CNN) for image classification, which uses overlap pooling and dropout technology to solve overfitting problem. Compared with traditional CNN,the proposal obtains better results on the CIFAR-10 dataset,,where the accuracy on testing data set is about 9 percent higher than that on the training data set.
Key words : image classification,;deep learning;CNN

0 引言

    隨著互聯(lián)網(wǎng)和多媒體技術(shù)的快速發(fā)展,,圖像數(shù)據(jù)呈現(xiàn)出爆發(fā)式的增長,,如何對海量圖像進行高效的分類和檢索成了一項新的挑戰(zhàn)。圖像分類是圖像檢索,、物體檢測和識別等應(yīng)用的基礎(chǔ),,也是模式識別和機器學(xué)習(xí)中的研究熱點。

    深度學(xué)習(xí)是一種對數(shù)據(jù)進行表征學(xué)習(xí)的方法[1],,起源于神經(jīng)網(wǎng)絡(luò),,已有幾十年之久,但是一度發(fā)展緩慢,。直至2012年,,HOMTPM G和他的團隊在ImageNet大型圖像識別競賽中取得極其優(yōu)異的成績,將top-5的錯誤率由26%降到15%,,從此,,深度學(xué)習(xí)引起了越來越多研究者的關(guān)注,進入快速發(fā)展時期,。

    深度學(xué)習(xí)技術(shù)在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中常常會引起過擬合的問題,。所謂過擬合(Overfitting),是指模型對訓(xùn)練集的數(shù)據(jù)擬合得很好,,而對它未學(xué)習(xí)過的數(shù)據(jù)集擬合并不好,泛化能力較弱,,即對學(xué)習(xí)過的樣本效果很好,,推廣到更一般、更具普適性的樣本上表現(xiàn)并不好,。

    本文針對神經(jīng)網(wǎng)絡(luò)模型中常見的過擬合問題,,將不同池化方式對圖像分類的影響進行了分析對比,提出了一種采用重疊池化和dropout技術(shù)的卷積神經(jīng)網(wǎng)絡(luò),,在一定程度上緩解了過擬合問題,,能夠應(yīng)對更加復(fù)雜多變的數(shù)據(jù)環(huán)境。

1 卷積神經(jīng)網(wǎng)絡(luò)

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,,CNN)是深度學(xué)習(xí)最常用的網(wǎng)絡(luò)模型之一,,在語音分析,、圖像識別等領(lǐng)域廣泛應(yīng)用。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)是全連接的,,參數(shù)數(shù)量巨大,,訓(xùn)練耗時甚至難以訓(xùn)練,而卷積神經(jīng)網(wǎng)絡(luò)受到現(xiàn)代生物神經(jīng)網(wǎng)絡(luò)的啟發(fā),,通過局部連接,、權(quán)值共享等方式降低了模型復(fù)雜度,減少權(quán)重數(shù)量,,降低了訓(xùn)練的難度,。

1.1 卷積特征提取

    圖像卷積實際上是對圖像的空間線性濾波,濾波本是頻域分析常用的方法,,圖像中也經(jīng)常使用空間濾波進行圖像增強,。濾波所用的濾波器也就是卷積中的卷積核,通常是一個鄰域,,比如一個3×3大小的矩陣,。

    卷積過程是把卷積核中的元素依次和圖像中對應(yīng)的像素相乘求和作為卷積后新的像素值,然后把該卷積核沿著原圖像平移,,繼續(xù)計算新的像素值,,直至覆蓋整個圖像。卷積過程如圖1所示,。

jsj2-t1.gif

    圖1是忽略了偏置項的卷積過程,,輸入圖像大小是5×5,卷積核大小是3×3,,卷積后的輸出大小也是3×3,。具體運算過程是卷積核從輸入圖像的左上角開始進行線性求和運算,然后每次向右移動一個像素的距離,,直至最右側(cè),,再向下移動一個像素,依次進行,,便可得到卷積輸出,。如果想讓輸出和輸入大小相同,可以在原圖像周圍補一圈“0”變成7×7的大小,,然后再進行卷積運算即可,。

    卷積的作用過程雖然很簡單,但卻能根據(jù)不同的卷積核對圖像產(chǎn)生很多不同的效果,。上述卷積過程實質(zhì)上是一種相關(guān)作用,,與嚴格的圖像處理中的卷積稍有不同,嚴格的卷積需要把卷積核先旋轉(zhuǎn)180°再進行相關(guān)運算。

    對圖像進行卷積操作,,實際上是在對圖像進行特征提取,,卷積可以消除圖像旋轉(zhuǎn)、平移和尺度變換帶來的影響[2],。卷積層特別擅長在圖像數(shù)據(jù)中提取特征,,并且不同層能提取不同的特征。

    卷積神經(jīng)網(wǎng)絡(luò)的特點是逐層提取特征,,第一層提取的特征較為低級,,第二層在第一層的基礎(chǔ)上繼續(xù)提取更高級別的特征,同樣,,第三層在第二層的基礎(chǔ)上提取的特征也更為復(fù)雜,。越高級的特征越能體現(xiàn)出圖像的類別屬性,卷積神經(jīng)網(wǎng)絡(luò)正是通過逐層卷積的方式提取圖像的優(yōu)良特征,。

1.2 池化下采樣

    圖像經(jīng)過卷積之后會產(chǎn)生多個特征圖,,但是特征圖的大小與原始圖像相比并沒有改變,數(shù)據(jù)量仍然很大,,計算量也會很大,,為了簡化運算,常常會把特征圖進行下采樣,。卷積神經(jīng)網(wǎng)絡(luò)采取池化(Pooling)的方式進行下采樣,,常見的池化方法有兩種:最大值池化(MaxPooling)和平均值池化(AvgPooling),兩種池化過程如圖2所示,。

jsj2-t2.gif

    圖2中,,窗口大小是2×2,步長是2,。最大值池化是在窗口覆蓋的4個像素內(nèi)選擇最大的像素值作為采樣值,;平均值池化是計算窗口內(nèi)4個像素的平均值,每次把窗口向右或者向下移動2個像素的距離,,所以4×4的特征圖池化后大小變?yōu)?×2,。

2 用于圖像分類的CNN模型設(shè)計

    本文參考VGGNet中卷積塊[3]思想設(shè)計了一種卷積神經(jīng)網(wǎng)絡(luò)模型,在卷積層和全連接層加入了dropout層,,一定程度上緩解了過擬合問題,,還對不同池化方式和池化窗口對分類效果的影響進行了分析對比。

2.1 基礎(chǔ)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

    該網(wǎng)絡(luò)模型如表1所示,,共有11層,,包括4個卷積層,,3個池化層,,主要包括3個部分。首先第一層是輸入層,本文使用的數(shù)據(jù)集有10個種類,,是大小為32×32的彩色圖像,,使用RGB顏色空間,所以輸入層大小是32×32×3,。第一部分包括2個卷積層和2個池化層,,2個卷積層的特征圖數(shù)量都是32;第二部分包括2個卷積層和1個池化層,,2層卷積的特征圖都是64個,;第三部分是稠密連接層,即全連接層,,第1層全連接層是512個神經(jīng)元,,第2層是10個,即劃分到10個種類,,然后使用Softmax回歸進行分類,。表1中的Conv(3,3)-32代表該層是卷積層,,且卷積核大小是3×3有32個特征圖,;MaxPool(2,2)是指最大值池化,,且窗口大小是2×2,;FC-512是指該層是全連接層,神經(jīng)元數(shù)目是152個,。

jsj2-b1.gif

2.2 存在問題分析

    針對本模型使用CIFAR-10數(shù)據(jù)集進行試驗測試,,部分樣例如圖3所示。

jsj2-t3.gif

    使用CIFAR-10數(shù)據(jù)集結(jié)合Rmsprop優(yōu)化方法訓(xùn)練該網(wǎng)絡(luò),,把所有訓(xùn)練集中的圖像訓(xùn)練一遍為一個周期(epoch),。在訓(xùn)練100個周期后,訓(xùn)練過程準確率變化如圖4所示,。

jsj2-t4.gif

    在訓(xùn)練過程中每一個周期都會計算訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的準確率,,可以看出在40個周期之前,測試集的準確率隨著訓(xùn)練集的準確率一起上升,,在第40個周期時達到0.74,;之后訓(xùn)練集的準確率繼續(xù)上升,而測試集的準確率上升很小,,而且有小幅波動,;在70個周期之后,訓(xùn)練集準確率仍繼續(xù)上升,,而測試集準確率保持平穩(wěn),,變化很小。本次訓(xùn)練的損失函數(shù)如圖5所示。

jsj2-t5.gif

    從圖5也可以看出,,開始時測試集隨著訓(xùn)練集的損失值一起下降,,40個周期之后測試集的損失值一直在0.72~0.75之間波動,而訓(xùn)練集的損失值還一直保持著下降的趨勢,,第80個周期下降到0.50,,最后下降到0.42。損失函數(shù)的變化也從側(cè)面印證了該模型出現(xiàn)了較為嚴重的過擬合問題,。

3 本文提案的模型

    使用重疊池化可以緩和過擬合問題,,使用正則化也可以解決過擬合問題。HINTON G E于2012年提出了dropout技術(shù)[4],,針對神經(jīng)網(wǎng)絡(luò)的過擬合問題有了較大改善,。dropout是指在訓(xùn)練網(wǎng)絡(luò)的過程中按照一定的比例隨機丟棄部分神經(jīng)元,即把某層中的神經(jīng)元隨機選取一部分使其輸出值為0,,這樣會使得這部分被選中的神經(jīng)元對下一層與其相連的神經(jīng)元輸出沒有貢獻,,失去作用。

    多次實驗發(fā)現(xiàn),,針對該網(wǎng)絡(luò)模型最大值池化比平均值池化效果相對較好,,使用重疊池化也可以改善效果,訓(xùn)練100個周期訓(xùn)練集和測試集的準確率如表2所示,。

jsj2-b2.gif

    表2記錄的是針對不同網(wǎng)絡(luò)結(jié)構(gòu)在100個周期內(nèi)訓(xùn)練集和測試集的最高準確率,。第1種和第2種模型分別采用平均值和最大值的非重疊池化,可以看出最大值池化相對平均值池化效果更好,,但是二者都有過擬合問題,;第3種模型是最大值重疊池化,一定程度上緩解了過擬合問題,;第4種模型使用了最大值重疊池化和dropout技術(shù)并加上了適量正則化,,可以看出訓(xùn)練集的準確率遠低于測試集,其準確率上升還有較大潛力,。因此,,選擇第4種作為優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu),完整的網(wǎng)絡(luò)結(jié)構(gòu)如表3所示,。

jsj2-b3.gif

    優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)與原結(jié)構(gòu)相比分別在第5層和第9層最大值重疊池化層后加入了0.25比例的dropout層,,在第11層全連接層后加入了0.5比例的dropout層。另外對卷積層和全連接層的網(wǎng)絡(luò)權(quán)重使用了L2正則化,,正則化因子較小只有0.000 1,,仍然使用Rmsprop學(xué)習(xí)方法訓(xùn)練300個周期之后的準確率如圖6所示。

jsj2-t6.gif

    從圖6的訓(xùn)練過程可以看出,,dropout技術(shù)較好地解決了過擬合問題,,測試集準確率隨著訓(xùn)練集的準確率一起上升,,而且訓(xùn)練集準確率一直都低于測試集,300個周期內(nèi)訓(xùn)練集準確率最高是73.49%,,測試集最高準確率可以達到82.15%,可見dropout技術(shù)大大改善了過擬合問題,。

    dropout在訓(xùn)練過程中隨機丟棄部分神經(jīng)元,,每一批次的數(shù)據(jù)訓(xùn)練的都是一個不同的網(wǎng)絡(luò)結(jié)構(gòu),相當(dāng)于訓(xùn)練了多個網(wǎng)絡(luò),,把多個不同結(jié)構(gòu)的網(wǎng)絡(luò)組合在一起,,集成多個訓(xùn)練的網(wǎng)絡(luò)于一體,可以有效防止單一結(jié)構(gòu)網(wǎng)絡(luò)的過度擬合,。

4 結(jié)束語

    本文提出了一種用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)模型,,針對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)的過擬合問題,使用不同的池化方式和dropout技術(shù),,優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu),,提高了模型的圖像分類性能,在CIFAR-10數(shù)據(jù)集上取得較好的分類效果,。

參考文獻

[1] LECUN Y,,BENGIO Y,HINTON G.Deep learning[J].Nature,,2015,,521(7553):436-444.

[2] 謝寶劍.基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類方法研究[D].合肥:合肥工業(yè)大學(xué),2015.

[3] SIMONYAN K,,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].(2014-09-04)[2018-03-20].https://arxiv.org/abs/1409.1556.

[4] KRIZHEVSKY A,,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C].International Conference on Neural Information Processing Systems.Curran Associates,,2012:1097-1105.



作者信息:

許少尉,,陳思宇

(中國航空計算技術(shù)研究所,陜西 西安710065)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。