2016-01-20 156 views
0

我是深度學習的初學者。對於像lenet-5這樣的卷積網絡,C1層有6個特徵映射。每個特徵圖與唯一的卷積核(5×5矩陣)相關聯。爲什麼卷積網絡需要多個特徵映射?

同一圖層中的任何2個特徵地圖之間有什麼區別?對於像MNIST(不含RGB)的黑白圖像數據集,人們仍然使用6個特徵地圖。

我想,最初,6個卷積核是隨機生成的5×5矩陣。因此,當相同的輸入圖像被投影到不同的特徵圖時,特徵圖的輸出將不同。這是主要動機,對吧?

回答

1

卷積層中的每個過濾器都會從輸入中提取特定的功能。一個過濾器可能對水平邊緣敏感,而另一個對垂直邊緣敏感。第三個過濾器可能對三角形形狀敏感。您希望特徵映射儘可能彼此不同以避免冗餘。避免冗餘可以提高網絡的容量,儘可能多地改變數據。 隨機初始化可防止學習重複過濾器。

爲什麼選擇6張特徵圖?這是嘗試使用其他數量的過濾器的結果。請記住,增加濾波器的數量會導致更高的計算開銷並可能過度擬合(記憶訓練數據,但不能正確分類新圖像)。對於6的另一個直覺是像素沒有那麼多的變化,你最終會在後續的圖層中提取更復雜的特徵。 C1的6個特徵地圖最終對MNIST數據集運行良好。

+0

謝謝您的迴應。我有一些示例代碼可供閱讀。但我沒有發現任何「垂直」或「水平」邊緣的明確定義。所以我想「針對不同邊緣方向的不同過濾器」是一個更高層次的想法,以達到指導目的。然而,當涉及到編碼或實現時,尤其是對於MNIST,人們僅僅在這裏放置了6個特徵地圖,而沒有考慮每個特徵地圖的意義(即垂直,水平等),並簡單地使用隨機初始化使它們不同。我的理解是正確的嗎? –