Glossario

Incorporazione Stocastica dei Vicini distribuita a t (t-SNE)

Esplora la t-SNE, una potente tecnica per la visualizzazione di dati ad alta dimensionalità. Scopri i suoi usi, i vantaggi e le applicazioni nell'AI e nel ML.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Il t-distributed Stochastic Neighbor Embedding (t-SNE) è una potente tecnica utilizzata per la riduzione della dimensionalità, pensata principalmente per la visualizzazione di insiemi di dati altamente dimensionali in uno spazio a bassa dimensione, tipicamente a due o tre dimensioni. Sviluppata da Laurens van der Maaten e Geoffrey Hinton, t-SNE eccelle nel rivelare la struttura locale sottostante dei dati, come i cluster e i collettori. In questo modo, gli insiemi di dati complessi generati o elaborati dai modelli di intelligenza artificiale (AI) e di apprendimento automatico (ML) sono più facili da interpretare attraverso un'ispezione visiva. È ampiamente utilizzato in vari campi, tra cui la computer vision (CV) e l'elaborazione del linguaggio naturale (NLP).

Come funziona t-SNE

L'idea alla base di t-SNE è quella di mappare punti di dati ad alta densità in uno spazio a bassa densità (ad esempio, un diagramma 2D) in modo da preservare le somiglianze tra i punti. Modella la somiglianza tra coppie di punti ad alta dimensione come probabilità condizionali e poi cerca di trovare un incorporamento a bassa dimensione in cui le probabilità condizionali tra i punti mappati siano simili. Questo processo si concentra sul mantenimento della struttura locale: i punti che sono vicini nello spazio ad alta dimensione dovrebbero rimanere vicini nella mappa a bassa dimensione.

A differenza dei metodi lineari come l'analisi delle componenti principali (PCA), t-SNE è non lineare e probabilistico. Questo gli permette di catturare relazioni complesse e non lineari, come i collettori curvi, che la PCA potrebbe non cogliere. L'algoritmo calcola le somiglianze utilizzando una distribuzione gaussiana nello spazio ad alta dimensione e una distribuzione t di Student (con un grado di libertà) nello spazio a bassa dimensione. L'uso della distribuzione t aiuta a separare maggiormente i punti dissimili nella mappa a bassa dimensione, attenuando il "problema dell'affollamento" in cui i punti tendono a raggrupparsi. L'incorporamento ottimale viene trovato minimizzando la divergenza (nello specifico, la divergenza di Kullback-Leibler) tra le due distribuzioni di probabilità utilizzando tecniche di ottimizzazione come la discesa del gradiente. Per una comprensione tecnica approfondita, consulta l'articolo originale su t-SNE.

t-SNE vs. PCA

Sebbene sia il t-SNE che la PCA siano tecniche comuni di riduzione della dimensionalità, differiscono in modo significativo:

  • Linearità: La PCA è una tecnica lineare, mentre la t-SNE è non lineare. La PCA individua le componenti principali che massimizzano la varianza, ruotando essenzialmente i dati. t-SNE modella le somiglianze a coppie.
  • Focus: La PCA mira a preservare la struttura globale e la massima varianza dei dati, mentre la t-SNE dà la priorità alla conservazione della struttura locale (i quartieri dei punti).
  • Caso d'uso: La PCA viene spesso utilizzata per la compressione dei dati, la riduzione del rumore e come fase di pre-elaborazione dei dati prima di applicare altri algoritmi di ML. t-SNE viene utilizzata principalmente per la visualizzazione e l'esplorazione dei dati grazie alla sua capacità di rivelare i cluster.
  • Interpretabilità: Gli assi di un grafico PCA rappresentano le componenti principali e hanno una chiara interpretazione matematica legata alla varianza. Gli assi e le distanze tra i cluster in un grafico t-SNE non hanno un'interpretazione globale così diretta; l'attenzione si concentra sul raggruppamento relativo dei punti.

Applicazioni in AI e ML

t-SNE è un prezioso strumento di visualizzazione per la comprensione di dati complessi e ad alta dimensionalità che si incontrano spesso nelle pipeline di AI e ML, come ad esempio l'esplorazione degli embeddings appresi dai modelli di deep learning.

  • Visualizzazione delle caratteristiche delle immagini: Nella visione computerizzata, t-SNE è in grado di visualizzare le mappe di caratteristiche ad alta dimensionalità o le incorporazioni generate dalle reti neurali convoluzionali (CNN), come quelle presenti in Ultralytics YOLO utilizzati per il rilevamento di oggetti o la classificazione di immagini. Applicando t-SNE alle caratteristiche estratte da un set di dati come ImageNet o COCO, i ricercatori possono vedere se il modello impara a raggruppare immagini simili o classi di oggetti nello spazio delle caratteristiche, fornendo indicazioni sulla comprensione del modello. Questo aiuta ad analizzare le prestazioni del modello al di là delle metriche di accuratezza standard (vedi Metriche delle prestazioniYOLO ).
  • Esplorare gli embeddings di parole: In NLP, t-SNE viene utilizzato per visualizzare gli embeddings delle parole (ad esempio, da Word2Vec, GloVe o BERT) in 2D. Ciò consente di esaminare le relazioni semantiche; ad esempio, parole come "re", "regina", "principe" e "principessa" potrebbero formare gruppi distinti o presentare posizioni relative significative, dimostrando la qualità della modellazione linguistica. Strumenti come TensorFlow Projector utilizzano spesso t-SNE per la visualizzazione dell'embedding.
  • Comprensione dei dati di formazione: Prima o durante l'addestramento del modello, t-SNE può aiutare a visualizzare la struttura dei dati di addestramento stessi, rivelando potenzialmente cluster distinti, anomalie o problemi di etichettatura all'interno dei dataset gestiti da piattaforme come Ultralytics HUB.

Considerazioni

Sebbene sia potente per la visualizzazione, t-SNE presenta alcune considerazioni:

  • Costo computazionale: può essere computazionalmente costoso e lento per set di dati molto grandi a causa dei calcoli a coppie. Tecniche come l'approssimazione di t-SNE o l'applicazione della PCA possono aiutare.
  • Iperparametri: I risultati possono essere sensibili a iperparametri come la "perplessità" (legata al numero di vicini considerati) e il numero di iterazioni per la discesa del gradiente.
  • Struttura globale: t-SNE si concentra sulla struttura locale; le distanze relative tra i cluster nel grafico finale potrebbero non riflettere accuratamente la separazione nello spazio originale ad alta dimensionalità. Anche le dimensioni dei cluster possono essere fuorvianti. Le implementazioni sono disponibili in librerie come Scikit-learn e framework come PyTorch.
Leggi tutto