Scopri come l'apprendimento continuo consente all'IA di acquisire nuove competenze senza dimenticare quelle già acquisite. Esplora le strategie chiave e aggiorna i tuoi modelli Ultralytics per l'IA edge.
L'apprendimento continuo (CL), spesso definito apprendimento permanente, descrive la capacità di un modello di intelligenza artificiale di apprendere in modo sequenziale nuove attività o acquisire nuove conoscenze nel tempo senza dimenticare le informazioni apprese in precedenza . A differenza dei tradizionali processi di apprendimento automatico, in cui i modelli vengono addestrati una volta su un set di dati statico e poi implementati, l'apprendimento continuo imita la capacità umana di adattarsi a nuovi ambienti e imparare continuamente da nuove esperienze . La sfida principale in questo campo è superare il dimenticare catastrofico, un fenomeno in cui l'addestramento di una rete neurale su nuovi dati causa un drastico degrado delle sue prestazioni su compiti più vecchi perché i pesi ottimizzati per i vecchi compiti vengono sovrascritti.
In ambienti dinamici reali, la distribuzione dei dati raramente rimane statica. Ad esempio, un sistema di percezione visiva su un veicolo autonomo deve adattarsi al cambiamento delle stagioni, alle nuove norme di circolazione o alle diverse configurazioni urbane senza perdere la capacità di riconoscere i segnali stradali di base appresi durante la formazione iniziale. Iltradizionale riaddestramento da zero su un set di dati cumulativo è spesso computazionalmente costoso e poco pratico a causa dei vincoli di archiviazione o delle preoccupazioni relative alla privacy . L'apprendimento continuo affronta questi problemi consentendo ai modelli di aggiornarsi in modo incrementale, rendendoli più efficienti e scalabili per le applicazioni di IA edge in cui le risorse sono limitate.
Per mitigare il dimenticare catastrofico, i ricercatori impiegano diverse strategie. I metodi di regolarizzazione aggiungono vincoli alla funzione di perdita per impedire cambiamenti significativi ai pesi importanti identificati nelle attività precedenti. I metodi di riproduzione memorizzano un piccolo sottoinsieme di dati precedenti (o generano campioni sintetici utilizzando l'IA generativa) e li mescolano con i nuovi dati durante l'addestramento. Infine, l'isolamento dei parametri dedica specifici sottoinsiemi dei parametri del modello a compiti diversi, garantendo che gli aggiornamenti per un nuovo compito non interferiscano con i parametri ottimizzati per quelli precedenti. I recenti progressi nel 2024 e nel 2025 si sono concentrati sull'utilizzo di modelli di linguaggio visivo per identificare meglio quali caratteristiche sono generiche e quali sono specifiche del compito.
È importante distinguere l'apprendimento continuo dall' apprendimento per trasferimento. Nell'apprendimento per trasferimento, un modello pre-addestrato funge da punto di partenza per risolvere un nuovo compito specifico e le prestazioni sul compito originale sono solitamente irrilevanti. L'obiettivo è massimizzare le prestazioni nel dominio di destinazione. Al contrario, l'obiettivo dell' apprendimento continuo è quello di ottenere buoni risultati sia nel nuovo compito che in tutti i compiti precedenti. Allo stesso modo, mentre l' apprendimento attivo si concentra sulla selezione dei punti dati più informativi da etichettare per l'addestramento, l'apprendimento continuo si concentra sul processo di aggiornamento del modello stesso nel tempo.
Sebbene un vero apprendimento continuo richieda adeguamenti architetturali specializzati, gli utenti possono simulare questo flusso di lavoro ottimizzando i modelli su nuovi dati combinati con un buffer di dati precedenti. Ultralytics semplifica la gestione di questi set di dati e il versioning dei modelli. Di seguito è riportato un esempio di come si potrebbe approcciare l'aggiornamento di un modello utilizzando Python :
from ultralytics import YOLO
# Load a model previously trained on 'dataset_v1.yaml'
model = YOLO("yolo26n-v1.pt")
# Train the model on a new dataset containing new and old samples
# This helps mitigate catastrophic forgetting by "replaying" old data
results = model.train(
data="dataset_v2_combined.yaml",
epochs=50,
imgsz=640,
lr0=0.001, # Lower learning rate for fine-tuning
)
Nonostante i progressi compiuti, l'apprendimento continuo rimane un'area di ricerca attiva. È difficile determinare il dilemmaottimale tra plasticità e stabilità, ovvero trovare un equilibrio tra la capacità di apprendere cose nuove (plasticità) e la capacità di conservare quelle vecchie (stabilità). Inoltre, la valutazione di questi sistemi richiede solide metriche di prestazione che tengano conto sia del trasferimento in avanti (velocità di apprendimento di nuovi compiti) che del trasferimento all'indietro (impatto sui vecchi compiti). Man mano che i modelli di base diventano più grandi, metodi di adattamento continuo efficienti come il Low-Rank Adaptation (LoRA) stanno diventando cruciali per personalizzare sistemi su larga scala senza un completo riaddestramento.