張榮磊,田愛奎,譚 浩,鄭 睿
(山東理工大學 計算機科學與技術(shù)學院,山東 淄博 255049)
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別算法研究
張榮磊,田愛奎,譚 浩,鄭 睿
(山東理工大學 計算機科學與技術(shù)學院,山東 淄博 255049)
針對卷積神經(jīng)網(wǎng)絡(luò)在自然圖像識別上的局限性,提出一種適用于自然圖像識別的卷積神經(jīng)網(wǎng)絡(luò)算法,使其在自然圖像識別的準確率和速度上取得更好的效果.首先利用MAPREDUCE實現(xiàn)算法的并行化,并利用GPU技術(shù)對該算法進行加速;再次利用多區(qū)域的邏輯回歸計算方法提高圖像識別的準確率.在實驗環(huán)境下驗證了改進算法的正確性和有效性.
卷積神經(jīng)網(wǎng)絡(luò);自然圖像;邏輯回歸
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是以人工神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),并結(jié)合深度學習理論而提出的一種識別算法,是近些年來圖像識別中的研究熱點[1].從1998年的提出到現(xiàn)在,CNN識別技術(shù)雖已慢慢趨于穩(wěn)定,可其網(wǎng)絡(luò)結(jié)構(gòu)的局限性針對自然圖像識別在效率和速度上還是不能達到理想的程度[2].為了改善CNN在自然圖像識別上的效果,本文對現(xiàn)有CNN網(wǎng)絡(luò)結(jié)構(gòu)的分析,提出了適用于自然圖像識別的新型卷積神經(jīng)網(wǎng)絡(luò)算法,使這種新型的CNN識別算法能在短時間內(nèi)實現(xiàn)快速收斂,達到預期的識別效果[3].
MapReduce屬于并行編程模型,在大型計算機集群上可以完成TB、PB級別數(shù)據(jù)集的處理,該編程模型的特點就是操作簡單、包容性強、擴展能力高,并且在科學計算領(lǐng)域得到了廣泛的應(yīng)用[4].MapReduce編程結(jié)構(gòu)屬于樹狀圖結(jié)構(gòu),是將大數(shù)據(jù)集操作模塊通過一個主節(jié)點進行管理,主節(jié)點將操作任務(wù)分發(fā)給各個分節(jié)點,當分節(jié)點完成數(shù)據(jù)處理之后再匯總給主節(jié)點[5].MapReduce的處理過程由Map函數(shù)和Reduce函數(shù)兩部分組成,兩個函數(shù)的處理任務(wù)也不同,Map函數(shù)是將要處理的任務(wù)分解成多個任務(wù)模塊,而Reduce函數(shù)則是將處理后的任務(wù)模塊進行匯總[6-7].其處理數(shù)據(jù)流程如圖1所示.
圖1 MapReduce數(shù)據(jù)處理過程Fig.1 The MapReduce data processing
該算法將需要被訓練的數(shù)據(jù)分成同樣的小部分,與Hadoop平臺上的節(jié)點一一對應(yīng),以平均分布的形式進行存儲,通過各個節(jié)點上所存儲CNN網(wǎng)絡(luò)的數(shù)據(jù)來完成對網(wǎng)絡(luò)的訓練[8].Mapper任務(wù)接收到的數(shù)據(jù)能夠作用于平臺上的節(jié)點,通過正向與反向傳播計算出其中的權(quán)值與偏置的局部變化量,從而形成中間鍵的數(shù)值.當所有樣本計算完成以后,進行本地文件處理,將本地文件經(jīng)過處理之后匯總各次訓練所得到的數(shù)據(jù)寫入全局文件中[9].基于MapReduce的CNN并行化分解過程如圖2所示.
圖2 基于MapReduce的CNN并行化分解過程Fig.2 CNN based on MapReduce parallel decomposition process
CUDA(Compute Unified Device Architecture)編程模型是一種支持GPU處理運算的數(shù)據(jù)開發(fā)環(huán)境,于2007年由NVIDIA公司率先提出.而GPU屬于圖像圖形處理器,GPU的出現(xiàn)使計算機圖形處理速度、質(zhì)量都大大提高,并且還促進了虛擬現(xiàn)實環(huán)境、圖形圖像處理技術(shù)以及計算機圖像仿真等領(lǐng)域的飛速發(fā)展[10].CUDA與GPU的結(jié)合,使編程人員在CUDA平臺上運用通用的匯編語言C語言完成匯編,并通過GPU完成匯編程序的運行,這樣就不用單獨學習圖像知識以及圖形學,大大降低了GPU數(shù)據(jù)處理計算難度,提高了系統(tǒng)的穩(wěn)定性.
CUDA平臺下的整個數(shù)據(jù)處理結(jié)構(gòu)由CPU和GPU構(gòu)成,CPU+GPU的結(jié)構(gòu)形式是提高計算機計算性能的重要想法,而且在能源上也有所節(jié)約.CPU+GPU的結(jié)構(gòu)形式如圖3所示.
圖3 CPU+GPU結(jié)構(gòu)Fig.3 The CPU+GPU structure
CPU主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù),實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線.CPU能夠直接存取GPU的存儲位址.GPU作為一個多重單位運算體系,在并行計算上有得天獨厚的優(yōu)勢,通過CPU與GPU的結(jié)合讓串行工作與并行工作協(xié)調(diào)處理,將大幅度提高計算機的計算能力.
圖4 圖像識別測試區(qū)域Fig.4 The image recognition test area
上圖是對處理后的圖像的5個區(qū)域的測定位置選擇,在進行邏輯回歸層錯誤率計算時,為達到最佳的識別和分類效果,將5個區(qū)域得到的測試結(jié)果的平均值作為輸出.這種圖像識別測試方法可以通過圖像的訓練學習,來對權(quán)值不斷更新,最終完成權(quán)值的最優(yōu)化.通過測試實驗得出:通過區(qū)域測試訓練之后的圖像識別正確率提高了5%,訓練時間縮減一半.但是由于增加了圖像訓練和測試區(qū)域選擇的過程,所以系統(tǒng)進行圖像識別的總時間呈增加趨勢.
經(jīng)過系統(tǒng)的訓練與篩選過程,輸入系統(tǒng)中的數(shù)據(jù)集能夠形成兩種分類結(jié)果:當系統(tǒng)的預測分類與期望的標簽相符合時,系統(tǒng)顯示分類正確;當系統(tǒng)的預測分類與期望的分類標簽不相符時,系統(tǒng)會自動顯示分類錯誤.通過通用的數(shù)據(jù)集的輸入接口方式,能夠?qū)⑺铇?gòu)建分類的數(shù)據(jù)集進行分類.系統(tǒng)通過Python腳本所實現(xiàn)的分類結(jié)果如圖5、圖6所示.
圖5 識別正確 圖6 識別錯誤 Fig.5 Identify the correct Fig.6 Recognition errors
這里使用的是 CIFAR10 數(shù)據(jù)集進行測試.系統(tǒng)對每一個 epoch 測試得到的錯誤率保存起來,通過 Python 腳本可以查看錯誤率的變化情況.每一個 epoch 是 128 個樣本.
通過對參數(shù)的調(diào)整和網(wǎng)絡(luò)結(jié)構(gòu)的變化,之前沒有使用多區(qū)域的邏輯回歸計算時,系統(tǒng)的分類錯誤率在 18.00%,使用了多區(qū)域的邏輯回歸之后,系統(tǒng)的分類錯誤率為13.46%左右,準確率提高了 4.54%.在原始的圖像處理過程中圖像沒有經(jīng)過裁剪,在MR-CNN-G中使用的是裁剪過的圖像.在訓練過程中,使用方法一的時間較少,但是每次在測試過程中,測試的時間增加了.見表1.
表1 結(jié)果對比
Tab.1 the comparison of the results
MR-CNN-G網(wǎng)絡(luò)類型一次訓練樣本個數(shù)WC訓練時間/s測試時間/s錯誤率/%原始網(wǎng)絡(luò)30174.1116.918.00MR-CNN-G300.0141.8161.513.46
基于本文針對圖像識別的CNN算法研究上面雖已取得了一定的進展,將改進后的算法應(yīng)用于圖像識別,提高了圖像識別準確率,提升了識別過程中的數(shù)據(jù)處理過程.但還存在一定問題,如圖象前期處理復雜,預處理時間較長及在引入GPU時,由于數(shù)據(jù)接口不通用,所需的數(shù)據(jù)集需要選擇輸入等.
[1]李媛媛.卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化及其在圖像識別中的應(yīng)用[D].沈陽:沈陽工業(yè)大學, 2016.
[2]徐冉,張俊格,黃凱奇.利用雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率算法[J].中國圖象圖形學報, 2016, 21(5):556-564.
[3]劉曠.基于卷積網(wǎng)絡(luò)集成的面部表情識別方法[D].杭州:浙江大學, 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] 李遠方,賈時銀,鄧世昆,等. 基于樹結(jié)構(gòu)的MapReduce模型[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平臺中一種Reduce負載均衡貪心算法[J].計算機應(yīng)用研究, 2016, 33(9) :2 656-2 659.
[8]高辰.Hadoop平臺計算管理節(jié)點可擴展性改進方案[D].天津:南開大學,2013.
[9]肖瑛.采用瞬時梯度變化率判決的雙模式盲均衡算法[J].大連民族學院學報,2013,15(1):79-82.
[10]岳俊,鄒進貴,何豫航.基于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;
田愛奎, 男, takui@163.com
1672-6197(2018)01-0048-03
TP391.41
A
(編輯:劉寶江)