乙個典型的卷積神經網路的卷積層,而通常有三層:
首先介紹的是卷積層conv,從conv的向前傳播開始
前向傳播中乙個操作就是 z[1] = w[1]a[0]+b[1],其中 a[0]=x
執行非線性函式得到 a[1] ,即 a[1] =g(z[1])
這裡的輸入是a[0] ,也就是x,這些過濾器用變數 w[1] 表示
在卷積過程中,對這27個數(3 * 3 * 3)進行操作
其實是27×2,因為用了兩個過濾器,取這些數做乘法
實際執行了乙個線性函式,輸出結果是乙個4×4的矩陣
它的作用類似於w[1] a[0],也就是兩個4×4矩陣加上偏差
a[0] 到a[1] 的演變過程:
首先執行線性函式,然後所有元素相乘做卷積
運用線性函式再加上偏差,應用啟用函式relu
這樣就通過神經網路的一層把乙個6×6×3的維度a[0] 演化為乙個4×4×2維度的a[1]
這就是卷積神經網路的一層
示例中有兩個過濾器,也就是有兩個特徵
因此最終得到乙個4×4×2的輸出
但如果用了10個過濾器
最後會得到乙個4×4×10維度的輸出影象
因為選取了其中10個特徵對映,也就是a[1]
現在有10個過濾器,每一層都是乙個3×3×3的矩陣
因此每個過濾器有27個引數,然後加上乙個偏差,用引數b表示
現在引數增加到28個,現在有10個,加在一起是28×10,也就是280個引數
不論輸入有多大,1000×1000也好,5000×5000也好
引數保持不變,始終都是280個
即使這些很大,引數卻很少
這就是卷積神經網路的乙個特徵,稱為 「避免過擬合」
這一層是卷積層
假設有一張,想做分類或識別,把這張輸入定義為x
然後辨別中有沒有貓,用0或1表示,這是乙個分類問題
用了一張比較小的,大小是 39×39×3,即 nh
[0] = nw
[0] = 39
而 nc
[0] = 3,即 0層的通道數為3
假設第一層用乙個3×3的過濾器來提取特徵
那麼f
ff[1]=3,因為過濾器時3×3的矩陣,s
ss[1]=1,p
pp[1]=0
所以高度和寬度使用 valid 卷積
如果有 nc
[1]=10,10個過濾器
則 (n+2p-f)/s+1=(39+0-3)/1+1=37
神經網路下一層的啟用值為 37×37×10,即 nh
[1] = nw
[1] = 37
而nc[1] = 10
假設設還有另外乙個卷積層,這次採用的過濾器是5×5的矩陣
神經網路下一層的 f
ff = 5,即 f
ff[2] = 5
步幅為2,即 s
ss[2] = 2
padding為0,即 p
pp[2] = 0
且有20個過濾器
所以其輸出結果會是一張新影象,這次的輸出結果為 17×17×20
即啟用值 a[2] 的維度
因此 nh
[2] = nw
[2] = 17,nc
[2] = 20
構建最後乙個卷積層,假設過濾器還是5×5,步幅為2
即 f
ff[2] = 5,s
ss[3] = 2
使用了40個過濾器,padding為0,最後結果為 7×7×40
到此,這張39×39×3的輸入影象就處理完畢了
為提取了7×7×40個特徵,即1960個特徵
這樣簡單的卷積神經網路的卷積層就完成了
然後對該卷積進行全連線處理
可以將其平滑或展開成1960個單元,輸出乙個向量
其填充內容是logistic回歸單元還是softmax回歸單元
完全取決於是想識上有沒有貓,還是想識別k種不同物件中的一種
用 y
^\hat
y^ 表示最終神經網路的**輸出
參考:
深度學習筆記017卷積層
看到一句話,其實卷積層就是一種濾波器,放大它感興趣的,縮小它不感興趣的,很有道理。二維卷積層的數學表達 這裡這個w其實就是kernel,是在這裡通過這種方式學習出來的引數,表現出來的就是乙個矩陣。b是偏差,通過廣播機制作用給y。二維交叉和二維卷積,就差乙個翻轉的關係 為了簡單,我們把負號刪掉了。所以...
深度學習筆記016卷積層基礎之前
對於分類問題,利用mlp會出現模型太大 大到離譜 的問題。比如你分類貓狗的模型的引數比世界上所有的狗和貓都多,這顯然是不對的。1 平移不變性 2 區域性性 卷積就是乙個特殊的全連線層 總結 乙個系統,輸入是不穩定的,輸出是穩定的,那麼我們就可以用卷積來求這個系統的存量。跳出吃飯 消化這個例子,我們可...
深度學習介紹(四)卷積操作
接下來介紹一下,cnns是如何利用空間結構減少需要學習的引數數目的 如果我們有一張1000x1000畫素的影象,有1百萬個隱層神經元,那麼他們全連線的話 每個隱層神經元都與影象的每乙個畫素點相連 這樣就有1000x1000x1000000 10 12個連線,也就是10 12個權值引數。然而影象的空間...