Vision Language Model (VLM)
Ultralyticsとともにビジョン言語モデル(VLM)について解説します。コンピュータービジョンとLLMをつなぎ、VQAやオープン語彙検出を実現する仕組みを学びましょう。Ultralytics YOLO26も活用します。
ビジョン・言語モデル(VLM)は、視覚情報(画像や動画)とテキスト情報の両方を同時に処理して解釈できる人工知能の一種です。ピクセルデータだけに注目する従来のコンピュータービジョンモデルや、テキストしか理解できない大規模言語モデル(LLM)とは異なり、VLMはこの2つのモダリティの隔たりを埋めます。画像とテキストのペアを含む大規模なデータセットで学習することで、視覚的特徴と言語概念を関連付けられるようになり、画像の説明や視覚シーンに関する質問への回答、さらには「見た」内容に基づくコマンドの実行が可能になります。
ビジョン・言語モデルの仕組み#
VLMは基本的に、ビジョンエンコーダーとテキストエンコーダーという2つの主要コンポーネントで構成されます。ビジョンエンコーダーは画像を処理して特徴マップと視覚表現を抽出し、テキストエンコーダーは言語入力を処理します。次に、これらの異なるデータストリームをクロスアテンションなどの機構で融合し、共有埋め込み空間内で視覚情報とテキスト情報を対応付けます。
2024年と2025年の最近の進歩では、単一のTransformerバックボーンで両方のモダリティを処理する、より統合されたアーキテクチャに向かっています。たとえば、Google PaliGemma 2のようなモデルは、こうしたストリームを効果的に統合することで、複雑な推論タスクの性能を向上できることを示しています。この対応付けによってモデルはコンテキストを理解できるため、たとえば「apple」という語が食料品店の画像では果物を、ロゴではテクノロジー企業を指すことを認識できます。
実際のアプリケーション#
視覚と言語の両方を通じて世界を理解する能力は、さまざまな業界に幅広い応用をもたらします。
- 視覚的質問応答(VQA): VLMは、放射線科医を支援する医療診断で広く使われています。医師が「このX線画像に骨折はありますか?」とシステムに尋ねると、モデルは医用画像を分析して予備的な評価を提示し、診断ミスの削減に役立ちます。
- スマートなEコマース検索: 小売環境では、VLMにより、ユーザーは自然言語による説明と画像を組み合わせて商品を検索できます。買い物客が有名人の服装の写真をアップロードして「この柄で青いドレスを探してください」と尋ねると、システムはセマンティック検索を使って正確な候補を検索します。
- 自動キャプション生成とアクセシビリティ: VLMはウェブ上の画像に対する説明的な代替テキストを自動生成します。これにより、スクリーンリーダーを利用する視覚障害のあるユーザーがデジタルコンテンツをより利用しやすくなります。
VLMと関連概念の違い#
VLMの具体的な役割を理解するには、ほかのAIカテゴリーと区別すると役立ちます。
- VLMとLLMの比較: 大規模言語モデル(テキストのみのGPT-4など)は、テキストデータだけを処理します。創作的な物語やコードを生成できますが、画像を「見る」ことはできません。VLMは実質的に、LLMに目を与えるものです。
- VLMと物体検出の比較: 初期のYOLOなど、従来の物体検出モデルは、物体が「どこに」あり、「どの」クラスに属するか(例:「車:99%」)を特定します。VLMはさらに、関係性や属性を理解し、「消火栓の隣に駐車された赤いスポーツカー」のように表現できます。
- VLMとマルチモーダルAIの比較: マルチモーダルAIは、より広い範囲を指す用語です。VLMはすべてマルチモーダル(ビジョンと言語を組み合わせる)ですが、すべてのマルチモーダルモデルがVLMというわけではありません。音声とテキスト(音声からテキストへの変換など)や、言語要素を含まない動画とセンサーデータを組み合わせるモデルもあります。
YOLOによるオープンボキャブラリー検出#
現代のVLMは「オープンボキャブラリー」検出を可能にします。事前定義されたクラスではなく、自由形式のテキストプロンプトを使って物体を検出できます。これはUltralytics YOLO-Worldのようなモデルの重要な機能で、再学習なしにクラスを動的に定義できます。
次の例では、テキストで指定した物体を検出するためのultralyticsパッケージの使用方法を示します。
from ultralytics import YOLOWorld
# ビジョンと言語を理解できるモデルを読み込みます
model = YOLOWorld("yolov8s-world.pt")
# 自然言語のテキストプロンプトを使ってカスタムクラスを定義します
model.set_classes(["person wearing sunglasses", "red backpack"])
# 推論を実行して、画像内からテキストで定義した物体を検出します
results = model.predict("https://ultralytics.com/images/bus.jpg")
# 検出結果を表示します
results[0].show()課題と今後の展望#
VLMは強力ですが、重大な課題も抱えています。大きな問題の1つはハルシネーションで、画像に存在しない物体やテキストをモデルが自信を持って説明してしまう現象です。研究者は、グラウンディングと精度の向上を目指し、人間のフィードバックによる強化学習(RLHF)などの手法に積極的に取り組んでいます。
もう1つの課題は計算コストです。こうした大規模モデルの学習には、かなりのGPUリソースが必要です。しかし、Ultralytics YOLO26のような効率的なアーキテクチャの登場により、高度なビジョン機能をエッジデバイスでも利用しやすくなっています。今後、VLMはロボットエージェントで重要な役割を果たし、複雑な音声指示に基づいてロボットが移動し、物体を操作できるようになると期待されています。
理論的基礎に関心がある方には、OpenAIのCLIP原著論文が、対照的な言語・画像事前学習について優れた知見を提供します。また、こうしたアーキテクチャの急速な進化を追うには、CVPRの学会論文を継続的に確認することが重要です。独自のビジョンモデルの学習を試すには、データセット管理とモデルデプロイを効率化できるUltralytics Platformを利用できます。









