深度學習之三 卷積神經網絡

深度學習

之三 卷積神經網絡

1.問題引入。
普通的神經網絡在處理圖像時遇到的問題:
參數過多。
在這裏插入圖片描述
參數過多引來的問題有:
①.容易過擬合,導致模型的泛化能力非常差。
②.收斂到較差的局部極值。
解決問題–卷積。

2.卷積。
對於一個圖像數據來說,它具有非常強的區域性。基於這樣的圖像性質,我們可以做一定的篩減,將全連接變成局部連接,從而降低它的參數量。
①.局部連接
在這裏插入圖片描述
在這裏插入圖片描述
由於圖像的特徵和它的位置無關,我們強制使得每一個神經元和局部連接都使用同樣的參數,即參數共享。
②.參數共享
在這裏插入圖片描述
在這裏插入圖片描述
卷積計算中還有一個重要的參數–步長,表示滑動窗口(卷積核)每一次走的步數。如下:
在這裏插入圖片描述
如何使輸出的size保持不變呢?可以通過添加padding,如下:
在這裏插入圖片描述
卷積處理多通道的情況時,對於一個多通道,把卷積也變成多通道。在計算過程中,每個通道上的卷積的參數去和去和相應的圖像的輸入去做內積,然後將這三個通道上得到的同樣位置上的內積的結果相加,作爲輸出的神經元的值。如下:
在這裏插入圖片描述
如何去產生一個多通道的輸出神經元的圖呢?多加幾個卷積核就可以了。加多個卷積核代表可以從圖像中提取多種特徵。
在這裏插入圖片描述
在這裏插入圖片描述
卷積核總結:
在這裏插入圖片描述
3.激活函數。
在這裏插入圖片描述
激活函數的共同特點:單調性、非線性。
爲什麼激活函數都是非線性的?
神經網絡的結構都是層次的,然後高級的層次和低級的層次是用全連接聯繫在一起,神經元的參數形成一個矩陣。我們不用非線性的激活函數的時候,多個神經網絡的層次相當於是每個層次之間都是做了矩陣的操作,而矩陣的操作具有合併性,這時造成的後果就是,即便是很深層次的神經網絡,也只相當於是一個單層的神經網絡。但是加了非線性激活函數之後,這樣的情況就不會存在了。
4.池化。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
5.全連接。
在這裏插入圖片描述
在神經網絡上一旦加了全連接層,後面就不能再加捲積層和池化層了。因爲全連接是將矩陣展開成一維向量。
6.卷積神經網絡結構。
在這裏插入圖片描述
在這裏插入圖片描述