google-research/morph-net
Fast & Simple Resource-Constrained Learning of Deep Network Structure
What it solves
MorphNet 旨在縮減深度神經網路以符合特定資源限制,例如記憶體、延遲或計算成本(FLOPs),而不需要手動重新設計網路架構。它允許模型在訓練過程中透過調整每個卷積層的輸出通道數量,學習自己的最佳結構。
How it works
MorphNet 使用連續鬆弛將網路結構學習視為受限優化問題。它在訓練損失中加入針對特定資源(如 FLOPs 或模型大小)的正則項。隨著模型訓練,該正則項會將某些濾波器的影響力壓低;一旦它們低於某個閾值,這些通道就會被標記為可移除。
該專案提供多種正則化演算法:
- LogisticSigmoid (FiGS):一種機率式的通道正則化方法,需要在模型中加入 gating 層。這是推薦的做法。
- Gamma:用於具有 BatchNorm 層的模型。
- GroupLasso:用於沒有 BatchNorm 的模型。
Who it’s for
機器學習工程師與研究人員,擁有既有的「種子網路」且需要為資源受限的硬體(延遲與記憶體關鍵)進行部署優化。
Highlights
- Resource-Aware Optimization:專門針對 FLOPs、模型大小或硬體特定延遲。
- Differentiable Architecture Search:支援作為剪枝演算法或完整的架構搜尋方法。
- Automated Structure Learning:自動根據目標成本決定要移除哪些通道。
- Structure Exporter:提供工具將學得的架構以 JSON 格式保存,以便最終重新訓練。