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 形式で保存するツールを提供し、最終的な再トレーニングに活用できます。