Scopri l'active learning, un metodo di machine learning economico che aumenta l'accuratezza con meno etichette. Scopri come trasforma l'addestramento dell'IA!
Active Learning is a strategic approach in machine learning (ML) where the algorithm proactively selects the most informative data points for labeling, rather than passively accepting a pre-labeled dataset. In traditional supervised learning, models often require massive amounts of annotated data, which can be expensive and time-consuming to create. Active learning optimizes this process by identifying "uncertain" or "hard" examples—those near the decision boundary or where the model lacks confidence—and requesting human annotators to label only those specific instances. This iterative loop allows models to achieve high accuracy with significantly fewer labeled samples, making it highly efficient for projects with limited budgets or time constraints.
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.