- 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編集部の提案である。