Découvre YOLO26 : l'IA de vision de nouvelle génération.
Ultralytics
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 banque de mémoire est une structure de données utilisée dans les algorithmes d'apprentissage automatique pour stocker et référencer des informations provenant d'itérations passées ou d'échantillons traités, découplant efficacement la capacité de mémoire du modèle de ses contraintes de calcul immédiates. Dans le contexte de l'apprentissage profond (DL), une banque de mémoire sert généralement de référentiel 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 besoin de retraitraiter ou de conserver toutes ces données simultanément dans la mémoire vive (RAM) active. En conservant un tampon de représentations, les modèles peuvent apprendre à partir d'un contexte plus large, améliorant les performances dans les tâches qui nécessitent une cohérence à long terme ou une comparaison avec de grands ensembles de données.

Link to this sectionLe fonctionnement d'une banque de mémoire#

La fonction principale d'une banque de mémoire est d'étendre les informations disponibles au-delà de la taille de lot actuelle. Pendant l'entraînement, à mesure que les données circulent dans le réseau neuronal, les représentations de caractéristiques résultantes 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 de la place aux nouvelles, un processus connu sous le nom de file d'attente Premier entré, premier sorti (FIFO).

Ce mécanisme est particulièrement vital car la mémoire GPU est finie. Sans banque de mémoire, comparer une seule image à un million d'autres nécessiterait une taille de lot impossible à gérer sur du matériel standard. Avec une banque de mémoire, le modèle peut stocker des vecteurs légers de ces millions d'images et les référencer efficacement en utilisant des techniques de recherche de similarité, telles que le produit scalaire ou la similarité cosinus.

Link to this sectionApplications concrètes#

Les banques de mémoire sont devenues une pierre angulaire dans plusieurs flux de travail avancés de vision par ordinateur (CV) et de traitement du langage naturel :

  • Apprentissage contrastif (apprentissage auto-supervisé) : L'une des applications les plus célèbres se trouve dans l'apprentissage contrastif, spécifiquement dans des algorithmes comme 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 banque de mémoire 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 se réfèrent souvent au papier MoCo qui a popularisé cette approche.
  • Suivi d'objets à long terme : Dans l'analyse vidéo, un objet (comme une voiture ou une personne) peut être temporairement masqué par un obstacle. Les suiveurs standard pourraient perdre l'identité (ID) de l'objet pendant cette occlusion. Les suiveurs avancés utilisent une banque de mémoire 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 le bon ID. Les utilisateurs tirant parti d'Ultralytics YOLO26 pour le suivi d'objets bénéficient d'une logique interne similaire qui maintient la cohérence de l'identité à travers les images.
  • 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 banque de mémoire 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 une reconnaissance d'action précise.

Link to this sectionDistinguer 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 :

  • Banque de mémoire vs Base de données vectorielle : Les deux stockent des embeddings pour la récupération. Cependant, une banque de mémoire 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 le RAG) est une solution de stockage persistante et évolutive destinée à durer indéfiniment et à servir plusieurs applications.
  • Banque de mémoire vs Fenêtre de contexte : 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 à la fois (par exemple, 32 000 tokens). Une banque de mémoire 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 comme Transformer-XL.
  • Banque de mémoire vs Taille de lot : La taille de lot dicte combien d'échantillons sont traités en parallèle pour les mises à jour de gradient. Une banque de mémoire 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.

Link to this sectionExemple de code : Simulation d'une banque de caractéristiques#

L'extrait Python suivant démontre le concept d'une banque de mémoire Premier entré, premier sorti (FIFO) utilisant torch. Cette structure est souvent utilisée pour maintenir un historique glissant de vecteurs de caractéristiques pendant des boucles d'entraînement personnalisées ou des 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])

Link to this sectionDé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 les versions de jeux de données et les artefacts de modèles qui utilisent ces techniques avancées, la plateforme Ultralytics fournit un hub centralisé pour organiser les données, suivre les expériences et déployer les modèles efficacement. Gérer la complexité du stockage et de la récupération des caractéristiques est essentiel pour passer de l'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