Apple が MobileViT を提案: モバイル デバイス向けの軽量で低遅延のビジュアル トランスフォーマー

Apple が MobileViT を提案: モバイル デバイス向けの軽量で低遅延のビジュアル トランスフォーマー

この論文では、Apple の研究者がモバイル デバイス用の軽量な汎用ビジュアル トランスフォーマーである MobileViT を提案しました。このネットワークは、ImageNet-1k データセットで 78.4% という最高の精度を達成しました。これは MobileNetv3 よりも 3.2% 高く、トレーニング方法もシンプルです。現在、この論文はICLR 2022に採択されています。

  • 論文リンク: https://arxiv.org/pdf/2110.02178.pdf
  • コードリンク: https://github.com/apple/ml-cvnets

軽量畳み込みニューラル ネットワーク (CNN) は、モバイル デバイス上のマシン ビジョン タスクの第一選択肢です。空間誘導バイアスにより、さまざまな視覚タスクにわたって、より少ないパラメータで視覚コンテンツの表現を学習できます。しかし、これらのネットワークは空間的にローカルです。視覚コンテンツの全体的な表現を学習するために、自己注意ベースのビジュアルトランスフォーマー (ViT) が採用されています。 CNNとは異なり、ViTは重量級です。この記事では、著者らは次のような疑問を提起しています。CNN と ViT の利点を組み合わせて、モバイル デバイス上のマシン ビジョン タスク用の軽量で低遅延のニューラル ネットワーク モデルを構築することは可能でしょうか?

上記の問題を解決するために、著者らはモバイルデバイス用の軽量な汎用ビジュアルトランスフォーマーである MobileViT を提案しました。 MobileViT では、グローバル情報処理にトランスフォーマーを使用する方法を別の観点から紹介します。

具体的には、MobileViT はテンソルを使用してローカル情報とグローバル情報を効率的にエンコードします (図 1b を参照)。

ViT とそのバリエーション (畳み込みあり、なし) とは異なり、MobileViT は異なる視点からグローバル表現を学習します。標準的な畳み込みには、拡張、ローカル処理、および折りたたみの 3 つの操作が含まれます。 MobileViT は、トランスフォーマーを使用して、畳み込みにおけるローカル処理をグローバル処理に置き換えます。これにより、MobileViT は CNN と ViT の両方の特性を持つことになります。これにより、より少ないパラメータと基本的な拡張などのシンプルなトレーニング方法で、より優れた表現を学習できるようになります。この研究では、軽量 ViT がシンプルなトレーニング方法を通じて、さまざまなモバイル ビジョン タスクで軽量 CNN レベルのパフォーマンスを達成できることを初めて実証しました。

MobileViT は、約 500 万〜 600 万のパラメータを使用して、ImageNet-1k データセットで最先端の精度 78.4% を達成します。これは、MobileNetv3 よりも 3.2% 高く、トレーニング方法もシンプルです (MobileViT と MobileNetv3: 300 エポックと 600 エポック、1024 バッチ サイズと 4096 バッチ サイズ)。モバイル ビジョン タスク向けに高度に最適化されたアーキテクチャでは、MobileViT を機能バックボーン ネットワークとして使用すると、パフォーマンスが大幅に向上します。 SSDLite (Sandler et al., 2018) の機能バックボーンとして MNASNet (Tan et al., 2019) を MobileViT に置き換えると、より優れた (+1.8% mAP) かつより小さな (1.8 倍) 検出ネットワークが得られます (図 2)。

アーキテクチャの詳細

モバイルViTブロック

図 1b に示す MobileViT ブロックの役割は、より少ないパラメータを持つ入力テンソルを使用してローカル情報とグローバル情報を学習することです。正式には、与えられた入力テンソル X∈ R^(H×W×C) に対して、MobileViT は n×n 標準畳み込み層を適用し、その後にポイント単位の (1×1) 畳み込み層を適用して X_L∈ R^(H×W×d) を生成します。 n×n 畳み込み層はローカル空間情報をエンコードし、ポイント単位の畳み込みは入力チャネルの線形結合を学習することでテンソルを高次元空間 (または d 次元、ただし d>C) に投影します。

MobileViT では、H×W の有効受容フィールドを使用して、長距離の非局所的な依存関係をモデル化したいと考えています。長距離依存関係をモデル化するために最も研究されている方法の 1 つは、拡張畳み込みです。ただし、このアプローチでは、拡張率を慎重に選択する必要があります。それ以外の場合、重みは有効な空間領域ではなく、埋め込まれたゼロに適用されます (Yu & Koltun、2016; Chen et al.、2017; Mehta et al.、2018)。もう一つの候補となる解決策は自己注意です (Wang et al., 2018; Ramachandran et al., 2019; Bello et al., 2019; Dosovitskiy et al., 2021)。自己注意法の中でも、マルチヘッド自己注意を備えた ViT は視覚認識タスクに効果的であることが示されています。しかし、ViT は重量級であり、ViT には空間誘導バイアスがないため、モデル最適化機能は標準以下です (Xiao et al.、2021; Graham et al.、2021)。

MobileViT が空間誘導バイアスを持つグローバル表現を学習できるようにするために、X_L は N 個の重複しない平坦化パッチ X_U∈ R^(P×N×d) に展開されます。ここで、P=wh、N=HW/Pはパッチの数、h≤ nとw≤ nはそれぞれパッチの高さと幅です。各p∈{1,···,P}について、パッチ間の関係はトランスフォーマーを介してエンコードされ、X_G∈R^(P×N×d)が得られます。

ピクセルの空間順序を失う ViT とは異なり、MobileViT はパッチ順序も各パッチ内のピクセルの空間順序も失いません (図 1b)。したがって、X_G∈ R^(P×N×d)を折りたたむと、X_F∈ R^(H×W×d)が得られます。次に、X_F はポイント単位の畳み込みを使用して低 C 次元空間に投影され、カスケード操作によって X と結合されます。次に、別の n×n 畳み込み層を使用して、これらの連結された特徴を融合します。 X_U(p)は畳み込みを使用してn×n領域のローカル情報をエンコードし、X_G(p)はp番目の位置にあるp個のパッチのグローバル情報をエンコードするため、図4に示すように、X_Gの各ピクセルはX内のすべてのピクセルの情報をエンコードできます。したがって、MobileViT の全体的な有効受容野は H×W です。

畳み込みとの関係

標準的な畳み込みは、(1) 展開、(2) 行列乗算(ローカル表現を学習するため)、(3) 折りたたみという 3 つの連続した操作として考えることができます。 MobileViT は、同じビルディング ブロックを利用するという点で畳み込みに似ています。 MobileViT は、畳み込みにおけるローカル処理 (行列乗算) をより深いグローバル処理 (トランスフォーマー レイヤー) に置き換えます。したがって、MobileViT には畳み込みのような特性 (空間バイアスなど) があります。したがって、MobileViT ブロックは畳み込み変換器として見ることができます。著者らが意図的にシンプルに設計した利点は、畳み込みと変換器の基礎となる効率的な実装をすぐに使用できるため、追加の変更を加えることなくさまざまなデバイスで MobileViT を使用できることです。

軽量

MobileViT は、標準の畳み込みとトランスフォーマーを使用して、それぞれローカル表現とグローバル表現を学習します。関連する研究 (例: Howard et al., 2017; Mehta et al., 2021a) では、これらのレイヤーを使用して設計されたネットワークは重いことが示されているため、当然次のような疑問が生じます。MobileViT はなぜこんなに軽いのでしょうか?著者らは、問題は主にトランスフォーマーのグローバル表現を学習することにあると考えています。以前の研究(例:Touvron et al., 2021a; Graham et al., 2021)では、特定のパッチに対して、ピクセルの線形結合を学習することで空間情報を潜在情報に変換しています(図1a)。次に、トランスフォーマーを使用してパッチ間の情報を学習することで、グローバル情報がエンコードされます。その結果、これらのモデルは CNN に固有の画像固有の誘導バイアスを失います。したがって、視覚的表現を学習するにはより強力な能力が必要です。その結果、これらのネットワーク モデルは深く広くなります。これらのモデルとは異なり、MobileViT は畳み込みと変換器を使用して、結果として得られる MobileViT が畳み込みのような特性を持ちながら同時にグローバル処理を可能にするようにします。このモデリング機能により、浅く狭いレイヤーで MobileViT モデルを設計できるため、最終モデルは軽量になります。 L=12 および d=192 を使用する ViT ベースのモデル DeIT と比較すると、MobileViT モデルは、それぞれ 32×32、16×16、8×8 のサイズの空間レベルで L={2,4,3} および d={96,120,144} を使用します。その結果、MobileViT ネットワークは DeIT ネットワークよりも高速 (1.85 倍)、小型 (2 倍)、高性能 (+1.8%) になります (表 3 を参照)。

コストを計算する

MobileViT と ViTs (図 1a) におけるマルチヘッド自己注意の計算コストは​​、それぞれ O(N^2Pd) と O(N^2d) です。理論的には、MobileViT は ViT よりも効率が低くなります。しかし、実際には、MobileViT は ViT よりも効率的です。 ImageNet-1K データセットでは、MobileViT は DeIT と比較して FLOP を半分に削減し、精度を 1.8% 向上させます (表 3)。これは軽量設計によるものです (前述)。

MobileViT アーキテクチャ

著者が設計したネットワークも、軽量 CNN の概念に触発されています。 MobileViT モデルは、モバイル ビジョン タスクで一般的に使用される 3 つの異なるネットワーク サイズ (S: 小、XS: 超小、XXS: 超超小) でトレーニングされます (図 3c)。 MobileViT の最初の層は 3×3 の標準畳み込みで、その後に MobileNetv2 (または MV2) ブロックと MobileViT ブロックが続きます (図 1b および §A)。活性化関数としてSwish (Elfwing et al., 2018)が使用されます。 CNN モデルに従い、MobileViT ブロックでは n=3 が使用されます。特徴マップの空間次元は通常 2 で、h の倍数、w ≤ n です。したがって、すべての空間レベルで h=w=2 が設定されます。 MobileViT ネットワークの MV2 モジュールは、主にダウンサンプリングを担当します。したがって、これらのブロックは MobileViT ネットワーク内では浅く、狭くなります。図 3d の MobileViT の空間パラメータ分布は、さまざまなネットワーク構成において、ネットワーク パラメータに対する MV2 ブロックの寄与が非常に小さいことも示しています。

実験結果

IMAGENET-1Kデータセットの画像分類結果

CNNとの比較

図 6a は、MobileNet がさまざまなネットワーク サイズ (MobileNet v1 (Howard ら、2017 年)、MobileNet v2 (Sandler ら、2018 年)、ShuffleNet v2 (Ma ら、2018 年)、ESPNetv2 (Mehta ら、2019 年)、および MobileNet v3 (Howard ら、2019 年)) で軽量 CNN よりも優れていることを示しています。約 250 万のパラメータを持つモデル (図 6b) の場合、MobileViT は、ImageNet1k 検証セットで MobileNetv2 よりも 5%、ShuffleNetv2 よりも 5.4%、MobileNetv3 よりも 7.4% 優れたパフォーマンスを発揮します。さらに、図 6c は、MobileViT が重量級 CNN (ResNet (He et al., 2016)、DenseNet (Huang et al., 2017)、ResNet SE (Hu et al., 2018)、および EfficientNet (Tan & Le, 2019a)) よりも優れていることを示しています。同様の数のパラメータの場合、MobileViT は EfficientNet よりも 2.1% 正確です。

ViTと比較する

図7は、Imagenet-1Kの紛らないデータセット(DEIT(Touvron et al。、2021a)、T2T(Yuan et al。、2021b)、Pvt(Wang et al。、2021)、Cait(Touvron et al。、eet al。)、a zu(a zu(a zu)、a zu( 1a)、Crossvit(Chen et al。、2021a)、LocalVit(Li et al。、2021)、Pit(Heo et al。、2021)、Convit(D'Ascoli et al。、2021)、Vil(Zhang et al。、2021)、Botnet(Srinivas et al。バリアントはディープ データ拡張から大きなメリットを得ていますが (例: PiT w/ ベース vs. アドバンスト: 72.4 (R4) vs. 78.1 (R17)、図 7b)、MobileViT はより少ないパラメーターと基本的な拡張でより優れたパフォーマンスを実現します。たとえば、MobileViT は DeIT の 1/2.5 のサイズですが、DeIT よりも 2.6% 優れたパフォーマンスを発揮します (図 7b の R3 と R8)。

ユニバーサルバックボーンネットワークとしてのMOBILEVIT

移動物体検出

表 1a は、同じ入力解像度 320×320 の場合、MobileViT を使用する SSDLite が、他の軽量 CNN モデル (MobileNetv1/v2/v3、MNASNet、MixNet) を使用する SSDLite よりも優れていることを示しています。さらに、MobileViT を搭載した SSDLite は、学習するパラメータが大幅に少ないにもかかわらず、重いバックボーン ネットワークを備えた標準の SSD-300 よりも優れたパフォーマンスを発揮します (表 1b)。

モバイル セマンティック セグメンテーション: 表 2 から、MobileViT を使用した機能バックボーン ネットワークは DeepLabv3 よりも小さく、優れていることがわかります。

モバイルデバイスでのパフォーマンステスト

軽量で低遅延のネットワークは、モバイル ビジョン アプリケーションの実現に非常に重要です。このようなアプリケーションにおける MobileViT の有効性を実証するために、公開されている CoreMLTools (2021) を使用して、事前トレーニング済みのフル精度 MobileViT モデルを CoreML に変換しました。その後、推論時間(100 回の反復の平均)がモバイル デバイス(iPhone12)でテストされました。

図 8 は、2 つのパッチ サイズ設定 (Config-A: 2、2、2、および Config-B: 8、4、2) を使用した 3 つの異なるタスクでの MobileViT ネットワークの推論時間を示しています。

<<:  Apple Carに関する8つの技術的推測

>>:  人工知能、ロボット工学、そして道徳的リスク

ブログ    

推薦する

機械学習とビッグデータを学ぶための必読書6選!

機械学習とデータサイエンスは複雑で相互に関連した概念です。技術トレンドに遅れないようにするには、知識...

ユーモアを理解し、皮肉のスキルに溢れた、マスクのChatGPTのライバルがついにチャットのスクリーンショットを公開

最近、マスク氏の伝記「イーロン・マスク:伝記」が国内外でベストセラーとなった。この本には、マスク氏の...

人工知能の進歩:ロボットの台頭

人工知能の革新により、よりスマートなロボットが開発されました。ロボットはコンピューターによってプログ...

ガベージ コレクション アルゴリズムと JVM ガベージ コレクターの概要

[[199042]]ガベージ コレクション アルゴリズムと JVM ガベージ コレクターの概要は、著...

人間の世界チャンピオン3人を破り、ネイチャー誌の表紙に登場! AIドローンエクストリームレースが自動運転の新時代を切り開く

チェスや事務作業、ゲームなどの知的活動において人間が AI に圧倒されていることはもはやニュースでは...

...

たった一枚の写真でTikTokガール全員が踊れる

数日前、アリババの研究チームは「Animate Anyone」と呼ばれる手法を構築しました。この手法...

...

...

AI教育を普及させるために「幼少期から始める」という考え方は、学校、親、社会にますます受け入れられつつあります。

[[254737]]小中学生の91.7%が、AI関連のコンテンツについて学ぶことに多少なりとも非常...

MetaのAIは、メタバースで「あなたの言葉を実現」することを可能にします

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

必要なのはソースコードだけです! 7Bコードの小型モデルは同サイズでは無敵で、その性能はChatGPTやGoogle Geminiに匹敵する

「GitHub Copilot のようなコード補完ツールは、100 万人以上の開発者に使用されており...

...