AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
25/100 第三週:📌 卷積神經網路 CNN
25.多通道輸入與多濾鏡輸出 🎨 處理彩色圖像必備技巧!
當我們進入深度學習中處理彩色圖像的實務應用時,第 25 單元的主題 「多通道輸入與多濾鏡輸出原理」 正是理解卷積神經網路(CNN)如何提取豐富圖像特徵的關鍵!
________________________________________
🔍 一、為什麼需要多通道輸入?
彩色圖像通常具有三個通道:
Red(紅)、Green(綠)、Blue(藍),簡稱 RGB。
每個通道都是一張灰階圖片,表示該顏色的強度。
📌 例如:
一張大小為 32x32 的彩色圖像,其輸入尺寸為:
Input Shape = (32, 32, 3)
👉 表示高度32,寬度32,通道數為3(R/G/B)
________________________________________
🧠 二、CNN 的多通道卷積原理是什麼?
CNN 中的每一個濾鏡(Filter 或 Kernel)也需要有相同的通道數,才能與輸入進行卷積操作。
📌 如果輸入是 3 通道(RGB),那麼每個濾鏡也是 (k, k, 3) 的三維結構。
對每個通道分別進行卷積,然後把結果 加總(element-wise 相加),得出該濾鏡在此位置的輸出值。
________________________________________
🖼 三、多濾鏡輸出的概念?
在 CNN 中,我們不只使用一個濾鏡,而是同時使用多個濾鏡來提取不同類型的特徵。
📌 假設我們有 32 個濾鏡,每個濾鏡都會輸出一張 Feature Map(特徵圖),因此:
Output Shape = (H, W, 32)
👉 表示輸出有 32 個通道(每個濾鏡一張圖)
________________________________________
✅ 四、總結重點公式:
如果:
• 輸入圖像大小為:H x W x C_in
• 使用 K 個濾鏡,每個濾鏡大小為 k x k x C_in
• 則輸出特徵圖大小為:H_out x W_out x K
這樣的多濾鏡架構能夠捕捉到圖像中多種層次的特徵(邊緣、紋理、形狀...等)。
________________________________________
✨ 實務舉例:
以 TensorFlow/Keras 示範:
python
from tensorflow.keras.layers import Conv2D
# 假設輸入為 RGB 彩色圖像 (64x64x3)
# 使用 32 個濾鏡,每個濾鏡大小為 3x3
conv = Conv2D(filters=32, kernel_size=(3,3), input_shape=(64,64,3))
這行程式碼建立了一個卷積層 Conv2D
,設定 32 個 3×3 濾鏡(filters=32, kernel_size=(3,3)),輸入影像尺寸為 64×64、3 個通道(RGB 彩色圖)。這層會從輸入圖像中自動學習局部特徵,如邊緣、紋理,並輸出 32 張對應的特徵圖,作為後續深層網路的輸入。
________________________________________
🎯 小結與啟示:
✅ 多通道輸入 = 把彩色圖像的每個通道當作獨立層看待
✅ 多濾鏡輸出 = 抽取多層次、不同性質的特徵
✅ 是 CNN 能夠處理複雜圖像分類任務的關鍵技術!