《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于深度學習的圖像分類方法
基于深度學習的圖像分類方法
2018年電子技術應用第6期
許少尉,陳思宇
中國航空計算技術研究所,陜西 西安710065
摘要: 提出了一種用于圖像分類的卷積神經(jīng)網(wǎng)絡,將不同池化方式對圖像分類的影響進行了分析對比,采用重疊池化和dropout技術,較好地解決過擬合問題。與傳統(tǒng)神經(jīng)網(wǎng)絡相比,該方法在CIFAR-10數(shù)據(jù)集上獲得了較好的結果,在測試集上準確率比訓練集上準確率高9%左右。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.180803
中文引用格式: 許少尉,陳思宇. 基于深度學習的圖像分類方法[J].電子技術應用,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)和多媒體技術的快速發(fā)展,圖像數(shù)據(jù)呈現(xiàn)出爆發(fā)式的增長,如何對海量圖像進行高效的分類和檢索成了一項新的挑戰(zhàn)。圖像分類是圖像檢索、物體檢測和識別等應用的基礎,也是模式識別和機器學習中的研究熱點。

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

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

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

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

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

1.1 卷積特征提取

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

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

jsj2-t1.gif

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

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

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

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

1.2 池化下采樣

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

jsj2-t2.gif

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

2 用于圖像分類的CNN模型設計

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

2.1 基礎神經(jīng)網(wǎng)絡結構

    該網(wǎng)絡模型如表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ù)集結合Rmsprop優(yōu)化方法訓練該網(wǎng)絡,把所有訓練集中的圖像訓練一遍為一個周期(epoch)。在訓練100個周期后,訓練過程準確率變化如圖4所示。

jsj2-t4.gif

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

jsj2-t5.gif

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

3 本文提案的模型

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

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

jsj2-b2.gif

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

jsj2-b3.gif

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

jsj2-t6.gif

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

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

4 結束語

    本文提出了一種用于圖像分類的卷積神經(jīng)網(wǎng)絡模型,針對傳統(tǒng)卷積神經(jīng)網(wǎng)絡出現(xiàn)的過擬合問題,使用不同的池化方式和dropout技術,優(yōu)化了網(wǎng)絡結構,提高了模型的圖像分類性能,在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)絡的圖像分類方法研究[D].合肥:合肥工業(yè)大學,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.



作者信息:

許少尉,陳思宇

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

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