2026年5月6日 星期三

機器學習 VGG16 Arachitectural & Layer Types

 
 VGG16 的設計邏輯是:「先把影像看細,再把影像看深」。它將 13 層卷積層分成 5 個「戰鬥小組 (Groups)」:

戰鬥小組 

內部層數

濾鏡深度 (Channels)

物理任務 (Mission) 

權重層累計

Group 1 

2 層卷積

64

捕捉邊緣、顏色、紋理 

1, 2

Group 2 

2 層卷積

128 

組合簡單形狀(如圓形、十字)

3, 4 

Group 3 

3 層卷積

256

辨識局部組件(如眼睛、輪胎)

5, 6, 7 

Group 4 

3 層卷積

512

識別複雜物件(如整張臉、整台車)

8, 9, 10

Group 5

3 層卷積

512

高階語義對齊(如情緒、場景屬性)

11, 12, 13

小計 

13

 

負責「看懂」特徵 

13 層卷積


  🛡️ 全連接層 (Linear)
  當卷積層看懂特徵後,必須由最後的 3 層全連接層 進行最終裁決:

   - 第 14 層 (Linear): 整合所有高階特徵(4096 個神經元)。
   - 第 15 層 (Linear): 進一步抽象化(4096 個神經元)。
   - 第 16 層 (Linear): 最終分類輸出(如 1000 類,對應 ImageNet)。

  總結:13 (卷積) + 3 (全連接) = 16 層具備權重的層級。


  D1: 核心概念 (Core Concept)
  在深度學習框架(如 PyTorch)中,VGG16 被物理性地切分為兩大模組:features(特徵提取器 = 13 層卷積)與  classifier(分類器 = 3 層全連接)。

  D2: 變數-物理映射表 (Physics Mapping Table)

變數 (Code) 

物理層級 

考場直覺 (Battle Intuition)

model.features 

Group 1 ~ Group 5 

「視覺神經」,負責看。

model.classifier

Linear 14 ~ 16 

「大腦判斷」,負責想。

Frozen 

requires_grad = False

保持記憶,不再學習。

🛡️ 深度剖析:為何 VGG16 採用 2-2-3-3-3 配置?( 這背後涉及兩個核心的物理與工程考量:「解析度代價」與「特徵複雜度」)

  1. 物理代價:解析度的高昂成本 (The Resolution Tax)
  在 Group 1 和 Group 2,影像剛進來,尺寸非常大(例如 224x224 或 150x150)。
   - 運算量 (FLOPs) 是與影像面積成正比的。
   - 在大尺寸影像上多加一層卷積,產生的運算負擔是後層(影像已縮小)的 4 倍甚至 16 倍。
   - 戰略決策: 為了讓模型能在當時的硬體(2014年)跑得動,設計者在影像尺寸最大的前兩組「節制」了層數。

  2. 語義演進:簡單特徵 vs. 複雜特徵
   - Group 1 & 2 (淺層): 任務只是找邊緣和顏色。物理上,這只需要 2 層 3x3 卷積(等效於 1 層 5x5  的視野)就足以看清。
   - Group 3, 4, 5 (深層):
     任務是辨識眼睛、鼻子、甚至整張臉。這些特徵具有高度非線性,需要更深的層數來提供足夠的「表達能力
     (Expressiveness)」。
   - 戰術對位: 簡單任務用淺層,複雜任務用深層。

  3. 家族對比:VGG 其實有「強迫症版本」
  VGG 並非只有 16 層。設計者當時實驗了一系列配置:
   - VGG-13: 採用 2-2-2-2-2 配置(全部都是 2 層)。
   - VGG-16: 採用 2-2-3-3-3 配置(現在考題的主角)。
   - VGG-19: 採用 2-2-4-4-4 配置(追求極限深度)。
   
 結論: VGG16 最終成為經典,是因為它在「準確度」與「計算成本」之間達到了物理上的黃金平衡。
     D3: +1 ASCII ART 繪製 (Structural Mapping)

      [ VGG16 實體構造 ]
   /-----------------------------\
   | [model.features]            | <--- 包含所有 13 層卷積
   |  Group 1 (2層)              |      
   |  Group 2 (2層)              |
   |  Group 3 (3層)              |
   |  Group 4 (3層)              |
   |  Group 5 (3層)              |
   \-----------------------------/
                |
   /-----------------------------\
   | [model.classifier]             |
   |  Linear 14, 15, 16 (3層)   |
   \-----------------------------/

資料來源:GEMINI CLI  變形金剛整理