一句話解釋
CNN(Convolutional Neural Network,卷積神經網路)是一種專為處理圖像設計的深度學習架構,透過「卷積」操作自動提取圖像中的特徵。
為什麼需要 CNN?
如果用普通的神經網路處理一張 224×224 的彩色圖片,輸入就有 224×224×3 = 150,528 個數值。全連接層的參數量會爆炸,不只訓練慢,還容易過擬合。
CNN 的設計解決了這個問題:它不是一次看整張圖,而是用小小的「濾波器」一塊一塊地掃描,大幅減少參數量。
三個核心元件
1. 卷積層(Convolutional Layer)
卷積層是 CNN 的靈魂。它用一個小型的濾波器(Filter / Kernel)在圖像上滑動,每滑一步就計算一次局部區域的特徵。
想像你拿一個 3×3 的放大鏡在照片上移動:
- 在某些位置,放大鏡偵測到「邊緣」
- 在某些位置,偵測到「角落」
- 在某些位置,偵測到「紋理」
不同的濾波器會提取不同的特徵。淺層的濾波器提取簡單特徵(邊緣、顏色),深層的濾波器提取複雜特徵(眼睛、輪子、文字)。
2. 池化層(Pooling Layer)
池化層的功能是降低維度,保留重要特徵,去掉不重要的細節。
最常見的是 Max Pooling:在一個小區域中只保留最大值。例如一個 2×2 的區域只保留一個數字,資料量直接減少 75%。
池化的好處:
- 減少計算量
- 增加平移不變性(圖片稍微移動不影響辨識結果)
3. 全連接層(Fully Connected Layer)
卷積和池化提取完特徵後,最後用全連接層做分類。例如:「這些特徵最像貓?還是狗?」
CNN 的典型流程
輸入圖片 → [卷積 → 激活 → 池化] × N 次 → 全連接層 → 輸出分類越深的層提取越抽象的特徵:
- 第 1 層:邊緣、顏色
- 第 2-3 層:紋理、形狀
- 第 4-5 層:物件部件(眼睛、嘴巴)
- 最後幾層:完整物件(人臉、車子)
經典 CNN 架構
考試可能會提到的經典架構:
| 架構 | 年份 | 特色 |
|---|---|---|
| LeNet | 1998 | 最早的 CNN,用於手寫數字辨識 |
| AlexNet | 2012 | ImageNet 比賽冠軍,引爆深度學習熱潮 |
| VGG | 2014 | 使用大量 3×3 濾波器堆疊 |
| ResNet | 2015 | 引入殘差連接(Residual Connection),解決梯度消失問題 |
不需要背每個架構的細節,但要知道 ResNet 的殘差連接是一個重要概念——它讓很深的網路也能順利訓練。
應用場景
- 影像分類:辨識圖片中的物體(貓、狗、車)
- 物件偵測:找出圖片中物體的位置和類別
- 人臉辨識:門禁系統、手機解鎖
- 醫療影像:X 光片判讀、皮膚病變偵測
- 自動駕駛:辨識行人、車輛、交通號誌
iPAS 考試怎麼考?
必記重點
- 看到「影像」就想到 CNN——這是最直接的連結
- 卷積層提取特徵、池化層降維、全連接層分類
- CNN 的優勢:參數共享(同一濾波器掃全圖)、局部連接(不用看整張圖)
- CNN 不適合序列資料(文字、時間序列)→ 那是 RNN 或 Transformer 的場景
常見考題
- 「下列何種架構最適合影像分類?」→ CNN
- 「CNN 中池化層的主要功能?」→ 降低維度 / 減少參數量
- 「卷積操作的特色是什麼?」→ 參數共享、局部感受野