Skip to main content
QUICK REVIEW

[論文レビュー] SpArSe: Sparse Architecture Search for CNNs on Resource-Constrained Microcontrollers

Igor Fedorov, Ryan P. Adams|arXiv (Cornell University)|May 28, 2019
Advanced Neural Network Applications参考文献 44被引用数 82
ひとこと要約

SpArSeはニューラルアーキテクチャ探索とプリーニングを組み合わせて、メモリ制約付きマイクロコントローラに適合するCNNを自動設計しつつ高精度を維持します。従来の MCU 手法より最大4.35x小型なモデルと高い精度を実現します。

ABSTRACT

The vast majority of processors in the world are actually microcontroller units (MCUs), which find widespread use performing simple control tasks in applications ranging from automobiles to medical devices and office equipment. The Internet of Things (IoT) promises to inject machine learning into many of these every-day objects via tiny, cheap MCUs. However, these resource-impoverished hardware platforms severely limit the complexity of machine learning models that can be deployed. For example, although convolutional neural networks (CNNs) achieve state-of-the-art results on many visual recognition tasks, CNN inference on MCUs is challenging due to severe finite memory limitations. To circumvent the memory challenge associated with CNNs, various alternatives have been proposed that do fit within the memory budget of an MCU, albeit at the cost of prediction accuracy. This paper challenges the idea that CNNs are not suitable for deployment on MCUs. We demonstrate that it is possible to automatically design CNNs which generalize well, while also being small enough to fit onto memory-limited MCUs. Our Sparse Architecture Search method combines neural architecture search with pruning in a single, unified approach, which learns superior models on four popular IoT datasets. The CNNs we find are more accurate and up to $4.35 imes$ smaller than previous approaches, while meeting the strict MCU working memory constraint.

研究の動機と目的

  • メモリ制限のあるMCU上でCNNを展開する動機を示し、RAM/ROMの厳格な制約に対処する(C1、C2)。
  • メモリ制約を満たすアーキテクチャ探索と重みのプリーニングを統合した unified framework(SpArSe)を開発する。
  • 検証精度、モデルサイズ、作業メモリをバランスさせる多目的最適化を実証する。
  • アーキテクチャ探索とプリーニングを組み合わせることで、複数データセットに対してより小さく、より正確なMCU向けCNNを得られることを示す。

提案手法

  • アーキテクチャ、演算、重み、トレーニング/プリーニングのハイパーパラメータを表す多目的設計空間 Omega = {alpha, theta, omega, theta} を定義する。
  • 目的関数を定式化する:f1 = 1 - ValidationAccuracy、f2 = ModelSize (omega)、f3 = 各層のWorkingMemory(Omega) の最大値。
  • 精度・サイズ・メモリのトレードオフを見つけるために Paretoフロンティアアプローチを用いる。
  • 探索空間には可変の深さ/幅、畳み込みタイプ、ダウンサンプリング、残差、多重スケール出力、トレーニング/プリーニングのハイパーパラメータを含める。
  • Sparse Variational Dropout(非構造化)と Bayesian Compression(構造化)を用いて omega と層入力を削減する。
  • ランダムスカラー化を用いた三段階の多目的ベイジアン最適化(MOBO)を用い、構成 Omega* をサンプリングし、 morphごとに再利用した重みをネットワークモーフィズムで活用する。
  • プリーニングを最適化の一部として活用し、高性能のサブグラフを可視化し収束を加速する。

実験結果

リサーチクエスチョン

  • RQ1CNNを厳密なMCUメモリ制約(RAM/ROM)に適合させつつ競争力のある精度を維持できるか。
  • RQ2SpArSeによるアーキテクチャと重みのスパース性の同時最適化は、MCU展開でプリーニングまたはNASを孤立して行う場合より優れているか。
  • RQ3メモリ指向の目的関数(ModelSizeとWorkingMemory)が得られるアーキテクチャと性能にどのような影響を与えるか。
  • RQ4超小型CNNにおけるネットワークエッジとゼロでない重みの関係に、プリーニングはどのような影響を及ぼすか。

主な発見

DatasetAcc (SpArSe)WM (SpArSe)MS (SpArSe)GPUD (SpArSe)DatasetAcc (Bonsai)WM (Bonsai)MS (Bonsai)GPUD (Bonsai)DatasetAcc (SpArSe)WM (SpArSe)MS (SpArSe)GPUD (SpArSe)DatasetAcc (Bonsai)WM (Bonsai)MS (Bonsai)GPUD (Bonsai)
MNIST98.641.962.771MNIST94.38<21.961MNIST98.641.962.771MNIST94.38<21.961
CIFAR10-binary73.841.280.785CIFAR10-binary73.02<21.98CIFAR10-binary73.841.280.785CIFAR10-binary73.02<21.98
CUReT-binary80.681.662.341CUReT-binary76.66<21.4e39CUReT-binary80.681.662.341CUReT-binary76.66<21.4e39
Chars4K-binary77.780.720.461Chars4K-binary76.66<21.4e31Chars4K-binary77.780.720.461Chars4K-binary76.66<21.4e31
  • SpArSeはMNIST、CIFAR10-binary、CUReT-binary、Chars4k-binaryにおいて、従来のMCU専用手法よりも正確で小さいCNNを発見する。
  • メモリフットプリントを最適化した場合、SpArSeは Bonsai より高い精度を示しつつ使用メモリを抑え、場合によっては作業メモリを2KB未満に抑えられる。
  • プリーニングはパラメータ数を大幅に削減(例:約80倍程度)し、エッジ数だけでは明らかでない高性能サブグラフの発見を可能にする。
  • 構造化プリーニングと量子化により、MCU展開に現実的なメモリ測定(MSとWM)を可能にする;SpArSeが作成したモデルはほとんどのデータセットでWM/MSの制約下でBonsaiを上回る。
  • ネットワークモーフィズムとステージド探索は収束を大幅に加速し、プリーニングは探索効率と最終モデル品質に実質的な利益をもたらす。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。