當前位置:
首頁 > 最新 > 卷積神經網原理簡介

卷積神經網原理簡介

1

人工智慧的發端:圖靈測試

圖靈測試(英語:Turing test,又譯圖靈試驗)是圖靈於1950年提出的一個關於判斷機器是否能夠思考的著名試驗,測試某機器是否能表現出與人等價或無法區分的智能。測試的談話僅限於使用唯一的文本管道,例如計算機鍵盤和屏幕,這樣的結果是不依賴於計算機把單詞轉換為音頻的能力。測試內容是:如果一個人(代號C)使用測試對象皆理解的語言去詢問兩個他不能看見的對象任意一串問題。對象為:一個是正常思維的人(代號B)、一個是機器(代號A)。如果經過若干詢問以後,C不能得出實質的區別來分辨A與B的不同,則此機器A通過圖靈測試。

可見,圖靈測試關注機器和人的交流和互動,而不是人對機器單方面的影響。

2

機器學習、深度學習的興起

相比較人工智慧而言,機器學習和深度學習似乎不是那麼的知名。實際上,人工智慧是一個很大的類,機器學習和深度學習是其中的組成部分。

人工智慧-機器學習-神經網路的關係

歷史上,科學家一直希望模擬人的大腦,造出可以思考的機器。隨著科學研究的進步,人能夠思考的原因在於人腦的神經網路。既然思考的基礎是神經元,如果能夠"人造神經元"(artificial neuron),就能組成人工神經網路,模擬思考。上個世紀六十年代,提出了最早的"人造神經元"模型,叫做感知器(perceptron)。

圖中的圓圈就代表感知器

以途中的感知器模型為例子,每個感知器將有3+3個參數需要訓練,包括3個輸入各自的權重,以及各自的偏置參數。

感知器與神經元十分相似,將多個感知器首尾相連,就可以形成類似動物的神經網路。

多個感知器首尾相連形成神經網路

但是,這樣的神經網路參數過多,訓練難度很大。同時受到當時計算機硬體水平的限制,層數較高的神經網路難以實現,應用範圍比較局限,因而神經網路的研究跌入低谷。

二十世紀六十年代,科學家對貓的視覺研究發現,貓是通過局部視覺來形成整體視覺的,即通過事物不同位置的小範圍視覺來形成對事物整體的視覺感受。模仿這種視覺的局部感受,1980 年,Fukushima第一次提出了基於感受野的理論模型,並於1986年完成了對應的計算機模型。

1986年,Rumelhart、Hinton和Williams提出了一般Delta法則,即反向傳播(Backpropagation algorithm,BP)演算法。反向傳播演算法使神經網路可以根據匹配結果來改變網路中的參數,使神經網路可以訓練。

硬體方面,二十世紀末與二十一世紀初,計算機硬體飛速發展,尤其是顯卡(GPU)的性能提高了數倍。神經網路通過GPU進行訓練的技術也日益成熟。(神經網路的訓練需要大量的計算,同時多個參數同時進行訓練,這正是GPU的長處;相較之下,CPU更關注通用性和多任務跳轉中斷,不適合用來訓練神經網路。)

此時,神經網路發展條件已經十分充足,迎來了神經網路發展的高峰。

Q3

卷積神經網路-局部連接&權值共享

局部感知在圖片上的應用方式

局部視野在神經網路中的應用,就是局部連接。如圖,卷積神經網路中的局部連接使用多個神經元來對圖像不同的區域進行計算。

以1000*1000的圖像為例:

假設神經元數目為10^6個,神經網路全連接中需要1000*1000*10^6=10^12個參數。假設每個神經元與圖像中10*10的區域連接,需要10*10*10^6=10^8個參數。

可見,局部連接大大降低了神經網路中的參數數量,使神經網路更好訓練。

多個神經元的權值共享

在卷積神經網路中,與局部連接一同使用的還有權值共享,即局部連接中同一層神經元的參數共享。

在局部連接中隱藏層的每一個神經元連接的是一個10 × 10的局部圖像,因此有10 × 10個權值參數,將這10 × 10個權值參數共享給其他的神經元,也就是說隱藏層中10^6個神經元的權值參數相同,那麼此時不管隱藏層神經元的數目是多少,需要訓練的參數就是這 10 × 10個權值參數。

簡單來說:

卷積神經網路通過局部連接和權值共享,大大降低了網路的訓練要求和難度,提高了實用性。

用一張圖來了解卷積過程中卷積核的工作方式。

左側的是輸入圖像,右側的是卷積後形成的卷積層,橙色部分表示當前的局部連接

4

經典卷積神經網路模型-LeNet-5

LeNet-5網路結構,最初是用於識別手寫體並達到很高的正確率

上圖為LeNet-5的模型結構。輸入圖像為32×32的手寫字母圖像,C表示卷積層,S表示池化層。

輸入圖像使用5×5大小的卷積核,每次移動步長為1進行卷積操作,形成28×28大小的卷積層C1。卷積核的數量有6個,因此卷積層C1有6張特徵圖。每張特徵圖中的每個神經元與輸入中的5×5的區域相連,步長為1,特徵圖大小為28×28,每個卷積神經元的參數數目為:5×5=25個權值(unit)參數和一個偏置(bias);由於參數共享,每個特徵圖內共享參數,因此共有(5×5+1)×6=156個參數。

隨後經過池化操作,形成S2層——池化層/下採樣層。池化操作是利用圖像局部相關性的原理,對圖像進行子抽樣,可以減少數據處理量同時保留有用信息。具體操作方式為:將圖像劃分為許多相鄰不重疊的2×2局部區域,在每個2×2的區域內,經過計算狗,作為新圖像對應位置的值。S2層有6個14×14的特徵圖,每個圖中的每個單元,與C1層中的一個2×2鄰域相連接,不重疊。此時特徵圖縮小為C1層中特徵圖大小的1/4。S2層的形成方式為:來自C1層的4個輸入相加,乘以一個可訓練參數,再加上一個可訓練偏置參數。此處共有(2×2+1)×1×14×14×6個連接。由於採用每個特徵圖內參數共享,因此有2×6=12個可訓練參數。池化操作減小了特徵圖的尺寸,降低了數據處理的數量和壓力。

相同地,C3層、S4層、C5層分別為卷積層、池化層/下採樣層、卷積層。

F6層為全連接層,連接數與可訓練參數相同,為(120+1)×84=10164個。可見,不採用權值共享和卷積操作,參數的數量會急劇增加。卷積層C5與F6採用全連接的方式連接,隨後與輸出層全連接。全連接層和輸出層的作用為,將卷積層和池化層所輸出的包含圖像特徵的數據變換為一維數據,用以輸入之後的函數中進行判斷,最終輸出該被識別的手寫體為某一個數字的概率。

至此我們簡單了解了卷積神經網路的相關原理。接下來我們來了解一下卷積神經網路如何訓練,將會包括機器學習工具包的選擇、介紹,模型實現,參數設置,驗證結果等。這些將在下一期為大家講解。各位觀眾大佬歡迎催更。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 烏托邦來信 的精彩文章:

TAG:烏托邦來信 |