第二章 卷積神經網路方法介紹
卷積神經網路(Convolutional neural network, CNN)跟類神經網路一樣是在模 擬人類的大腦,不同的地方在於卷積神經網路拿來辨識圖像、語音或是影像辨識,
細節的地方會裡的比類神經網路更加優秀,而在近年來攸關視覺運用競賽優獲獎 的幾乎都是採用深度學習卷積神經網路,由此可知將卷積神經網路應用在圖像、
語音跟影像辨識上是多麼合適,而提到卷積神經網路就不能夠忽略這個網路系統 當中重要的兩層核心,這兩層分別是卷積層以及池化層,也因為有這兩層在圖像 辨識上優於一般類神經網路許多。[6,10,12]
2.1 卷積神經網路的架構
在提及卷積神經網路之前要先知道一般的深度學習網路有個問題存在,那就 是它會忽略掉資料型態,比方說影像資料在輸入時,通常都會有垂直水平顏色通 道等三種資,一次輸入三維資訊對卷積神經網路是一件稀鬆平常的事,但對於一 般的深度學習來說它只能夠接收一維的資料處理,也就是說如果一般深度學習要 處理影像資料需要轉成一維才有辦法處理。而除了可以處理三維以外,在整體架 構上我們可以由下面的圖 2-1 來表示。
圖 2-1:卷積神經網路的架構[7,8]
8
2.2 卷積層
一般而言如果要使用深度學習網路來辨識圖像的話,都需要興將原本的二維 資料打散轉換成一維資料,然後再將打散的像素視為特徵值再丟入深度學習網路 當中進行分析處理,由於這些被打散的像素以丟失原本空間排列順序資訊造之後 運算上容易有誤,但這點卷積神經網路的卷積層就是為了將原本所需的空間排列 順序資訊給保留下來並取得局部圖象資料作為輸入的特徵,在運算上面可以比一 般的深度學習網路有著更高的正確性以及效率。而卷積層處理的方式與影像處已 的方式相似,都是用滑動視窗運算法給卷積核不同的組合,讓它可以去偵測各形 狀的邊邊角角,也可以去除噪音和銳化的成效,取特徵當作辨識依據。
關於卷積層我們要先了解卷積是怎麼運作的,以下圖 2-2 來表示,假設步長 為 1 的卷積操作,卷積核每次向右移動一個像素,移動到界後會回到最左端向下 移動一格之後繼續往右移動。每個卷積核當中都有權重,而在卷積核移動的過程 當中都會將向素以及卷積核相乘最後再將所有鄉城結果相加得到一個輸出。
圖 2-2:卷積層模擬示意圖[11]
9
2.3 池化層
池化層主要功能[5]在於有效的將輸入圖片尺寸縮小,並保留下重要的特徵,
執行的方式主要是將該層所劃分出來的區塊取出最大值,原本的圖像在經過池化 以後,值會降低原本的四分之一,但是因為池化以後的圖像包含著原本池化前各 範圍的最大值,保留池化的圖片資訊更專注在圖像中相符的特徵,它的好處是在 於當圖像整個平移幾個像素的話,對判斷上完全不會造成影響,以及有很好的抗 雜訊功能。以下圖 2-3 做表示。
圖 2-3:池化層示意圖
10
2.4 全連接層
全連接層這部分基本上就如同字面意思,把先前的池化成果扁平化之後接到 最基本的神經網路,也就是將二維矩陣轉換為一維清單如圖 2-4 所示,一維清單 中的每個值都能決定圖像中的資料,不過這種選擇還是依據一般深度學習權重做 為判斷 ,所以當卷積神經網路在判斷一張圖片時,這圖像會經過卷積層池化層 以後才會抵達全連接層,在經過池化後再做一次特徵資料更高的神經網路,來提 高最後輸出值的正確率。
圖 2-4:全連接層扁平化示意圖
11
在經過以上介紹後已經可以知道卷積神經網路與類神經網路應用在深度學 習系統當中兩者的差異性,以及他們應用範圍與層面有所不同,若要將此類的深 度學習網路應用在硬體設備上,目前軟體的部分可以依靠 CPU 或是 GPU 的強大 運算能力來解決,但在硬體設備上實現會消耗掉大量的資源。
在第三章當中我們將會講解一般傳統的卷積架構與我們所運用之方法以及 在第四章中會介紹延伸應用,在第五章節理會說明實驗比較與結果。
12