Scopri come l'Active Learning ottimizza la formazione sull'intelligenza artificiale. Impara a utilizzare Ultralytics per identificare dati informativi, ridurre i costi di etichettatura e aumentare la precisione.
L'apprendimento attivo è un approccio strategico nel machine learning (ML) in cui l'algoritmo seleziona in modo proattivo i punti dati più informativi per l'etichettatura, invece di accettare passivamente un set di dati pre-etichettato . Nell'apprendimento supervisionato tradizionale, i modelli richiedono spesso enormi quantità di dati annotati, la cui creazione può essere costosa e richiedere molto tempo. L'apprendimento attivo ottimizza questo processo identificando gli esempi "incerti" o "difficili", quelli vicini al limite decisionale o in cui il modello manca di sicurezza, e richiedendo agli annotatori umani di etichettare solo quelle specifiche istanze. Questo ciclo iterativo consente ai modelli di raggiungere un'elevata precisione con un numero significativamente inferiore di campioni etichettati, rendendolo altamente efficiente per progetti con budget limitati o vincoli di tempo.
Il nucleo dell'apprendimento attivo è un ciclo di feedback spesso indicato come human-in-the-loop. Invece di addestrare una volta su un set di dati statico, il modello si evolve attraverso cicli di query e aggiornamenti.
L'apprendimento attivo è indispensabile nei settori in cui i dati sono abbondanti, ma l'etichettatura richiede conoscenze specialistiche o costi elevati.
Il seguente esempio illustra una semplice logica di "campionamento dell'incertezza" utilizzando Ultralytics . Carichiamo un modello, eseguiamo l'inferenza sulle immagini e contrassegniamo quelle il cui punteggio di affidabilità è inferiore a una determinata soglia per la revisione manuale.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")
È importante distinguere l'apprendimento attivo da paradigmi formativi simili:
L'implementazione efficace dell'apprendimento attivo richiede una solida pipeline di operazioni di apprendimento automatico (MLOps) . È necessaria un'infrastruttura per gestire il versioning dei dati, attivare i lavori di riqualificazione e fornire l'interfaccia di annotazione agli utenti. Gli strumenti che si integrano con Ultralytics consentono agli utenti di passare senza soluzione di continuità dall' inferenza alla curazione dei dati e alla formazione. Ad esempio, l'utilizzo di script di formazione personalizzati consente agli sviluppatori di incorporare rapidamente nuovi batch di dati di apprendimento attivo nei loro YOLO .
Per ulteriori approfondimenti sulle strategie di campionamento, i ricercatori fanno spesso riferimento a indagini complete nella letteratura sull'apprendimento attivo. Inoltre, la comprensione delle metriche di valutazione dei modelli è fondamentale per verificare che il ciclo di apprendimento attivo stia effettivamente migliorando le prestazioni.