中文名稱:知識蒸餾 英文名稱:Knowledge Distillation

📌 定義(Definition)

知識蒸餾是一種模型壓縮技術,透過讓一個大型且效能較好的模型(Teacher Model)指導一個較小的模型(Student Model)學習,使小模型在保持較高準確率的同時,擁有更低的計算成本與更快的推論速度。

⭐原理與技術

知識蒸餾的核心思想是利用教師模型輸出的「軟標籤」(soft labels)作為訓練信號。教師模型的預測概率分布提供了類別間的隱含關聯,學生模型透過最小化與教師輸出之間的差異(通常以 Kullback–Leibler 散度衡量),學習更具泛化能力的特徵。訓練過程中常使用「溫度參數」(temperature parameter)平滑概率分布,以強化次要類別資訊。

關鍵事實

  • 核心概念:教師模型 → 學生模型的知識轉移
  • 提出者:Geoffrey Hinton 等人(2015)
  • 應用領域:模型壓縮、遷移學習、聯邦學習
  • 主要優點:提高推論效率、減少資源消耗
  • 常見結合技術:量化、剪枝、神經架構搜尋(NAS)

變體與延伸

  • 自蒸餾(Self-distillation):教師與學生為同一模型架構,透過自我指導提升性能。
  • 多教師蒸餾(Multi-teacher distillation):整合多個教師模型的知識,以增強學生模型的表現。
  • 特徵層蒸餾(Feature-based distillation):不僅蒸餾輸出結果,也蒸餾中間層特徵表示。

🔗 應用領域

知識蒸餾在自然語言處理(如 BERT 壓縮成 DistilBERT)、電腦視覺(例如 CNN 模型精簡化)及語音辨識等領域中廣泛應用。它使得在運算資源受限的環境下仍能部署高效能 AI 模型,成為深度學習模型輕量化的重要策略之一。

3 題模擬練習題