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

Semi-Supervised Learning

L'apprendimento semi-supervisionato addestra i modelli su pochi esempi etichettati e molti non etichettati per ridurre i costi di annotazione. Include pseudo-etichette, coerenza e codice.

L’apprendimento semi-supervisionato addestra un modello usando un piccolo insieme di esempi etichettati insieme a uno molto più grande di esempi senza etichette, sfruttando questi ultimi per ottenere una precisione superiore a quella consentita dalle sole etichette. Si colloca tra l’apprendimento supervisionato, in cui ogni esempio di addestramento ha un’etichetta, e l’apprendimento non supervisionato, in cui non ne ha nessuno. Questo approccio è adatto alla visione artificiale, perché le telecamere raccolgono immagini a basso costo, mentre l’etichettatura dei dati, ad esempio disegnare riquadri o maschere o registrare una diagnosi, richiede tempo umano e spesso competenze specialistiche. FixMatch ha raggiunto l’88,61% di precisione sul benchmark di immagini CIFAR-10 con solo 4 immagini etichettate per classe, e Noisy Student ha portato la precisione top-1 su ImageNet all’88,4% aggiungendo pseudo-etichette per 300 milioni di immagini senza etichette.

Come funziona l’apprendimento semi-supervisionato#

I dati senza etichette sono utili perché mostrano la forma della distribuzione dei dati. I metodi presumono che gli esempi vicini in una regione densa condividano un’etichetta; perciò, il confine decisionale tra le classi dovrebbe attraversare regioni sparse, dove si trovano pochi esempi. Tre famiglie di metodi mettono in pratica questo principio.

La pseudo-etichettatura, detta anche autoapprendimento, addestra un modello sui dati etichettati, lo applica ai dati senza etichette e conserva le previsioni che superano una soglia di confidenza, usandole come dati di addestramento aggiuntivi. Nelle varianti teacher-student, il modello addestrato diventa un teacher che etichetta il pool di dati, mentre uno student, spesso grande quanto o più del teacher, si addestra sui dati reali e sulle pseudo-etichette e diventa il teacher successivo:

La regolarizzazione della coerenza richiede che un modello dia la stessa previsione per diverse perturbazioni della stessa immagine senza etichette, ad esempio due diverse aumentazioni dei dati. FixMatch combina le due idee: assegna pseudo-etichette a una vista debolmente aumentata, solo quando il modello è sicuro, e addestra il modello a prevedere quell’etichetta su una vista fortemente aumentata della stessa immagine. I metodi basati su grafi collegano esempi simili in un grafo e propagano le etichette note lungo i suoi archi. Il rischio principale è il bias di conferma: si addestra il modello su pseudo-etichette errate, che vengono poi previste con una confidenza ancora maggiore. Per questo i metodi usano soglie elevate, aumentazioni forti oppure un teacher i cui pesi sono una media mobile lenta di quelli dello student.

Questo esempio scikit-learn conserva le etichette di sole 2 immagini per cifra e confronta un classificatore supervisionato addestrato su quelle 20 immagini con la propagazione delle etichette, un metodo basato su grafi che usa anche le 1.237 immagini senza etichette del set di addestramento:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.semi_supervised import LabelSpreading

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X / 16, y, test_size=0.3, random_state=0, stratify=y)

# Keep the labels of only 2 training images per digit; -1 marks every other image as unlabeled
labeled = np.concatenate([np.flatnonzero(y_train == digit)[:2] for digit in range(10)])
y_partial = np.full_like(y_train, -1)
y_partial[labeled] = y_train[labeled]

# Supervised baseline trains on the 20 labeled images; label spreading also uses the unlabeled ones
supervised = LogisticRegression(max_iter=5000).fit(X_train[labeled], y_train[labeled])
semi_supervised = LabelSpreading(kernel="knn", n_neighbors=10).fit(X_train, y_partial)
print(f"Supervised, 20 labeled images: {supervised.score(X_test, y_test):.3f}")
print(f"Semi-supervised, 20 labeled + {(y_partial == -1).sum()} unlabeled: {semi_supervised.score(X_test, y_test):.3f}")

Sulle 540 cifre tenute da parte, il classificatore supervisionato ottiene 0,800 e la propagazione delle etichette 0,919 usando le stesse 20 etichette, perché le immagini senza etichette collegano ogni esempio etichettato a molte immagini simili della stessa cifra.

Apprendimento semi-supervisionato nella visione artificiale#

L'etichettatura pseudo supervisionata insegnante-studente si estende alle attività le cui etichette sono più costose da disegnare, come le maschere di segmentazione delle istanze e le mappe di profondità. I metodi semi-supervisionati di rilevamento degli oggetti, come Unbiased Teacher, conservano le pseudo-caselle affidabili di un insegnante, mentre Depth Anything ha addestrato un modello di stima monoculare della profondità su circa 62 milioni di immagini senza etichette annotate automaticamente da un modello insegnante. Anche i modelli di profondità Ultralytics YOLO26 sono stati preaddestrati allo stesso modo: 1.281.167 immagini di addestramento ImageNet, prive di valori di profondità di riferimento, hanno ricevuto mappe di profondità pseudo-etichettate dai modelli insegnanti Depth Anything 3 e costituiscono circa il 58% di una combinazione di 2,19 milioni di immagini, che include anche dataset con profondità reale di riferimento. I modelli visione-linguaggio possono fungere da insegnanti e etichettare gli oggetti basandosi solo sui nomi delle classi; la classifica VLM confronta la precisione con cui annotano dataset di rilevamento del mondo reale. Per il rilevamento, un grande modello YOLO26 può fungere da insegnante e scrivere le proprie predizioni affidabili come file di etichette in formato YOLO, una semplice forma di etichettatura automatica:

from ultralytics import YOLO
from ultralytics.utils import ASSETS

# Un grande modello YOLO26 preaddestrato funge da teacher
teacher = YOLO("yolo26x.pt")

# Etichetta una cartella di immagini senza etichette; solo i rilevamenti con confidenza superiore a 0.5 diventano pseudo-etichette
# save_txt=True scrive un file di etichette .txt in formato YOLO per ogni immagine, pronto per addestrare un modello student
results = teacher.predict(source=ASSETS, conf=0.5, save_txt=True)
  • Apprendimento attivo: Seleziona le immagini senza etichette più informative e le invia a un annotatore umano. L’apprendimento semi-supervisionato etichetta automaticamente il pool e molte pipeline di etichettatura combinano i due approcci.
  • Apprendimento auto-supervisionato: Preaddestra solo sui dati senza etichette, usando obiettivi derivati dai dati, e usa le etichette solo in seguito per l’ottimizzazione. L’apprendimento semi-supervisionato usa dati etichettati e senza etichette nella stessa esecuzione di addestramento.
  • Apprendimento per trasferimento: Parte da un modello preaddestrato su un altro dataset. Si combina con l’apprendimento semi-supervisionato, perché un modello preaddestrato costituisce un teacher iniziale migliore.
  • Distillazione della conoscenza: Addestra uno student a riprodurre gli output di un teacher, di solito per comprimere il modello. La pseudo-etichettatura usa lo stesso schema teacher-student per aggiungere dati di addestramento; Noisy Student ha addestrato student grandi quanto o più dei teacher, aggiungendo rumore durante l’addestramento, e ha superato del 2,0% il precedente miglior modello ImageNet, preaddestrato su 3,5 miliardi di immagini di Instagram etichettate debolmente.

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