Research / 基盤技術 · 評価

MobileNetを読む 端末上の画像認識を軽くする

奥行き方向と1×1の畳み込みを分け、幅と入力解像度で計算量を調整するMobileNet。ImageNetでは通常の畳み込み版より少ない計算量で近い精度を得た。実機の遅延は別に測る必要がある。

論文初公開(arXiv)
参照版
v1
TRAIL公開
  • MobileNetは空間方向の畳み込みとチャネルを混ぜる1×1畳み込みを分けて計算を減らす。
  • 幅と入力解像度を変え、精度と演算量の交換関係を選べる。
  • 演算回数の削減は、すべての端末で同じ倍率の速度向上を保証しない。

何を確かめた研究か

MobileNetの原論文は、スマートフォンや組み込み機器で画像認識を行う際、大きな畳み込みモデルの計算をどう減らすかを検討する。通常の畳み込みは空間と入力・出力チャネルを一度に処理する。MobileNetはチャネルごとの空間畳み込みと、チャネルを組み合わせる1×1畳み込みへ分ける。

さらに幅倍率で各層のチャネル数を、解像度倍率で入力画像の大きさを変える。目的の端末に必要な精度と費用に合わせてモデルを選ぶ構成だ。

どう検証したか

ImageNet分類で、通常の畳み込み版、幅や解像度を縮めた版、GoogLeNetやVGG16などと比較した。演算量はmillion multiply-adds(百万回の積和演算)で示す。物体検出、犬種分類、顔属性、位置推定への利用も調べる。これらは異なる用途とデータであり、分類の点数を他の課題へ直接移さない。

何が分かったか

表4のImageNetでは、通常の畳み込み版が精度71.7%、48億6600万積和演算、2930万パラメータ。MobileNet版は70.6%、5億6900万積和演算、420万パラメータだった。精度差1.1ポイントで計算量が大幅に減る。表6では幅倍率1.0の70.6%・5億6900万演算が、0.5では63.7%・1億4900万演算、0.25では50.6%・4100万演算となる。小さくし過ぎると精度の落ち方が大きい。

論文の表7では、幅倍率を固定して入力解像度を224から128へ下げると、積和演算は5億6900万から1億8600万へ、ImageNet精度は70.6%から64.4%へ変わる。縮小する軸により、失う情報と節約できる費用は異なる。

限界と仕事との接点

論文の演算回数はハードウェアでの実際の待ち時間と同じではない。端末の演算器、メモリ転送、実装によって速度は変わる。ImageNetの精度も、扱う画像や欠陥の大きさが異なる現場を代表しない。端末向けに選ぶなら、目的画像で精度と見逃しを測り、対象機器で遅延、メモリ、電力を実測する。最後はTRAIL編集部の提案である。

01

出典

Research の一覧へ戻る