張榮磊,田愛(ài)奎,譚 浩,鄭 睿
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別算法研究
張榮磊,田愛(ài)奎,譚 浩,鄭 睿
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
針對(duì)卷積神經(jīng)網(wǎng)絡(luò)在自然圖像識(shí)別上的局限性,提出一種適用于自然圖像識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)算法,使其在自然圖像識(shí)別的準(zhǔn)確率和速度上取得更好的效果.首先利用MAPREDUCE實(shí)現(xiàn)算法的并行化,并利用GPU技術(shù)對(duì)該算法進(jìn)行加速;再次利用多區(qū)域的邏輯回歸計(jì)算方法提高圖像識(shí)別的準(zhǔn)確率.在實(shí)驗(yàn)環(huán)境下驗(yàn)證了改進(jìn)算法的正確性和有效性.
卷積神經(jīng)網(wǎng)絡(luò);自然圖像;邏輯回歸
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是以人工神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),并結(jié)合深度學(xué)習(xí)理論而提出的一種識(shí)別算法,是近些年來(lái)圖像識(shí)別中的研究熱點(diǎn)[1].從1998年的提出到現(xiàn)在,CNN識(shí)別技術(shù)雖已慢慢趨于穩(wěn)定,可其網(wǎng)絡(luò)結(jié)構(gòu)的局限性針對(duì)自然圖像識(shí)別在效率和速度上還是不能達(dá)到理想的程度[2].為了改善CNN在自然圖像識(shí)別上的效果,本文對(duì)現(xiàn)有CNN網(wǎng)絡(luò)結(jié)構(gòu)的分析,提出了適用于自然圖像識(shí)別的新型卷積神經(jīng)網(wǎng)絡(luò)算法,使這種新型的CNN識(shí)別算法能在短時(shí)間內(nèi)實(shí)現(xiàn)快速收斂,達(dá)到預(yù)期的識(shí)別效果[3].
MapReduce屬于并行編程模型,在大型計(jì)算機(jī)集群上可以完成TB、PB級(jí)別數(shù)據(jù)集的處理,該編程模型的特點(diǎn)就是操作簡(jiǎn)單、包容性強(qiáng)、擴(kuò)展能力高,并且在科學(xué)計(jì)算領(lǐng)域得到了廣泛的應(yīng)用[4].MapReduce編程結(jié)構(gòu)屬于樹(shù)狀圖結(jié)構(gòu),是將大數(shù)據(jù)集操作模塊通過(guò)一個(gè)主節(jié)點(diǎn)進(jìn)行管理,主節(jié)點(diǎn)將操作任務(wù)分發(fā)給各個(gè)分節(jié)點(diǎn),當(dāng)分節(jié)點(diǎn)完成數(shù)據(jù)處理之后再匯總給主節(jié)點(diǎn)[5].MapReduce的處理過(guò)程由Map函數(shù)和Reduce函數(shù)兩部分組成,兩個(gè)函數(shù)的處理任務(wù)也不同,Map函數(shù)是將要處理的任務(wù)分解成多個(gè)任務(wù)模塊,而Reduce函數(shù)則是將處理后的任務(wù)模塊進(jìn)行匯總[6-7].其處理數(shù)據(jù)流程如圖1所示.
圖1 MapReduce數(shù)據(jù)處理過(guò)程Fig.1 The MapReduce data processing
該算法將需要被訓(xùn)練的數(shù)據(jù)分成同樣的小部分,與Hadoop平臺(tái)上的節(jié)點(diǎn)一一對(duì)應(yīng),以平均分布的形式進(jìn)行存儲(chǔ),通過(guò)各個(gè)節(jié)點(diǎn)上所存儲(chǔ)CNN網(wǎng)絡(luò)的數(shù)據(jù)來(lái)完成對(duì)網(wǎng)絡(luò)的訓(xùn)練[8].Mapper任務(wù)接收到的數(shù)據(jù)能夠作用于平臺(tái)上的節(jié)點(diǎn),通過(guò)正向與反向傳播計(jì)算出其中的權(quán)值與偏置的局部變化量,從而形成中間鍵的數(shù)值.當(dāng)所有樣本計(jì)算完成以后,進(jìn)行本地文件處理,將本地文件經(jīng)過(guò)處理之后匯總各次訓(xùn)練所得到的數(shù)據(jù)寫(xiě)入全局文件中[9].基于MapReduce的CNN并行化分解過(guò)程如圖2所示.
圖2 基于MapReduce的CNN并行化分解過(guò)程Fig.2 CNN based on MapReduce parallel decomposition process
CUDA(Compute Unified Device Architecture)編程模型是一種支持GPU處理運(yùn)算的數(shù)據(jù)開(kāi)發(fā)環(huán)境,于2007年由NVIDIA公司率先提出.而GPU屬于圖像圖形處理器,GPU的出現(xiàn)使計(jì)算機(jī)圖形處理速度、質(zhì)量都大大提高,并且還促進(jìn)了虛擬現(xiàn)實(shí)環(huán)境、圖形圖像處理技術(shù)以及計(jì)算機(jī)圖像仿真等領(lǐng)域的飛速發(fā)展[10].CUDA與GPU的結(jié)合,使編程人員在CUDA平臺(tái)上運(yùn)用通用的匯編語(yǔ)言C語(yǔ)言完成匯編,并通過(guò)GPU完成匯編程序的運(yùn)行,這樣就不用單獨(dú)學(xué)習(xí)圖像知識(shí)以及圖形學(xué),大大降低了GPU數(shù)據(jù)處理計(jì)算難度,提高了系統(tǒng)的穩(wěn)定性.
CUDA平臺(tái)下的整個(gè)數(shù)據(jù)處理結(jié)構(gòu)由CPU和GPU構(gòu)成,CPU+GPU的結(jié)構(gòu)形式是提高計(jì)算機(jī)計(jì)算性能的重要想法,而且在能源上也有所節(jié)約.CPU+GPU的結(jié)構(gòu)形式如圖3所示.
圖3 CPU+GPU結(jié)構(gòu)Fig.3 The CPU+GPU structure
CPU主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù),實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線(xiàn).CPU能夠直接存取GPU的存儲(chǔ)位址.GPU作為一個(gè)多重單位運(yùn)算體系,在并行計(jì)算上有得天獨(dú)厚的優(yōu)勢(shì),通過(guò)CPU與GPU的結(jié)合讓串行工作與并行工作協(xié)調(diào)處理,將大幅度提高計(jì)算機(jī)的計(jì)算能力.
圖4 圖像識(shí)別測(cè)試區(qū)域Fig.4 The image recognition test area
上圖是對(duì)處理后的圖像的5個(gè)區(qū)域的測(cè)定位置選擇,在進(jìn)行邏輯回歸層錯(cuò)誤率計(jì)算時(shí),為達(dá)到最佳的識(shí)別和分類(lèi)效果,將5個(gè)區(qū)域得到的測(cè)試結(jié)果的平均值作為輸出.這種圖像識(shí)別測(cè)試方法可以通過(guò)圖像的訓(xùn)練學(xué)習(xí),來(lái)對(duì)權(quán)值不斷更新,最終完成權(quán)值的最優(yōu)化.通過(guò)測(cè)試實(shí)驗(yàn)得出:通過(guò)區(qū)域測(cè)試訓(xùn)練之后的圖像識(shí)別正確率提高了5%,訓(xùn)練時(shí)間縮減一半.但是由于增加了圖像訓(xùn)練和測(cè)試區(qū)域選擇的過(guò)程,所以系統(tǒng)進(jìn)行圖像識(shí)別的總時(shí)間呈增加趨勢(shì).
經(jīng)過(guò)系統(tǒng)的訓(xùn)練與篩選過(guò)程,輸入系統(tǒng)中的數(shù)據(jù)集能夠形成兩種分類(lèi)結(jié)果:當(dāng)系統(tǒng)的預(yù)測(cè)分類(lèi)與期望的標(biāo)簽相符合時(shí),系統(tǒng)顯示分類(lèi)正確;當(dāng)系統(tǒng)的預(yù)測(cè)分類(lèi)與期望的分類(lèi)標(biāo)簽不相符時(shí),系統(tǒng)會(huì)自動(dòng)顯示分類(lèi)錯(cuò)誤.通過(guò)通用的數(shù)據(jù)集的輸入接口方式,能夠?qū)⑺铇?gòu)建分類(lèi)的數(shù)據(jù)集進(jìn)行分類(lèi).系統(tǒng)通過(guò)Python腳本所實(shí)現(xiàn)的分類(lèi)結(jié)果如圖5、圖6所示.
圖5 識(shí)別正確 圖6 識(shí)別錯(cuò)誤 Fig.5 Identify the correct Fig.6 Recognition errors
這里使用的是 CIFAR10 數(shù)據(jù)集進(jìn)行測(cè)試.系統(tǒng)對(duì)每一個(gè) epoch 測(cè)試得到的錯(cuò)誤率保存起來(lái),通過(guò) Python 腳本可以查看錯(cuò)誤率的變化情況.每一個(gè) epoch 是 128 個(gè)樣本.
通過(guò)對(duì)參數(shù)的調(diào)整和網(wǎng)絡(luò)結(jié)構(gòu)的變化,之前沒(méi)有使用多區(qū)域的邏輯回歸計(jì)算時(shí),系統(tǒng)的分類(lèi)錯(cuò)誤率在 18.00%,使用了多區(qū)域的邏輯回歸之后,系統(tǒng)的分類(lèi)錯(cuò)誤率為13.46%左右,準(zhǔn)確率提高了 4.54%.在原始的圖像處理過(guò)程中圖像沒(méi)有經(jīng)過(guò)裁剪,在MR-CNN-G中使用的是裁剪過(guò)的圖像.在訓(xùn)練過(guò)程中,使用方法一的時(shí)間較少,但是每次在測(cè)試過(guò)程中,測(cè)試的時(shí)間增加了.見(jiàn)表1.
表1 結(jié)果對(duì)比
Tab.1 the comparison of the results
MR-CNN-G網(wǎng)絡(luò)類(lèi)型一次訓(xùn)練樣本個(gè)數(shù)WC訓(xùn)練時(shí)間/s測(cè)試時(shí)間/s錯(cuò)誤率/%原始網(wǎng)絡(luò)30174.1116.918.00MR-CNN-G300.0141.8161.513.46
基于本文針對(duì)圖像識(shí)別的CNN算法研究上面雖已取得了一定的進(jìn)展,將改進(jìn)后的算法應(yīng)用于圖像識(shí)別,提高了圖像識(shí)別準(zhǔn)確率,提升了識(shí)別過(guò)程中的數(shù)據(jù)處理過(guò)程.但還存在一定問(wèn)題,如圖象前期處理復(fù)雜,預(yù)處理時(shí)間較長(zhǎng)及在引入GPU時(shí),由于數(shù)據(jù)接口不通用,所需的數(shù)據(jù)集需要選擇輸入等.
[1]李媛媛.卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化及其在圖像識(shí)別中的應(yīng)用[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué), 2016.
[2]徐冉,張俊格,黃凱奇.利用雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率算法[J].中國(guó)圖象圖形學(xué)報(bào), 2016, 21(5):556-564.
[3]劉曠.基于卷積網(wǎng)絡(luò)集成的面部表情識(shí)別方法[D].杭州:浙江大學(xué), 2016.
[4]MCKENNA A,HANNA M,BANKS E, et al. The Genome Analysis Toolkit: A MapReduce framework for analyzing next-generation DNA sequencing data[J]. Genome Research, 2010, 20(9):1297-1303.
[5] 李遠(yuǎn)方,賈時(shí)銀,鄧世昆,等. 基于樹(shù)結(jié)構(gòu)的MapReduce模型[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2011, 21(8):149-152.
[6]THUSOO A,SAMA J S,JAIN N,et al. Hive: a warehousing solution over a map-reduce framework[J]. Proceedings of the Vldb Endowment, 2009, 2(2):1 626-1 629.
[7] 劉朵, 曾鋒, 陳志剛,等.Hadoop平臺(tái)中一種Reduce負(fù)載均衡貪心算法[J].計(jì)算機(jī)應(yīng)用研究, 2016, 33(9) :2 656-2 659.
[8]高辰.Hadoop平臺(tái)計(jì)算管理節(jié)點(diǎn)可擴(kuò)展性改進(jìn)方案[D].天津:南開(kāi)大學(xué),2013.
[9]肖瑛.采用瞬時(shí)梯度變化率判決的雙模式盲均衡算法[J].大連民族學(xué)院學(xué)報(bào),2013,15(1):79-82.
[10]岳俊,鄒進(jìn)貴,何豫航.基于CPU與GPU/CUDA的數(shù)字圖像處理程序的性能比較[J].地理空間信息,2012(4):45-47.
Researchonimagerecognitionalgorithmbasedonconvolutionalneuralnetworks
ZHANG Rong-Lei, TIAN Ai-kui, TAN Hao, ZHENG Rui
(School of Computer Science and Technology, Shandong University of Technology, Zibo 255049, China)
According to the limitation of the convolutional neural network in natural image recognition, a convolution neural network algorithm for natural image recognition is proposed. So that the accuracy and speed can achieve better results. Firstly, the parallelism of the algorithm is achieved by using MAPREDUCE, and the algorithm is accelerated by using GPU technology; Secondly, the method of multi region logistic regression is used to improve the accuracy of image recognition; Finally, the correctness and effectiveness of the improved algorithm are verified in the experimental environment.
convolutional neural networks;natural image;logistic regression
2016-12-23
張榮磊, 男, lei880922@163.com;
田愛(ài)奎, 男, takui@163.com
1672-6197(2018)01-0048-03
TP391.41
A
(編輯:劉寶江)