国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類研究

2018-01-19 11:35葛程孫國強
軟件導刊 2018年10期
關(guān)鍵詞:圖像分類卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)

葛程 孫國強

摘 要:結(jié)合現(xiàn)有基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類算法,以CIFAR-10作為數(shù)據(jù)集,探究如何快速搭建一個滿足分類精度要求的卷積神經(jīng)網(wǎng)絡(luò)模型,以及如何有目的且高效地進行網(wǎng)絡(luò)訓練與參數(shù)調(diào)整。實驗以簡單的三層卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),從數(shù)據(jù)增強、網(wǎng)絡(luò)結(jié)構(gòu)與優(yōu)化訓練3個方面對模型進行改進。實驗結(jié)果表明,通過疊加這些改進方法,可使模型的擬合能力與泛化能力逐漸增強,最終獲得更高的圖像分類準確率。

關(guān)鍵詞關(guān)鍵詞:圖像分類;卷積神經(jīng)網(wǎng)絡(luò);網(wǎng)絡(luò)結(jié)構(gòu);數(shù)據(jù)增強

DOIDOI:10.11907/rjdk.181090

中圖分類號:TP301

文獻標識碼:A 文章編號:1672-7800(2018)010-0027-05

英文摘要Abstract:Combined with the existing image classification algorithm based on convolution neural network,we explore how to quickly build a convolution neural network model to meet the classification accuracy requirements,and how to efficiently and purposefully carry out network training and parameter adjustment by starting from the practice and using CIFAR-10 as a dataset.Based on a simple three-layer convolution neural network,the model is improved from three aspects:data enhancement,network structure,optimization and training.The experimental results show that by adding these improved methods,the ability of fitting and generalization of the model is gradually enhanced,and a higher accuracy of image classification is obtained.

英文關(guān)鍵詞Key Words:image classification;convolution neural network;network structure;data enhancement

0 引言

圖像分類是指通過對圖像進行一系列數(shù)學運算處理后,得到的圖像特征表達可以表征該圖像屬于某種預定義類別的分類問題。圖像分類是計算機視覺領(lǐng)域的一個基礎(chǔ)問題,傳統(tǒng)圖像分類方法依賴于人工設(shè)計的復雜特征工程提取的圖像特征,主要采用的特征提取方法有尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[1]與方向梯度直方圖(Histogram of Oriented Gradients,HOG)[2]。人為設(shè)定的算法邏輯清晰且易于實現(xiàn),但總會留下盲區(qū),從而成為整個模型的短板,且模型缺乏泛化性。在2012年的ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)中,由Alex Krizhevsky等[3]提出的AlexNet首次將深度卷積神經(jīng)網(wǎng)絡(luò)應用于大規(guī)模圖像分類并獲得第一名,之后基于深度卷積神經(jīng)網(wǎng)絡(luò)的模型開始取代傳統(tǒng)圖像分類算法,成為ILSVRC圖像分類比賽的主流算法,卷積神經(jīng)網(wǎng)絡(luò)也在計算機視覺領(lǐng)域得到了廣泛應用。

深度學習舍棄了特征工程的步驟,讓模型更好地根據(jù)數(shù)據(jù)的原始狀態(tài)學習成長,從而更容易學到數(shù)據(jù)中有價值的信息。

卷積神經(jīng)網(wǎng)絡(luò)會對一張圖片最好的卷積核及其組合方式進行自動學習,也即對于輸入是一張圖片的任務而言,求出該圖片對于該任務的最好特征表達,然后進行判斷。

本文以三層卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),從數(shù)據(jù)增強、網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)訓練優(yōu)化3方面改進優(yōu)化網(wǎng)絡(luò)模型,旨在探究如何快速搭建一個滿足分類精度要求的卷積神經(jīng)網(wǎng)絡(luò)模型,以及如何有目的且高效地進行網(wǎng)絡(luò)訓練與參數(shù)調(diào)整。

1 相關(guān)知識介紹

卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)部分包括卷積層與全連接層,兩部分同樣都由線性部分和非線性部分組成,線性部分完成對數(shù)據(jù)的匯總計算,非線性部分的主要作用是打破之前的線性映射關(guān)系[4]。全連接層和卷積層的主要區(qū)別在于全連接層的線性部分完成對全部數(shù)據(jù)的匯總計算,而卷積層的匯總是對局部數(shù)據(jù)的匯總,這種局部匯總操作稱為卷積。卷積運算利用了圖像的局部相關(guān)性,與全連接層相比,卷積層參數(shù)量大幅減少,使模型復雜度降低,從而更容易訓練[5]。一個簡單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

數(shù)據(jù)增強主要是指在訓練數(shù)據(jù)上增加微小的擾動或變化,一方面可以增加訓練數(shù)據(jù),從而提升模型泛化能力,另一方面可以增加噪聲數(shù)據(jù),從而增強模型的魯棒性。針對圖像數(shù)據(jù),主要的數(shù)據(jù)增強方法有翻轉(zhuǎn)變換、隨機修剪、色彩抖動、平移變換、尺度變換、對比度變換、噪聲擾動和旋轉(zhuǎn)變換等。具體做法是獲取一批訓練數(shù)據(jù),進行數(shù)據(jù)增強步驟之后再送入網(wǎng)絡(luò)進行訓練。

網(wǎng)絡(luò)架構(gòu)是卷積神經(jīng)網(wǎng)絡(luò)的一個核心部分,自2012年的ILSVR以來,新的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)以及在網(wǎng)絡(luò)中起特殊作用的模型層也不斷出現(xiàn)。對卷積神經(jīng)網(wǎng)絡(luò)發(fā)展產(chǎn)生巨大影響的經(jīng)典模型有AlexNet、VGGNet[6]、GoogleNet[7]和ResNet[8]等,起特殊作用的模型層有批正則化層(BatchNormalizationLayer,BN)[9]、Dropout層[10]、權(quán)重衰減[11]和局部響應歸一化層(LocalResponseNormalization,LRN)[12]等,這些對模型的改進讓模型的擬合能力和泛化能力得到明顯提升。

ResNet的核心思想是將卷積神經(jīng)網(wǎng)絡(luò)模型中曾經(jīng)的的乘法關(guān)系轉(zhuǎn)變成加法關(guān)系,讓每一層參數(shù)都更加接近目標函數(shù)。殘差網(wǎng)絡(luò)中最精華的部分是跳接部分(Skipping Connection),該結(jié)構(gòu)可以使前一層網(wǎng)絡(luò)的特征信息不經(jīng)過任何計算,直接傳遞到下一層。

批正則化是指對神經(jīng)網(wǎng)絡(luò)的每一層輸入數(shù)據(jù)進行正則化處理,從而讓數(shù)據(jù)分布更加均勻,不會使所有數(shù)據(jù)都導致神經(jīng)元激活,或所有數(shù)據(jù)都不能導致神經(jīng)元激活,這是一種數(shù)據(jù)標準化方法,能夠提升模型擬合能力。Dropout層最經(jīng)典的用法是放在全連接層之前,在訓練階段,全連接層的輸入首先經(jīng)過Dropout層,使一部分輸入數(shù)據(jù)被Dropout層隨機丟棄而置0,以減輕模型的過擬合情況[13]。權(quán)重衰減即L2正則化,是在代價函數(shù)后加上一個正則化項,如公式(1)所示。C_0代表原始代價函數(shù),后面一項即為L2正則化項,用來限制權(quán)重參數(shù)個數(shù),以防止過擬合。LRN層模仿生物神經(jīng)系統(tǒng)的側(cè)抑制機制,對于局部神經(jīng)元的活動創(chuàng)建競爭機制,使響應較大的值相對更大,提高模型泛化能力。

C=C0+λ[]2n∑ωw2 (1)

網(wǎng)絡(luò)的優(yōu)化與訓練也是機器學習中十分重要的一部分,其中變化學習率是指在整個網(wǎng)絡(luò)訓練過程中,學習率可通過自適應方法調(diào)節(jié)。學習率決定了參數(shù)空間搜索的步長,若過大將導致解振動、不收斂,過小將導致收斂速度慢,更早收斂于局部最優(yōu)解。變化學習率是指通過在訓練過程中遞減學習率,使模型能夠更好地收斂,從而增強模型擬合能力。理想的學習率設(shè)計要求前期使用大學習率進行搜索,后期使用小學習率進行調(diào)優(yōu),并對參數(shù)進行個性化調(diào)整,優(yōu)化頻率高的參數(shù)以降低學習率,優(yōu)化頻率低的參數(shù)以提高學習率。比較著名的學習率調(diào)整算法有動量(Momentum)算法[14]、Nesterov算法[15]和Adagrad[16]等。

2 實驗設(shè)計

實驗操作系統(tǒng)為Win10,CPU為Inteli7-8700k,顯卡為GTX-1080Ti,內(nèi)存為16G,并以Tensorflow為框架,采用公開數(shù)據(jù)集CIFAR-10。CIFAR-10數(shù)據(jù)集有60 000張圖片,每張圖片均為分辨率為32*32的彩色圖片(分為RGB3個信道)。CIFAR-10的分類任務是將每張圖片分成青蛙、卡車、飛機等10個類別中的一個。

為了能在訓練網(wǎng)絡(luò)的同時檢測網(wǎng)絡(luò)性能,將數(shù)據(jù)集劃分為訓練集、驗證集和測試集3部分,圖片數(shù)量分別為45 000、5 000和10 000。訓練集用于模型訓練,驗證集用于參數(shù)調(diào)整,測試集用于模型性能評估。

2.1 基礎(chǔ)版本的卷積神經(jīng)網(wǎng)絡(luò)搭建

實驗1為基礎(chǔ)版本的卷積神經(jīng)網(wǎng)絡(luò)搭建。具體網(wǎng)絡(luò)結(jié)構(gòu)配置如圖2所示。

該網(wǎng)絡(luò)是一個有三層卷積層的神經(jīng)網(wǎng)絡(luò),能夠快速完成圖像特征提取。全連接層用于將圖像特征整合成分類特征,分類層用于分類。參數(shù)初始化時,所有權(quán)重矩陣使用random_normal(0.0,0.001),所有偏置向量使用constant(0.0)。使用cross entropy作為目標函數(shù),并使用Adam梯度下降法進行參數(shù)更新,學習率設(shè)為固定值0.001,訓練300輪并保存數(shù)據(jù)。

2.2 數(shù)據(jù)增強

實驗2在基礎(chǔ)卷積神經(jīng)網(wǎng)絡(luò)上使用數(shù)據(jù)增強技術(shù),主要進行的數(shù)據(jù)增強操作如下:①圖像切割:生成比圖像尺寸略小的矩形框,對圖像進行隨機切割,最終以矩形框內(nèi)圖像作為訓練數(shù)據(jù);②圖像翻轉(zhuǎn):對圖像進行左右翻轉(zhuǎn);③圖像白化:對圖像進行白化操作。

采用4組實驗進行對比,以觀測不同數(shù)據(jù)增強方法的作用。實驗1只進行圖像切割,實驗2只進行圖像翻轉(zhuǎn),實驗3只進行圖像白化,實驗4同時使用3種數(shù)據(jù)增強方法,訓練1 000輪并保存數(shù)據(jù)。

2.3 模型改進

實驗3在之前網(wǎng)絡(luò)模型的基礎(chǔ)上對模型進行改進,為了進行對比實驗,該部分同樣進行4組實驗。實驗1增加權(quán)重衰減部分,實驗2增加權(quán)重衰減和dropout部分,實驗3增加權(quán)重衰減、dropout和批正則化部分,實驗4增加權(quán)重衰減、dropout、批正則化和LRN部分,訓練1 000輪并保存數(shù)據(jù)。

2.4 變化學習率實驗

實驗4主要探究變化的學習率對模型的影響,大致思路如下:①首先使用較大的學習率進行訓練,觀察目標函數(shù)值和驗證集的準確率收斂曲線;②當目標函數(shù)值下降速度和驗證集準確率上升速度減緩時,減小學習率;③循環(huán)步驟②,直到減小學習率也不會影響目標函數(shù)下降或驗證集準確率上升為止。

在之前的網(wǎng)絡(luò)模型基礎(chǔ)上進行實驗,為了進行對比實驗,該實驗分為3部分,實驗1只使用0.01的學習率進行訓練,實驗2前10 000批使用0.01的學習率,之后學習率降到0.001,實驗3前10 000批使用0.01的學習率,10 000~20 000批使用0.001的學習率,之后學習率降到0.000 5。同樣都訓練500輪并保存數(shù)據(jù)。

2.5 加深網(wǎng)絡(luò)層數(shù)實驗

實驗5主要探究網(wǎng)絡(luò)層數(shù)對分類精度的影響,網(wǎng)絡(luò)結(jié)構(gòu)配置如圖3所示。

為了進行對比實驗,該部分同樣進行4組實驗,每組網(wǎng)絡(luò)層數(shù)分別設(shè)置為8、14、20和32,同樣訓練500輪并保存數(shù)據(jù)。

2.6 殘差網(wǎng)絡(luò)實驗

由于網(wǎng)絡(luò)層數(shù)加深,誤差反傳過程中會使梯度不斷衰減,而通過跨層的直連邊,可減少誤差在反傳過程中的衰減,以成功訓練深層次網(wǎng)絡(luò)。

實驗6通過設(shè)置對比實驗,以觀察殘差網(wǎng)絡(luò)的性能。共進行4組實驗,參照圖3的網(wǎng)絡(luò)配置,每組的網(wǎng)絡(luò)層數(shù)分別設(shè)置為20、32、44和56。同樣訓練500輪并保存數(shù)據(jù)。

3 實驗結(jié)果及分析

實驗1結(jié)果如圖4所示,左邊是loss(目標函數(shù)值)變化曲線,右邊是訓練集和驗證集分類精度變化曲線。

實驗1結(jié)果分析如下:loss開始從190不斷減小到接近0,然后在100輪左右開始出現(xiàn)震蕩,并且震蕩幅度越來越大,說明模型不穩(wěn)定。觀察訓練集和驗證集的分類準確率,訓練集準確率接近于1,而驗證集準確率穩(wěn)定在68%左右,說明模型泛化能力不強并且出現(xiàn)了過擬合情況。最后利用訓練完成的模型對測試集進行分類,結(jié)果準確率為68.36%,說明模型尚有很大改進空間。

實驗2結(jié)果如圖5所示,左邊是進行數(shù)據(jù)增強后4個對比實驗的loss變化曲線,右邊是驗證集準確率變化曲線。

實驗2結(jié)果分析如下:右邊的驗證集分類精度曲線表明3種數(shù)據(jù)增強技術(shù)中圖像白化的效果最好,其次是圖像切割,再次是圖像翻轉(zhuǎn),而如果同時使用3種數(shù)據(jù)增強技術(shù),不僅能使訓練過程的loss更穩(wěn)定,而且能使驗證集的準確率提升至82%左右,提升效果十分明顯。對于測試集,準確率也提升至80.31%。說明圖像增強可通過增加訓練集數(shù)據(jù)量達到提升模型泛化能力以及魯棒性的效果。

實驗3結(jié)果如圖6所示,左邊是進行模型改進后4個對比實驗的loss變化曲線,右邊是驗證集準確率變化曲線。

實驗3結(jié)果分析如下:右圖的驗證集分類精度曲線表明,上述4個模型改進方法的應用都會使訓練集誤差與驗證集準確率獲得提升,其中批正則化技術(shù)和dropout技術(shù)帶來的提升效果非常明顯。當同時使用這些模型提升技術(shù)時,驗證集的分類準確率從82%提升至88%左右。對于測試集,準確率提升至85.56%。觀察左圖,使用批正則化之后,loss曲線不再像之前出現(xiàn)先下降后上升的情況,說明批正則化技術(shù)可以增強模型訓練的穩(wěn)定性,并且能夠很大程度上提升模型泛化能力。

實驗4結(jié)果如圖7所示,左邊是變化學習率部分3個對比實驗的loss變化曲線,右邊是驗證集準確率變化曲線。

實驗4結(jié)果分析如下:在10 000批時,學習率從0.01下降到0.001,目標函數(shù)值出現(xiàn)明顯下降,驗證集準確率有明顯提升;在20 000批時,學習率從0.001下降到0.000 5,目標函數(shù)值未明顯下降,但驗證集準確率有一定提升。對于測試集,準確率提升至86.35%,說明學習率的變化能夠提升模型擬合能力,從而提升準確率。學習率在何時衰減、衰減多少也需要進行多次嘗試。一般在模型基本成型之后,使用變化學習率方法,可對模型進行一定程度的改進。

實驗5結(jié)果如圖8所示,左邊是加深網(wǎng)絡(luò)層數(shù)部分4個對比實驗的loss變化曲線,右邊是驗證集準確率變化曲線。

實驗5結(jié)果分析如下:右邊的驗證集精度曲線表明,網(wǎng)絡(luò)層數(shù)從8層增加到14層,準確率有所上升,但從14層增加到20層后再增加到32層,準確率不升反降,說明如果網(wǎng)絡(luò)層數(shù)過大,由于梯度衰減的原因,將導致網(wǎng)絡(luò)性能下降。因此,在使用深度神經(jīng)網(wǎng)絡(luò)時,需要解決梯度衰減問題。

實驗6結(jié)果如圖9所示,左邊是使用殘差網(wǎng)絡(luò)部分4個對比實驗的loss變化曲線,右邊是驗證集準確率變化曲線。

實驗6結(jié)果分析如下:當網(wǎng)絡(luò)從20層增加到56層,訓練loss穩(wěn)步降低,驗證集準確率穩(wěn)步提升,并且當網(wǎng)絡(luò)層數(shù)為56層時,驗證集準確率可達到91.62%,說明使用殘差網(wǎng)技術(shù)可以解決梯度衰減問題,發(fā)揮深層網(wǎng)絡(luò)的特征提取能力,使模型獲得很強的擬合能力與泛化能力。

上述實驗對模型分類準確率的提升數(shù)據(jù)如表1所示。

4 結(jié)語

實驗結(jié)果表明,通過數(shù)據(jù)增強、網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化訓練3個方面對模型進行改進,使模型的擬合能力和泛化能力逐漸增強,最終將模型在數(shù)據(jù)集CIFAR-10的分類準確率從68%提升到92%左右。上述具體的實驗設(shè)計步驟與結(jié)果分析,對于如何快速搭建一個卷積網(wǎng)絡(luò)模型,并進行訓練與優(yōu)化可起到一定啟發(fā)作用。

參考文獻:

[1] DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[J].IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2005(12):886-893.

[2] HINTON G E,SALAKHUTDINOV R.Reducing the dimensionality of data with neural networks[J].Science,2006,313:504-507.

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

[4] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計算機學報,2017,40(6):1229-1251.

[5] 盧宏濤,張秦川.深度卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺中的應用研究綜述[J].數(shù)據(jù)采集與處理,2016,31(1):1-17.

[6] SZEGEDY C,VANHOUCKE V,IOFFE S,et al.Rethinking the inception architecture for computer vision[J].Computer Science ,2015:2818-2826.

[7] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C].Computer Vision and Pattern Recognition,2016:770-778.

[8] IOFFE S,SZEGEDY C.Batch normalization:accelerating deep network training by reducing internal covariate shift[Z].Cornell University Library,2015.

[9] SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al.Dropout:a simple way to prevent neural networks from overfitting[J].Journal of Machine Learning Research,2014,15(1):1929-1958.

[10] KROGH A,HERTZ J A.A simple weight decay can improve generalization[J].International Conference on Neural Information Processing Systems,1991:950-957.

[11] ROBINSON A E,HAMMON P S,DE SA V R.Explaining brightness illusions using spatial filtering and local response normalization[J].Vision Research,2007,47(12):1631-1644.

[12] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].Computer Science,2014.

[13] 馮超.深度學習輕松學:核心算法與視覺實踐[M]北京:電子工業(yè)出版社,2017:204-206.

[14] SUTSKEVER I,MARTENS J,DAHL G,et al.On the importance of initialization and momentum in deep learning[C].International Conference on International Conference on Machine Learning,2013.

[15] NESTEROV Y.A method for unconstrained convex minimization problem with the rate of convergence[C].Soviet Mathematics Doklady,1983.

[16] DUCHI J,HAZAN E,SINGER Y.Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research,2011,12(7):257-269.

(責任編輯:黃 ?。?/p>

猜你喜歡
圖像分類卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)
基于云計算的圖像分類算法
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
基于錨點建圖的半監(jiān)督分類在遙感圖像中的應用
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學習
知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠程創(chuàng)新搜尋的中介作用
滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實證分析
復雜網(wǎng)絡(luò)結(jié)構(gòu)比對算法研究進展
安塞县| 旬邑县| 宁明县| 荔浦县| 奉化市| 剑川县| 调兵山市| 大厂| 德州市| 右玉县| 德安县| 辰溪县| 怀集县| 沾益县| 安龙县| 墨江| 精河县| 历史| 永善县| 嘉鱼县| 多伦县| 平昌县| 延吉市| 玉树县| 闽清县| 永昌县| 乐陵市| 岫岩| 磐安县| 台东县| 永康市| 晋宁县| 舒兰市| 秦安县| 贵德县| 棋牌| 方山县| 大安市| 涞水县| 金平| 阳山县|