【SKETCHPAD】マルチモーダル言語モデルの推論を中間スケッチで強化
3つの要点
✔️ 言語モデルに中間スケッチを生成させ、推論の性能を向上させる新フレームワーク「SKETCHPAD」を提案
✔️ 幾何学、関数、グラフアルゴリズム、ゲーム戦略などの数学タスクの全てでベースモデルの性能を一貫して向上
✔️ ビジョン特化モデル(物体検出、セグメンテーション、深度推定など)を利用し、コンピュータビジョンタスクにおいてもベースモデルの性能を一貫して向上
Visual Sketchpad: Sketching as a Visual Chain of Thought for Multimodal Language Models
written by Yushi Hu, Weijia Shi, Xingyu Fu, Dan Roth, Mari Ostendorf, Luke Zettlemoyer, Noah A Smith, Ranjay Krishna
(Submitted on 13 Jun 2024)
Comments: Project and codes url: this https URL
Subjects: Computer Vision and Pattern Recognition (cs.CV); Computation and Language (cs.CL)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
スケッチは、アイデア創出や問題解決など、多岐にわたる用途で有効な手段です。言葉では表現しきれない視覚的・空間的な情報を直接伝えられるため、古代の岩絵から現代の建築図面まで、世界中で様々な目的に活用されてきました。子供たちが幾何学の問題を解く、エンジニアのプロトタイプを説明する、建築家の設計図を作成する、さらには科学者の複雑な概念や実験結果を伝える際にも用いられています。
近年、マルチモーダル言語モデルの進歩により、「中間スケッチ」というものを描くことで推論を簡素化するタスクに注目が集まっています。幾何学や複雑な数学の問題を含むような主要なベンチマークでは、モデルに図の画像を入力され、記号的あるいは空間的な理解を要する問題に回答します。この時、たとえば幾何学の問題であれば、人が問題を解くときと同じように、補助線などの中間スケッチを書き込むことで推論の性能を向上させることができます。
コンピュータビジョンのベンチマークでも同様の特性があり、例えば、物体検出で、は物体周囲にバウンディングボックスを描き、深度推定では深度に応じてカラーマップを描くことで、モデルの検出性能を向上させています。最近提案された「BLINK」や「VBench」も、中間スケッチに焦点を当てています。しかし、その一方で、現在の言語モデルでは、スケッチベースの推論に使用するためのフレームワークが十分に研究されていません。
この論文では、推論のために中間スケッチを生成するツール「SKETCHPAD」を提案しています。これは、テキストのチェーン・オブ・ソート(CoT)推論に着想を得ており、基礎となる視覚言語モデルに対して、テキスト、プログラム、視覚的推論を混合したチェーンの一部として視覚的アーティファクトを生成するよう促します。例えば、下図(a)のように、三角形の角度の和が180度になることを証明する際、SKETCHPADでは、エージェントが新しい補助線を導入して図を編集します。そして、この新しい線とそれに伴って表れる角度に関する補足情報を提供し、それらをもとに、この幾何学のタスクを解決しています。
また、SKETCHPADは、コンピュータビジョンにおけるモデルの空間的推論の性能も改善します。上図(d)のように、クッキーが他のクッキーの上に積み重なっているかを判断する場合、モデルはまず中間的な深度推定を行います。この推定を分析することで、クッキーが重なっていることが明らかになり、モデルは正確な回答を導き出すことができます。
この論文では、数学およびコンピュータビジョンの広範なタスクでSKETCHPADの有効性を実証しています。数学では、幾何学、数学的関数、グラフアルゴリズム、戦略ゲームなどの問題に取り組んでいます。幾何学の質問では、SKETCHPADは、モデルに対して、図の入力と質問を基に、補助線と変数を使用してMatplotlibコードを生成するよう促しています。また、純粋な言語の入力の場合でも、SKETCHPADは、モデルが関数をプロットし、その特性について推論することを可能にしています。これらの結果では、SKETCHPADが言語ベースの入力に対しても推論を支援する能力を持つことが示されています。数学タスクの全てのカテゴリーにおいて、SKETCHPADはベースラインのGPT-4のパフォーマンスよりも10%程度優れた性能を示しています。
コンピュータビジョンでは、深度、空間推論、ジグソーパズル、視覚的対応、意味的対応、MMVPやVBenchからの質問など、多様なタスクに取り組んでいます。この分野では、SKETCHPADは、モデルにセグメンテーションマスクの生成、画像のクロップ、バウンディングボックスの描画、画像領域のズーム、画像のオーバーレイなどを可能にしています。数学と同様に、SKETCHPADは、7種類の全てのコンピュータビジョンタスクで一貫して、優れた性能を示しています。例えば、GPT-4はSKETCHPADを用いることで、VBenchで14.3%、BLINKの深度および意味的対応タスクでそれぞれ12.1%と9.7%の改善を達成しています。
さらに、SKETCHPADの効果を分析し、モデルが生成したプランと人間が作成したプランを比較したところ、それらがよく整合し、類似の推論パターンを示していることが分かりました。SKETCHPADがより高度で解釈可能なマルチモーダルAIに向けた新たな研究のきっかけとなることが期待されます。
新フレームワーク「SKETCHPAD」
この論文では、マルチモーダル言語モデルが推論の中間段階としてスケッチを描き、それを活用してさらなる推論を行うための一般的なフレームワーク「SKETCHPAD」を提案しています。下図では、SKETCHPADがどのように機能するかの例が示されています。
マルチモーダルのクエリを入力すると、SKETCHPADのエージェントはクエリに対処するためのスケッチプラン(Thought)を生成し、その後、スケッチを作成するプログラムを生成します(Action)。生成されたスケッチ(Observation)は、推論プロセスの視覚的表現として機能し、モデルはこれを分析してクエリに対する最終的な出力を生成します。
1つ目のステップである思考(Thought)では、モデルはコンテキスト(クエリ、前の思考、行動、観察を含む)を分析し、次の行動のための思考プランを生成します。例えば、上図(a)の「∠EICを見つける(Find ∠EIC)」というクエリが与えられた場合、モデルの思考プランは補助線IXをBDに平行に引くことになります。
2つ目のステップである行動(Action)では、思考(Thought)に基づいて、モデルは視覚およびテキストの両方の内容を操作する行動を実行します。幾何学の例では、補助線を描くためにモデルは元の幾何学図を変更するPythonコードを生成します。生成されたコードはコンパイルされ、実行されます。
3つ目のステップである観察(Observation)では、行動(Action)に基づいて、SKETCHPADの環境は新しい観察を返します。幾何学の例では、新しい補助線が描かれた新しい図が返されます。
このフレームワークでは、ファインチューニングや学習を必要せず、マルチモーダル言語モデルは、すぐにこのフレームワークを使用してスケッチを描くことができます。
このマルチターンの対話プロセスは、モデルがクエリに答えるために十分な情報を収集したと判断するまで続きます。この時点で、モデルは特別な終了アクションを生成し、答えを出力します。
従来の研究とは異なり、言語モデルが主にテキストベースの観察と行動を生成および操作するのに対して、SKETCHPADは、モデルが視覚およびテキストの両方の内容を操作できるようにします。これにより、モデルは、描いたスケッチを用いて計画と推論を行い、問題解決能力を向上させることができます。
そして、このSKETCHPADの核心はスケッチ機能であり、これにより言語モデルはプログラムを生成してスケッチを作成できます。これらのプログラムは、さまざまな専門的なビジョンモデルやPythonプロットパッケージを呼び出して実行されます。最近報告されたViperGPTやVPDと同様に、SKETCHPADはコード生成を通じて言語モデルがスケッチを行うことを可能にします。言語モデルには、マルチモーダルのコンテンツを生成できるツールの詳細な説明がプロンプトを通じて提供されます(実際のプロンプト例は、論文の補足資料で確認することができます)。
SKETCHPADは、タスクに応じてさまざまなツールを使用してスケッチを実現しています。数学のタスクには、matplotlibやnetworkxなどの一般的なPythonパッケージを使用してプロットを行い、画像タスクの場合、言語モデルはスケッチ中に画像モデルを活用しています。これらのモデルには、画像にバウンディングボックスを描く検出ツールや、カラフルなマスクを描きセグメントに番号を付けてラベルを付けるセグメンテーション、マーキングツールなども含まれています。
数学タスクにおけるスケッチ
ここでは、SKETCHPADを使用して4つの複雑な数学タスク(幾何学、関数、グラフアルゴリズム、ゲーム戦略)に取り組んでいます。スケッチ機能を言語モデルに組み込むことで、数学の問題に対するパフォーマンスが大幅に向上し、新たな最先端の結果を達成することを示しています。
まず、幾何学の問題です。この分野では、補助線を描くことが問題解決に大いに役立ちます。先ほど見たように、下図(a)では「∠EICを見つける」という質問があります。この場合、言語モデルはBDに平行な補助線IXを描く計画を立て、それにより平行線の性質を利用して∠EICを求めます。
SKETCHPADの有効性を評価するために、Geometry3Kデータセットの問題を使用しています。SKETCHPADは、幾何学の図と対応するmatplotlibコードを入力として受け取り、補助線を生成するコードを提案・修正し、実行して補助線が追加された更新後の図を視覚化します。
次に、関数の問題です。関数は、科学、工学、経済学などのさまざまな応用において重要です。ここでは、IsoBenchデータセットから次の2つのタスク(偶奇分類、凸凹判定)に焦点を当てます。偶奇分類は、関数が偶関数、奇関数、またはどちらでもないかを判定します。偶関数は全てのxについてf(-x) = f(x)を満たし、奇関数はf(-x) = -f(x)を満たします。また、凸凹判定は、関数が凸か凹かを判定します。
従来の言語モデルは関数を分析し、その性質を証明しようとしますが、SKETCHPADは視覚的に関数をスケッチすることで問題を効率的に解くことができます。下図(b)の関数の凸性を判定するために、SKETCHPADはmatplotlibを使用して関数をプロットし、その全体の形状を視覚的に検証しています。
次は、グラフアルゴリズムの問題です。コンピュータネットワークや交通システムに関連する多くの現実の問題は、グラフアルゴリズムの問題として定式化できます。IsoBenchから次の3つのグラフアルゴリズムのタスク(連結性、最大フロー、同型性)でSKETCHPADを評価しています。グラフの連結性は、グラフ内の2つの頂点間に経路が存在するかどうかを判定します。最大フローは、容量制約を受けるエッジを持つネットワーク内で、ソース頂点からシンク頂点まで送ることができる最大のフロー量を判定します。グラフの同型性は、2つのグラフが構造的に等価かどうかを判定します。
下図(b)のようなグラフの隣接行列が与えられた場合、SKETCHPADはPythonのnetworkxライブラリを使用して実際のグラフ構造を描画し、グラフの性質や関係を直接視覚的に推論できるようにします。
最後に、ゲーム戦略です。チェスゲームは、視覚的な盤面の状態やテキストの手順表記など、さまざまな形式で表現できます。テキストの手順表記のみが与えられた場合でも、SKETCHPADはチェスのボードを描画して、位置を分析し、戦略を策定します。IsoBenchデータセットからの勝者識別タスクにおけるSKETCHPADのパフォーマンスを評価し、最終的な盤面の状態に基づいてチェスゲームの結果(白の勝利、黒の勝利、引き分け)を見つけます。グラフィカルな盤面を作成するために、SKETCHPADはPythonのchessライブラリを使用して、チェスのフォーサイス・エドワーズ記法(Forsyth-Edwards Notation、FEN)を使用して盤面を描画します。
APIアクセスを持つマルチモーダル言語モデル(gpt-4-turbo-2024-04-29およびgpt-4o-2024-05-13)を使用して、SKETCHPADのパフォーマンスを評価しています。これらの結果を、SKETCHPADなしのベースライン、Claude 3やGeminiProなどの主要なクローズドソースモデル、MistralやLLaMA-2 70Bなどのオープンソースモデルと比較しています。
下表に示すように、SKETCHPADは全タスクにおいてベースモデルのパフォーマンスを一貫して向上させ、GPT-4oで平均18.8%、GPT-4 Turboで平均13.5%の改善を達成しています。
特に、グラフの連結性(Connectivity)や最大フロー(Maxflow)などのグラフアルゴリズムで大きな改善が見られています。例えば、GPT-4oにSKETCHPADを使用した場合、最大フロー(Maxflow)で66.3%の正確性を達成し、ベースモデルより41.3%向上しています。同様に、関数のタスクにおいても、GPT-4 Turboは90%以上の正確性、GPT-4oは88%以上の正確性を達成し、凸性と偶奇分類タスクで大きく向上しています。さらに、ゲーム戦略においても約20%の向上が見られ、描画されたゲームボードが戦略に関する推論を改善することが示されています。これらの結果は、SKETCHPADがマルチモーダル言語モデルの推論能力をさまざまな分野で強化する効果的な手段であることを示していると言えます。
コンピュータビジョンタスクにおけるスケッチ
ここでは、SKETCHPADを使って複雑な視覚推論タスクに挑戦しています。最近の研究(BLINK)によると、現在の多くのマルチモーダル言語モデルには、コアとなる視覚認識能力がまだ欠けていることが明らかになっています。一方で、専用のコンピュータビジョンモデルにはそのような能力が備わっています。さらに、SoMの研究では、画像にセグメンテーションマスクを描くことで、GPT-4Vの強力な視覚的基盤能力が引き出されることが示されています。この論文では、これらのアイデアをSKETCHPADで一般化し、言語モデルが専門的なビジョンモデルを使ってスケッチできるようにしています。
SKETCHPADでは、3つの複雑な視覚推論タスク(VBench、MMVP、BLINK)で実験を行っています。VBenchは、画像内の小さなアイテムに関する質問を含むベンチマークです。MMVPは、CLIPベースのマルチモーダル言語モデルの視覚的な欠点を明らかにするために設計された視覚的質問を含むベンチマークです。BLINKは、人間には簡単でも、マルチモーダル言語モデルには挑戦となる視覚認識タスクを含むベンチマークです。具体的には、相対深度、空間推論、ジグソーパズル、視覚対応、および意味的対応タスクがあります。
SKETCHPADでは、言語モデルがいくつかのモジュール(検出、セグメンテーション、深度推定、スライドウィンドウによる視覚検索、その他の画像操作モジュール)を使用して画像をスケッチし、操作しています。これらのモジュールは、言語モデルが呼び出せるPython関数として実装されています
検出モジュールは、画像とテキストクエリ(例:「猫」)を入力として受け取り、Grounding-DINOオープンボキャブラリの物体検出モデルを実行し、画像に検出されたバウンディングボックス(番号ラベル付き)をプロットします。また、バウンディングボックスの座標も返します。
セグメンテーションモジュールは、画像を入力として受け取り、カラフルなセグメンテーションマスクが描かれた画像を返します。各マスクには番号ラベルが付いています。ベースとなるセグメンテーションモデルは、SegmentAnythingとSemantic-SAMです。深度推定モジュールは画像を入力として受け取り、深度マップを返します。ベースとなるモデルはDepthAnythingです。
スライドウィンドウによる視覚検索のモジュールは、人間が画像上の小さなアイテムを検索する方法を模倣します。テキストクエリを入力として受け取り、画像上でスライディングウィンドウを実行します。ウィンドウサイズは画像サイズの1/3、ステップサイズは画像サイズの2/9です。検出された画像パッチのシーケンスを返します。
その他の画像操作モジュールには、ズームインやクロップ(画像とバウンディングボックスを入力として受け取り、ボックス内の画像パッチを返す)や、オーバーレイ画像(2つの画像とアルファ値を入力として受け取り、オーバーレイされた画像を返す)などがあります。
SKETCHPADは、これらのモジュールを駆使して、マルチモーダル言語モデルの視覚推論能力を飛躍的に向上させています。これにより、複雑な視覚タスクを効果的に解決するための新たなアプローチが実現しています。
ここでは、複雑な視覚推論タスクにおいて、マルチモーダル言語モデルを用いた実験を行っています。SKETCHPADの有無、そして、主要なマルチモーダル言語モデル(Gemini、Claude 3、LLaVA 1.5、LLaVA-NeXT)とのパフォーマンスを比較しています。下表に示されている通り、SKETCHPADはすべてのタスクにおいてベースモデルのパフォーマンスを一貫して向上させ、特に、SKETCHPADを使用したGPT-4oはすべてのタスクで新たな最先端の結果を達成しています。
VBenchでは、GPT-4 Turboで18.5%、GPT-4oで14.3%の精度向上を実現し、SEALを上回っています。また、BLINKでは、SKETCHPADによりGPT-4 Turboで平均6.6%、GPT-4oで9.0%の絶対精度向上が見られます。
SKETCHPADのモジュールは単一の画像で機能するにもかかわらず、複数画像タスク(ジグソーパズル、視覚対応、意味的対応など)でも大幅な改善が見られます。GPT-4 Turboよりも強力なマルチモーダル能力を持つGPT-4oはSKETCHPADの恩恵をより多く受けました。全体として、SKETCHPADは視覚推論タスクにおいてマルチモーダル言語モデルのパフォーマンスを向上させる効果的な方法であることが明らかになりました。
まとめ
この論文では、マルチモーダル言語モデルに中間スケッチを生成させる新しいフレームワーク「SKETCHPAD」を提案しています。このフレームワークにより、複雑な数学的推論タスクにおいて、補助線や数学関数、グラフ、ゲームを視覚化することで、パフォーマンスを大幅に向上させることができます。
視覚的推論タスクでは、SKETCHPADにビジョンの専門家を追加しました。LMは推論中にこれらの専門家を呼び出し、例えば物体検出モデルからのバウンディングボックスやセグメンテーションモデルからのマスクなどの予測を視覚化し、それを観察してさらに計画と推論を行います。
実験の結果、SKETCHPADは、すべてのタスクにおいて言語モデルのパフォーマンスを向上させ、新たな最先端の結果を達成しました。SKETCHPADが、言語と画像の補完的な強みを活用し、ますます複雑化する推論の課題に取り組むことで、言語モデルに、より人間らしいマルチモーダルAIを持たせるための重要な一歩となることが期待されます。
この記事に関するカテゴリー