DNN可以用到計算機視覺上麼?為什麼需要CNN?
答案是必然的,但是DNN有不少缺點,為此引入CNN。
一般情況下,影像資料比較大,意味著網路的輸入層維度也比較大。當然可以對其進行處理,即使這樣,假設處理完後影像變為2562563的彩色圖,即輸入的維度的值為196608。那麼後面的隱藏層的神經元個數自然也能太少,假設為1024。僅僅一層的連結就有高達196608 * 1024的引數量。巨大的計算量給計算能力帶來不小的挑戰。
同時,模型的神經元數量大,可能會帶來過擬合。
引入的CNN保持了層級網路結構,從輸入到輸出經過不同層次,不同層次有不同形式的運算或者功能。主要有以下層次:
- 資料輸入層/ Input layer – 資料預處理
- 卷積計算層/ CONV layer
- 激勵層/ Activation layer – 非線性變換
- 池化層/ Pooling layer – 下采樣
- 全連線層/ FC layer
- 批歸一化層/ Batch Normalization layer(可能有)