YOLO26の紹介: 次世代のビジョンAI。
Ultralytics
Ultralytics用語集に戻る

Memory Bank

ディープラーニングにおけるメモリバンクとは何かを学びます。メモリバンクが対照学習、物体追跡、ビデオ理解のためにどのように埋め込みを保存するかを探ります。

Memory Bankとは、機械学習アルゴリズムで使用されるデータ構造であり、過去のイテレーションや処理済みサンプルからの情報を保存・参照することで、モデルのメモリ容量と即時の計算制約を効果的に切り離します。ディープラーニング (DL)のコンテキストにおいて、Memory Bankは通常、エンベディングや特徴ベクトルを格納するリポジトリとして機能します。これにより、モデルは大量の過去の入力をすべて一度にアクティブなランダムアクセスメモリ(RAM)に保持したり再処理したりすることなく、現在の入力と比較することが可能になります。表現のバッファを維持することで、モデルはより広範なコンテキストから学習し、長期的な整合性や大規模なデータセットとの比較が必要なタスクのパフォーマンスを向上させることができます。

Link to this sectionMemory Bankの仕組み#

Memory Bankの主な機能は、現在のバッチサイズを超える情報を利用できるようにすることです。トレーニング中にデータがニューラルネットワークを通過すると、得られた特徴表現がMemory Bankにプッシュされます。バンクが最大容量に達すると、通常は最も古い特徴が削除され、新しい特徴のためのスペースが確保されます。これは先入れ先出し(FIFO)キューとして知られるプロセスです。

GPUメモリは有限であるため、このメカニズムは特に重要です。Memory Bankがなければ、単一の画像を100万枚の画像と比較するには、標準的なハードウェアでは不可能なバッチサイズが必要になります。Memory Bankを使用することで、モデルはそれら100万枚の画像の軽量ベクトルを保存し、ドット積やコサイン類似度といった類似度検索技術を用いて効率的に参照できるようになります。

Link to this section実社会での応用#

Memory Bankは、いくつかの高度なコンピュータビジョン (CV)および自然言語ワークフローにおいて重要な要素となっています。

  • 対照学習(自己教師あり学習): 最も有名なアプリケーションの一つに、対照学習、特にMomentum Contrast (MoCo) のようなアルゴリズムがあります。ここでの目標は、特定の画像を多くの「ネガティブ」サンプル(異なる画像)から識別するようにモデルをトレーニングすることです。Memory Bankは数千のネガティブサンプルの表現を保存し、ラベル付きのトレーニングデータを必要とせずに、モデルが堅牢な特徴を学習できるようにします。技術的な詳細については、研究者は多くの場合、このアプローチを一般化させたMoCoの論文を参照します。
  • Long-Term Object Tracking: In video analysis, an object (like a car or person) may be temporarily obscured by an obstacle. Standard trackers might lose the object's identity (ID) during this occlusion. Advanced trackers use a memory bank to store the visual features of objects detected in the past. When the object reappears, the system queries the bank to re-establish the correct ID. Users leveraging Ultralytics YOLO26 for object tracking benefit from similar internal logic that maintains identity consistency across frames.
  • 動画理解: 数秒から数分にわたるアクションを認識するには、モデルは時間的なコンテキストを必要とします。Memory Bankは過去のフレームやクリップのバッファとして機能し、ネットワークが動画の終盤を処理している間に、開始時に何が起こったかを「記憶」できるようにします。これは正確なアクション認識において極めて重要です。

Link to this section関連概念の区別#

用語集にある他の保存・処理の概念とMemory Bankを区別すると理解しやすくなります。

  • Memory Bank vs ベクトルデータベース 両者とも検索用にエンベディングを保存しますが、Memory Bankは通常、単一のモデルセッションのトレーニングアクティブ推論中に動的に使用される一時的なインメモリ構造です。一方、ベクトルデータベース(RAGで使用されるものなど)は、長期間存続し、複数のアプリケーションにサービスを提供することを目的とした永続的かつスケーラブルなストレージソリューションです。
  • Memory Bank vs コンテキストウィンドウ コンテキストウィンドウ(Transformerで一般的)は、モデルが一度に処理する最大入力シーケンス長(例:32kトークン)を定義します。Memory Bankは、アクティブな処理ウィンドウの「外側」に圧縮表現を保存する外部バッファであり、Transformer-XLのようなアーキテクチャに見られるように、理論上は無限のメモリ深度を可能にします。
  • Memory Bank vs バッチサイズ バッチサイズは、勾配更新のために並列処理されるサンプルの数を決定します。Memory Bankは、順伝播および逆伝播の計算コストを増加させることなく、比較のためにモデルが「認識」できるサンプルの実効数を増加させます。

Link to this sectionコード例:特徴バンクのシミュレーション#

以下のPythonスニペットは、torchを使用した先入れ先出し(FIFO)方式のMemory Bankの概念を示しています。この構造は、カスタムトレーニングループや複雑な推論タスク中に、特徴ベクトルのローリング履歴を維持するために頻繁に使用されます。

import torch

# Initialize a memory bank (Capacity: 100 features, Vector Dim: 128)
# In a real scenario, these would be embeddings from a model like YOLO26
memory_bank = torch.randn(100, 128)

# Simulate receiving a new batch of features (e.g., from the current image batch)
new_features = torch.randn(10, 128)

# Update the bank: Enqueue new features, Dequeue the oldest ones
# This maintains a fixed size while keeping the memory 'fresh'
memory_bank = torch.cat([memory_bank[10:], new_features], dim=0)

print(f"Updated Memory Bank Shape: {memory_bank.shape}")
# Output: Updated Memory Bank Shape: torch.Size([100, 128])

Link to this section課題と考慮事項#

Memory Bankは強力ですが、「表現のドリフト」という課題をもたらします。エンコーダーネットワークはトレーニングステップごとにわずかに変化するため、100ステップ前にバンクに保存された特徴は「陳腐化」しているか、現在のモデルの状態と矛盾している可能性があります。(モデルのゆっくりと更新される平均である)モメンタムエンコーダーを使用するような手法が、この問題を軽減するのに役立ちます。

これらの高度な手法を利用するデータセットのバージョン管理やモデル成果物の管理を検討しているチームにとって、Ultralytics Platformは、データを整理し、実験を追跡し、モデルを効率的にデプロイするための中央ハブを提供します。実験的な人工知能 (AI)から堅牢な本番システムへ移行するには、特徴の保存と検索の複雑さを管理することが不可欠です。

Explore solutions

Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。

詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。

詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。

詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。

詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。

詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。

詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。

詳細はこちら

AIの未来を共に築き上げましょう!

機械学習の未来とともに旅を始めましょう