[論文レビュー] Visual Programming: Compositional visual reasoning without training
VisProg は、タスク固有のトレーニングを必要とせず、自然言語の指示から実行可能で解釈可能な Python に似たプログラムを生成する神経記号フレームワークを導入する。GPT-3 のコンテキスト内学習を活用し、市販のビジョンおよび言語モデルをモジュラーなプログラムに組み合わせることで、視覚的質問応答、知識タグ付け、画像編集など多様なタスクにおいて強力なゼロショット性能を達成する。同時に、解釈可能性とエラー診断のための包括的な視覚的推論を生成する。
We present VISPROG, a neuro-symbolic approach to solving complex and compositional visual tasks given natural language instructions. VISPROG avoids the need for any task-specific training. Instead, it uses the in-context learning ability of large language models to generate python-like modular programs, which are then executed to get both the solution and a comprehensive and interpretable rationale. Each line of the generated program may invoke one of several off-the-shelf computer vision models, image processing routines, or python functions to produce intermediate outputs that may be consumed by subsequent parts of the program. We demonstrate the flexibility of VISPROG on 4 diverse tasks - compositional visual question answering, zero-shot reasoning on image pairs, factual knowledge object tagging, and language-guided image editing. We believe neuro-symbolic approaches like VISPROG are an exciting avenue to easily and effectively expand the scope of AI systems to serve the long tail of complex tasks that people may wish to perform.
研究の動機と目的
- 豊富なトレーニングデータが不足する複雑で合成的な視覚的タスクに向けた AI システムの展開におけるロングテール課題に対処すること。
- 自然言語の指示を実行可能でモジュラーなプログラムに分解することで、視覚的タスクにおけるゼロショット推論を可能にすること。
- 中間のプログラム実行を通じて視覚的推論を生成することにより、視覚 AI における解釈可能性とユーザーのコントロールを向上させること。
- タスク固有のファインチューニングを一切必要とせず、コンテキスト内学習と事前学習済みモデルのモジュラーな組み合わせに依存することを示すこと。
- 視覚的推論に基づく指針によるインstructチューニングによって、ユーザーが性能を向上させることを可能にすること。
提案手法
- GPT-3 のコンテキスト内学習を用い、数例のデモンストレーションとともに自然言語の指示からモジュラーで実行可能なプログラムを生成する。
- 生成されたプログラムの各行は、オブジェクト検出器、ゼロショット分類のための CLIP、OpenCV の関数など、専用モジュールを呼び出し、中間出力を段階的に処理する。
- ViLT-vqa、OWL-ViT、Stable Diffusion などの事前学習済みモデルをファインチューニングなしで市販のモジュールとして活用する。
- 入力画像に対してプログラムを実行し、予測を出力すると同時に、中間出力をログ記録することで、解釈可能性のための視覚的推論を生成する。
- 新しいモジュールを単純なコード統合により追加可能で、モジュラーな拡張性を備える。
- 視覚的推論を用いてエラーを診断し、性能向上のためのインstructチューニングをガイドする。
実験結果
リサーチクエスチョン
- RQ1タスク固有のファインチューニングなしで、複雑な視覚的タスクに対して正確で解釈可能なプログラムを神経記号システムが生成できるか?
- RQ2LLM におけるコンテキスト内学習は、多様な事前学習済みモデルを視覚的推論のためのプログラムに統合する際にどの程度有効か?
- RQ3視覚的推論は、インstructチューニングを通じてユーザーの理解とパフォーマンスをどの程度向上させられるか?
- RQ4このようなシステムにおける主要な失敗モードは何か、そしてそれらはどのように診断され、緩和されるか?
- RQ5画像編集、知識ベースのタグ付け、画像ペアの推論といったタスクにおいて、ゼロショットでの一般化が可能か?
主な発見
- VisProg は、ファインチューニングなしで知識タグ付けタスクにおいて 63.7% の F1 スコアを達成し、対象物の局所化と名前指定を正しく行っている。
- GQA ベンチマークでは、強力なゼロショット性能を達成しており、誤り分析から不正確なプログラム生成が 16% のサンプルに影響を与えていることが判明した。
- 視覚的推論に基づくインstructチューニングにより、知識タグ付けおよび画像編集タスクで顕著なパフォーマンス向上が得られ、クエリやモジュールの入力を洗練させた。
- ViLT-vqa モデルをより優れた VQA モデルに置き換えることで、NLVR のパフォーマンスが最大 24% 向上し、モジュールの品質が与える影響を示している。
- 単一画像 VQA モデルと LLM を用いるだけで、NLVRv2 において強いゼロショット性能を示し、ランダムおよび投票ベースラインを上回った。
- 視覚的推論により、モジュール実行の失敗(例:誤った局所化や知識の取得失敗)を特定し、エラー診断が可能となり、ターゲットに合わせたインstructの最適化が可能になった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。