[論文レビュー] Slimmable Neural Networks
単一のニューラルネットワークはスイッチ可能なバッチ正規化を介して複数の幅で動作でき、端末上でのランタイム適応精度–遅延トレードオフを実現し、分類と検出タスクで個別に訓練したモデルと競合する性能を発揮する。
We present a simple and general method to train a single neural network executable at different widths (number of channels in a layer), permitting instant and adaptive accuracy-efficiency trade-offs at runtime. Instead of training individual networks with different width configurations, we train a shared network with switchable batch normalization. At runtime, the network can adjust its width on the fly according to on-device benchmarks and resource constraints, rather than downloading and offloading different models. Our trained networks, named slimmable neural networks, achieve similar (and in many cases better) ImageNet classification accuracy than individually trained models of MobileNet v1, MobileNet v2, ShuffleNet and ResNet-50 at different widths respectively. We also demonstrate better performance of slimmable models compared with individual ones across a wide range of applications including COCO bounding-box object detection, instance segmentation and person keypoint detection without tuning hyper-parameters. Lastly we visualize and discuss the learned features of slimmable networks. Code and models are available at: https://github.com/JiahuiYu/slimmable_networks
研究の動機と目的
- 多様なデバイス上でのランタイム適応精度と遅延の必要性を動機付ける。
- 単一のネットワークを複数の幅で実行可能に訓練する一般的なフレームワークを提案する。
- Switchable Batch Normalization を導入して多幅訓練を安定化させる。
- ImageNet および下流タスク(検出、 segmentation、 keypoints)で競争力のある精度を実証する。
提案手法
- 事前定義された幅スイッチ(例: [0.25,0.5,0.75,1.0]x)にわたって共有ネットワークを訓練する。
- Switchable BN を用いてスイッチごとに Batch Normalization を個別化し、幅間の統計を揃える。
- 単一の目的関数で全スイッチの損失を集約して訓練する。
- 各バッチごとにスイッチを循環させるメモリ効率の良い訓練手順を提供する。
- 訓練後、幅を切替えることで実行時/メモリのオーバーヘッドがほとんど生じないことを示す。
- 畳み込み(深さ方向分離、グループ畳み込みを含む)、プーリング、全結合、残差、およびさまざまなタスクへの適用性を示す。
実験結果
リサーチクエスチョン
- RQ1単一のネットワークを訓練して、精度の大幅な低下なしに複数のチャネル幅で効果的に動作できるか?
- RQ2Switchable Batch Normalization は訓練を安定化させ、スイッチ間で性能を保持するか?
- RQ3対応する幅で ImageNet および下流タスクにおいて、スリム化されたネットワークは個別に訓練されたネットワークと比較してどのように性能を発揮するか?
主な発見
| 名称 | パラメータ | Top-1誤り | FLOPs |
|---|---|---|---|
| MobileNet v1 1.0x | 4.2M | 29.1 | 569M |
| S-MobileNet v1 [0.25,0.5,0.75,1.0]x | 4.3M | 28.5 (0.6) | 569M |
| MobileNet v1 0.75x | 2.6M | 31.6 | 317M |
| MobileNet v1 0.5x | 1.3M | 36.7 | 150M |
| MobileNet v1 0.25x | 0.5M | 50.2 | 41M |
| MobileNet v2 1.0x | 3.5M | 28.2 | 301M |
| S-MobileNet v2 [0.35,0.5,0.75,1.0]x | 3.6M | 29.5 (-1.3) | 301M |
| MobileNet v2 0.75x | 2.6M | 30.2 | 209M |
| MobileNet v2 0.5x | 2.0M | 34.6 | 97M |
| MobileNet v2 0.35x | 1.7M | 39.7 | 59M |
| ShuffleNet 2.0x | 5.4M | 26.3 | 524M |
| S-ShuffleNet [0.5,1.0,2.0]x | 5.5M | 28.7 (-2.4) | 524M |
| ShuffleNet 1.0x | 1.8M | 32.6 | 138M |
| ShuffleNet 0.5x | 0.7M | 43.2 | 38M |
| ResNet-50 1.0x | 25.5M | 23.9 | 4.1G |
| S-ResNet-50 [0.25,0.5,0.75,1.0]x | 25.6M | 24.0 (-0.1) | 4.1G |
| ResNet-50 0.75x | 14.7M | 25.3 | 2.3G |
| ResNet-50 0.5x | 6.9M | 28.0 | 1.1G |
| ResNet-50 0.25x | 2.0M | 36.2 | 278M |
- Slimmable ネットワークは ImageNet(MobileNet v1/v2、ShuffleNet、ResNet-50)において、対応する幅で個別に訓練されたネットワークと同等、あるいはそれ以上の Top-1 精度を達成することがある。
- Switchable Batch Normalization は訓練時および検証時の全てのスイッチ間で安定した、ランク保持された精度を可能にする。
- スイッチ数を増やしても(例:4 から 8 へ)性能は概ね維持され、スケーラビリティを示す。
- Slimmable ネットワークは COCO の物体検出、インスタンス分割、キーポイント検出で、対応するバックボーン/幅で個別訓練したモデルより優れているか同等である。
- Switchable BN を用いた訓練はパラメータオーバーヘッドをほとんど生まず(BN 層は通常モデルトサイズの <1%)、推論時には追加費用なしで融合できる。
- このアプローチは標準および特殊な畳み込みブロック(深さ方向分離およびグループ畳み込みを含む)と多様なビジョンタスクに一般化可能である。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。