用語集

コンテキスト・ウィンドウ

NLP、時系列分析、視覚AIのAI/MLモデルを強化し、予測と精度を向上させるコンテキスト・ウィンドウの仕組みをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

コンテキスト・ウィンドウとは、機械学習(ML)モデルがテキストや時系列情報などの逐次データを処理する際に考慮する、先行する(場合によっては後続する)情報の有限スパンを指す。これは、シーケンスの任意の時点におけるモデルの焦点、または短期記憶と考える。この概念は、モデルが関係を理解し、予測を行い、関連する出力を生成するために、どれだけのコンテキストを活用できるかを定義するため、非常に重要である。コンテキストウィンドウのサイズは、モデルがデータ内の依存関係を把握する能力に直接影響し、そのパフォーマンスと計算要件の両方に影響を及ぼします(多くの場合、Ultralytics HUBのようなプラットフォームで管理されます)。

自然言語処理(NLP)におけるコンテクストウィンドウ

コンテキスト・ウィンドウは、自然言語処理(NLP)の基本概念である。BERTや GPTなどのアーキテクチャを支えるトランスフォーマーのようなモデルは、コンテキストウィンドウに大きく依存している。これらのモデルでは、コンテキスト・ウィンドウは、特定のトークンを処理する際に、先行するトークン(単語やサブワード)をいくつ考慮するかを決定する。コンテキストウィンドウを大きくすることで、モデルはテキスト内のより長い範囲の依存関係を理解できるようになり、OpenAIのGPT-4のような高度なモデルに見られるように、より首尾一貫した、コンテキストを意識した出力につながる可能性がある。Attention Is All You Need」のような研究論文では、コンテキストを処理するのに有効なアーキテクチャが紹介されている。しかし、ウィンドウを大きくすると、モデルの学習や 推論時の計算負荷やメモリ使用量も大幅に増加する。

ビジョンAIにおけるコンテキスト・ウィンドウ

自然言語処理(NLP)で最もよく議論されるが、コンテキストウィンドウの考え方は、コンピュータビジョン(CV)、特にビデオストリームや画像シーケンスを分析する場合にも適用できる。例えば、物体の追跡では、物体の軌跡をより良く予測し、オクルージョンを処理するために、連続する複数のフレームのコンテキストウィンドウをモデルが使用することがある。この時間的コンテキストは、時間経過に伴うトラッキングの一貫性を維持するのに役立ちます。Ultralytics YOLO モデルは、主にリアルタイムの物体検出で知られていますが、ビデオ解析のようなタスクにコンテキストウィンドウを利用するシステムに統合することができ、単一フレーム処理以上の機能を強化することができます。トラッキングアルゴリズムにYOLO 統合するなどの高度なビジョンアプリケーションの例については、Ultralytics ソリューションをご覧ください。

実世界のAI/MLアプリケーションにおけるコンテキスト・ウィンドウの例

コンテキスト・ウィンドウの概念は、多くのAIアプリケーションに不可欠である:

  • チャットボットとバーチャルアシスタント最新のチャットボットは、コンテキストウィンドウを使って会話の履歴を管理する。これにより、後続の質問を理解し、以前のポイントを参照し、より自然で首尾一貫した対話を提供し、反復的または無関係な応答を避けることができます。GoogleGeminiのようなモデルは、洗練された対話のために大きなコンテキストウィンドウを活用しています。
  • 金融予測のための時系列分析金融モデルは、将来の市場の動きを予測するために、定義されたコンテキストウィンドウ内で過去の株価、経済指標、または取引量のシーケンスを分析します。ウィンドウの大きさは、過去のデータが予測に与える影響を決定する。金融分野のAIは、慎重に調整されたコンテキスト・ウィンドウに依存することが多い。
  • テキスト予測アルゴリズムスマートフォンで文字を入力する際、キーボードは文脈ウィンドウ内の前の単語に基づいて次の単語を提案し、入力速度と精度を向上させます。

主な考察と関連概念

適切なコンテキスト・ウィンドウのサイズを選択することは、トレードオフを伴う。より大きなウィンドウは、より多くのコンテキストを捉え、モデルの精度を向上させる可能性がある。しかし、より多くのメモリと計算能力を必要とし、学習と推論が遅くなる可能性がある。Transformer-XLのような技術は、より長いコンテキストをより効率的に扱うことを目的としている。

コンテキストウィンドウを関連用語と区別することは有用である:

  • 受容野概念的には似ているが(入力領域が出力に影響を与える)、受容野は通常、畳み込みニューラルネットワーク(CNN)で処理される画像のような入力における空間的な広がりを指す。コンテキスト・ウィンドウは通常、シーケンシャルなデータ(テキスト、時系列、ビデオフレーム)に適用される。
  • シーケンス長:多くのモデル、特にトランスフォーマーでは、コンテキストウィンドウのサイズが、モデルが一度に処理できる最大シーケンス長を直接定義する。長いシーケンスは切り詰めたり、特殊なアーキテクチャを使って処理する必要があるかもしれない。これはSequence-to-Sequenceモデルに関連する。

以下のようなフレームワーク PyTorch( PyTorch 公式サイト経由)や TensorFlow(TensorFlow 公式サイトに詳細あり)は、コンテキストウィンドウが重要なパラメータとなるモデルを構築するためのツールを提供する。特に、リカレントニューラルネットワーク(RNN)やトランスフォーマーのようなシーケンシャルなデータ構造を扱う場合だ。効率的なモデルの展開には、コンテキストの取り扱いを最適化する必要があります。

すべて読む