YOLO Vision 2026 :
Retour au glossaire Ultralytics

Memory Bank

Apprends ce qu'est une banque de mémoire dans le deep learning. Explore comment les banques de mémoire stockent les plongements pour l'apprentissage contrastif, le suivi d'objets et la compréhension vidéo.

Une memory bank est une structure de données utilisée dans les algorithmes de machine learning pour stocker et référencer des informations issues d'itérations précédentes ou d'échantillons traités, ce qui dissocie efficacement la capacité de mémoire du modèle de ses contraintes de calcul immédiates. Dans le contexte du deep learning (DL), une memory bank sert généralement de dépôt pour des embeddings ou des vecteurs de caractéristiques. Cela permet à un modèle de comparer l'entrée actuelle à un vaste historique d'entrées précédentes sans avoir à retraiter ou à conserver toutes ces données simultanément dans la mémoire vive (RAM) active. En maintenant un tampon de représentations, les modèles peuvent apprendre à partir d'un contexte plus large, améliorant ainsi les performances dans les tâches qui nécessitent une cohérence à long terme ou une comparaison avec de grands jeux de données.

Le fonctionnement d'une banque de mémoire#

La fonction principale d'une memory bank est d'étendre les informations disponibles au-delà du batch size actuel. Pendant l'entraînement, à mesure que les données circulent dans le réseau de neurones, les représentations de caractéristiques obtenues sont poussées dans la banque. Si la banque atteint sa capacité maximale, les caractéristiques les plus anciennes sont généralement supprimées pour faire place aux nouvelles, un processus connu sous le nom de file d'attente Premier entré, premier sorti (FIFO).

Ce mécanisme est particulièrement crucial car la mémoire du GPU est limitée. Sans memory bank, comparer une seule image à un million d'autres images nécessiterait un batch size impossible à faire tenir sur du matériel standard. Avec une memory bank, le modèle peut stocker des vecteurs légers de ces un million d'images et les référencer efficacement à l'aide de techniques de similarity search, telles que le produit scalaire ou la similarité cosinus.

Applications concrètes#

Les memory banks sont devenues une pierre angulaire dans plusieurs flux de travail avancés de computer vision (CV) et de traitement du langage naturel :

  • Apprentissage contrastif (Apprentissage auto-supervisé) : L'une des applications les plus célèbres concerne l'apprentissage contrastif, en particulier dans des algorithmes tels que Momentum Contrast (MoCo). Ici, l'objectif est d'apprendre au modèle à distinguer une image spécifique de nombreux échantillons « négatifs » (différentes images). Une memory bank stocke des milliers de représentations d'échantillons négatifs, permettant au modèle d'apprendre des caractéristiques robustes sans nécessiter de données d'entraînement étiquetées. Pour des détails techniques approfondis, les chercheurs font souvent référence à l'article MoCo qui a popularisé cette approche.
  • Suivi d'objets à long terme : En analyse vidéo, un objet (comme une voiture ou une personne) peut être temporairement masqué par un obstacle. Les traceurs standard peuvent perdre l'identité (ID) de l'objet pendant cette occlusion. Les traceurs avancés utilisent une memory bank pour stocker les caractéristiques visuelles des objets détectés par le passé. Lorsque l'objet réapparaît, le système interroge la banque pour rétablir la bonne ID. Les utilisateurs qui exploitent Ultralytics YOLO26 pour l'object tracking bénéficient d'une logique interne similaire qui maintient la cohérence des identités d'une image à l'autre.
  • Compréhension vidéo : Pour reconnaître des actions qui s'étendent sur plusieurs secondes ou minutes, les modèles ont besoin d'un contexte temporel. Une memory bank agit comme un tampon pour les images ou clips passés, permettant au réseau de « se souvenir » de ce qui s'est passé au début d'une vidéo tout en traitant la fin. C'est crucial pour l'action recognition précise.

Distinguer les concepts apparentés#

Il est utile de différencier la banque de mémoire des autres concepts de stockage et de traitement trouvés dans le glossaire :

  • Memory Bank vs. Vector Database : Les deux stockent des embeddings pour la récupération. Cependant, une memory bank est généralement une structure transitoire en mémoire utilisée dynamiquement pendant l'entraînement ou l'inférence active d'une seule session de modèle. Une base de données vectorielle (comme celles utilisées dans RAG) est une solution de stockage persistante et évolutive conçue pour durer indéfiniment et servir plusieurs applications.
  • Memory Bank vs. Context Window : Une fenêtre de contexte (courante dans les Transformers) définit la longueur maximale de la séquence d'entrée que le modèle traite en une seule fois (par exemple, 32k tokens). Une memory bank est un tampon externe qui stocke des représentations compressées en dehors de la fenêtre de traitement active, permettant théoriquement une profondeur de mémoire infinie, comme on le voit dans des architectures telles que Transformer-XL.
  • Memory Bank vs. Batch Size : Le batch size indique combien d'échantillons sont traités en parallèle pour les mises à jour de gradient. Une memory bank augmente le nombre effectif d'échantillons que le modèle peut « voir » à des fins de comparaison sans augmenter le coût de calcul des passes avant et arrière.

Exemple de code : Simulation d'une banque de caractéristiques#

L'extrait Python suivant illustre le concept d'une memory bank Premier entré, premier sorti (FIFO) en utilisant torch. Cette structure est souvent utilisée pour maintenir un historique glissant de vecteurs de caractéristiques lors de boucles d'entraînement personnalisées ou de tâches d'inférence complexes.

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

Défis et considérations#

Bien que puissantes, les banques de mémoire introduisent le défi de la "dérive de représentation". Étant donné que le réseau encodeur change légèrement à chaque étape d'entraînement, les caractéristiques stockées dans la banque il y a 100 étapes pourraient être "obsolètes" ou incohérentes avec l'état actuel du modèle. Des techniques comme l'utilisation d'un encodeur momentum (une moyenne à mise à jour lente du modèle) aident à atténuer ce problème.

Pour les équipes cherchant à gérer des versions de jeux de données et des artéfacts de modèles qui utilisent ces techniques avancées, l'Ultralytics Platform fournit un hub centralisé pour organiser les données, suivre les expériences et déployer des modèles efficacement. La gestion de la complexité du stockage et de la récupération des caractéristiques est essentielle pour passer d'une intelligence artificielle (IA) expérimentale à des systèmes de production robustes.

Explore solutions

Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble le futur de l'IA !

Commence ton aventure avec le futur de l'apprentissage automatique