Esplora l'apprendimento non supervisionato per scoprire modelli nascosti nei dati non etichettati. Scopri il clustering, il rilevamento delle anomalie e come questi alimentano le moderne soluzioni di IA.
L'apprendimento non supervisionato è un tipo di apprendimento automatico in cui un algoritmo apprende modelli da dati non etichettati senza l'intervento umano. A differenza dell'apprendimento supervisionato, che si basa su coppie di input-output etichettate per addestrare un modello, l'apprendimento non supervisionato tratta dati che non hanno etichette storiche. Il sistema essenzialmente cerca di autoapprendere scoprendo strutture, modelli o relazioni nascoste all'interno dei dati di input. Questo approccio è particolarmente prezioso perché la stragrande maggioranza dei dati generati oggi - immagini, video, testo e registri dei sensori - è non strutturata e non etichettata.
In scenari non supervisionati, l'algoritmo è lasciato a se stesso per scoprire strutture interessanti nei dati. L'obiettivo è spesso quello di modellare la distribuzione sottostante dei dati o di apprendere di più sui dati stessi. Poiché durante l'addestramento non vengono fornite "risposte corrette", il modello non può essere valutato in termini di accuratezza nel senso tradizionale. Al contrario, le prestazioni sono spesso misurate in base alla capacità del modello di ridurre la dimensionalità o di raggruppare punti dati simili.
Questa metodologia rispecchia il modo in cui gli esseri umani spesso apprendono nuovi concetti. Ad esempio, un bambino può distinguere tra cani e gatti osservando le loro diverse forme e comportamenti senza necessariamente conoscere inizialmente i nomi "cane" e "gatto". Allo stesso modo, gli algoritmi non supervisionati raggruppano le informazioni in base a somiglianze intrinseche. Questa capacità è fondamentale per lo sviluppo dell' intelligenza artificiale generale (AGI), poiché consente ai sistemi di adattarsi a nuovi ambienti senza una costante supervisione umana.
L'apprendimento non supervisionato comprende diverse tecniche distinte, ciascuna adatta a diversi tipi di problemi di analisi dei dati :
È importante distinguere l' apprendimento non supervisionato dall' apprendimento supervisionato. La differenza principale risiede nei dati utilizzati. L'apprendimento supervisionato richiede un set di dati etichettati, il che significa che ogni esempio di addestramento è abbinato a un output corretto (ad esempio, l'immagine di un gatto etichettata come "gatto"). Il modello impara a mappare gli input agli output per ridurre al minimo gli errori.
Al contrario, l'apprendimento non supervisionato utilizza dati non etichettati. Non esiste un ciclo di feedback che indichi al modello se il suo output è corretto. Esiste una via di mezzo chiamata apprendimento semi-supervisionato, che combina una piccola quantità di dati etichettati con una grande quantità di dati non etichettati per migliorare l'accuratezza dell'apprendimento, spesso utilizzato quando l'etichettatura dei dati è costosa o richiede molto tempo.
L'apprendimento non supervisionato è alla base di molte tecnologie che utilizziamo quotidianamente. Ecco due esempi concreti:
Mentre Ultralytics YOLO26 è principalmente un framework di rilevamento oggetti supervisionato
, le tecniche non supervisionate sono spesso utilizzate nelle fasi di pre-elaborazione, come l'analisi delle distribuzioni degli anchor box
o il clustering delle caratteristiche dei set di dati. Di seguito è riportato un semplice esempio che utilizza sklearn per eseguire il clustering K-Means,
una tecnica fondamentale non supervisionata.
import numpy as np
from sklearn.cluster import KMeans
# Generate synthetic data: 10 points with 2 features each
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
# Initialize KMeans with 2 clusters (k=2)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto")
# Fit the model to the data (no labels provided!)
kmeans.fit(X)
# Predict which cluster each point belongs to
print(f"Labels: {kmeans.labels_}")
# Output will group the first 3 points together (0) and the last 3 together (1)
Il deep learning (DL) moderno sta integrando sempre più principi non supervisionati. Tecniche come l' apprendimento auto-supervisionato (SSL) consentono ai modelli di generare i propri segnali di supervisione dai dati. Ad esempio, nell' elaborazione del linguaggio naturale (NLP), modelli come GPT-4 sono pre-addestrati su grandi quantità di testo per prevedere la parola successiva in una frase, imparando efficacemente la struttura del linguaggio senza etichette esplicite.
Analogamente, nella visione artificiale (CV), gli autoencoder vengono utilizzati per apprendere codifiche efficienti dei dati. Queste reti neurali comprimono le immagini in una rappresentazione a dimensione inferiore e poi le ricostruiscono. Questo processo insegna alla rete le caratteristiche più salienti dei dati visivi , utili per compiti come la denoising delle immagini e la modellazione generativa.
Per chi desidera gestire set di dati per la formazione, Ultralytics offre strumenti per visualizzare le distribuzioni dei dati, che possono aiutare a identificare cluster o anomalie prima dell'inizio del processo di formazione supervisionato. Comprendere la struttura dei dati attraverso l'esplorazione non supervisionata è spesso il primo passo verso la creazione di soluzioni di IA robuste.