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

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

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

    本文針對(duì)神經(jīng)網(wǎng)絡(luò)模型中常見(jiàn)的過(guò)擬合問(wèn)題,將不同池化方式對(duì)圖像分類的影響進(jìn)行了分析對(duì)比,提出了一種采用重疊池化和dropout技術(shù)的卷積神經(jīng)網(wǎng)絡(luò),在一定程度上緩解了過(guò)擬合問(wèn)題,能夠應(yīng)對(duì)更加復(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ò)模型之一,在語(yǔ)音分析、圖像識(shí)別等領(lǐng)域廣泛應(yīng)用。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)是全連接的,參數(shù)數(shù)量巨大,訓(xùn)練耗時(shí)甚至難以訓(xùn)練,而卷積神經(jīng)網(wǎng)絡(luò)受到現(xiàn)代生物神經(jīng)網(wǎng)絡(luò)的啟發(fā),通過(guò)局部連接、權(quán)值共享等方式降低了模型復(fù)雜度,減少權(quán)重?cái)?shù)量,降低了訓(xùn)練的難度。

1.1 卷積特征提取

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

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

jsj2-t1.gif

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

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

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

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

1.2 池化下采樣

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

jsj2-t2.gif

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

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

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

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

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

jsj2-b1.gif

2.2 存在問(wèn)題分析

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

jsj2-t3.gif

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

jsj2-t4.gif

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

jsj2-t5.gif

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

3 本文提案的模型

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

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

jsj2-b2.gif

    表2記錄的是針對(duì)不同網(wǎng)絡(luò)結(jié)構(gòu)在100個(gè)周期內(nèi)訓(xùn)練集和測(cè)試集的最高準(zhǔn)確率。第1種和第2種模型分別采用平均值和最大值的非重疊池化,可以看出最大值池化相對(duì)平均值池化效果更好,但是二者都有過(guò)擬合問(wèn)題;第3種模型是最大值重疊池化,一定程度上緩解了過(guò)擬合問(wèn)題;第4種模型使用了最大值重疊池化和dropout技術(shù)并加上了適量正則化,可以看出訓(xùn)練集的準(zhǔn)確率遠(yuǎn)低于測(cè)試集,其準(zhǔ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層。另外對(duì)卷積層和全連接層的網(wǎng)絡(luò)權(quán)重使用了L2正則化,正則化因子較小只有0.000 1,仍然使用Rmsprop學(xué)習(xí)方法訓(xùn)練300個(gè)周期之后的準(zhǔn)確率如圖6所示。

jsj2-t6.gif

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

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

4 結(jié)束語(yǔ)

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

參考文獻(xiàn)

[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.



作者信息:

許少尉,陳思宇

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

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