YOLO Vision 2026:
Torna al glossario Ultralytics

Memory Bank

Scopri cos'è un memory bank nel deep learning. Esplora come i memory bank archiviano gli embedding per l'apprendimento contrastivo, il tracciamento di oggetti e la comprensione video.

Un memory bank è una struttura dati utilizzata negli algoritmi di machine learning per memorizzare e fare riferimento a informazioni provenienti da iterazioni passate o campioni elaborati, disaccoppiando efficacemente la capacità di memoria del modello dai suoi vincoli computazionali immediati. Nel contesto del deep learning (DL), un memory bank funge tipicamente da archivio per embeddings o vettori di caratteristiche. Ciò consente a un modello di confrontare l'input corrente con una vasta cronologia di input precedenti senza la necessità di rielaborare o mantenere tutti quei dati nella memoria ad accesso casuale (RAM) attiva contemporaneamente. Mantenendo un buffer di rappresentazioni, i modelli possono imparare da un contesto più ampio, migliorando le prestazioni in attività che richiedono coerenza a lungo termine o il confronto con grandi dataset.

I meccanismi di un Memory Bank#

La funzione principale di un memory bank è estendere le informazioni disponibili oltre l'attuale batch size. Durante l'addestramento, man mano che i dati fluiscono attraverso la rete neurale, le rappresentazioni delle caratteristiche risultanti vengono inserite nel banco. Se il banco raggiunge la sua capacità massima, le caratteristiche più vecchie vengono solitamente rimosse per fare spazio a quelle nuove, un processo noto come coda First-In, First-Out (FIFO).

Questo meccanismo è particolarmente vitale perché la memoria della GPU è finita. Senza un memory bank, confrontare una singola immagine con un milione di altre immagini richiederebbe una batch size impossibile da gestire su hardware standard. Con un memory bank, il modello può memorizzare vettori leggeri di quei milioni di immagini e consultarli in modo efficiente utilizzando tecniche di similarity search, come il prodotto scalare o la somiglianza del coseno.

Applicazioni nel mondo reale#

I memory bank sono diventati un pilastro in diversi flussi di lavoro avanzati di computer vision (CV) e natural language:

  • Contrastive Learning (Self-Supervised Learning): Una delle applicazioni più famose è nel contrastive learning, nello specifico in algoritmi come Momentum Contrast (MoCo). Qui, l'obiettivo è insegnare al modello a distinguere un'immagine specifica da molti campioni "negativi" (immagini diverse). Un memory bank memorizza migliaia di rappresentazioni di campioni negativi, consentendo al modello di apprendere caratteristiche robuste senza richiedere training data etichettati. Per dettagli tecnici approfonditi, i ricercatori fanno spesso riferimento al MoCo paper che ha reso popolare questo approccio.
  • Long-Term Object Tracking: Nell'analisi video, un oggetto (come un'auto o una persona) può essere temporaneamente oscurato da un ostacolo. I tracker standard potrebbero perdere l'identità (ID) dell'oggetto durante questa occlusione. I tracker avanzati utilizzano un memory bank per memorizzare le caratteristiche visive degli oggetti rilevati in passato. Quando l'oggetto riappare, il sistema interroga il banco per ristabilire l'ID corretto. Gli utenti che sfruttano Ultralytics YOLO26 per l'object tracking beneficiano di una logica interna simile che mantiene la coerenza dell'identità tra i fotogrammi.
  • Video Understanding: Per riconoscere azioni che durano diversi secondi o minuti, i modelli necessitano di un contesto temporale. Un memory bank funge da buffer per fotogrammi o clip passati, consentendo alla rete di "ricordare" ciò che è successo all'inizio di un video mentre elabora la fine. Questo è fondamentale per un accurato action recognition.

Distinguere concetti correlati#

È utile differenziare il memory bank da altri concetti di archiviazione ed elaborazione presenti nel glossario:

  • Memory Bank vs. Vector Database: Entrambi memorizzano embeddings per il recupero. Tuttavia, un memory bank è tipicamente una struttura transitoria in-memory utilizzata dinamicamente durante il training o l'active inference di una singola sessione del modello. Un vector database (come quelli utilizzati in RAG) è una soluzione di archiviazione persistente e scalabile pensata per durare indefinitamente e servire più applicazioni.
  • Memory Bank vs. Context Window: Una context window (comune nei Transformer) definisce la lunghezza massima della sequenza di input che il modello elabora in una volta sola (ad esempio, 32k token). Un memory bank è un buffer esterno che memorizza rappresentazioni compresse al di fuori della finestra di elaborazione attiva, consentendo teoricamente una profondità di memoria infinita, come si vede in architetture come Transformer-XL.
  • Memory Bank vs. Batch Size: La batch size determina quanti campioni vengono elaborati in parallelo per gli aggiornamenti del gradiente. Un memory bank aumenta il numero effettivo di campioni che il modello può "vedere" a scopo di confronto senza aumentare il costo computazionale dei passaggi in avanti (forward) e all'indietro (backward).

Esempio di codice: Simulare un Feature Bank#

Il seguente snippet Python dimostra il concetto di memory bank First-In, First-Out (FIFO) utilizzando torch. Questa struttura viene spesso utilizzata per mantenere una cronologia continua di vettori di caratteristiche durante loop di addestramento personalizzati o complesse attività di inferenza.

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

Sfide e considerazioni#

Sebbene potenti, i memory bank introducono la sfida del "drift della rappresentazione". Poiché la rete dell'encoder cambia leggermente a ogni passaggio di addestramento, le caratteristiche memorizzate nel bank 100 passaggi fa potrebbero essere "obsolete" o incoerenti con lo stato attuale del modello. Tecniche come l'uso di un momentum encoder (una media che si aggiorna lentamente del modello) aiutano a mitigare questo problema.

Per i team che desiderano gestire versioni di dataset e artefatti di modelli che utilizzano queste tecniche avanzate, Ultralytics Platform fornisce un hub centralizzato per organizzare i dati, tracciare gli esperimenti e distribuire i modelli in modo efficiente. La gestione della complessità dell'archiviazione e del recupero delle caratteristiche è essenziale per passare da artificial intelligence (AI) sperimentale a sistemi di produzione robusti.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning