什麼是卷積 (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
Input: 120 → ReLU → Output: 120
第三步:池化 (Max Pooling)
池化層用於縮小圖片尺寸,減少運算量,同時保留最顯著的特徵。最常用的是 Max Pooling (最大池化)。
10
85
20
5
➔ Max ➔
85
為什麼這些線條能變成貓? (深度學習的層次)
您現在在上面看到的只是 CNN 的第一層。這一層只負責看「哪裡有邊」。 這就像你在拼圖時,先把所有邊邊角角的碎片找出來一樣。 神經網路需要經過許多層的堆疊,才能將這些碎片拼成完整的貓。
第 1 層 (淺層)
邊緣與線條
我們目前在這裡。
電腦只看到線段,還不知道這是什麼。
第 10 層 (中層)
形狀與部位
耳朵?
後面的層會把線條組合起來,
開始認出「三角形」或「圓形」。
第 50 層 (深層)
完整物件
最後的層將部位拼在一起。
有了耳朵+眼睛+鬍鬚 = 貓!