iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
AI & Data

從入門村到最終 BOSS:30 天打通深度學習主線系列 第 14

Day 14:卷積 (Convolution) 的核心概念

  • 分享至 

  • xImage
  •  

Day 14:卷積 (Convolution) 的核心概念

在 CNN 的結構中,卷積 (Convolution) 是最關鍵的操作。理解它,才能真正知道為什麼 CNN 可以比傳統 DNN 在圖像任務上表現得這麼好。本篇我們要拆解卷積的奧義,從基本運算到常見濾波器,幫你打通這一層的技能。

一、卷積在 CNN 中為什麼重要?

保留空間結構 (spatial structure):不像把圖像展平成向量,卷積能讓相鄰像素之間的關係被保留。參數共享 & 局部感受野 (parameter sharing & local receptive field):一組 Filter 能掃遍整張圖片,減少參數數量,同時每次只看局部區域,降低計算複雜度。平移不變性 (translation invariance):當物體稍微移動,它仍可能被識別,卷積 + 池化有助於這種穩健性。卷積讓 CNN 用少量的參數、有效率地從圖像中提取普遍有用的局部特徵。

二、卷積運算原理

  1. Filter / Kernel
    濾波器 (又稱 Kernels、Masks) 是一個小矩陣(例如 3×3、5×5),其元素通常是可訓練的權重 (weights)。
    它就像是一把掃描器,負責偵測特定類型的特徵(像邊緣、紋理、斜線等)在圖像中的出現。

  2. 滑動 + 點乘加總 (Sliding + Dot Product & Sum)
    Filter 在輸入圖像上以一定步幅 (Stride) 滑動,每個位置與對應區域做逐元素乘法,再把乘積加總,形成該位置的輸出值。這樣卷積操作就完成了局部特徵的探測。

  3. Padding / Stride

Padding:在圖像邊緣補零 (zero padding),讓卷積在邊界也能取到完整的滑動區域,保留圖像邊緣細節。
Stride:控制 Filter 每次滑動的步長,Stride > 1 可使輸出圖縮小。卷積層其實就是「滑鏡 + 探測器」的組合,讓網路能看到所有區域是否有該特徵。

三、常見濾波器 (Kernels) 類型與作用

下面是幾種常見的卷積核/濾波器,用於圖像處理/特徵強化,理解它們有助於你感受卷積的威力:

濾波器名稱 簡述 效果
Identity Kernel 保持原圖不變 輸出 ≒ 輸入
平滑 / 模糊 (Blur) 對鄰近像素取平均或加權平均 去噪、柔化邊緣
銳化 (Sharpen) 增強高頻成分(邊緣、細節) 提升圖像清晰度
邊緣檢測 (Edge Detection, Sobel, Prewitt) 偵測像素強度急劇變化 強化輪廓線條
高斯模糊 (Gaussian Blur) 用高斯分布加權平滑 常用於降噪前處理

在 CNN 訓練初期,這些 Filter 的權重是隨機初始化的,隨著學習,模型會慢慢學會什麼樣的卷積核對該任務最有用。

四、卷積層在現代 CNN 的變種

除了最基本的卷積操作,現在主流網路還有幾個對卷積做了變種設計,以提升效率或效果:

  1. Depthwise Separable Convolution:將一般卷積拆成「每通道卷積 + 1×1 卷積」,減少計算量與參數數量。
  2. Dilated / Atrous Convolution:在 Filter 元素之間插空隙 (dilation),可以在不增加參數的情況下擴大感受野 (看到更大範圍)。
  3. Transposed Convolution (反卷積 / 上采樣卷積):用於輸出尺寸比輸入大的情況,如影像重建、語意分割 upsampling。

這些變種是 CNN 在不同應用(如手機模型、語意分割、影像生成)中會遇到的高級技能。


上一篇
Day 13:CNN 反向傳播 (Backward Pass)
系列文
從入門村到最終 BOSS:30 天打通深度學習主線14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言