什麼是卷積 (Convolution)?

電腦看圖片的方式與人類不同,它們看到的是一堆數字(像素值)。CNN 透過一個小小的視窗(稱為卷積核 Kernel濾鏡 Filter)在圖片上滑動,計算局部特徵。

1. 輸入圖片 2. 濾鏡處理 (卷積) 3. 特徵圖 (Output)

第一步:卷積運算 (Convolution)

選擇濾鏡:

原始圖片 (15x15 像素)

滑鼠移動到這裡查看運算

濾鏡 / Kernel (3x3)

偵測垂直線條
運算過程 (點積 Sum of Products)
請將滑鼠停留在左側
原始圖片的像素上...
*註:Emoji 已被柵格化 (Rasterized) 為像素,並轉換為亮度數值進行計算。

特徵圖 Feature Map (13x13)

正值 (特徵強)
零/負值 (無特徵)
贊助商廣告

第二步:激活函數 (ReLU)

卷積運算可能會產生負數。ReLU (Rectified Linear Unit) 的作用非常簡單:把所有負數變為 0

Input: -50 → ReLU → Output: 0
Input: 120 → ReLU → Output: 120

第三步:池化 (Max Pooling)

池化層用於縮小圖片尺寸,減少運算量,同時保留最顯著的特徵。最常用的是 Max Pooling (最大池化)

10
85
20
5
➔ Max ➔
85

為什麼這些線條能變成貓? (深度學習的層次)

您現在在上面看到的只是 CNN 的第一層。這一層只負責看「哪裡有邊」。 這就像你在拼圖時,先把所有邊邊角角的碎片找出來一樣。 神經網路需要經過許多層的堆疊,才能將這些碎片拼成完整的貓。

第 1 層 (淺層)

邊緣與線條

我們目前在這裡。
電腦只看到線段,還不知道這是什麼。

第 10 層 (中層)

形狀與部位

耳朵?
眼睛?

後面的層會把線條組合起來,
開始認出「三角形」或「圓形」。

第 50 層 (深層)

完整物件

最後的層將部位拼在一起。
有了耳朵+眼睛+鬍鬚 = 貓!