讓我們對卷積神經網絡如何工作形成更好直觀感受。我們先看下人怎樣識別圖片,然后再看 CNNs 如何用一個近似的方法來識別圖片。
比如說,我們想把下面這張圖片識別為金毛巡回犬。

一個需要被識別為金毛巡回犬的圖片
人類是怎么做的呢?
一種做法是我們識別狗的特定部位,例如鼻子,眼睛,毛發。我們把圖片分成小片,識別小片,然后把這些結合在一起,得到一個狗的概念。
這種情況下,我們可以把圖片分成下列組合:
- 一個鼻子
- 兩只眼睛
- 金色毛發
如下圖所示:

狗的眼睛

狗的鼻子

狗的毛發
再進一步
再進一步來說,我們如何確定鼻子在哪呢?一個金毛巡回犬的鼻子可以看出是一個橢圓形,有兩個黑洞在里面。因此,一種辨別巡回犬鼻子的方法是把它分割更小的區域,尋找黑洞(鼻孔)和橢圓的曲線。如下所示:

一個可以用來確定鼻子的曲線

用來分類狗鼻子的鼻孔
廣義上來說,這就是 CNN 的學習方式。它學習識別基本的直線,曲線,然后是形狀,點塊,然后是圖片中更復雜的物體。最終 CNN 分類器把這些大的,復雜的物體綜合起來識別圖片。
在我們的例子中,層級關系是:
- 簡單的形狀,如橢圓,暗色圓圈
- 復雜的物體(簡單形狀的組合),例如眼睛,鼻子,毛發
- 狗的整體(復雜物體的組合)
有了深度學習,我們不需要設定 CNN 來識別特定的特征。相反,CNN 通過正向和反向傳播,自己學習識別上述物體。
盡管我們從來沒有讓 CNN 尋找特定的特征信息,但是它識別圖片的能力卻好的驚人!

對狗圖片每一層 CNN 可能識別物體的示意圖
CNN 可能有幾層網絡,每個層可能捕獲對象抽象層次中的不同級別。第一層是抽象層次的最底級,CNN 一般把圖片中的較小的部分識別成簡單的形狀,例如水平、豎直的直線,簡單的色塊。下一層將會上升到更高的抽象層次,一般會識別更復雜的概念,例如形狀(線的組合),以此類推直至最終識別整個物體,例如狗。
再次強調,CNN 是自主學習。我們不需要告訴 CNN 去尋找任何直線、曲線、鼻子、毛發等等。CNN 從訓練集中學習並發現金毛巡回犬值得尋找的特征。