MnasNet:モバイルで実行する機械学習を自動で設計する試み

  • 2018.08.11
  • AI
MnasNet:モバイルで実行する機械学習を自動で設計する試み

1.MnasNet:モバイルで実行する機械学習を自動で設計する試みまとめ

・モバイル用の機械学習モデルを自動設計するMnasNetが発表
・強化学習で実デバイス上の速度と正確性を報酬とする
・手動設計のMobileNetV2を速度と正確性で圧倒する性能を見せた

2.モバイル用の機械学習モデルの自動設計に向けて

以下、ai.googleblog.comの「MnasNet: Towards Automating the Design of Mobile Machine Learning Models」の意訳です。

畳み込みニューラルネットワーク(CNN)は、画像分類、顔認識、物体検出および他の多くの分野で広く使用されています。残念なことに、モバイル用にCNNを設計することは困難です。なぜなら、モバイルモデルはモデルのサイズを小さくして高速に応答する必要がありますが、それでもなお正確性も求められるためです。

MobileNetやMobileNetV2などのモバイル用モデルの設計と改善には多大な努力が払われていますが、効率的なモバイル用モデルを手動で作成することは、考慮すべき事柄が非常に多いため難題です。近年のAutoMLによるニューラルネットワークの設計自動化に触発されて、我々はモバイル用のCNNモデル設計もAutoMLと同様なアプローチの恩恵を受けることができるのではないかと思いました。

論文「MnasNet: Platform-Aware Neural Architecture Search for Mobile」では、我々は、強化学習を用いてモバイル用機械学習モデルを自動で設計するためのニューラルアーキテクチャ探索アプローチを探究しました。

モバイル動作時の反応速度制約に対処するため、速度情報を探索アルゴリズムの主な報酬関数に明示的に組み込みました。そのため、アーキテクチャー探索は精度と速度との間に良好なトレードオフを達成してモデルを識別することができます。これにより、MnasNetは最先端のMobileNetV2を使って人間が手動で作成するモデルよりも1.5倍速く、NASNetよりも2.4倍速く、ImageNetでNo1認識精度を達成するモデルを見つけることができました。

従来のアーキテクチャ検索アプローチはモデルの速度を代替単位(例えばFLOPS)を介して計算していましたが、本アプローチは、この研究調査で使用したGoogleのPixel phonesなどの特定のプラットフォームでモデルを実際に実行することによってモデル速度を直接測定しました。

このアプローチにより、現実世界のモバイル機器がそれぞれ実装している独自ソフトウェア技術やハードウェア特徴を直接測定する事ができ、その機器固有の精度とスピードの間のトレードオフの最適化を達成できました。

我々のアプローチの全体的な流れは、主に3つのコンポーネントから成り立っています。モデルアーキテクチャを学習およびサンプリングするためのRNNベースのコントローラ、モデルを構築およびトレーニングして精度を得るトレーナー、そしてTensorFlow Liteを使用して実際の携帯電話でモデルの速度を測定するための推論エンジンです。

高精度と高速の両立を目指す多目的最適化問題を定式化し、カスタマイズされた報酬関数を有する強化学習アルゴリズムを利用して、パレート最適解(例えば、速度が悪化することなく最高の精度を有するモデル)を見つけたのです。

モバイル向けの自動化されたニューラルアーキテクチャ検索アプローチの全体的な流れ

検索の柔軟性と検索空間サイズのバランスをとるために、我々は、分割した階層的探索空間を新たに提案します。畳み込みニューラルネットワークを一連のブロックに分解し、階層的探索空間を使用して各ブロックにレイヤーアーキテクチャを決定するのです。このようにして、異なるレイヤーで異なる操作と接続を使用することができます。

一方、各ブロック内のすべてのレイヤーが同じ構造を共有するようにすることで、レイヤーごとのフラットな検索スペースと比較して検索スペースのサイズを大幅に縮小します。

我々のMnasNetネットワークは、新しい分割階層検索空間から抽出され、ネットワークアーキテクチャの各層に多様性を実現します。

我々は、ImageNetの画像分類テストとCOCOの物体検出テストでMnasNetアプローチの有効性をテストしました。我々の実験は、一般にモバイル機器に求められる反応速度制約の下で、最先端モデルと同等の正確性を達成しました。特に、下の図はImageNetの結果を示しています。

同じ精度で比較すると、我々のMnasNetモデルは、人間の手による最先端のMobileNetV2よりも1.5倍高速で、MnasNet同様にニューラルアーキテクチャ探索アプローチを使用しているNASNetよりも2.4倍高速です。

MnasNetにSE(squeeze-and-excitation)最適化法を適用した後、我々のMnasNet + SEモデルは、ResNet-50のNo1正確性を76.1%で達成しましたが、入力パラメータは19倍、乗算は10倍少なくなっています。

COCOのオブジェクト検出では、我々のMnasNetモデルは、MobileNetよりも高い精度と早い反応速度の両方を実現し、SSD300(Single Shot Detector)モデルと同等の精度を35倍少ない計算コストで達成しました。

私たちのモバイル用アキーテクチャーの最適化を機械学習で自動化するアプローチが、画像認識や物体検出などの複数の複雑なモバイルビジョンタスクで最先端のパフォーマンスを達成できたことを嬉しく思っています。将来的には、より多くの操作と最適化をサーチスペースに組み込み、セマンティックセグメンテーション(画素単位の物体検出)などのより多くのモバイルビジョンタスクに適用する予定です。

謝辞
論文の共著であるBo Chen、Quoc V. Le、Ruoming Pang、Vijay Vasudevanに特別な感謝を捧げます。また、Andrew Howard、Barret Zoph、Dmitry Kalenichenko、Guiheng Zhou、Jeff Dean、Mark Sandler、Megan Kacholia、Sheng Li、Vishy Tirumalashetty、Wen Wang、Xiaoqiang Zheng、Yifeng Lu、そしてTensorFlow LiteとGoogle Brain teams.

3.MnasNet:モバイルで実行する機械学習を自動で設計する試み感想

今まで、「We」を「Googleは」と読み替えて訳していたのですが、Google内でも相当な競争と言うか共食いと言うか研究の被りがある事が段々と感じられてきたので、「我々」と訳す事にしました。

オンデバイスやモバイル機器用の研究は注目を集めている分野なので、熾烈な競争が繰り広げられていますが、「実際の端末で動かす」と言うアイディアの部分でMnasNetは「ベンチマークの世界」では一歩リードしていると感じます。

ただ、現実世界のデバイスの多様性を考えると全ての端末に対して最適化を実施するのは現時点ではまだ困難ですし、他のソフトが全く動作していないクリーンな状態での最適化が現実世界でどこまで有効なのかも少し疑問です。

究極的にはおそらくはその端末にどんなソフトがインストールされてどんな使い方がされているのか?等々まで考慮しなければいけないはずですが、数年後にはそれが当たり前の世界になるかもしれないのが人工知能分野の速度感ですね。

ややネガティブな感想ですが、AutoMLを初めて聞いた時と同程度のインパクトではあります。人間のエンジニア、ホワイトハットハッカーやウィザードと呼ばれる神様達が常人では理解できないような手法で優れた成果を出す匠の世界は、少なくとも機械学習の世界ではもう過去の世界になりつつある事を改めて実感させるお話でした。

4.MnasNet:モバイルで実行する機械学習を自動で設計する試み関連リンク

1)ai.googleblog.com
MnasNet: Towards Automating the Design of Mobile Machine Learning Models

2)arxiv.org
MnasNet: Platform-Aware Neural Architecture Search for Mobile