人工智慧初學- 1.3 卷積神經網路
阿新 • • 發佈:2019-01-05
- 卷積知識
卷積就是:一個函式(如:單位響應)在另一個函式(如:輸入訊號)上的加權疊加。
- 神經網路(NN)
下面這個是典型的神經網路三層模型:Layer L1是輸入層,Layer L2是隱含層,Layer L3是隱含層
參考下面的部落格可以詳細知道這個模型是如何工作的:
BP 神經網路:
- 卷積神經網路(CNN)
分為三層:
- 卷積層(Conv Layer)
舉個例子,現在有一個4*4的影象,我們設計兩個卷積核,看看運用卷積核後圖片會變成什麼樣。
卷積核跟影象內積的過程可以看下面的動圖:
- 池化層(Pooling Layer)
通過上一層2*2的卷積核操作後,我們將原始影象由4*4的尺寸變為了3*3的一個新的圖片。池化層的主要目的是通過降取樣的方式,在不影響影象質量的情況下,壓縮圖片,減少引數。簡單來說,假設現在設定池化層採用MaxPooling,大小為2*2,步長為1,取每個視窗最大的數值重新,那麼圖片的尺寸就會由3*3變為2*2:(3-2)+1=2。從上例來看,會有如下變換:
池化層神經網路不會改變三維矩陣的深度,但是可以縮小矩陣的大小。
通過池化層可以進一步縮小最後全連線層中節點個數,從而達到減少整個神經網路中引數的目的。
- 全連線層(Fully Connected Layer)
到這一步,其實我們的一個完整的“卷積部分”就算完成了,如果想要疊加層數,一般也是疊加“Conv-MaxPooing",通過不斷的設計卷積核的尺寸,數量,提取更多的特徵,最後識別不同類別的物體。做完Max Pooling後,我們就會把這些資料“拍平”,丟到Flatten層,然後把Flatten層的output放到full connected Layer裡,採用softmax對其進行分類。
具體的計算例項可以參考下面這篇文章,寫的超級棒: