當前位置:
首頁 > 最新 > 基於深度學習的圖像分類方法

基於深度學習的圖像分類方法

摘要:提出了一種用於圖像分類的卷積神經網路,將不同池化方式對圖像分類的影響進行了分析對比,採用重疊池化和dropout技術,較好地解決過擬合問題。與傳統神經網路相比,該方法在CIFAR-10數據集上獲得了較好的結果,在測試集上準確率比訓練集上準確率高9%左右。

0 引言

隨著互聯網和多媒體技術的快速發展,圖像數據呈現出爆髮式的增長,如何對海量圖像進行高效的分類和檢索成了一項新的挑戰。圖像分類是圖像檢索、物體檢測和識別等應用的基礎,也是模式識別和機器學習中的研究熱點。

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

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

本文針對神經網路模型中常見的過擬合問題,將不同池化方式對圖像分類的影響進行了分析對比,提出了一種採用重疊池化和dropout技術的卷積神經網路,在一定程度上緩解了過擬合問題,能夠應對更加複雜多變的數據環境。

1 卷積神經網路

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

1.1 卷積特徵提取

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

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

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

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

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

卷積神經網路的特點是逐層提取特徵,第一層提取的特徵較為低級,第二層在第一層的基礎上繼續提取更高級別的特徵,同樣,第三層在第二層的基礎上提取的特徵也更為複雜。越高級的特徵越能體現出圖像的類別屬性,卷積神經網路正是通過逐層卷積的方式提取圖像的優良特徵。

1.2 池化下採樣

圖像經過卷積之後會產生多個特徵圖,但是特徵圖的大小與原始圖像相比並沒有改變,數據量仍然很大,計算量也會很大,為了簡化運算,常常會把特徵圖進行下採樣。卷積神經網路採取池化(Pooling)的方式進行下採樣,常見的池化方法有兩種:最大值池化(MaxPooling)和平均值池化(AvgPooling),兩種池化過程如圖2所示。

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

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

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

2.1 基礎神經網路結構

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

2.2 存在問題分析

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

使用CIFAR-10數據集結合Rmsprop優化方法訓練該網路,把所有訓練集中的圖像訓練一遍為一個周期(epoch)。在訓練100個周期後,訓練過程準確率變化如圖4所示。

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

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

3 本文提案的模型

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

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

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

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

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

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

4 結束語

本文提出了一種用於圖像分類的卷積神經網路模型,針對傳統卷積神經網路出現的過擬合問題,使用不同的池化方式和dropout技術,優化了網路結構,提高了模型的圖像分類性能,在CIFAR-10數據集上取得較好的分類效果。

參考文獻

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

[2] 謝寶劍.基於卷積神經網路的圖像分類方法研究[D].合肥:合肥工業大學,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)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 電子技術應用ChinaAET 的精彩文章:

基於密度聚類的能耗數據採集網關設計
基於深度學習的智能路牌識別系統設計

TAG:電子技術應用ChinaAET |