CNN
中文名稱:卷積神經網路 英文名稱:Convolutional Neural Network
定義(Definition)
以卷積與池化層為核心的深度學習模型,專長擷取局部空間特徵並在多層堆疊中形成階層式表徵,常用於影像分類、檢測與分割,也能處理時序與語音。
原理與技術
結構組成
- 卷積層(Convolutional Layer):
- 透過卷積運算提取數據的局部特徵,例如邊緣、紋理到形狀的階層特徵。
- 池化層(Pooling Layer):
- 透過降維操作(如最大池化、平均池化),減少數據維度,防止過擬合。
- max/avg 縮小尺寸、增加平移不變性,減少參數。
- 全連接層(Fully Connected Layer):將提取的特徵映射到輸出空間,進行分類或迴歸任務。
優點
- 適合處理高維數據,參數量相比全連接網路顯著減少。
- 能夠提取層次化特徵,從低層特徵(如邊緣)到高層語義(如物體形狀)。
額外資料
常見結構包含 卷積層+批次正規化(BatchNorm)+ReLU 的基本組合,並用 殘差(Residual) 或稠密連接(Dense) 避免深層梯度消失。 步幅(Stride)、填補(Padding) 控制特徵圖大小;1x1 卷積 用於降維或跨通道混合。
訓練需考慮 資料增強(Data Augmentation)(翻轉、裁切、顏色抖動)、正則化 (L2/Dropout)、學習率排程與權重衰減。 經典架構有 LeNet、VGG、ResNet、DenseNet、MobileNet、EfficientNet;物件偵測則常用 FPN、Anchor/Anchor-free、NMS。在時序或語音上,可把一維序列視為「時間×頻率」的圖(如 Mel 頻譜),用一維或二維卷積擷取局部模式。部署時可套用 量化、剪枝、蒸餾 讓模型更輕量化。
應用領域
- 影像分類:醫療影像病灶、瑕疵檢測、品質檢驗。
- 物件偵測/定位:自動駕駛偵測行人車輛、零件定位、監控異常。
- 影像分割:工業 AOI、農業病蟲害、醫學語意分割與實例分割。
- 人臉與行為辨識:門禁、活體檢測、防欺騙。需注意隱私與偏差,並做對抗樣本防禦。
- 手寫數字分類(MNIST)
- 語音與時序特徵擷取:以 1D/2D CNN 處理聲學特徵或時間序列異常偵測,常結合 RNN/Transformer 提升長序列表現。
- 風格轉換與超解析度:用卷積生成器做影像增強或重建,適用於舊照片修復、監控畫面升級。
共同重點:資料前處理與增強對效能影響巨大;需考慮計算量與延遲,推論端可透過模型壓縮與硬體加速。
3 題模擬練習題
- 卷積層的主要好處是什麼?
- A. 參數量與全連接層相同
- B. 共享權重,擅長抓局部特徵並降低參數
- C. 只能處理文字
- D. 只能處理固定大小輸入
- 正確答案:B
- 解析:卷積用共享濾波器滑動,能有效擷取局部模式且參數遠低於全連接。
- 深層 CNN 容易遇到梯度消失,常見解法?
- A. 移除所有激活函數
- B. 使用殘差連接或批次正規化
- C. 把學習率調到非常大
- D. 只訓練前面幾層
- 正確答案:B
- 解析:殘差捷徑讓梯度直接傳遞,BatchNorm 穩定分佈;其他選項無法根本解決。
- 若模型推論延遲過高,可採取?
- A. 改用更大的卷積核
- B. 使用輕量化模型、量化或剪枝
- C. 關閉 GPU
- D. 只保留最後一層
- 正確答案:B
- 解析:MobileNet/EfficientNet、8-bit 量化、剪枝與蒸餾可降低計算量與記憶體需求。