Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Curriculum Learning

L'apprendimento basato sul curriculum addestra i modelli prima su esempi più semplici e aggiunge gradualmente quelli più difficili, guidato da un punteggio di difficoltà e da una funzione di progressione.

L'apprendimento per curriculum è una strategia di addestramento di apprendimento automatico che presenta gli esempi in un ordine significativo, di solito dal più facile al più difficile, invece di campionarli con una distribuzione uniforme casuale. Come un programma scolastico, consente a una rete neurale di apprendere schemi ampi e semplici da esempi puliti prima di affrontare esempi ambigui, disordinati o rumorosi. Nel 2009, Bengio et al. hanno formulato l'idea per il deep learning, sostenendo che iniziare dagli esempi più facili guida l'ottimizzazione di una funzione di loss non convessa verso minimi migliori; hanno inoltre riportato miglioramenti significativi nella generalizzazione per il riconoscimento delle forme e la modellazione del linguaggio.

Come funziona il Curriculum Learning#

Un curriculum richiede due componenti, che Hacohen e Weinshall chiamano funzione di punteggio e funzione di progressione. La funzione di punteggio classifica i dati di addestramento in base alla difficoltà, usando euristiche umane come le dimensioni degli oggetti, l'occlusione o la lunghezza delle frasi, la confidenza di un modello insegnante preaddestrato oppure la loss del modello in addestramento. La funzione di progressione stabilisce quanto rapidamente gli esempi più difficili entrano nell'insieme su cui si addestra il modello, per esempio iniziando con il 20% più facile e aumentando linearmente fino all'intero dataset. Il frammento seguente assegna punteggi a un dataset di esempio con un modello insegnante e addestra uno studente su un insieme progressivamente più ampio, iniziando dagli esempi più facili, usando scikit-learn:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression, SGDClassifier

# A toy dataset with 10% flipped labels, so some samples are genuinely hard
X, y = make_classification(n_samples=2000, n_features=20, flip_y=0.1, random_state=0)

# Scoring function: a teacher's confidence in each true label, sorted easiest first
teacher = LogisticRegression(max_iter=1000).fit(X, y)
confidence = teacher.predict_proba(X)[np.arange(len(y)), y]
order = np.argsort(-confidence)

# Pacing function: start with the easiest 20% and add 20% more each epoch
student = SGDClassifier(random_state=0)
for epoch in range(5):
    pool = order[: int((0.2 + 0.2 * epoch) * len(order))]
    student.partial_fit(X[pool], y[pool], classes=[0, 1])
    print(f"Epoch {epoch}: {len(pool)} samples, mean teacher confidence {confidence[pool].mean():.2f}")

L'insieme passa da 400 a 2.000 campioni e la confidenza media del modello insegnante scende da 0,99 a 0,89 quando, nell'ultima epoca, si aggiunge il 20% finale dei campioni, i più difficili.

L'apprendimento autogestito elimina la necessità di un modello insegnante, lasciando che il modello costruisca il proprio curriculum a partire dalla loss corrente; è una delle principali famiglie di curriculum descritte nella rassegna di Soviany et al.. A ogni iterazione, i campioni che il modello gestisce già bene entrano nell'insieme di addestramento e la soglia della loss aumenta finché non vengono inclusi tutti i campioni.

Quando è utile l'apprendimento per curriculum#

I curriculum sono utili meno spesso di quanto suggerisca l'intuizione. In migliaia di esecuzioni di addestramento, Wu, Dyer e Neyshabur hanno riscontrato solo benefici marginali nei benchmark standard per immagini, dove i dati ordinati casualmente in un insieme progressivamente più ampio hanno ottenuto risultati pari a quelli di un ordine dal facile al difficile. I curriculum hanno migliorato i risultati quando il budget di addestramento era limitato o le etichette erano rumorose, cioè nelle situazioni in cui i professionisti li usano più spesso.

Applicazioni nel mondo reale#

Nell'apprendimento per rinforzo applicato alla robotica, i curriculum aumentano la difficoltà dei task man mano che l'agente migliora. OpenAI ha addestrato una mano robotica a risolvere un cubo di Rubik con la randomizzazione automatica del dominio, ampliando gli intervalli della fisica e dell'aspetto simulati ogni volta che la policy otteneva risultati sufficienti nell'intervallo corrente.

Nella visione artificiale, un curriculum per il rilevamento degli oggetti può iniziare con oggetti grandi e non occlusi, aggiungendo in seguito scene con oggetti piccoli, affollate o scarsamente illuminate. Anche l'addestramento di Ultralytics YOLO26 modifica l'enfasi nel tempo: la loss end-to-end sposta a ogni epoca il peso dalla testa densa one-to-many verso la testa one-to-one usata da nms=False, mentre close_mosaic=10 disattiva mosaic, mixup, CutMix e copy-paste, tecniche di data augmentation, nelle ultime 10 epoche, così l'addestramento termina su immagini simili agli input reali. Nell'analisi di immagini mediche, l'addestramento può iniziare con scansioni su cui gli annotatori esperti concordano e aggiungere in seguito i casi ambigui: un approccio adatto ai dataset con etichette rumorose, dove i curriculum sono più utili.

  • Apprendimento continuo: aggiunge nel tempo nuovi task o distribuzioni di dati e deve evitare di dimenticare quelli precedenti. L'apprendimento per curriculum riordina i dati di un singolo task fisso.
  • Apprendimento attivo: sceglie quali esempi senza etichetta inviare per l'etichettatura, mentre l'apprendimento per curriculum ordina esempi già etichettati.
  • Apprendimento per trasferimento: preaddestra un modello su un ampio dataset generale e poi ne esegue il fine-tuning su un task obiettivo diverso, quindi il task cambia tra le fasi.
  • Ricerca dei negativi difficili: concentra l'attenzione sugli esempi che il modello classifica in modo più errato, il contrario di un curriculum che inizia dagli esempi facili. La ricerca online degli esempi difficili (OHEM) per i rilevatori Fast R-CNN propaga all'indietro la loss solo attraverso le proposte di regione con la loss più alta in ciascuna immagine.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning