Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Active Learning

Scopri l'active learning, un metodo di machine learning economico che aumenta l'accuratezza con meno etichette. Scopri come trasforma l'addestramento dell'IA!

L'apprendimento attivo è un approccio dinamico nel apprendimento automatico (ML), progettato per ottimizzare il processo di processo di addestramento scegliendo selettivamente i punti dati più informativi per l'annotazione. Nell'apprendimento supervisionato standard apprendimento supervisionato standard, un modello viene alimentato passivamente con un ampio set di dati pre-etichettati, il che può essere inefficiente e costoso se i dati includono esempi ridondanti o non informativi. esempi ridondanti o non informativi. L'apprendimento attivo cambia questo paradigma permettendo al modello di interattivamente una fonte di informazioni, spesso un esperto umano o un "oracolo", per richiedere etichette per istanze specifiche e ambigue, istanze ambigue. Questa strategia mirata riduce significativamente la quantità di dati di addestramento necessari per ottenere un'elevata precisione, il che la rende ideale per i progetti con budget limitati o vincoli di tempo stringenti.

Il ciclo di apprendimento attivo

Il processo di apprendimento attivo funziona come un ciclo iterativo, spesso descritto come un flusso di lavoro "human-in-the-loop". flusso di lavoro "human-in-the-loop". Questo ciclo assicura che lo sforzo umano si concentri esclusivamente sui dati che contribuiscono maggiormente al miglioramento del modello. Il flusso di lavoro flusso di lavoro tipico prevede:

  1. Inizializzazione: Un modello, come ad esempio Ultralytics YOLO11viene addestrato su un piccolo set di dati etichettato, inizialmente, su un piccolo set di dati.
  2. Interrogazione: Il modello esegue le previsioni su un ampio pool di dati non etichettati. Utilizzando una strategia di interrogazione, identifica identifica i campioni in cui la sua fiducia è bassa o in cui le previsioni sono incerte.
  3. Annotazione: Questi campioni "incerti" ad alta priorità vengono inviati a un annotatore umano per l'etichettatura. etichettatura.
  4. Aggiornamento: i nuovi campioni etichettati vengono aggiunti al set di addestramento e il processo di formazione del modello viene ripetuto per perfezionare l'algoritmo. processo di formazione del modello viene ripetuto per perfezionare l'algoritmo.

L'efficacia di questo metodo dipende in larga misura dalla strategia di campionamento. Il campionamento per incertezza è la tecnica più comune, in cui l'algoritmo seleziona le istanze più vicine al suo confine decisionale. Dettagli completi su queste strategie sono disponibili in varie letteratura sull'apprendimento attivo.

Esempio Python : Campionamento dell'incertezza con YOLO11

Il seguente frammento di codice mostra come implementare un ciclo di campionamento dell'incertezza di base. Carica un modello, fa una previsione sulle immagini e identifica quelle con rilevamenti a bassa sicurezza, segnalandole per la revisione manuale.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on a list or directory of unlabeled images
results = model.predict(["image1.jpg", "image2.jpg"])

# Identify images where the model is uncertain
uncertain_samples = []
for result in results:
    # Check if detections exist and if the maximum confidence is below a threshold
    if result.boxes.conf.numel() > 0 and result.boxes.conf.max() < 0.6:
        uncertain_samples.append(result.path)
        print(f"Flagging {result.path} for manual labeling.")

print(f"Total uncertain images found: {len(uncertain_samples)}")

Applicazioni nel mondo reale

L'apprendimento attivo è particolarmente utile nei domini in cui l'etichettatura dei dati è costosa o richiede competenze specialistiche.

  • Analisi delle immagini mediche: In ambito sanitario, l'ottenimento di dati etichettati per compiti come il tumore al cervello spesso richiede il di radiologi altamente qualificati. Invece di etichettare migliaia di scansioni di routine, i sistemi di apprendimento attivo possono identificare anomalie rare o ambigue da sottoporre alla revisione di un esperto. La ricerca sulla segmentazione delle immagini biomediche ha dimostrato che questo approccio può approccio può ridurre drasticamente gli sforzi di annotazione mantenendo la precisione diagnostica.
  • Veicoli autonomi: Le auto a guida autonoma raccolgono enormi quantità di dati video. L'etichettatura di ogni fotogramma è impraticabile. L'apprendimento attivo aiuta gli ingegneri a trovare i "casi limite" - come le condizioni atmosferiche insolite o i pedoni in costume - che l'attuale modello di modello attuale di rilevamento degli oggetti fatica a classify. Dando la priorità a questi scenari difficili, aziende come NVIDIA migliorano la sicurezza e la robustezza dei dei loro sistemi di percezione.

Distinzione dai concetti correlati

L'apprendimento attivo prevede l'utilizzo di dati non etichettati, ma si distingue da altri paradigmi di apprendimento automatico:

  • Apprendimento semi-supervisionato: Questo metodo utilizza dati etichettati e non etichettati durante l'addestramento, ma in genere lo fa in modo passivo. Spesso si basa su sulla distribuzione dei dati per propagare le etichette, mentre l'apprendimento attivo interroga esplicitamente le nuove informazioni. informazioni.
  • Apprendimento auto-supervisionato: In questo approccio, il modello crea i propri segnali di supervisione dalla struttura dei dati (ad esempio, la previsione di una parte mancante di un'immagine). parte mancante di un'immagine). Non richiede l'interazione umana per generare etichette per la parte non etichettata, un'area di ricerca chiave per laboratori come Google AI. di ricerca di laboratori come Google AI.
  • Apprendimento per rinforzo: Si tratta di un agente che impara a prendere decisioni ricevendo ricompense o penalità dall'ambiente. A differenza dell'apprendimento apprendimento attivo, che cerca etichette statiche per i punti dati, l'apprendimento per rinforzo si concentra sull'ottimizzazione di una sequenza di azioni. di azioni.

Integrazione in MLOP

L'implementazione dell'apprendimento attivo richiede una solida operazioni di apprendimento automatico (MLOps) per gestire il flusso di dati tra il modello, il set di dati e l'interfaccia di annotazione. Gli strumenti che supportano la gestione gestione e versionamento dei dati sono essenziali per tracciare quali campioni sono stati interrogati. Mentre le librerie generiche come scikit-learn offrono una certa utilità, i flussi di lavoro di computer vision spesso richiedono un'integrazione personalizzata con immagini per visualizzare e annotare efficacemente le immagini selezionate. in modo efficace. Gli utenti esperti possono esplorare il repository GitHub diUltralytics per vedere come i risultati delle predizioni possono essere strutturati per essere inseriti in questi cicli di cura dei dati.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora