李翔宇 孫曉慶
隨著科學發展,近年來,人工智能、深度學習蓬勃發展,在越來越多的領域中得到了廣泛運用,人工智能是當前的熱點話題,越來越多的行業正在對人工智能及其相關學科進行研究。人工智能的一大特點就是自學習能力,即提供學習的數據越多,處理能力越強,因此大數據處理是人工智能密不可分的一部分,深度學習作為人工智能的重要部分也具備同樣的特點,而圖像則是一種重要的學習數據
圖像是對人類來說是一種直觀的表現方式,我們可以通過圖像獲取視覺的內容,并且了解其含義,可是對計算機來說,它只能通過圖像得到對應的數字矩陣,而通過矩陣來理解內容有一定的難度。因此為了便于計算機理解圖像所表達的意義以及傳遞的思想,需要用到圖像分類來解析成計算機可以理解的內容。簡單的圖像分類包括為圖像打上一個具體的標簽。復雜的圖像分類可以分析圖像內容并以人類可以讀懂的語句來反饋。
一、深度學習類型
傳統分類圖像的方法主要通過圖像自身特性進行分類,實質是對圖像分類基于特征的學習,其中重要的一步是特征提取。在此階段,運用手動設計的算法,對圖像的特定部分編碼,比如形狀、色彩、材質,用這些特征來評定圖像內容。根據這些特征,進而用于訓練網絡及評估網絡。而基于深度學習的分類不同,由監督學習、非監督學習及半監督學習組成。深度學習分類與傳統分類的對比如圖1所示。監督分類有個特點是要提前建立判別函數。監督學習運用較為廣泛的一類。先給定計算機訓練數據,創建一個訓練集,此模型會對輸入給它的數據進行預測,如果發現預測不恰當時,要及時糾正。不斷迭代,直到達到某一個停止標準,比如錯誤率低于某個設定值,或者迭代次數超過某個設定值。常用方法包括K近鄰法、馬氏距離分類、最大似然法等。K近鄰法通常會計算兩個數據之間的歐式距離或者是曼哈頓距離,歐式距離如公式1所示,曼哈頓距離如公式2所示。


監督分類方法主要有:均值、方法等。在圖像分類中,假設圖像的數據集涵蓋本身以及對應的分類標簽,此分類標簽是訓練計算機分類器,一旦分類器預測錯誤,可以用相應的方法來糾正。與監督學習不同,非監督學習沒有標簽,而是特征向量。實際情況是我們可以比較容易地得到很多無標簽數據,假設可以根據無標簽數據來學習,則大量用于標記標簽數據的時間可以省下。典型的非監督學習算法有PCA和K均值。還有各種算法可以應用到神經網絡,如:Autoencoders、SOMs和Adaptive Resonance Theory。半監督學習介于上述兩種方式之間,即一些數據帶有標簽,而另一些則沒有。半監督學習在計算機視覺中很有用處,可以先對一些數據貼上標簽,進而通過半監督學習來給其它數據進行標簽?;谏疃葘W習的圖像分類主要有四個步驟,第一步:收集數據集。將大量圖像作為數據集,確定好要區分的種類,并做一些去噪,強化等初步處理。第二步:劃分數據集,有了大量數據以后,將這些劃分為訓練集和測試集兩部分,一些常用的數據劃分比例如圖2所示,可以根據實際情況選擇所要的比例,如無特殊要求,可以采用一些隨機分配算法。第三步:訓練網絡。確定了訓練集后,就可以將這部分數據用來訓練網絡,可以采用梯度下降等方法進行訓練。第四步:評估,訓練好網絡以后,就可以通過測試集來對網絡結果進行評估。

最近幾年,隨著人工智能的興起,圖像分類的方法更偏向于機器學習。傳統機器學習方法 ,大部分使用的是淺層的結構,所處理的數據有限。一旦遇到有更廣泛意義的圖像數據時,基于淺層結構得到的特征很難完美地處理較為復雜的分類問題,一般會有表現性能和泛化能力不足的缺點。而深度學習在傳統機器學習基礎上更進一步,可以處理海量圖像數據,從中直接學習圖像的特征,并且對海量圖像數據進行分類。深度學習的優點在于特征學習以及深層結構,這兩點有利于提升分類的精度。特征學習可以從海量圖像中學習高級特征,也表達了數據內在信息。深層結構則會包括多層的隱層節點,意味著可以運用更多的非線性變換,大大增強擬合復雜模型的能力。本文主要介紹RBM、CNN、SAE這三種典型的深度學習方法。
(一)深度置信網絡
深度置信網絡RBM如圖3所示,是在受限玻爾茲曼機基礎上的發展而來,玻爾茲曼機BM屬于無監督學習,參數空間的各種情況都是根據能量函數對應能量域中的能量。
RBM可以解析較為復雜的數據,但是隨著今年來攝像頭等視覺采集設備越來越多,像素也越來越高清,總體來說,現在可以采集到的圖像數據比以往更多,特征更復雜,因此深度學習所要處理的數據也隨之越來越復雜,深度置信網絡處理這些復雜數據,需要用到無監督學習和監督學習相結合的辦法。在數據處理的每個階段都會得到圖像數據的特征,而下一階段會總結歸納前一階段所得特征信息,達到較好的識別水平。

(二)深度自編碼器
深度自編碼器SAE是對自動編碼器AE進行優化發展。AE包括了編碼器及解碼器。自編碼器結構如圖4所示。這兩者是圖像數據和特征空間的橋梁,編碼器把數據反應到特征空間,解碼器進行相反的操作,即把特征映射回圖像空間,從而對輸入數據進行重新構建。在輸入與特征空間之間轉化過程中可能會產生不同程度的誤差,在使用深度學習對圖像進行處理的過程中,要注意對學習過程的誤差進行處理和約束。AE有不同形式,只需改變或新增對應的約束條件。
SAE則通過AE逐層疊加構成,對得到的圖像數據進行編碼、然后解碼特征,從而簡化特征,通過自己的學習訓練,對圖像數據進行準確分析,得到不同圖像數據之間的聯系,深度挖掘圖像信息,高效而快速地對圖像進行分類。

(三)卷積神經網絡
卷積神經網絡(CNN)學習生物視覺的處理過程,在此基礎上構建多階段Hubel-Wiesel結構。CNN的實質是表現輸入到輸出的映射關系。在學習之前,輸入及輸出間不存在特定的數學模型,而CNN通過海量圖像數據,學習輸入輸出間關系,訓練卷積網絡來建立模型,卷積神經網絡如圖5所示。

CNN的網絡結構比較復雜,由具備不同用途的各個層組成,除了輸入輸出層,還有卷積、池化、全連接層,先從圖像中隨機挑出一部分局域來組成訓練集,從小部分訓練集中學習一些特征,接著把這些特征用于濾波器,同整個圖像進行卷積運算,得到原始圖像里隨機位置的特征。CNN結構中,特征面數目隨著深度增加而增加。實際上,當我們運用深度學習對圖像分類時,需要根據現實情況選擇神經元個數和層數,卷積層和池化層交替設置。假設選中圖像數據中連續的范圍作為池化區域,只對相同神經元得到的卷積特征進行池化,那么池化后的特征具有平移不變性。全連接層是經過多個卷積、池化層后的一層。全連接層能夠對前面幾層的數據進行整合,用適合的函數提升自身性能,到了輸出層,會對所得信息用諸如邏輯回歸(soft max regression)的方法進行分類,需要注意選擇恰當的損失函數。卷積運算公式如公式 3所示。其中i表示第i層參數,X代表輸入,Y代表輸出,b代表偏置,W表示卷積核權重,x、y、z為三維矩陣值。f(x)表示所用的激活函數,*為卷積符號。

對于深度學習劃分圖像類別的研究發展很迅速,新網絡結構以及多網絡訓練方法伴隨著新技術而生,在圖像識別領域的創新性及準確率不斷提高。卷積神經網絡改進的主要模型包括AlexNet、VGG、GoogleNet、ResNet等,技術持續優化,網絡深度不斷加深,錯誤率不斷降低。CNN經過梯度反向傳播算法來對卷積核的參數進行訓練,這屬于有監督學習算法。同一平面設置神經元權值一致,可以對海量圖像數據并行的學習、高效處理圖像。
基于深度學習的圖像分類一些方面也會不可避免的產生一些問題比如算法問題、圖像問題以及應用問題,CNN參數多,而且現在的設置是基于經驗及實踐,量化分析與研究是其存在的問題之一。需要進一步規范圖像數據。此外,目前趨勢是網絡加深,卷積神經網絡的效果更佳,有的甚至達幾千層網絡,但這樣會帶來過擬合和耗時長的缺點,因此合理選擇網絡層數尤為重要。
二、結論和展望
本文首先介紹了深度學習和圖像處理的概念,對深度學習在圖像分類方面的研究現狀進行了闡述,并且對各類深度學習方法進行了分類,介紹了各個方法的優點,特性,并且分析了存在的問題。針對部分問題闡述了相應的解決辦法和關鍵技術。最后總結了基于深度學習的圖像分類方法。
隨著社會的發展,人工智能越來越多的出現在我們的生活及工作之中,包括各種語音識別,圖像識別,自動駕駛。同時,越來越多的地方需要采集圖像,分析圖像,判斷圖像,可以說對圖像信息進行分類處理將會在越來越廣泛的領域內得到發展,而且對圖像的分類方法在原來的基礎上肯定會不斷發展,硬件設備將更加優秀,軟件也會日趨完善,在各方面同時發展的條件下,對圖像的分類速度也會隨之不斷加快,正確率也能得到提升,處理效率也會不斷提高,因此圖像分類處理是一門熱點學科。目前來說,基于深度學習的圖像分類將在森林防火、軍事戰略、交通管理等方面蓬勃發展。在實時交通和無人駕駛等相關方面,也需要即時的圖像獲取及圖像分類。基于任務的端至端的卷積神經網絡CNN的發展能幫助提升網絡實時性,也是發展的一大趨勢。同時需要在加快海量圖像訓練速度以及提升相應硬件設備速度等方面進行研究。