請問 在CNN卷積神經網路中,資料透過卷積神經網路處裡後,在後面接上全連接層的用意是時麼 ?
不好意思 剛學 所以對於神經網路知識有點混亂
卷積好像可以讓權重共用,減少參數量,但全連接的參數量很多,有時參數量多,好像會對一個模型不好
請問 在CNN卷積神經網路中,資料透過卷積神經網路處裡後,在後面接上全連接層的用意是時麼 ?
回答列表
-
2019/08/22 下午 06:40Jeffrey贊同數:1不贊同數:0留言數:0
全連接層其實就是CNN的多維轉成1維, 把訓練出來的特徵集合組合在一起,以利後續做分類預測。
-
2019/08/22 下午 11:32Patrick Ruan贊同數:1不贊同數:0留言數:0
在我們的程式模型設定後,常常用 model.summary() 查看各層的參數量。
通常觀看各層的參數是確實會發現卷積層的參數都不多,池化層都是零,整個量大的都是連接層,原因是卷積層呈現的參數都是在記錄訓練出來的卷積參數,幾乎都是固定公式算出來的,
都是【輸入的channel 數x (卷積filters) x 輸出 feature map 數 +輸出 feature map 數】,
這些參數都跟照片大小無關 ,比如說一張黑白照片 16*16 = 256 個 pixel 跟 另一個黑白 28*28 =784 pixel 經過 Conv2D(32,(3X3)) 你會發現不論哪一張照片經過這一層參數都會是一樣 1*3*3*32+32 = 320
另外我們也常常說池化層降低參數量,但是在 Summary() 裡直接看 pooling layers 參數量看不出有甚麼作用,其實每家一次 (2,2) 的 pooling layer,可以發現全連階層幾乎都少了 3/4 的參數量。
當我們找好了處理相片的卷積參數後,照片資料經過這些參數的運算後還是要從 "二維*深度" 全部都要被處理,所以輸入照片有多大具有多少資料量,這時候就要面對了,所以在 Flatten 之後送入分類器處理,所以參數量就爆出來了。
另一種比較深入的研究,可以上網了解卷積層具有參數共用的設計,這也就是為什麼參數這麼少的另一個原因。