1. 程式人生 > >深度學習:卷積神經網路

深度學習:卷積神經網路

卷積神經網路是實際應用中最為成功的神經網路。卷積在機器學習中有兩個具體的優勢:稀疏連線和引數共享。

  1. 對一幅影象進行卷積,使用卷積核進行卷積,然後卷積後得到特徵對映或者特徵圖(Feature Map)。卷積就是對資料加權求和。一般而言,卷積使用星號表示卷積的過程,卷積適合交換律。在機器學習中卷積就是就是區域性特徵乘以對應的權重,然後再累加起來即可。
  2. 稀疏連線:在傳統的神經網路中,每個神經元都會連線到上層的所有神經元中,這種屬於全連線。而稀疏連線指的是,神經元只會連線到上層中的部分神經元,這種連線就被稱為稀疏連線。因為稀疏連線可以減少引數的個數,所以也是一種防止過擬合的手段。本來需要O(m×n)的時間複雜度,在將每個輸出單元都限制在k連線引數的稀疏連線方式後,所需的引數減少到k×n個,計算時間複雜度變成了O(k×n)
  3. 雖然是稀疏連線,但是通過層數的加深可以保證後面的神經元學習到了前面的所有神經元的資訊。
  4. 引數共享:在模型的多處使用相同的引數。引數共享並沒有影響神經網路的計算時間,時間複雜度仍然是O(k×n),但是其顯著降低了需要儲存的引數個數。
  5. 池化:負責將下層提取到的特徵進行取樣,縮小網路規模。有最大池化和平均池化兩種。池化操作不僅可以縮小網路規模,還能獲取輸入資料的不變性特徵。
  6. 影象中區域性不變形是一個很有用的屬性。由於模糊位置加強了網路抗噪聲的能力,因此提高了模型的泛化效能。因為最大池化操作僅僅對周圍的最大特徵值敏感,而不在乎精確的位置,因此種不敏感性反而使網路獲得了平移不變性的能力。
  7. 將池化用於不同的卷積探測層,再將不同的卷積結果進行最大池化,那麼就可以得到旋轉不變性。
  8. 池化是處理變長輸入的基本手段之一,如果不想直接裁剪圖片,那麼就可以利用池化操作將輸入資料縮放在固定的尺寸上。(處理變長輸入)
  9. 跨步卷積和跨步池化,是下采樣的兩種方式。
  10. 卷積網路每經過卷積核大小為k的卷積後,網路大小至少會縮小k1。加入輸入資料為16維,卷積核大小為6,那麼再經過三層之後網路輸出縮減為1。之所以將神經網路改名為深度學習,是強調我們應該使用深層的網路模型去表徵資料。要想要深層的網路模型就需要減小卷積核的大小,但是減小卷積核大小的話,特徵提取的能力就會減弱,也是一個魚和熊掌的問題。
  11. 零填充(zero padding):零填充分為三種方式,有效卷積、相同卷積與全卷積。有效卷積其實就是沒有零填充的卷積,在金融行業中為了不增加新的噪聲資料,所以一般使用有效卷積。相同卷積是每層與每層之間不會造成網路結構的減少。全卷積會導致不僅不會減少,還會增加。
  12. 對於有效卷積,假設輸入單元的寬度為m,卷積核的寬度為k,那麼輸出的寬度就是mk+1