論文読解『VideoRAG: Retrieval-Augmented Generation over Video Corpus』

間が空いた論文読解です。今回はVideo RAGです。お化粧の仕方をアドバイスしたり、機械の修理方法を説明するチャットボットで使えそうなのでLLMに手伝ってもらいながら読みました。

# どんなもの？

この論文で提案されているのは、**VideoRAG**という新しいフレームワークです。これは、**Retrieval-Augmented Generation (RAG)** という技術を動画に応用したもので、質問応答システムがより正確で詳細な回答を生成できるようにするためのものです。従来のRAGは主にテキスト情報を利用していましたが、VideoRAGは動画の視覚情報とテキスト情報（字幕など）の両方を活用します。

RAGとは：
*   **Retrieval (検索)**：質問に関連する情報を外部の知識源から検索する。
*   **Augmented Generation (拡張生成)**：検索された情報を基に、質問に対する回答を生成する。

VideoRAGは、このRAGのプロセスを動画に応用し、動画の内容を理解し、質問応答に役立てます。

# 先行研究と比べてどこがすごい？

従来の動画を利用した質問応答システムには、いくつかの課題がありました。

*   **動画が事前に特定されている**：質問に関連する動画が事前に分かっていることが前提で、システムが自ら動画を検索することはできませんでした。
*   **動画をテキストに変換**：動画の内容を字幕などのテキスト情報に変換して利用するため、動画の持つ視覚的な情報や時間的な変化が失われていました。

VideoRAGはこれらの課題を解決します。

*   **動的な動画検索**：質問に基づいて関連性の高い動画を動的に検索します。
*   **マルチモーダル情報の活用**：動画の視覚情報（フレーム）とテキスト情報（字幕など）の両方を統合的に利用して回答を生成します。
*   **Large Video Language Models (LVLMs) の活用**：動画の内容を直接処理できるLVLMを利用することで、動画の持つ豊かな情報を最大限に活用します。
    *   LVLMとは：テキスト情報だけでなく、動画のフレームなどの視覚情報も処理できる大規模言語モデルのことです。

## 追加調査：論文で用いられているLVLM
*   **InternVideo2([HuggingFace](https://huggingface.co/collections/OpenGVLab/internvideo2-6618ccb574bd2f91410df5cd))**: このモデルは、動画とテキストの意味的な整合性を取るように訓練されており、特に**検索**の段階で、クエリと関連性の高い動画を特定するために利用されています。具体的には、このモデルのビデオエンコーダーとテキストエンコーダーを使用して、動画とテキストの埋め込みベクトルを抽出します。
*   **LLaVA-Video-7B([HuggingFace](https://huggingface.co/collections/OpenGVLab/internvideo2-6618ccb574bd2f91410df5cd))**: このモデルは、動画理解タスクで最先端の性能を達成しており、**回答生成**の段階で、動画の視覚情報とテキスト情報を統合的に処理するために使用されます。

この論文では、これらのモデルが、VideoRAGフレームワークの**検索と生成**の各段階で重要な役割を果たしていることが強調されています。
また、この論文では言及されていませんが、一般的にLVLMとして広く知られているモデルとして、以下のものがあります。

*   **Gemini**: Googleによって開発された、高度なマルチモーダルモデルであり、画像、テキスト、動画などの様々な種類のデータを理解し、生成することができます。
*   **Video-ChatGPT**: 大規模な視覚言語モデルを通じて詳細な動画理解を可能にするモデルです。
*   **OmniVid**: ユニバーサルな動画理解のための生成フレームワークです。

これらのモデルは、動画理解の分野で重要な進歩を遂げており、VideoRAGのようなフレームワークにおいても、さらなる性能向上が期待されています。

# 技術や手法のキモはどこ？

VideoRAGの技術的なキモは、以下の点にあります。

1.  **動画検索**：質問と動画の内容の関連性を計算し、関連性の高い動画を検索します。
    *   **LVLMによる表現**：質問と動画をLVLMに入力し、それぞれの表現（ベクトル）を得ます。
    *   **類似度計算**：質問と動画の表現の類似度（コサイン類似度など）を計算し、関連性を評価します。
2.  **動画拡張回答生成**：検索された動画の情報を用いて、質問に対する回答を生成します。
    *   **入力の構成**：検索された動画のフレームとテキスト情報、質問を結合してLVLMへの入力を作成します。
    *   **マルチモーダル処理**：LVLMが、結合された視覚情報、テキスト情報、質問を統合的に処理し、回答を生成します。
3.  **補助テキスト生成**：動画に字幕がない場合、音声認識技術を用いて動画からテキスト情報を生成します。
    *   **音声認識**：動画から音声トラックを抽出し、それをテキストに変換します。

## 追加調査：VideoRAGの検索対象の作成方法と回答作成方法
VideoRAGでは、検索対象となる動画に関する情報をデータベースに保存します。具体的には、以下の情報が格納されます:

*   **動画のフレーム**: 動画は一連の画像フレームとして表現されます。これらのフレームは、動画の視覚情報を構成します。
*   **動画に関連付けられたテキストデータ**: 字幕や自動音声認識によって生成されたテキストデータが含まれます。これにより、動画のコンテンツに関する追加のコンテキストと意味情報が提供されます。
    *   明示的なテキスト注釈がない動画については、自動音声認識技術を使用して、音声トラックからテキストデータが生成されます。
*   **動画とテキストの表現**: LVLM（Large Video Language Model）を用いて、動画のフレームとテキストデータから抽出された特徴量が、それぞれ**埋め込みベクトル**として表現されます。これらの埋め込みベクトルは、動画の視覚的およびテキスト的な特徴を数値化したもので、検索時の類似度計算に使用されます.

回答生成時のデータの検索は、以下の手順で行われます:

1.  **クエリの表現**: ユーザーからの質問（クエリ）をLVLMに入力し、**クエリの埋め込みベクトル**を取得します。
2.  **動画の検索**:
    *   データベースに保存された各動画の埋め込みベクトルとクエリの埋め込みベクトルとの**類似度**を計算します。
    *   類似度の計算には、**コサイン類似度**などが用いられます。
    *   類似度が高い上位k件の動画が、質問に関連する動画として**検索**されます。
3.  **回答の生成**:
    *   検索された動画のフレームとテキストデータ、そして元の質問を結合して、LVLMへの入力を作成します。
    *   LVLMは、これらの**マルチモーダルな入力**を統合的に処理し、質問に対する回答を生成します。

このプロセスで重要な点は、VideoRAGが動画の**視覚情報とテキスト情報の両方を活用**し、**動的に関連動画を検索**し、その情報を基に回答を生成することです。これにより、より**正確で詳細な回答**が可能になります。



# どうやって有効だと検証した？

VideoRAGの有効性は、以下の実験によって検証されました。

*   **データセット**：
    *   **WikiHowQA**：質問と回答のペアのデータセット。
    *   **HowTo100M**：質問と動画のペアのデータセット。
*   **ベースラインモデル**：
    *   **NAÏVE**：外部知識なしで回答を生成するモデル。
    *   **TEXTRAG (BM25)**：テキストベースのRAGモデルで、BM25という手法でテキスト情報を検索する。
        *   BM25とは：単語の出現頻度に基づいて文書の関連性を評価する情報検索アルゴリズム。
    *   **TEXTRAG (DPR)**：テキストベースのRAGモデルで、DPRという手法でテキスト情報を検索する。
        *   DPRとは：Dense Passage Retrievalの略で、質問と文書をベクトル表現に変換し、類似度に基づいて関連性を評価する手法。
    *   **TEXTVIDEORAG**：動画をテキスト情報に変換して利用する従来のRAGモデル。
*   **VideoRAGのバリエーション**：
    *   **VIDEORAG-T**：動画のテキスト情報のみを利用するモデル。
    *   **VIDEORAG-V**：動画の視覚情報のみを利用するモデル。
    *   **VIDEORAG-VT**：動画の視覚情報とテキスト情報を両方利用するモデル。
*   **評価指標**：
    *   **ROUGE-L**：生成された回答と正解の最長共通部分列を測る指標。
    *   **BLEU-4**：生成された回答と正解のn-gramの重複度を測る指標。
    *   **BERTScore**：生成された回答と正解のセマンティックな一致度を測る指標。
        *   BERTとは：文章の意味を理解するための深層学習モデル。
    *   **G-Eval**：大規模言語モデルを用いて生成された回答の品質を評価する指標。

**実験結果**:

*   VideoRAGは、すべての評価指標において、ベースラインモデルを上回る性能を示しました。
*   特に、動画の視覚情報を利用するVIDEORAG-VとVIDEORAG-VTは、テキスト情報のみを利用するモデルよりも高い性能を示しました。
*   動画のテキスト情報だけでも、テキストベースのRAGよりも高い性能が得られました。
*   動画検索の精度が回答の品質に大きく影響することが示されました。
*   テキスト情報と視覚情報を組み合わせることで、動画検索の精度が向上することが示されました。

# 議論はある？

この論文では、以下の点について議論されています。

*   **視覚情報とテキスト情報の役割**：動画の視覚情報とテキスト情報のどちらがより重要かという議論があります。実験結果では、視覚情報が重要な役割を果たすことが示されましたが、テキスト情報も有効であることが示唆されています。
*   **動画検索の重要性**：動画検索の精度が回答の品質に大きく影響するため、より高度な動画検索技術が必要であると指摘されています。
*   **知識源の選択**：外部知識としてテキスト情報と動画情報を組み合わせることで、必ずしも性能が向上するわけではないことが示唆されています。テキスト情報が冗長または矛盾する場合、動画情報による効果が薄れる可能性があります。

# 次に読むべき論文は？

1.  **[「Internvideo2: Scaling foundation models for multimodal video understanding」](https://arxiv.org/pdf/2403.15377)**:
    *   この論文は、VideoRAGの**動画検索**において重要な役割を果たす**InternVideo2**モデルについて詳細に解説しています。
    *   **InternVideo2**は、動画とテキストの意味的な対応関係を学習するために訓練された基盤モデルであり、VideoRAGがクエリに関連性の高い動画を検索する際に不可欠な要素です。
    *   この論文を読むことで、VideoRAGの動画検索メカニズムの理解を深めることができ、**動画とテキストの埋め込み表現**がどのように学習され、利用されているかを知ることができます。

2.  **[「Llava-next: A strong zero-shot video understanding model」](https://llava-vl.github.io/blog/2024-04-30-llava-next-video/)**:
    *   この論文は、VideoRAGの**回答生成**に用いられている**LLaVA-Video-7B**モデルについて詳しく説明しています。
    *   **LLaVA-Video-7B**は、動画理解タスクで最先端の性能を発揮するモデルであり、VideoRAGが**動画の視覚情報とテキスト情報を統合的に処理**して回答を生成する際に重要な役割を果たします。
    *   この論文を読むことで、**LVLMがどのように動画を理解し、テキストを生成するのか**について、より深い知識を得ることができます。

3.  **[「Retrieval-augmented generation for knowledge-intensive NLP tasks」](https://arxiv.org/pdf/2005.11401)**:
    *   この論文は、**検索拡張生成（RAG）** の概念を提唱した重要な研究であり、VideoRAGの基盤となる技術を理解する上で不可欠です。
    *   RAGは、外部知識源から関連情報を検索し、それを利用して回答を生成する手法であり、VideoRAGは、このRAGの枠組みを動画に応用したものです。
    *   この論文を読むことで、**RAGの基本的な仕組みや、その有効性**について学ぶことができ、VideoRAGがなぜ外部知識源（動画）を利用する必要があるのかについての理解が深まります。

これらの論文は、VideoRAGの核心部分を構成する**動画検索、回答生成、そしてRAGの基本概念**について深く掘り下げるのに役立ちます。これらの論文を読むことで、VideoRAGの動作原理や有効性について、より包括的な理解を得ることができるでしょう。


# 所感
今日のLLMはかなり親切・丁寧でした。
AIエンジニアがいれば実装できそうですが、この論文に基づいたGitHubが見つけられなかったので、調査・実装工数は多そうです。


# 参考文献

1.  **VideoRAG: Retrieval-Augmented Generation over Video Corpus**: この論文自体が、VideoRAGの基礎となるフレームワークを提示しており、最も重要な参考文献です。VideoRAGのアーキテクチャ、動画検索の方法、回答生成のプロセス、そして実験結果の詳細が述べられています。
2.  **Dense passage retrieval for open-domain question answering**: この論文は、**密なパッセージ検索（Dense Passage Retrieval, DPR）** の手法を提案しており、テキストベースのRAGにおける重要な技術です。VideoRAGでは、動画の表現を検索する際に、このDPRの考え方が応用されています。
3.  **Retrieval-augmented generation for knowledge-intensive NLP tasks**: この論文は、**検索拡張生成（Retrieval-Augmented Generation, RAG）** の概念を確立した重要な研究です。RAGの基本的な仕組みと、その有効性を示しています。
4.  **Internvideo2: Scaling foundation models for multimodal video understanding**: VideoRAGの**動画検索**に利用されている**InternVideo2**の詳細が記載されています。動画とテキストの対応関係を学習する際に重要となります。
5.  **Llava-next: A strong zero-shot video understanding model**: VideoRAGの**回答生成**に利用されている**LLaVA-Video-7B**の詳細が記載されています。特に動画理解において強力なモデルです。
6.  **BERT: Pre-training of deep bidirectional transformers for language understanding**: この論文は、自然言語処理における**BERT**モデルの基礎となる論文です。BERTは、文章の意味を理解するための重要なモデルであり、VideoRAGにおいてもテキスト処理に利用されています。
7.   **Gemini: A family of highly capable multimodal models**: この論文は、**Gemini**モデルに関するもので、大規模なマルチモーダルモデルがどのようなものかを理解するのに役立ちます。
8. **Howto100m: Learning a text-video embedding by watching hundred million narrated video clips**: VideoRAGの実験で利用されている **HowTo100Mデータセット** の詳細が記載されています。このデータセットは、大規模な動画とテキストのペアデータを提供しており、VideoRAGの有効性を検証する上で重要な役割を果たします。
9.  **Whisper**: VideoRAGで利用されている**自動音声認識（Automatic Speech Recognition, ASR）** モデルである**Whisper**の詳細が記載されています。動画の字幕がない場合に、音声からテキストを生成するために使用されます。
10.  **ROUGE: A package for automatic evaluation of summaries, BLEU: a method for automatic evaluation of machine translation, Bertscore: Evaluating text generation with BERT**: これらの論文は、VideoRAGの実験結果を評価するために使用された評価指標（**ROUGE-L, BLEU-4, BERTScore**）に関する論文です。それぞれの指標の意味と、モデルの評価における役割を理解するために役立ちます。