童浩然+楚軍+沈靜靜
【摘 要】隨著大量帶標記的數據庫的開源使用和帶有高性能GPU的計算機的發(fā)展推廣,深度學習已然從理論走向實踐,開始廣泛地活躍于圖像分類的舞臺之上,其中變現最為突出的是卷積神經網絡(Convolutional neural networks,CNNs),目前已經在大規(guī)模的識別與分類任務獲得了矚目的成果,突破了傳統(tǒng)分類方法的極限并且已經首次達到優(yōu)于人眼識別的地步。本次實驗的重點是將CNN應用在實際的圖像分類操作中,并對CNN進行優(yōu)化與改進,采用Inception架構高效并行處理數據,并采取新型激活函數來提高識別率,通過遷移學習在谷歌的深度學習框架tensorflow上進行試驗,結果表明,通過對CNN架構的改進,識別率得到了明顯的提升,證明改進的CNN具有相當的實用性。
【關鍵詞】深度學習;卷積神經網絡;Inception架構;遷移學習
中圖分類號: TP18 文獻標識碼: A 文章編號: 2095-2457(2017)32-0036-002
【Abstract】With the open-source use of a large number of labeled databases and the development and promotion of computers with high-performance GPUs, deep learning has moved from theory to practice and has been widely active on the stage of image classification. The most prominent of these is Convolutional neural networks (CNNs) have achieved remarkable results in large-scale identification and classification tasks, breaking the limits of traditional classification methods and for the first time being better than human eye recognition. The focus of this experiment is to apply CNN in the actual image classification operation and to optimize and improve CNN. The Inception architecture is used to efficiently process data in parallel, and a new activation function is used to improve the recognition rate. Through the study of migration depth in Google The results show that the recognition rate has been significantly improved through the improvement of CNN architecture, which proves that the improved CNN is quite practical.
【Key words】Deep learning; Convolutional neural network; Inception architecture; Migration learning
0 引言
傳統(tǒng)的圖像分類技術最近幾年來發(fā)展十分緩慢,那些利用手動提取特征并進行分類的方法獲得的關注越來越少。傳統(tǒng)圖像分類技術概括如下,例如使用SIFT[1]和HOG[2]等方法進行特征提取后再利用無監(jiān)督學習算法來生成特征描述符號,然后利用監(jiān)督學習算法對訓練數據集中帶標簽的特征集進行學習并獲得分類器,從而實現對圖像的分類。
隨著大數據時代的到來和深度學習的火熱興起,圖像分類技術以日新月異的速度高速發(fā)展,無數的成果接踵而來。尤其是Alex[3]網絡在著名的ILSVRC[4]比賽上贏得冠軍,深度學習的實用性深得人心,人們正式開始投身于深度學習網絡在圖像識別應用的汪洋大海中,在物品定位,姿態(tài)估計,目標檢測,視頻目標索引,場景分類,場景解析等應用中取得一個又一個矚目的成就,徹底取代了傳統(tǒng)淺層網絡和分類方法的地位。
在本文中,將實驗重心放在利用Tensorflow實際搭建CNN框架,并對Imagenet數據庫里面下載訓練數據完成分類,并主要進行兩方面的創(chuàng)新,首先是對CNN的Alexnet網絡架構進行改進,并通過遷移學習的方法,使之對數據庫進行訓練,在圖像分類的實驗中取得了良好的效果。
1 深度網絡
深度學習是傳統(tǒng)神經網絡的延伸和發(fā)展,經過幾十年的起起落落后,已逐漸淡出研究界的視野,但隨著大數據時代的到來和硬件設備的提升再次活躍在機器學習的舞臺之上,其中在圖像分類方面取得良好效果的當屬CNN。一個CNN主要有以下五種結構構成:輸入層,卷積層(Convolution),池化層(Pooling),全連接層和Softmax層組成。輸入層連接的是整個CNN的輸入,在圖像識別的過程中,表示的是一張圖片的三維像素矩陣。CNN從輸入層開始,將接收到的三維矩陣通過神經網絡一層層傳遞下去直至完成分類。
1.1 卷積層
卷積層是CNN的核心部分和取得優(yōu)于傳統(tǒng)方法實驗效果的關鍵,主要是通過局部連接和權值共享來改善網絡的架構,從而實現減少參數,降低計算的復雜度,減輕實驗過擬合的目的。卷積層的現源自偶然,這里需要需要引入感受野的概念,科學家通過對貓的視覺皮層細胞研究發(fā)現,每一個視覺神經元都只會處理一小塊視覺圖像,根據這種一一對應的聯(lián)系得到的啟示,將過濾器引入神經網絡中。過濾器是人工設定尺寸的三維矩陣,卷積層通過過濾器在節(jié)點間傳送矩陣,將當前網絡上的節(jié)點矩陣轉換為下一層網絡上的一個單位節(jié)點矩陣。endprint
1.2 池化層
通常卷積層提取的特征結果往往擁有極大的數據量,為了解決計算量龐大的問題,池化層便應運而生了。池化層往往出現在兩個卷積層之間用來有效的縮小矩陣的尺寸來實現降采樣,減少輸入至最后全連接層的參數,從而達到減少計算量的目的。池化層的作用過程也是類似卷積層那樣,通過移動過濾器來實現前向傳播,不同點是不進行卷積計算加權和,只是單純的采取最大值,這樣的池化層稱之為最大池化層。
2 改進
在CNN中卷積層的設計中,最重要的就是過濾器的選擇,因為過濾器大小的選擇直接影響特征提取的效果,選擇較小的過濾器,優(yōu)點是可以提取到更多更詳盡的細節(jié),然而如果選取的過濾器過小可能造成提取空白數據,導致特征大量丟失,從而影響分類效果,而且太小的過濾器選擇會導致計算量增加,降低神經網絡的效率。為了解決卷積神經網絡的過濾器選擇問題,本文采用inception-v3結構,和一般CNN中利用幾個大小不同的過濾器串聯(lián)起來的結構不同,它采用的是高效的并行處理架構,通過找出最優(yōu)局部稀疏結構并用相似的用稠密組件代替。從而實現高效的降維,也可以在減少需要訓練的參數的同時抑制過擬合,達到提高模型的推廣能力的目的。
3 實驗
3.1 ImageNet數據集
ImageNet是一個基于WordNet的大型圖像數據庫,在ImageNet中有大概1500萬左右的不同類別圖片,分別被關聯(lián)到WordNet的兩萬個名詞上,每個名詞即為圖像分類結果中的一個類別,ImageNet中的圖片都是從互聯(lián)網上爬取的,并通過亞馬遜的人工標注服務將其分類到WordNet上,ImageNet里面的圖像包括一個實體,或可能出現多個實體,本次試驗主要研究單實體圖像的分類。
3.2 實驗部分
為了驗證改進的有效性,本次設計進行對比實驗的方法,將實驗分為三部分,第一部分是利用CNN基本的LeNet-5架構進行圖像分類,第二部分是利用改進的Inception-v3架構進行分類,這部分激活函數選取ReLU。第三部分是將PReLU函數加到Inception架構中,分別進行實驗后記錄結果,表1是對三種分類方法取得的識別率的比較。結果表明,改進的并行架構使得識別正確率得到了5.9%的提升的同時識別速率也得到了改善,同時激活函數的改變也使得在相同分類圖像的識別效果得到了改善,改進的有效性得到了證明。
4 結束語
和傳統(tǒng)的分類方法相比,深度學習不僅在識別率方面具有明顯的優(yōu)越性,而且利用CNN的卷積層池化層等基本結構就可以提取圖像特征并加以分類,這極大的簡化了傳統(tǒng)分類方法繁瑣的步驟,是當今研究界最熱門的課題之一,新的研究理論與成果與日俱增,并且已經初步投入工業(yè)使用中,基于深度學習的圖像分類的產品也已推廣使用。例如在谷歌,圖像分類已經應用于無人駕駛汽車、YouTube、谷歌地圖,圖像搜索等。因此完全有理由相信深度學習必將取得更加矚目的成果并且改變我們的生活。
【參考文獻】
[1]J.:Alarge-scale hierarchical image database[C].2009.
[2]A.classification with deep convolutional neural networks[J].2012.
[3]Y.:Closing the gap to human-level performance in face verification[C].2012.
[4]D.deep neural networks for image classification[J].2013.endprint