Categories: paper-readingvlm

【論文紹介】InstructBLIP:指示チューニングで汎用Vision-Languageモデルを実現する新手法

本記事では、近年注目を集めるVision-Languageモデルの分野において、新たな地平を切り開く論文「InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning」についてご紹介します。

この研究は2023年6月15日にarXivで公開されました。
https://arxiv.org/abs/2305.06500v2

はじめに: InstructBLIPとは?

近年、ChatGPTのような大規模言語モデル(LLM)の登場により、自然言語処理(NLP)分野では、人間のような対話や多様なタスク処理が実現されつつあります。

これらのモデルは、「指示チューニング(Instruction Tuning)」という手法によって、特定の指示に従ってタスクを遂行する汎用的な能力を獲得しました。

しかし、画像などの視覚情報を扱うVision-Languageモデルの分野では、多様な入力とタスクの複雑さから、汎用モデルの構築は大きな課題となっていました。

従来のVision-Languageモデルは、特定のタスクに特化していることが多く、未知のタスクやデータへの汎化性能には限界があったのです。

InstructBLIPは、この課題に対し「Vision-Language Instruction Tuning」というアプローチで挑み、一つのモデルで幅広い視覚と言語のタスクに対応できる汎用モデルを目指しています。

InstructBLIPの画期的な手法

InstructBLIPは、既存の高性能Vision-LanguageモデルであるBLIP-2を基盤としています。BLIP-2は、画像エンコーダ、LLM、そして両者をつなぐQuery Transformer (Q-Former) というモジュールで構成されています。

InstructBLIPの大きな特徴は、「Instruction-aware Query Transformer」という新しいメカニズムを導入した点にあります。

(InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning より引用)

これは、モデルがただ画像から特徴を抽出するだけでなく、与えられた「指示(Instruction)」を理解し、その指示に最も適した視覚的特徴を抽出できるようにするものです。

具体的には、テキストの指示がLLMだけでなくQ-Formerにも入力され、Q-Formerは指示に基づいて画像エンコーダから関連性の高い視覚情報を柔軟に抽出します。

これにより、同じ画像でも異なる質問やタスクの指示に応じて、最適な視覚的表現をLLMに提供できるようになりました。

また、 InstructBLIPは、画像キャプション、視覚的推論、QA、会話など、多岐にわたる26の公開データセットを指示チューニング形式に変換して学習しています。

データセットの規模の偏りによる学習の不安定さを避けるため、各データセットのサイズに応じてサンプリング確率を調整する「バランスサンプリング戦略」も採用されています。

InstructBLIPは何ができる?多様な能力をデモンストレーション

InstructBLIPは、その汎用性を示すために、多様なタスクでその能力が検証されました。
以下に、いくつかの代表的な例を挙げます。

1. 複雑な視覚推論と知識に基づいた説明

(InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning より引用)

この画像は、災害によって大きな被害を受けた地域の様子を示しています。

InstructBLIPは、単に画像を記述するだけでなく、「この現在のシーンに基づいて、何が起こった可能性がありますか?」という質問に対し、以下のように推論して回答します。

  • 「ハリケーンか激しい気象現象が、建物やインフラに深刻な損害を与えた可能性があります。」
  • 「瓦礫の中を歩く人は、災害による被害を調査していることを示唆しています。」
  • 「ヤシの木の存在は、その場所が熱帯または亜熱帯地域であり、ハリケーンなどの自然災害に遭いやすいことを示しています。」

このように、InstructBLIPは画像内の視覚的な証拠から状況を推論し、さらに一般的な知識(ヤシの木と地域の災害リスクなど)を結びつけて、詳細かつ論理的な説明を生成する能力を持っています。

2. 知識に基づいた詳細な絵画紹介

(InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning より引用)

世界的に有名なヨハネス・フェルメールの「真珠の耳飾りの少女」の絵画に対して、「この絵画を詳しく紹介してください」という指示を与えると、InstructBLIPは以下のように回答します。

  • 「この絵画は真珠の耳飾りの少女を描いています。」
  • 「彼女は青いドレスを着ており、左耳に真珠の耳飾りを付けています。髪は後ろに束ねられ、鑑賞者を直接見ています。」
  • 「この絵画は、オランダの画家ヨハネス・フェルメールによる1665年の有名な芸術作品です。」
  • 「彼の傑作の一つと見なされ、その複雑なディテールと少女の表情のリアルな描写で広く認識されています。」

InstructBLIPは、画像認識にとどまらず、絵画の名称、作者、制作年、そしてその作品が持つ芸術的な価値といった「テキストに基づいた知識」と視覚情報を結びつけて、豊かな説明を生成できます。

3. マルチターンでの視覚的会話

(InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning より引用)

InstructBLIPは、一度の質問応答だけでなく、対話履歴を考慮しながら複数のターンにわたる会話を続けることも可能です。

画像(野菜とナッツが並べられた石の表面)に対して、まず「この画像について詳しく教えてください」と尋ねると、モデルは野菜やナッツ、様々な種類の種子があることを描写します。

次に「そのような食事の例を教えてください」と問いかけると、モデルは「ミックスグリーン、ニンジン、キュウリ、トマト、ナッツを使ったサラダ」を提案し、自家製ドレッシングやトッピングのアイデアまで提供します。

さらに「いいですね!このサラダの作り方を教えてください」と続けると、モデルは材料の準備から盛り付けまで、具体的な5つのステップで調理方法を説明します。

このように、InstructBLIPは視覚的な情報だけでなく、対話の流れや文脈を理解し、一貫性のある応答を生成することができます。

驚きのゼロショット性能とファインチューニングの優位性

InstructBLIPの成果は、定性的な例に留まりません。13の学習済みデータセットに含まれていない「held-out」データセットに対するゼロショット評価(事前に学習していないタスクに対する性能評価)において、InstructBLIPは既存のSOTA(State-of-the-Art、最高水準)モデルを大きく上回る性能を達成しました。

特に驚くべきは、動画QAのような、学習時に時間の概念を伴うデータで訓練されていないタスクに対しても、BLIP-2やFlamingo-80Bといった既存の強力なモデルを大幅に凌駕する結果を出した点です。

これは、指示チューニングによってモデルが未知のタスクへも汎化する能力が飛躍的に向上したことを示しています。

また、特定のダウンストリームタスク(個別の応用タスク)でファインチューニング(追加学習)を行う際にも、InstructBLIPは優れた初期モデルとして機能します。

これにより、ScienceQAやOCR-VQAなどのタスクで、InstructBLIPは新しいSOTA性能を樹立しています。

Instruction Tuning vs. Multitask Learning

Instruction Tuningの重要性を示すため、論文では従来のマルチタスク学習との比較も行われています。
マルチタスク学習は複数のデータセットを同時に学習することで、各タスクの性能向上を目指す手法です。

比較の結果、学習済みデータセット(held-in datasets)においては、Instruction TuningとMultitask Learningは同程度の性能を示しました。

しかし、未知のデータセットやタスク(held-out datasets)に対するゼロショット汎化性能では、InstructBLIPのInstruction TuningがMultitask Learningを大きく上回る結果となりました。

この分析は、単に複数のタスクを学習するだけでなく、「指示」という形式でタスクの意図を明示的に与えるInstruction Tuningが、モデルの汎化能力を向上させる上で極めて重要であることを示唆しています。

まとめ

InstructBLIPは、大規模言語モデルの成功をVision-Languageモデルへと拡張する、シンプルかつ革新的なInstruction Tuningフレームワークです。

「Instruction-aware Query Transformer」やバランスサンプリング戦略により、モデルは指示を理解し、多様な視覚と言語のタスクに対して高い汎化能力を発揮します。

複雑な推論、知識に基づいた説明、マルチターン会話など、その高度な能力は、汎用的なマルチモーダルAIの実現に向けた大きな一歩となります。

InstructBLIPのモデルは全てオープンソースで公開されており、今後の研究や応用をさらに加速させることが期待されます

Haruoka