ホーム » AlexNet » Keras / TensorFlow : MobileNet と Inception-ResNet の概要と性能評価

Keras / TensorFlow : MobileNet と Inception-ResNet の概要と性能評価

Keras / TensorFlow : MobileNet と Inception-ResNet の概要と性能評価
作成 : (株)クラスキャット セールスインフォメーション
作成日時 : 12/09/2017

 

MobileNet は 6 月に Google Research Blog でアナウンスされたモデルで、TF-Slim 用のモデルのチェックポイントも併せて公開されました。その名前から分かるように、モバイルや組み込み用アプリケーションのようなリソースに制約のある環境でも上手く動作するように設計されたモデルです。

Keras 実装の MobileNet も Keras 2.0.6 から利用可能になりましたので、今回は University of Oxford の VGG が提供している 102 Category Flower Dataset を題材にして、MobileNet の性能を評価してみます。

また、Keras 2.0.9 から Inception-ResNet の実装も提供されていますので、併せて評価します。
比較対象は定番の AlexNet, Inception-v3, ResNet-50, Xception を利用します。

 

MobileNet 概要

MobileNet は6月に Google Research Blog で発表されました :

併せて TF-Slim のチェックポイントファイルと技術ペーパーも公開されています (後述)。

上のブログ記事を簡単に要約しておきますと :

  • 近年、ニューラルネットワークが視覚認識技術の最先端を推し進めることで、深層学習はコンピュータ・ビジョンの大きな進歩に貢献してきました。
  • 物体、ランドマーク、ロゴやテキスト認識のような視覚認識技術の多くが Cloud Vision API を通してインターネット接続デバイスに提供されていますが、他方、モバイル・デバイスの増え続ける計算パワーは (いつでもどこでも、インターネット接続に関わらず、) これらの技術をユーザの手に配布可能です。
  • けれども、モバイルや組み込みアプリケーション上の視覚認識には多くの課題があります — モデルはリソース制約のある環境で、i.e. 制限された計算力、消費電力やストレージのみを使用して高い精度で迅速に動作しなければなりません。
  • 今日、モバイルや組み込みアプリケーションのための制限されたリソースに留意する一方で、精度を効率的に最大化するためにデザインされた、TensorFlow のためのモバイル・ファーストなコンピュータ・ビジョン・モデルのファミリである、MobileNet のリリースを発表します
  • MobileNet は様々なユースケースのリソース制約に適合するためにパラメータ化された、小さく、低遅延で低消費電力なモデルです。Inception のような他のポピュラーなラージスケール・モデルが使用される方法と同様にして、このモデルは分類・検出・埋め込みやセグメンテーションのために構築可能です。
  • このリリースは TF-Slim を使用した TensorFlow 実装の MobileNet のためのモデル定義を含みます。そしてあらゆるサイズのモバイル・プロジェクトでの利用のために、16 個の事前訓練された ImageNet 分類チェックポイントも含んでいます。モデルは TensorFlow Mobile によってモバイル・デバイス上で効率的に実行可能です。

そして参照先として :

 

Inception-ResNet 概要

本記事の主題ではありませんが Inception-ResNet の基本的な発想は、
(誰しも考えることですが) Inception アーキテクチャに残差接続を導入するメリットがあるか否かです。
詳細については以下のペーパーを参照してください :

abstract だけ翻訳しておきます :

近年、非常に深い畳み込みネットワークは画像認識性能における最大限の進歩の中心で在り続けています。一つの例は Inception アーキテクチャであり、これは比較的低い計算コストで非常に良い性能を獲得できることを示してきました。最近、より伝統的なアーキテクチャと結合した残差接続の導入は 2015 ILSVRC チャレンジにおいて最先端の性能を生成しました ; その性能は最新世代 Inception-v3 ネットワークと同様のものです。このことは、Inception アーキテクチャを残差接続と結合するメリットがあるかどうかという疑問を生じます。ここで、残差接続を有するトレーニングは Inception ネットワークのトレーニングを本質的に加速するという明確な実証的なエビデンスを与えます。残差 Inception ネットワークが、thin margin による残差接続がない高コストな Inception ネットワークよりも同様に優れていることの何某かのエビデンスもまたあります。残差と非残差 (= non-residual) Inception ネットワークの両者に対して幾つかの新しい合理化されたアーキテクチャも提示します。これらのバリエーションは ILSVRC 2012 分類タスクにおいて単一フレームの認識性能を本質的に改善します。更に、正当な活性化スケーリングが非常にワイドな残差 Inception ネットワークのトレーニングをどのように安定させるかも示します。3つの残差と1つの Inception-v4 のアンサンブルで、ImageNet 分類 (CLS) チャレンジのテストセット上で 3.08 パーセント top-5 エラーを獲得しました。

 

データセット : 102 Category Flower Dataset

今回の題材は、University of Oxford の VGG が提供している、102 Category Flower Dataset です。
以下は最初の 100 画像ほどを示しています :

 

トレーニングと評価

MobileNet, Inception-ResNet の他にも、比較のために AlexNet, Inception-v3, ResNet-50, Xception も同じ条件でトレーニングして評価してみました。

※ MobileNet のハイパー・パラメータは (Keras 実装の) デフォルト値を使用しています。
※ トレーニングは 100 エポックを上限に実行しています。

損失

エポック数に対する収束の速さは、AlexNet を別にすれば、
Xception, Inception-ResNet, MobileNet > ResNet-50, Inception といったところでしょうか。
いずれも 0 にきれいに漸近しています :

検証精度

検証精度は Inception-ResNet > Xception > Inception-v3 = MobileNet > ResNet-50 です。
これは予想通りの結果と言えましょう :

テスト精度

テスト精度も検証精度と同様ですが、Inception-v3 の方が MobileNet よりも多少良い感じです :
Inception-ResNet > Xception > Inception-v3 >= MobileNet > ResNet-50。

AlexNet 64.12 %
Inception-ResNet 88.24 %
Inception-v3 80.78 %
MobileNet 77.84 %
ResNet-50 73.63 %
Xception 84.12 %

パラメータ数

MobileNet の強みの一つはその (トレーニング可能な) パラメータ数にあります。
比較的新しいモデルのパラメータ数は 20 million が一つの目安ですが、MobileNet は僅か 3.3 million です。
逆に Inception-ResNet は 54 million あります :

AlexNet 22,000,294 
Inception-ResNet 54,432,966 
Inception-v3 21,977,350 
MobileNet 3,311,526 
ResNet-50 23,743,590 
Xception 21,015,950 

トレーニングの速さ

パラメータ数の少なさはトレーニングの速さに直結します。
以下は 1 ステップあたりにかかる時間と、1 時間に遂行可能なステップ数を算出したものです :

alexnet 1.30 min/step 46.41 steps / hour
inception_resnet 19.84 min/step 3.02 steps / hour
inception_v3 9.60 min/step 6.25 steps / hour
mobilenet 3.52 min/step 17.07 steps / hour
resnet50 11.34 min/step 5.29 steps / hour
xception 10.35 min/step 5.80 steps / hour

以下は後者 (1 時間に遂行可能なステップ数) を視覚化したものです。
(AlexNet を別にすれば、) MobileNet のトレーニング効率が高いことが分かります :

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com