AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
22/100 第三週:📌 卷積神經網路 CNN
22.卷積層原理 🧩 濾鏡滑動提取圖像特徵!
________________________________________
✅ 什麼是「卷積層」?
卷積層是 CNN 的核心,它利用濾鏡(Filter / Kernel)在圖片上滑動,提取圖像中如邊緣、紋理、角度等局部特徵。
📌 卷積的關鍵行為:
• 濾鏡:一組小矩陣(如 3×3、5×5)
• 滑動:在輸入圖像上從左到右、從上到下移動
• 每次移動:計算濾鏡與對應區域的「元素乘積總和」
• 輸出:稱為特徵圖(Feature Map)
________________________________________
🧠 類比理解:
濾鏡就像是「圖片掃描器」,它看一小塊、記住邊緣或紋路,然後走一步,再掃下一格,最終拼出一張「特徵地圖」。
________________________________________
🧩 卷積計算示意:
🎯 原始輸入(5×5 圖像):
1 2 0 3 1
4 1 0 1 2
1 3 2 2 0
0 1 3 1 1
2 2 0 0 3
🔍 3×3 濾鏡:
1 0 -1
1 0 -1
1 0 -1
🔁 卷積運算結果(步幅=1,不加 padding):
• 每次以 3×3 區塊乘上濾鏡 → 得出一數值
• 最終輸出為 3×3 特徵圖
________________________________________
⚙️ 超參數說明:
在卷積神經網路(CNN)中,卷積層的幾個重要參數會直接影響特徵提取的方式與輸出形狀。
🖼️ 輸入圖像(28x28)
🔲 Kernel Size(濾鏡大小):
📏 例如 3x3 或 5x5 → 決定每次看的區域大小
⛏️ 濾鏡像放大鏡一樣滑過圖像局部
➡️ Stride(步幅):
👣 Stride=1:每次移動一格(較細緻)
🦘 Stride=2:每次跳一格(降解析度)
🧱 Padding(邊界補零):
▫️ same:補零 → 輸出與輸入同尺寸
▫️ valid:不補 → 輸出變小但更精簡
🎨 Filters(濾鏡數量):
🎭 每個濾鏡學一種特徵(邊緣、紋理、形狀)
📦 輸出深度 = 濾鏡數,例如 32 → 輸出是 28x28x32
📤 輸出 Feature Map(特徵圖)
這些設定控制了 CNN 對圖像的掃描方式與學習能力,是設計深度學習視覺模型時的關鍵元件。
________________________________________
📦 TensorFlow / Keras 實作:
python
from tensorflow.keras import layers
model = tf.keras.Sequential([
layers.Conv2D(filters=32, kernel_size=(3, 3),
strides=1, padding='same',
activation='relu', input_shape=(28, 28, 1))
])
這段程式碼使用 Keras 建立了一個簡單的卷積神經網路模型,包含一層 Conv2D 卷積層。該層使用 32 個 3x3 濾鏡,步幅為 1,並設定 padding='same',表示輸出尺寸與輸入保持一致(28x28)。激活函數採用 ReLU,有助於引入非線性並促進收斂;input_shape=(28, 28, 1) 表示輸入為 28x28 的灰階圖像。這層可有效提取局部邊緣與紋理特徵,常作為 CNN 結構的起始層。
_______________________________________
📸 實際效果圖例:
卷積神經網路中的濾鏡會自動學習提取不同類型的特徵圖,幫助模型理解圖像內容。邊緣濾鏡能突顯物體的輪廓與邊界變化,是辨識形狀的基礎;水平或垂直濾鏡專注於掃描橫向或縱向的直線結構,有助於偵測文字或建築線條;紋理濾鏡則能識別圖像中的表面細節,例如動物的毛髮或物體的材質粗細。這些濾鏡在訓練過程中由模型自動學得,是 CNN 能成功進行影像辨識的關鍵所在。
________________________________________
📊 卷積層優勢:
卷積神經網路(CNN)具備多項優勢,使其特別適合處理圖像資料。透過局部感知能力,每個濾鏡專注於圖像的一小區域,能精準學習細節特徵;參數共享機制讓同一濾鏡在整張圖上滑動,大幅降低參數量並提升運算效率;同時,CNN 具備空間不變性,即使物件在圖中移動或旋轉,仍能穩定辨識;此外,透過多層堆疊,模型能從低階邊緣開始,逐步學習形狀、紋理,甚至高階語意概念,形成具層次的強大特徵表示能力。
________________________________________
🧠 對比 MLP 的強大之處:
相較於 MLP(多層感知器),CNN(卷積神經網路)在處理圖像任務上具有明顯優勢。MLP 採用全連接層結構,所有輸入都需連接至每個神經元,參數量龐大,且圖像需先扁平化為一維向量,導致空間資訊流失;反之,CNN 採用卷積→池化→展平→全連接的層次結構,透過濾鏡共享大幅減少參數,並保留圖像的空間特性,能有效提取邊緣、紋理、形狀等視覺特徵,因此在圖像辨識、物體檢測等任務中表現遠優於 MLP。
________________________________________
🎯 小結與啟示:
✅ 卷積層讓神經網路不只是分類器,而是「看圖說話的視覺系統」
✅ 透過滑動濾鏡,我們可以擷取圖像的邊緣、紋理、形狀與結構
✅ CNN 的真正威力來自「卷積 + 深度堆疊 + 空間感知」