Online Learning
Scopri come l'online learning consente aggiornamenti incrementali dei modelli, si adatta al concept drift e supporta workflow di computer vision più sicuri con Ultralytics YOLO26.
L'apprendimento online è un approccio di apprendimento automatico in cui un modello si aggiorna in modo incrementale man mano che arrivano nuovi esempi, invece di essere addestrato una sola volta su un dataset fisso. Il termine si riferisce agli aggiornamenti del modello in streaming o sequenziali, non all'istruzione basata su Internet. Un sistema di apprendimento online può effettuare previsioni, ricevere feedback e aggiornarsi dopo ogni campione o piccolo batch, come descritto nella definizione di apprendimento online di scikit-learn. Questo lo rende utile quando i dati sono continui, troppo grandi per la memoria o cambiano nel tempo. (scikit-learn.org)
Come funziona l'apprendimento online#
Un ciclo tipico è:
- Il modello riceve un nuovo input ed effettua una previsione.
- Diventa disponibile un'etichetta o un segnale di feedback.
- Viene calcolata la loss e vengono aggiornati i parametri del modello.
- Le prestazioni vengono misurate prima di elaborare l'esempio successivo.
Librerie come River per l'apprendimento automatico in streaming implementano questo workflow di previsione e apprendimento con metodi come predict_one() e learn_one(). Le reti neurali possono usare lo stesso principio tramite ripetuti passaggi dell'ottimizzatore di PyTorch, sebbene i modelli profondi si aggiornino comunemente su piccoli batch per una maggiore efficienza computazionale. (docs.pytorch.org)
L'apprendimento online è particolarmente utile in presenza di concept drift, quando cambia la relazione tra input e output. Tra gli esempi rientrano i modelli stagionali del traffico, i cambiamenti nel comportamento dei clienti, i nuovi difetti di produzione o le telecamere installate in condizioni di illuminazione diverse. Una rassegna del concept drift ricorrente del 2024 evidenzia che condizioni ricorrenti, come il meteo e l'ora del giorno, richiedono sistemi in grado di riconoscere e adattarsi a distribuzioni già incontrate. (ijcai.org)
Apprendimento online nella computer vision#
Ultralytics YOLO non esegue aggiornamenti incontrollati dei pesi a ogni frame durante l'inferenza. I team possono invece approssimare un apprendimento online sicuro tramite il fine-tuning periodico su micro-batch di dati recenti etichettati, combinati con esempi meno recenti:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, lr0=0.001)Questo esempio eseguibile usa Ultralytics YOLO26 e la modalità di training di YOLO documentata per eseguire un piccolo aggiornamento con un learning rate basso. In produzione, coco8.yaml verrebbe sostituito con un dataset versionato contenente campioni recenti e campioni riproposti.
Le applicazioni concrete includono:
- Ispezione visiva nella produzione: i modelli vengono aggiornati quando compaiono nuovi prodotti, materiali o tipi di difetti.
- Percezione dei veicoli autonomi: i sistemi di rilevamento si adattano a strade, condizioni meteorologiche, condizioni delle telecamere e distribuzioni degli oggetti in continua evoluzione.
- Gestione dell'inventario nel commercio al dettaglio: i modelli apprendono nuovi imballaggi e prodotti stagionali senza richiedere un riaddestramento completo.
Concetti correlati e differenze principali#
Il continual learning è più ampio: mira ad apprendere attraverso attività o domini diversi, mantenendo al contempo le conoscenze precedenti. L'apprendimento online descrive quando e con quale frequenza avvengono gli aggiornamenti. L'active learning, invece, seleziona gli esempi più informativi da sottoporre all'annotazione umana, mentre il transfer learning adatta le conoscenze preaddestrate a un'attività target.
Una sfida comune importante è il catastrophic forgetting. Tra le ricerche recenti figurano il BECoTTA per l'adattamento continuo al momento del test del 2024, la minimizzazione dell'entropia classificata del 2025 e il metodo di stabilità-plasticità PLASTIC del 2026, che esplorano un adattamento efficiente senza collasso del modello o perdita delle capacità precedenti. (proceedings.mlr.press)
Best practice attuali#
- Monitora il data drift: monitora le distribuzioni degli input, la confidenza, l'accuratezza e la frequenza delle classi.
- Conserva i dati di replay: combina campioni storici rappresentativi con i nuovi dati per ridurre l'oblio.
- Convalida prima del deployment: confronta i modelli aggiornati con set di test holdout stabili e set basati sui dati recenti.
- Crea versioni dell'intero workflow: usa Ultralytics Platform per gestire annotazione, dataset, training, deployment e monitoraggio.
- Rileva il drift non etichettato: quando le etichette arrivano in ritardo, monitora le distribuzioni delle feature e il comportamento delle previsioni invece di attendere le misurazioni dell'accuratezza. (dfki.de)






