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 格式保存,以便最终重新训练。