1. 程式人生 > >機器學習與深度學習系列連載: 第二部分 深度學習(十一)卷積神經網路 2 Why CNN for Image?

機器學習與深度學習系列連載: 第二部分 深度學習(十一)卷積神經網路 2 Why CNN for Image?

卷積神經網路 2 Why CNN

為什麼處理圖片要用CNN?
在這裡插入圖片描述
原因是:

  • 一個神經元無法看到整張圖片
  • 能夠聯絡到小的區域,並且引數更少
  • 圖片壓縮畫素不改變圖片內容

在這裡插入圖片描述

1. CNN 的特點

  • 卷積: 一些卷積核遠遠小於圖片大小; 同樣的pattern 已在圖片的不同區域出現
  • 抽樣:抽樣壓縮,不影響圖片的含義

在這裡插入圖片描述

2. CNN 為什麼適用於圖片處理?

一般來講,單層神經網路可以表示任何函式(數學已經證明),那麼我們為什麼不用全連線神經網路,而用複雜的,人為設計的CNN取處理圖片呢?祕密在於,CNN能夠大量減少引數,提高效率。


(1)模型比較
在這裡插入圖片描述
(2)減參祕密
我們拿6*6大小的圖片為例,filter是3*3,filter中每個引數是一個引數,用不同的顏色表示,就會生成activemap,粉色表示的圖層
在這裡插入圖片描述
以activemap 中第一個數值3為例,在全連線網路中(完全展開CNN),至少需要16個引數,但是隻需要9個輸入。
在這裡插入圖片描述

3. CNN in Keras

(1)圖片輸入Input需要reshape到3D 的tensor
在這裡插入圖片描述
(2)繼續新增maxpooling 和convolution層
在這裡插入圖片描述
(3)展開用全連線層,softmax輸出分類結果
在這裡插入圖片描述

本專欄圖片、公式很多來自臺灣大學李弘毅老師、斯坦福大學cs229,斯坦福大學cs231n 、斯坦福大學cs224n課程。在這裡,感謝這些經典課程,向他們致敬!