Ultralytics YOLO27:
Ultralytics用語集に戻る

Memory Bank

ディープラーニングにおけるメモリバンクとは何かを学びます。メモリバンクが埋め込みを保存し、コントラスト学習、物体追跡、動画理解に利用される方法を解説します。

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

メモリバンクの仕組み#

メモリバンクの主な機能は、現在のバッチサイズを超えて利用可能な情報を拡張することです。トレーニング中にデータがニューラルネットワークを通過すると、生成された特徴表現がバンクに追加されます。バンクが最大容量に達すると、通常は新しい特徴のための空間を確保するために最も古い特徴が削除されます。これは先入れ先出し (FIFO) キューと呼ばれるプロセスです。

この仕組みが特に重要なのは、GPUメモリが有限だからです。メモリバンクがなければ、1枚の画像を他の100万枚の画像と比較するために、標準的なハードウェアには収まらないバッチサイズが必要になります。メモリバンクを使用すると、モデルは100万枚の画像の軽量なベクトルを保存し、内積やコサイン類似度などの類似度検索手法を使って効率的に参照できます。

実世界での利用例#

メモリバンクは、複数の高度なコンピュータビジョン (CV)および自然言語処理ワークフローの中核となっています。

  • コントラスト学習(自己教師あり学習): 最も有名な用途の1つは、特にMomentum Contrast (MoCo) などのアルゴリズムにおけるコントラスト学習です。ここでは、特定の画像を多数の「ネガティブ」サンプル(異なる画像)から識別できるようにモデルを学習させることが目標です。メモリバンクには数千件のネガティブサンプルの表現が保存されるため、ラベル付きのトレーニングデータを必要とせずに、モデルは堅牢な特徴を学習できます。詳しい技術情報については、このアプローチを広めたMoCo論文が研究者によく参照されています。
  • 長期オブジェクトトラッキング: ビデオ分析では、物体(車や人など)が障害物によって一時的に遮られることがあります。標準的なトラッカーでは、この遮蔽中に物体のIDを見失う場合があります。高度なトラッカーは、過去に検出された物体の視覚的特徴をメモリバンクに保存します。物体が再び現れると、システムはバンクを検索して正しいIDを再確立します。Ultralytics YOLO26オブジェクトトラッキングに活用するユーザーは、フレーム間のIDの一貫性を維持する同様の内部ロジックのメリットを得られます。
  • ビデオ理解: 数秒から数分にわたるアクションを認識するには、モデルに時間的コンテキストが必要です。メモリバンクは過去のフレームやクリップのバッファーとして機能し、ネットワークがビデオの終盤を処理しながら、冒頭で何が起きたかを「記憶」できるようにします。これは正確なアクション認識に不可欠です。

関連する概念との違い#

用語集にある他のストレージおよび処理の概念とメモリバンクを区別すると理解しやすくなります。

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

コード例: Feature Bankのシミュレーション#

次のPythonスニペットは、torchを使用した先入れ先出し (FIFO) メモリバンクの概念を示しています。この構造は、カスタムトレーニングループや複雑な推論タスクで特徴ベクトルのローリング履歴を維持するためによく使用されます。

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])

課題と考慮事項#

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

これらの高度な手法を活用するデータセットバージョンとモデルアーティファクトを管理したいチーム向けに、Ultralytics Platformは、データの整理、実験の追跡、モデルの効率的なデプロイを行うための一元化されたハブを提供します。特徴の保存と取得の複雑さを管理することは、実験的な人工知能 (AI)から堅牢な本番システムへ移行するために不可欠です。

Explore solutions

航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る

AIの未来を一緒に築きましょう!

機械学習の未来への歩みを始めましょう