Ultralyticsビジョン言語モデル(VLM)を探求しましょう。Ultralytics を用いて、VQAやオープンボキャブラリ検出のためにコンピュータビジョンとLLMを橋渡しする方法を学びます。
ビジョン言語モデル(VLM)とは、視覚情報(画像や動画)とテキスト情報の両方を同時に処理・解釈できる人工知能の一種である。従来のコンピュータビジョンモデルがピクセルデータのみに焦点を当て、大規模言語モデル(LLM)がテキストのみを理解するのとは異なり、VLMはこれら二つのモダリティの間のギャップを埋める。画像とテキストのペアを含む膨大なデータセットで学習させることで、これらのモデルは視覚的特徴と言語的概念を関連付けることを学び、画像の説明、視覚的シーンに関する質問への回答、さらには「見た」ものに基づいたコマンドの実行さえ可能にする。
VLMsは基本的に、主に2つの構成要素から成る:視覚エンコーダとテキストエンコーダである。視覚エンコーダは画像を処理して特徴マップと視覚的表現を抽出する一方、テキストエンコーダは言語的入力を扱う。これらの異なるデータストリームは、クロスアテンションなどのメカニズムを用いて融合され、共有埋め込み空間において視覚情報とテキスト情報を整合させる。
2024年と2025年の最近の進歩は、単一のトランスフォーマー基盤が両モダリティを処理するより統一されたアーキテクチャへと向かっている。 例えば、 Google 2 のようなモデルは、これらのストリームを効果的に統合することで、複雑な推論タスクにおける性能が向上することを実証している。この整合性により、モデルは文脈を理解できるようになる。例えば、単語「apple」が食料品店の画像では果物を指すが、ロゴではテクノロジー企業を指すことを認識できる。
視覚と言語の両方を通じて世界を理解する能力は、様々な産業分野で多様な応用を開拓します:
VLMsを他のAIカテゴリーと区別することは、その特定の役割を理解する上で有益である:
最新のVLMsは「オープンボキャブラリー」検出を実現し、事前定義されたクラスではなく自由形式のテキストプロンプトを用いてdetect 。Ultralytics YOLOモデルの主要機能であり、再学習なしで動的なクラス定義を可能にします。
次の例は ultralytics detect をdetect パッケージ
テキストで記述されたもの:
from ultralytics import YOLOWorld
# Load a model capable of vision-language understanding
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference to find these text-defined objects in an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()
強力な一方で、ビジョン言語モデルは重大な課題に直面している。主要な問題の一つは 幻覚現象であり、モデルが画像内に存在しない物体やテキストを 確信を持って描写してしまう現象である。研究者らは 人間からのフィードバックに基づく強化学習(RLHF)などの手法を 積極的に研究し、現実との整合性と精度向上に取り組んでいる。
もう一つの課題は計算コストである。これらの大規模モデルを訓練するにはGPU が必要となる。しかし、Ultralytics 効率的なアーキテクチャの登場により、高度な視覚機能をエッジデバイスに導入することが可能になりつつある。今後、VLMsがロボットエージェントにおいて重要な役割を果たし、複雑な音声指示に基づいてロボットが移動や物体の操作を実行できるようになると予想される。
理論的基盤に関心のある方へ、OpenAIによるオリジナルのCLIP論文は対照的言語-画像事前学習に関する優れた洞察を提供します。さらに、これらのアーキテクチャの急速な進化を追跡するには、CVPRカンファレンス論文を常に把握することが不可欠です。独自のビジョンモデルを訓練する実験には、Ultralytics を活用することで、効率的なデータセット管理とモデルデプロイメントを実現できます。