ビュー階層に依存しない、UI画像のみでUIモデリングを実現する「Spotlight」
3つの要点
✔️ ビュー階層に依存しない、画像のみのモバイルUIのモデリングを実現
✔️ アーキテクチャを変更することなく、他のUIタスクに簡単に拡張、一般化可能
✔️ 代表的なUIタスクにおいて、SoTAを達成
Spotlight: Mobile UI Understanding using Vision-Language Models with a Focus
written by Gang Li, Yang Li
(Submitted on 29 Sep 2022 (v1), last revised 24 Feb 2023 (this version, v4))
Comments: Published as a conference paper at ICLR 2023
Subjects: Computer Vision and Pattern Recognition (cs.CV); Human-Computer Interaction (cs.HC); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
AI-SCHOLARイベント
AI技術は日進月歩で進み、皆さんもAI技術に関して多くのブームから衰退までを見ていると思います.そんな中,昨今のブームといえば,GPTからの大規模言語モデルだと思います.そこで,今回はAI-SCHOLARのメンバーを集めて,GPTの総論から話題にも上がるセキュリティ周りなどの技術者・研究者目線でのイベントを実施いたします.
概要
モバイルUIの理解は、UIの自動化やアクセシビリティの観点から重要なテーマです。これまでモバイルUIのモデリングは、UI画面のビュー階層 (WebページのDOMのような構造データまたはメタデータ)に大きく依存していました。しかし、ビュー階層は常に取得できるとは限らず、オブジェクトの情報が欠落していたり、構造情報が不正確で破損していることがよくあります。ビュー階層は便利で扱いやすいものの、UIモデリングの適用性と性能を妨げる可能性があります。
そこで、この論文では、UI画面の画像データのみを利用した手法「Spotlight」を提案しています。これは、UI画面のスクリーンショットと画面上の注目領域を入力として、UIモデリングを行うVision-Language Modelです。Spotlightは様々なタスクに簡単に拡張でき、この論文でも、いくつかの代表的なUIタスクにおいて、SoTAを達成し、ビュー階層を使用する従来の方法よりも優れた結果を示しています。下図はSpotlightの処理の概要です。
(Google AI Blog「A vision-language approach for foundational UI understanding」より引用)
「Spotlight」モデル
下図は「Spotlight」モデルのアーキテクチャと、この論文で実験したUIタスクの例です。Spotlightの入力は、スクリーンショット(screenshot)、画面上の注目領域(bbox)、タスクの説明文(example text, prompt text)のタプルです。出力は注目領域に関する説明または応答です。入力と出力が非常にシンプルであるため、様々なUIタスクに拡張可能なアーキテクチャです。
Spotlightは、画像(screenshot)のエンコードにViTを採用し、言語の生成にT5 Transformerのデコードを採用しています。また、UIタスクは、多くの場合、画像全体ではなく、画像上の特定の領域またはオブジェクトに注目して処理する必要があります。そこで、特定の領域の特徴量を抽出できるように「Focus Region Extractor」を導入しています。下図は「Focus Region Extractor」の処理を表しています。
(Google AI Blog「A vision-language approach for foundational UI understanding」より引用)
ここで、特定の領域またはオブジェクトのバウンディングボックス(bbox)から生成されたアテンションクエリを使用して、ViTのエンコーディングに基づいて領域の特徴量を抽出する「Region Summarizer」を導入しています。スクリーンショットで黄色のボックスとして表されているバウンディングボックス(bbox)の各座標(左、上、右、下)が、多層パーセプトロン(MLP)を介して密なベクトルとしてEmbeddingされます。そしてCoordinate-type Embeddingと合わせて、Transformerに入力されます。座標クエリは、Cross Attentionを介してViTによって出力されたUI画像のエンコーディングに対応し、Transformerの最終的な出力は、T5 Transformer デコードの領域表現として使用されています。
実験
250万のモバイルUI画面と8,000万のWebページを含む2つのラベル付けされていないデータセット(C4コーパスに基づく内部データセットと内部モバイルデータセット)を使用してSpotlightを事前学習し、4つのタスクを検証しています。1つ目は「Widget Captioning」です。これは、画面上の特定のオブジェクトの機能について、自然言語で説明文を生成するタスクです。2つ目は「Screen Summarization」です。これは、画面の概要を生成して、その内容と機能を説明するタスクです。3つ目は「Command Grounding」です。これは、自然言語の意図に一致する画面上のオブジェクトを見つけるタスクです。4つ目は「Tappability Prediction」です。画面上の特定のオブジェクトがタップ可能かどうかを予測します。
評価について、CaptionとSummarizationはCIDErスコアを用いています。これはモデルのテキストが人間によって作成されたものと、どの程度類似しているかを測定したものです。Groundingはユーザーの要求に応答してモデルが対象オブジェクトの位置を特定できた回数の割合を用いています。TappabilityはF1スコアを用いて、タップできるオブジェクトとタップできないオブジェクトを予測する性能を測定しています。
この実験では、Spotlightをいくつかのベンチマークモデルと比較しています。Widget Captionは、ビュー階層と各UIオブジェクトの画像を使用して、オブジェクトのテキストの説明文を生成します。Screen2Words は、ビュー階層とスクリーンショット、補助機能(アプリの説明など)を使用して画面の概要を生成します。VUTは複数のタスクを実行するためにスクリーンショットとビュー階層を組み合わせます。Tappabilityは、ビュー階層とスクリーンショットからのオブジェクトのメタデータを活用して、オブジェクトのタップ可能性を予測しますが、TappabilityのフォローアップモデルであるTaperceptionは、視覚情報のみでタップ可能性を予測します。
2つの異なるサイズのViTモデルであるB/16とL/16を使用して実験します。なお、L/16はB/16よりも大きく、mT5ベースモデルと同様のパラメーターサイズを持ち、事前学習済みのチェックポイントも再利用しています。実験結果は下表の通りであり、Spotlight(L/16)が全てのUIタスクでSoTAを達成していることがわかります。
次に「Region Summarizer」が、画面上の対象領域に注目できているのかを理解するために、Widget CaptionとScreen Sammarizationの注目領域の重みを可視化しています。下図(左)のWidget Captionの例では、モデルが対象領域であるチェックボックスだけでなく、Captionwを生成するために左端のテキスト「Chelsea」にも注目することを学習していることがわかります。下図(右)のScreen Sammarizationの例では、モデルが要約のために画面上の重要な部分に注目することを学習していることがわかります。
まとめ
この論文では、モバイルUIを理解するために、画像データのみでUIモデリングを実現する「Spotlight」を提案しています。ビュー階層は便利であるものの、常に取得できるとは限らず、オブジェクトの情報が欠落していたり、構造情報が不正確で破損していることがよくあり、ビュー階層に頼った従来の手法では十分ではありませんでした。しかし、今回、ビュー階層に依存しない方法が実現したことで、UIモデリングのリスクが軽減させることができます。
また、Spotlightは、既存モデル(ViTとT5)を活用しており、汎用性が高く、様々なUIモデリングのタスクに拡張しやすいなど、多くの恩恵を得ることができます。さらに、Spotlight がいくつかの代表的なUIタスクでSoTAを達成し、ビュー階層を使用する従来の手法よりも優れていることを示しました。Spotlightは、より多くのUIタスクに簡単に適用でき、多くのインタラクションおよびユーザーエクスペリエンスに大きく貢献できる可能性があります。
この記事に関するカテゴリー