♪マルチモーダル人工知能を理解する

♪マルチモーダル人工知能を理解する
ChatGPT](https://zilliz.com/learn/ChatGPT-Vector-Database-Prompt-as-code)やその他多くの大規模言語モデル(LLMs)の登場は、AI開発の重要なマイルストーンとなった。この間、AIモデルはニッチな用途から、ライティング、コーディング、カスタマーサービス、コンテンツ作成といった日常的な用途へと移行した。しかし、この進歩の多くは、テキストという単一のモダリティに限定されていた。
一般人工知能(AGI)のビジョンを達成するには、1つのモダリティに焦点を当てるだけでは不十分である。それゆえ、マルチモダリティが生まれたのです。この記事では、このテクニックについてご案内します。
マルチモーダルAIとは?
人工知能システムが、テキスト、画像、音声、動画など複数のモダリティからの情報を処理・分析する場合、マルチモーダルである。一方、1種類のモダリティしか処理できないAIはユニモーダルである。
図1- ユニモーダルAIとマルチモーダルAIの違い.png](https://assets.zilliz.com/Figure_1_Differences_between_Uni_and_Multi_Modal_AI_50567f5199.png)
図1:ユニモーダルAIとマルチモーダルAIの違い
よく混同される2つの用語の違いを明確にすることが重要です:マルチモーダルとマルチモデルである。マルチモーダルとは、複数のデータタイプからの情報を統合して処理するシステムを指す。対照的に、マルチモデルとは、タスクを達成するために並行して、あるいは組み合わせて動作する複数の独立したモデルを使用することを指す。これらのモデルは、同じまたは異なるデータタイプで動作することがありますが、統合されるのではなく、分離されたままです。
マルチモーダルAIは多くのアプリケーションに大きな影響を与える可能性がある。例えば、マルチモーダルAIヘルスケアシステムは、医療画像、患者からの音声記録、臨床メモを利用して、1つのデータソースにのみ依存するシステムよりも正確な診断を下すことができる。この点で、マルチモーダルAIシステムは人間の認知により近く、包括的な理解が不可欠なタスクにおいて非常に効果的である。
マルチモーダルとは、以下のうちの1つ以上を指す:
入力と出力が、テキストから画像、画像からテキストといった異なるモダリティである。
入力がマルチモーダルである(例えば、テキストと画像)。
出力はマルチモーダルである(例えば、テキストと画像を与える1つのシステム)。
以下では、マルチモーダルシステムがどのように動作するかを説明する。
マルチモーダルAIはどのように機能するのか?
マルチモーダルモデルでは様々な要素が連携して動作する。ここでは最も重要な要素とその働きを紹介する:
データ型**:マルチモーダルAIは、テキスト、画像、音声、動画など複数のデータタイプを統合し、異なるモダリティにまたがるコンテンツの包括的な理解と生成を可能にする。
表現**:機械学習におけるマルチモーダル表現は、異なるモダリティからのデータを組み合わせて、モデルが使用できるより意味のある特徴にする。これを実現するために、2つの異なるアプローチが用いられる。
共同表現**:異なるモダリティからのデータは、統一された表現空間に変換される。標準的な手法としては、ニューラルネットワークや確率的グラフィカルモデルがある。これらの手法はパフォーマンスを向上させることができる一方で、欠損データに対する課題に直面する。
協調表現**:各モダリティは別々に処理され、共有空間内で整列するように制約が課される。
図2- 関節表現と協調表現の構造.png](https://assets.zilliz.com/Figure_2_Structure_of_joint_and_coordinated_representations_435508ee1f.png)
図2: 関節表現と協調表現の構造|出典。
特徴抽出**:テキストは自然言語処理(NLP)、画像はコンピュータビジョン、音声は信号処理など、それぞれのデータタイプから特徴を抽出するために専門的な技術が採用される。
データ・フュージョン**:フュージョンは、予測タスクのために2つ以上のモダリティからの情報を結合する。以下のようなアプローチがある:
初期フュージョン**:通常、PCA(主成分分析)やICA(独立成分分析)のような手法を用いて、低次元の部分空間において、分析前にデータを統合する。このアプローチはモダリティの同期を必要とするが、データ形式やサンプリングレートが異なるため困難な場合がある。特徴抽出には効率的ですが、データの損失や同期の問題を引き起こす可能性があります。
後期融合**:個々のモダリティの結果は、バギング、ブースティング、ルールベースのアプローチ(ベイズ、マックス、アベレージフュージョンなど)のようなアンサンブルメソッドを使用して決定レベルで結合されます。この方法は、無相関のモダリティの場合に優れており、人間の認知に似た柔軟性を提供する。
モデリング変換器や畳み込みニューラルネットワーク(CNN)のような、複数のモダリティを処理できるニューラルネットワークは、多様な入力から学習するために使用される。より洗練されたモデルもあり、LMM(Large Multimodal Models)と呼ばれる。
一般的なマルチモーダルモデルとそのアーキテクチャ
多くのマルチモーダルモデルが市場に出回っている。以下は人気のあるモデルとそのアーキテクチャである。
ビデオ・オーディオ・テキスト・トランスフォーマー(VATT)
The Video-Audio-Text Transformer (VATT) は、統一されたTransformerベースのフレームワークを使用して、複数のモダリティ(ビデオ、オーディオ、テキスト)を処理するように設計された畳み込みなしのアーキテクチャです。VATTはまず、各モダリティをトークン化レイヤに送り込み、そこで生の入力を埋め込みベクトルに投影し、その後にTransformerが処理する。
1つは、各モダリティに固有の重みを持つ別々のTransformerを使用するもので、もう1つは、共有の重みを持つ単一のTransformerバックボーンがすべてのモダリティを処理するものである。
どのような構成であっても、Transformerはモダリティ固有の表現を抽出し、さらなるタスクのためにそれらを共有空間にマッピングする。このアーキテクチャは、NLPやVision Transformers (ViT)で一般的に使われている、入力トークンを使った標準的なTransformerパイプラインに従っている。
さらに、VATTは学習可能なテキストの相対バイアスを組み込んでおり、T5のようなモデルとの互換性を持たせている。このアプローチにより、VATTは分類のようなタスクのために、マルチモーダルデータを効果的にモデル化することができる。
図3- マルチモーダル学習のための視覚トランスフォーマー.png](https://assets.zilliz.com/Figure_3_Vision_Transformers_for_Multimodal_Learning_46cc680e45.png)
図3:Vision Transformers for Multimodal Learning|出典
マルチモーダル変分オートエンコーダ(MVAE)
Multimodal Variational Autoencoder (MVAE)**](https://dl.acm.org/doi/10.1145/3308558.3313552) アーキテクチャは、テキストと画像の統一的な表現を学習するように設計されている。MVAEには3つの主要コンポーネントがある:エンコーダー、デコーダー、アプリケーションモジュール(この場合はフェイクニュース検出器)。
図4- マルチモーダル変分オートエンコーダーアーキテクチャ.png](https://assets.zilliz.com/Figure_4_Multimodal_Variational_Autoencoder_Architecture_4c4dba73f0.png)
図4:マルチモーダル変分オートエンコーダーアーキテクチャ|出典
エンコーダー:このコンポーネントはテキストと画像の入力を処理し、共有された潜在表現を生成する。つのサブエンコーダで構成される:
テキスト・エンコーダ:テキスト・エンコーダ:事前に訓練されたディープ・ネットワークを使用して、投稿の一連の単語を単語の埋め込みに変換する。
ビジュアル・エンコーダ**:このプロセスは、CNNs(VGG-19のような)を使用して画像から視覚的特徴を抽出し、空間的およびオブジェクトのセマンティクスをキャプチャする。
**デコーダーデコーダは、共有された潜在表現から元のテキストと画像を再構成する。これはエンコーダーの構造を反映したもので、以下のように分けられる:
テキストデコーダー**:このデコーダは潜在表現を双方向LSTMユニットと完全接続層を通してテキストを再構成し、各単語の確率を予測する。
視覚デコーダー**:完全連結層を通してVGG-19画像特徴を再構成することで、視覚的符号化を逆転させる。
フェイクニュース検出器:このコンポーネントは、共有されたマルチモーダル潜在表現を使って、ニュースの投稿が本物か偽物かを予測する。
CLIP(対照言語画像事前訓練)
CLIP](https://zilliz.com/blog/fundamentals-of-clip) (Contrastive Language-Image Pretraining)モデルは、画像とテキストのペアの膨大なデータセットで学習することで、画像とテキストの共同表現を学習するように設計されている。CLIPは2つの別々のニューラルネットワークを使用する。1つは画像用(多くの場合Vision TransformerまたはCNN)、もう1つはテキスト用(通常Transformer)である。
これらのネットワークは、画像とテキストを共有埋め込み空間内の固定長ベクトルにエンコードする。学習中、CLIPは、画像とテキストが一致するペアの埋め込みをまとめ、不一致のペアの埋め込みを分離する、対照的な学習目的を活用する。
このプロセスを通じて、CLIPは視覚情報とテキスト情報の相関を学習する。このアプローチにより、モデルはゼロショット画像分類を行うことができ、タスク固有のトレーニングを必要とせずに、自然言語記述に基づいて画像内のオブジェクトを認識することができる。この強力なアーキテクチャは、汎化能力を向上させるために、テキスト画像ベースのタスクに使用することができる。
図4-CLIPモデルのアーキテクチャ.png](https://assets.zilliz.com/Figure_4_Architecture_of_CLIP_Model_e8ea693934.png)
図4: CLIPモデルのアーキテクチャ
これらのアーキテクチャのクローズドソースモデルには、以下のようなものがある:
Google Gemini**](https://zilliz.com/learn/build-multimodal-rag-gemini-bge-m3-milvus-langchain):テキスト、画像、ビデオ、オーディオに優れたマルチモーダルLLMで、複数のベンチマークでGPT-4を凌駕している。
ChatGPT(GPT-4V)***:テキスト、音声、画像をサポートし、AI が生成した音声と対話したり、DALL-E 3 経由で画像を生成したりできる。
インワールドAI自然言語、音声、感情によるコミュニケーションを可能にします。
メタ・イメージバインド6つのモダリティを処理し、音声から画像を作成するようなタスクのためにデータを組み合わせ、機械が環境を知覚することを可能にする。
ランウェイGen-2テキスト、画像、既存の動画から動画を生成・編集し、多彩なコンテンツ作成機能を提供。
マルチモーダルモデル](https://zilliz.com/learn/top-10-best-multimodal-ai-models-you-should-know)については、こちらの記事をご覧ください。
マルチモーダルRAG:テキストを超えて拡張する
検索拡張生成(RAG)は、大規模な言語モデルのコンテキスト情報を外部から取得し、より正確な出力を生成するための手法です。また、AIの幻覚を緩和し、いくつかのデータセキュリティの懸念に対処するのに役立ちます。従来のRAGは、LLMの出力を改善するのに非常に効果的であったが、それは依然としてテキストデータに限られている。多くの実世界のアプリケーションでは、知識はテキストを超え、重要なコンテキストを提供する画像、図表、その他のモダリティが組み込まれている。
以下は、典型的なテキストベースのRAGワークフローの概要である:
ユーザーはテキストクエリをシステムに送信する。
クエリはベクトル埋め込みに変換され、それを使ってMilvusのようなベクトルデータベースを検索する。ベクトルデータベースは、ベクトルの類似度に基づいて、クエリと密接に一致する文章を検索する。
関連する文章は補足文脈としてLLMに渡され、クエリに対する理解を深める。
LLMは提供されたコンテキストとともにクエリを処理し、より情報に基づいた正確な応答を生成する。
図1- RAGの仕組み.png](https://assets.zilliz.com/Figure_1_How_RAG_works_24108cefb1.png)
図RAGの仕組み
マルチモーダルRAGは、異なるデータタイプの使用を可能にすることで、上記の制限に対処し、LLMにより良いコンテキストを提供する。簡単に言えば、マルチモーダルRAGシステムでは、検索コンポーネントが異なるデータモダリティにわたって関連情報を検索し、生成コンポーネントが検索された情報に基づいてより正確な結果を生成する。
このようなシステムを構築するためには、埋め込みを生成するためにマルチモーダルモデルを使用し、回答を生成するためにLLAVA、GPT4-V、Gemini 1.5、Claude 3.5 Sonnetなどのマルチモーダル機能を持つLLMを使用する必要がある。
マルチモーダルRAGを実装する方法はいくつかある:
CLIPのようなマルチモーダル埋め込みモデルを使用して、テキストや画像を埋め込みに変換する。次に、クエリとテキスト/画像の埋め込み間の類似性検索を行うことで、関連するコンテキストを取得する。最後に、最も関連性の高いコンテキストのテキストや画像をマルチモーダルLLMに渡す。
マルチモーダルLLMを使って、画像や表のテキスト要約を作成する。次に、テキストベースの埋め込みモデルを使って、それらのテキスト要約を埋め込みに変換する。次に、クエリと要約埋め込み間のテキスト類似度検索を実行する。最後に、応答生成のために、最も関連性の高い要約の生画像をLLMに渡す。
マルチモーダルRAGアプリケーションの構築方法の詳細については、以下に示すさまざまなアプローチを使用したチュートリアルをご覧ください:
Gemini、BGE-M3、Milvus、LangChainを使ったマルチモーダルRAGの構築](https://zilliz.com/learn/build-multimodal-rag-gemini-bge-m3-milvus-langchain)
FiftyOne、LlamaIndex、Milvusでより良いマルチモーダルRAGパイプラインを構築する](https://zilliz.com/blog/build-better-multimodal-rag-pipelines-with-fiftyone-llamaindex-and-milvus)
CLIPとLlama3でローカルにマルチモーダルRAGを構築する ](https://zilliz.com/blog/multimodal-RAG-with-CLIP-Llama3-and-milvus)
マルチモーダルRAG:よりスマートなAIのためのテキストを超えた拡張 ](https://zilliz.com/blog/multimodal-rag-expanding-beyond-text-for-smarter-ai)
MilvusによるマルチモーダルRAG|Milvusドキュメント](https://milvus.io/docs/multimodal_rag_with_milvus.md)
Trulensを使ったマルチモーダルRAGの評価 ](https://zilliz.com/blog/evaluating-multimodal-rags-in-practice-trulens)
ユニモーダルとマルチモーダルの比較
マルチモーダルシステムは、複数のタイプの入力モダリティ(テキスト、画像、音声など)からのデータを同時に処理し統合するという点で、従来の(ユニモーダル)システムとは異なる。
マルチモーダルシステムは、視覚と言語という2つのソースから情報を抽出するため、コンテキストを理解する上で有利である。従来のアプローチは、より単純で、特定の応用領域に焦点を当てている。以下の表は、ユニモーダルシステムとマルチモーダルシステムの決定的な違いを示している。
| -------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------- | | 従来型AI|マルチモーダルAI|入力タイプ | 入力タイプ|単一のタイプの入力を使用する(例:テキストのみ、画像のみ)|複数のタイプの入力を処理する(例:テキスト、画像、音声)|| 処理フォーカス | 処理の焦点|1つの感覚またはデータモダリティに焦点をあてる|複数のモダリティにまたがる情報を統合し関連付ける|複雑さ**||(例:テキストのみ、画像のみ)||複数の種類の入力を処理する。
| コンテキスト理解|単一のモダリティで利用可能な情報に限定される|異なるモダリティを使用することで、より良いコンテキストを理解することができる|アプリケーション|モダリティの種類|モダリティの種類|モダリティの種類 | 応用例|テキスト分類、物体検出、音声認識など。| ヒューマンコンピュータインタラクション、ロボット工学、自律走行車、拡張現実感など。|
マルチモーダルAIの利点と課題
このセクションでは、マルチモーダルシステムの構築と評価における重要な利点と関連する課題を挙げる。
利点
マルチモーダルAIを使用する利点のいくつかを以下に挙げる:
1.**1.強化されたコンテキスト: **マルチモーダルシステムは、より良い解釈のために視覚的な手がかりを言語と組み合わせるなど、異なるソースからの補完的な情報を統合することにより、より広範なコンテキストをキャプチャします。
2.**複数のモダリティからのデータを統合することで、マルチモーダルAIはより正確な予測や決定を行うことができる。例えば、医療診断システムは、患者の画像と医療記録を考慮することで、より信頼できるものになるかもしれない。
3.汎用性: マルチモーダルAIは、画像キャプション、視覚的質問応答、医療診断、自律走行など、様々な複雑なタスクに適用することができ、複数のドメインに高度に適応できる。
4.より人間に近い理解:マルチモーダルAIは、様々な感覚(モダリティ)からのデータを処理することで、人間の認知をよりよく模倣し、リアルタイムアプリケーションにおいてより優れた人間とコンピュータのインタラクションを可能にする。
課題
マルチモーダルAIの利用に関連する課題には、以下のようなものがある:
1.表現:*モダリティを表現する方法や形式は、複数のモダリティ間の補完的または冗長な情報を抽出する。マルチモーダルデータの表現は非常に重要ですが、その異質な性質のために困難です。例えば、音は信号であり、画像は表現するスケールや次元が異なる3D表現である。これらをどのように同じ共通の表現空間に取り込むかは、実装上不可欠なポイントである。
2.2.変換:*手順では、あるモダリティから別のモダリティにデータを変換する方法を説明することができる。異なるモダリティ間の関係は主に主観的なものである。例えば、動画を対応するテキスト記述に変換する。
3.フュージョン:* 複数のモダリティからのデータを組み合わせて予測を向上させること。例えば、オーディオビジュアル音声認識では、唇の動きの視覚的説明が音声信号と統合され、話し言葉を予測する。情報は異なるモダリティから来る可能性があり、予測強度、重要度、寄与度、ノイズトポロジーなど様々なレベルがある。モダリティの少なくとも1つに欠損データ値がある。
4.説明可能性:最近の用語である説明可能なAI(XAI)は、モデルに関する意味のある説明と推論を説明することを目的としている。複数のモダリティの場合、異なるデータソースでモデルがどのように結論に至るかを理解することはより困難である。
マルチモーダルAIのFAQ
1.**マルチモーダルAIとは?
マルチモーダルAIとは、テキスト、画像、音声、動画など様々なモダリティからの情報を処理・分析できる人工知能システムの一種です。
2.**マルチモーダルAIはどのようなデータタイプを使用できますか?
マルチモーダルAIは、テキスト、画像、音声、ビデオ、センサー、グラフデータなど様々なデータタイプを使用する。
3.**マルチモーダルAIは従来のAIに取って代わるのか?
マルチモーダルAIは従来のAIに取って代わるものではなく、複数のデータモダリティを統合することでその能力を拡張するものだ。拡張なのだ。従来の手法は依然として不可欠であり、Multimodal AIはさらなる機能を提供する。
4.**マルチモーダルAIの典型的なアプリケーションにはどのようなものがあるか?
マルチモーダルAIの典型的なアプリケーションには、画像キャプション、視覚的質問応答、感情認識、自律走行などがある。
5.**マルチモーダルAIの利点は何ですか?
マルチモーダルAIには、頑健性、効率性、文脈認識、多様な応用領域、人間とコンピュータの相互作用の改善など、いくつかの利点がある。
関連リソース
ベクターデータベースとは何か、どのように機能するのか](https://zilliz.com/learn/what-is-vector-database)
ジェネレーティブAIリソースハブ|Zilliz](https://zilliz.com/learn/generative-ai)
コンピュータビジョンとは](https://zilliz.com/learn/what-is-computer-vision)
トランスフォーマーモデルの解読:そのアーキテクチャと基礎原理の研究](https://zilliz.com/learn/decoding-transformer-models-a-study-of-their-architecture-and-underlying-principles)
MilvusでAIアプリを作る: チュートリアルとノートブック](https://zilliz.com/learn/milvus-notebooks)
あなたのGenAIアプリのためのトップパフォーマンスAIモデル|Zilliz](https://zilliz.com/ai-models)
clip-vit-base-patch32ガイド|OpenAI](https://zilliz.com/ai-models/clip-vit-base-patch32)