Skip to main content
QUICK REVIEW

[論文レビュー] RNNPool: Efficient Non-linear Pooling for RAM Constrained Inference

Oindrila Saha, Aditya Kusupati|arXiv (Cornell University)|Feb 27, 2020
Advanced Neural Network Applications参考文献 50被引用数 27
ひとこと要約

この論文では、再帰的ネットワークを用いて大きな受容 field を持つ特徴を集約することで、CNN の大規模な活性化マップを効率的にダウンサンプリングする、RNNPool と呼ばれる新しい RNN ベースのプーリング演算子を紹介する。これにより、ピーク RAM 使用量と計算コストを顕著に削減しながらも、高い精度を維持できる。RNNPool を用いることで、RAM が 256 KB 未塔の ARM Cortex-M4 デバイス上でも最先端の顔検出が可能となり、WIDER FACE で 0.78 MAP を達成した。これは、先行手法と比較して 80 倍少ない MAdds を使用した。

ABSTRACT

Standard Convolutional Neural Networks (CNNs) designed for computer vision tasks tend to have large intermediate activation maps. These require large working memory and are thus unsuitable for deployment on resource-constrained devices typically used for inference on the edge. Aggressively downsampling the images via pooling or strided convolutions can address the problem but leads to a significant decrease in accuracy due to gross aggregation of the feature map by standard pooling operators. In this paper, we introduce RNNPool, a novel pooling operator based on Recurrent Neural Networks (RNNs), that efficiently aggregates features over large patches of an image and rapidly downsamples activation maps. Empirical evaluation indicates that an RNNPool layer can effectively replace multiple blocks in a variety of architectures such as MobileNets, DenseNet when applied to standard vision tasks like image classification and face detection. That is, RNNPool can significantly decrease computational complexity and peak memory usage for inference while retaining comparable accuracy. We use RNNPool with the standard S3FD architecture to construct a face detection method that achieves state-of-the-art MAP for tiny ARM Cortex-M4 class microcontrollers with under 256 KB of RAM. Code is released at https://github.com/Microsoft/EdgeML.

研究の動機と目的

  • RAM が限られたエッジデバイス、特に ARM Cortex-M4 マイコンのような環境に標準的な CNN を実装する際の高いメモリと計算コストの課題に対処すること。
  • このようなメモリ制限環境において、標準的なプーリングやストライド付き畳み込みによる過剰なダウンサンプリングによって引き起こされる精度の低下を克服すること。
  • 特徴表現力を保持しながらメモリオーバーヘッドを最小限に抑える、迅速で非線形な活性化マップのダウンサンプリングを可能にする新しいプーリング演算子を設計すること。
  • RNNPool が、特にネットワークの初期段階で複数の標準 CNN ブロックに効果的に置き換えられることを示し、精度を損なわずにピークメモリ使用量と MAdds を大幅に削減できることを実証すること。
  • S3FD アーキテクチャに RNNPool を統合することで、極めて小さなエッジデバイス上でも顔検出の最先端の性能を達成すること。

提案手法

  • RNNPool は、サイズ r×c のスライディングウィンドウ(パッチ)内で、行と列のそれぞれを処理する 2 つの独立した RNN を用いる。これにより、非線形的に特徴を集約する。
  • この演算子は、特徴パッチの各行および各列に対して再帰を適用し、サイズ 4h₂ のコンactな高レベル表現を生成する。ここで h₂ は RNN の隠れ次元である。
  • パッチサイズ(受容 field)、ストライド(重複あり・なしのパッチ)、出力次元(h₂)といった設定可能なハイパーパramータをサポートしており、柔軟なダウンサンプリングが可能である。
  • RNNPool レイヤーは微分可能であり、標準のプーリングレイヤーと同様に構文的に挿入可能であるため、既存のアーキテクチャでマックスプーリングや平均プーリング、ストライド付き畳み込みを容易に置き換えられる。
  • MAdds を最小限に抑えるために FastGRNN を RNN セルとして使用し、パラメータオーバーヘッドを最小限に抑えながら高い精度を維持する。
  • RNNPool は、MobileNetV2、DenseNet、S3FD の初期ブロック複数に適用され、推論中の活性化マップのサイズとピークメモリ使用量が削減された。

実験結果

リサーチクエスチョン

  • RQ1リソース制限のあるデバイス上で、非線形で RNN ベースのプーリング演算子が、大規模な活性化マップを効果的にダウンサンプリングしつつ、モデルの精度を維持できるか?
  • RQ2RNNPool は、ネットワークの初期段階で複数の標準 CNN ブロックをどの程度効果的に置き換えられ、ピークメモリ使用量と計算複雑性を低減できるか?
  • RQ3画像分類および顔検出タスクに適用した場合、RNNPool は標準的なプーリングやストライド付き畳み込みと比較して、精度、メモリ使用量、MAdds の観点でどの程度優れているか?
  • RQ4RNNPool は、256 KB 未塔の RAM を有する超低メモリエッジデバイス、例えば ARM Cortex-M4 マイコン上でも、最先端の顔検出性能を実現できるか?
  • RQ5精度、メモリ、計算効率のバランスを最適化するための RNNPool ハイパーパramータ(パッチサイズ、ストライド、隠れサイズ、RNN セルタイプ)の最適な設定は何か?

主な発見

  • RNNPool を用いることで、ImageNet-10 で 94.4% の精度を維持しながら、MobileNetV2 のピークメモリ使用量を最大 10 倍削減し、MAdds を約 25% 減少させた。
  • FastGRNN を RNNPool に使用した場合、LSTM と比較して MAdds を 226M 減少(266M → 40M)させ、精度は 1% 向上(94.4% vs. 93.4%)した。
  • パッチサイズ 16、ストライド 8、出力チャネル数 32 の単一の RNNPool レイヤーは、640×640×3 の入力マップを 80×80×32 の活性化マップに縮小し、RAM 使用量は約 200 KB にまで制限された。
  • RNNPool を統合した S3FD モデルは、WIDER FACE のミディアムカテゴリで 0.78 MAP を達成し、EXTD を上回った。また、225 KB の RAM のデバイス上でも動作し、MAdds は 80 倍も削減された。
  • MobileNetV2 の最終平均プーリング層を RNNPool に置き換えることで、精度が約 1% 向上した。
  • RNNPool を用いたモデルの学習ダイナミクスは、標準モデルと同等であり、特に学習の難易度に顕著な差異は認められなかった。

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

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

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

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