Mobile-Agent:スクリーンショット解析によるモバイルアプリ操作の自動化
3つの要点
✔️ 自律型マルチモーダルエージェント「Mobile-Agent」の紹介: 視覚と言語を統合し、モバイルアプリ操作を自動化するマルチモーダルエージェントを提案
✔️ 視覚認識技術の応用: スクリーンショットからの直接的な操作位置特定を可能にし、ユーザーインターフェイスへの依存を低減
✔️ 「Mobile-Eval」ベンチマークによる性能評価: 新たに提案されたベンチマークを用いて、高いタスク完了率と操作の正確性を実証
Mobile-Agent: Autonomous Multi-Modal Mobile Device Agent with Visual Perception
written by Junyang Wang, Haiyang Xu, Jiabo Ye, Ming Yan, Weizhou Shen, Ji Zhang, Fei Huang, Jitao Sang
(Submitted on 29 Jan 2024)
Subjects: Computation and Language (cs.CL); Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
この記事では、最先端の言語モデルを基盤としたエージェントの開発について、ご紹介します。近年、様々な研究チームが、タスク計画と推論の分野で顕著な成果を挙げています。これらの進展は、マルチモーダル型の大規模言語モデル(MLLM)の急速な進化に支えられ、特に視覚認識能力の向上が注目されています。これにより、MLLMベースのエージェントが現実世界の様々な応用において革新的な可能性を開くことになりました。特に、モバイルデバイスを操作するエージェントの開発は、この分野の新たなトレンドとして注目されています。しかし、既存の大規模言語モデルでは、モバイルデバイスの画面操作を正確に行うために必要な視覚認識能力に課題があるとして指摘されています。
この課題に対処するため、この論文では、視覚認識機能を備えた新しい自律型のモバイルデバイスエージェント「Mobile-Agent」を提案しています。このエージェントは、モバイルデバイスのスクリーンショットから直接、操作の位置を特定できる能力があります。これにより、エージェントはユーザーインターフェイスの基本ファイルにアクセスすることなく、効率的な操作を可能にします。
Mobile-Agentは、検出とOCR(光学文字認識)モデルを組み合わせた視覚認識モジュールを活用し、スクリーンショット内のテキストを識別して、画面領域の内容を理解しています。さらに、このエージェントはGPT-4Vの強力なコンテキスト認識能力を用いて、ユーザーからの指示と操作履歴に基づいてタスクを総合的に計画する能力も有しています。エラー操作や不完全な指示を認識し、修正する内省機能(Self-Reflection)も備えており、効率的なユーザー支援を実現することができます。
また、Mobile-Agentの性能を評価するため新しいベンチマーク「Mobile-Eval」を提案しています。これは様々な難易度のモバイルアプリ操作タスクを含んでいます。このベンチマークを用いた実験では、Mobile-Agentが高いタスク完了率と操作の正確性を達成していることが明らかにされました。これは、複数のアプリケーションを横断する複雑なタスクにおいても、Mobile-Agentが効果的に機能することを示しています。
Mobile-Agentとは
「Mobile-Agent」は、最新の大規模言語モデル(MLLM)であるGPT-4Vを核として、テキスト検出モジュールとアイコン検出モジュールを組み合わせたものです。この組み合わせにより、モバイルデバイス上で指示に基づく操作の精度が大幅に向上させています。Mobile-Agentの全体的なワークフローは下図のようになっています。
核となるGPT-4Vは、指示とスクリーンショットを読み込むことで、適切な操作を示すことができますが、実際にモバイルデバイスを操作するあたって、操作が行われる正確な場所を特定する能力には欠けています。このギャップを埋めるために、テキストやアイコンの位置を正確に特定する外部ツールを導入しています。
テキストの位置を正確に把握する場合、例えば、画面上の特定のテキストをタップする必要がある場合、OCR(光学文字認識)ツールを活用してテキストの位置を見つけ出しています。このプロセスは、テキストが検出されない場合、一つだけ検出される場合、または複数検出される場合に応じて異なります。それぞれのシナリオに対応するために、この論文ではテキストの再選択や、クリックするテキストの明確な指示を生成する方法を提案しています。
アイコンの位置を正確に把握する場合、例えば、アイコンをクリックする際には、アイコン検出ツールとCLIPを駆使して正確な位置を特定しています。エージェントにはまず、クリックするアイコンの属性を指定してもらい、次に全てのアイコンを識別するためにプロンプト「アイコン」とともにGrounding DINOを使用しています。そして、最後に、CLIPを用いて、検出されたすべてのアイコンとクリック領域の説明との類似性を計算し、最も類似性が高い領域をクリックのために選択します。
また、Mobile-Agentが画面上で行う操作をより良く解釈できるようにするために、以下の8つの操作を定義しています。
- アプリを開く(App):デスクトップページで特定のアプリを開く。
- テキストをクリック(Text):「Text」と表示された画面の領域をクリック。
- アイコンをクリック(Icon, Position):「Icon」で記述された「Position」の領域をクリック。
「Icon」はタップ位置の属性(色、アイコンの形など)を含む説明を提供。
「Position」は、エラーの可能性を最小限に抑えるために、上、下、左、右、または中央から一つまたは二つのオプションを選択。 - タイプ(Text):現在の入力ボックスに「Text」を入力。
- ページアップ&ダウン:現在のページを上下にスクロール。
- 戻る:最後のページに戻る。
- 終了:現在のページから直接デスクトップに戻る。
- 停止:指示が完了したら、プロセス全体を終了。
Mobile-Agentは、操作の各ステップを反復的に完了します。反復が始まる前に、ユーザーは指示を入力する必要があります。その指示に基づいて、プロセス全体のプロンプトを生成します。各反復の開始時に、現在のモバイル画面のスクリーンショットをキャプチャし、エージェントに入力します。エージェントは、プロンプト、操作履歴、現在の画面キャプチャを処理し、次の操作ステップを出力します。エージェントの出力がプロセスの終了になる場合、反復は停止します。そうでない場合は、新たな反復が続きます。Mobile-Agentは操作履歴を利用して現在のタスクの進捗を把握し、プロンプトに基づいて現在のスクリーンショット上で操作を生成することで、反復的な自己計画プロセスを実現しています。このプロセスは下図の下部に示されています。
さらに反復中に、エージェントがエラーを発生し、指示を完了できない場合があります。指示の成功率を向上させるために、自己反省メソッドというものを導入しています。
この手法は2つの状況で効果を発揮します。1つ目は、エージェントが不正確または無効な操作を生成し、プロセスが停滞する場合です。エージェントが特定の操作後にスクリーンショットが変更されていないこと、または間違ったページを表示していることを検知した場合、エージェントに代替の操作を試みるか、現在の操作のパラメータを修正するよう指示します。2つ目は、エージェントが複雑な指示の特定の要件を見落とす場合です。エージェントが自己計画を通じてすべての操作を完了した後、エージェントに操作、履歴、現在のスクリーンショット、ユーザー指示を分析し、指示が完了しているかどうかを判断するよう指示します。完了していない場合、エージェントは自己計画を通じて操作を続けて生成する必要があります。このプロセスも下図の下部に示されています。
さらに、これらの機能をより良く実装するために、ReActで使用されているプロンプトフォーマットを応用しています。エージェントには観察(Observation)、思考(Thought)、行動(Action)という3つのコンポーネントを出力することを要求します。観察(Observation)は、エージェントによる現在のスクリーンショットと操作の履歴の説明です。これにより、エージェントはスクリーンショットの更新に気づき、履歴記録に基づいてエラーを迅速に特定するのに役立ちます。思考(Thought)は、観察と指示から生成された次の操作ステップに関する考慮を行います。エージェントは、思考(Thought)で今後の操作を説明する必要があります。行動(Action)は、エージェントに思考(Thought)に基づいて、8つの操作とパラメータのうちの1つを選択します。
実験
Mobile-Agentの総合的な評価を行っています。利便性の観点からAndroid OSを使用しています。ここでは新しく提案されたMobile-EvalというベンチマークでMobile-Agentを評価しています。
Mobile-Evalは、モバイルデバイス上で一般的に使用される合計10のアプリで構成されています。エージェントのマルチアプリケーションの使用能力を評価するため、2つのアプリを同時に使用することを要求する指示も導入しています。各アプリに対して3つの指示を設計しています。最初の指示(INSTRUCTION 1)は比較的簡単で、基本的なアプリ操作の完了のみを要求します。2つ目の指示(INSTRUCTION 2)は、最初のものにいくつかの追加要件を加え、より難易度が高いものになっています。3つ目の指示(INSTRUCTION 3)は抽象的なユーザー指示で、ユーザーが使用するアプリや実行する操作を明示的に指定せず、エージェントに判断を委ねるものになっています。下表がMobile-Evalで使用されるアプリと指示の一覧です。
また、Mobile-Agentのパフォーマンスを異なる視点から評価するために、4つの評価基準を導入しています。
- 成功 (SU):Mobile-Agentが指示を完了した場合、成功とみなす。
- プロセススコア (PS):指示の実行における各ステップの正確性を評価。
具体的には、正しいステップの数を総ステップ数で割ったもの。エージェントが一部の指示で最終的に成功しなくても、各正しいステップがプランニングスコアに貢献する、 - 相対効率 (RE):人間が各指示を実行して取ったステップ数を手動で記録し、人間の操作を最適解と見なす、
Mobile-Agentが取ったステップ数と人間が取ったステップ数を比較し、Mobile-Agentがモバイルデバイスをより効率的に使用できるかどうかを示す。 - 完成率 (CR):与えられた指示に対してMobile-Agentが完了できた人間の操作ステップ数を、人間が取った総ステップ数で割ったもので、Mobile-Agentの指示の完成率を示す。指示が完了した場合、このメトリックは1に等しくなる。
実験結果を下表のようになっています。
まず3つの指示(INSTRUCTION 1 ~ INSTRUCTION 3)にわたって、SUがそれぞれ91%、82%、82%を達成しています。PSにおいても、Mobile-Agentが3つの指示を通じて正しい操作を生成する高い確率を持っており、約80%を達成していることがわかります。また、REは、Mobile-Agentが人間の最適な操作に到達する能力の80%を達成できることを示しています。上記の結果は、Mobile-Agentがモバイルデバイスアシスタントとしての有効性を示しています。
まとめ
この論文で紹介するMobile-Agentは、モバイルアプリケーション操作の新たな可能性を示唆する自律型マルチモーダルエージェントです。このシステムは、統合された視覚認識フレームワークを活用して、アプリのインターフェース内の視覚及びテキスト情報を正確に識別・位置特定し、モバイルアプリ間での複雑なタスクを効率的に計画、実行することができます。
従来のXMLモバイルシステムのメタデータに頼った方法とは一線を画しており、Mobile-Agentは視覚情報を中心に据えることで、さまざまなモバイル環境での柔軟な適応性を実現しています。これにより、システムごとの特別な調整をすることなく、幅広いアプリケーションでの利用が可能になります。さらに、実験を通じて、Mobile-Agentの有効性と効率性が様々なシナリオで実証されています。
この記事に関するカテゴリー