Il funzionamento interno dei vision transformers

Il funzionamento interno dei Vision Transformers Alla scoperta del loro mondo

I Transformers sono diventati l’architettura di modello preferita per molti compiti di visione. I Vision Transformers (ViTs) sono particolarmente popolari. Applicano il transformer direttamente a sequenze di patch di immagini. I ViTs ora eguagliano o superano le CNN nei benchmark come la classificazione delle immagini.

Tuttavia, i ricercatori di Meta e INRIA hanno identificato alcuni strani artefatti nel funzionamento interno dei ViTs. In questo post, faremo una vertenza approfondita su di unnuovo articolo che indaga sulla causa di questi artefatti. E vedremo come i ricercatori hanno utilizzato un semplice trucco (senza sembrare troppo clickbait) per far sì che i modelli si concentrino sugli oggetti delle immagini e non sulle noiose patch di sfondo che tendono a confonderli. Andiamo avanti.

Le Misteriose Sfumature di Attenzione

Gran parte del lavoro precedente ha elogiato i vision transformers per la produzione di mappe di attenzione lisce e interpretabili. Queste ci permettono di dare un’occhiata a quali parti dell’immagine si sta concentrandostando il modello.

In modo strano, molte varianti di ViT mostrano picchi di alta attenzione su patch casuali e non informative dello sfondo. Perché questi modelli si concentrano così tanto su elementi di sfondo noiosi e non importanti invece dei soggetti principali di queste immagini?

Figura dall’articolo, che mostra visivamente alcuni degli artefatti di attenzione strani che i ricercatori vogliono ridurre.

Visualizzando le mappe di attenzione tra i modelli e creando immagini come quella sopra, i ricercatori dimostrano definitivamente che ciò avviene nelle versioni supervisionate come DeiT e CLIP, insieme a nuovi modelli auto-supervisionati come DINOv2.

Chiaramente, qualcosa sta facendo sì che i modelli si concentrino in modo inspiegabile sul rumore di fondo. Ma cosa?

Seguire la Cause: Token con Norme Elevate Anomale

Esaminando numericamente gli embedding di output, gli autori hanno identificato la causa principale. Una piccola frazione (circa il 2%) dei token delle patch presenta norme L2 insolitamente elevate, rendendoli estremi outlier.

Nel contesto delle reti neurali, i pesi e i bias dei neuroni possono essere rappresentati come vettori. La norma L2 (nota anche come norma euclidea) di un vettore è una misura della sua magnitudine e viene calcolata come la radice quadrata della somma dei quadrati dei suoi elementi.

Quando diciamo che un vettore (ad esempio, i pesi di un neurone o di un layer) ha una “norma L2 anormalmente alta”, significa che la magnitudine o la lunghezza di quel vettore è insolitamente grande rispetto a quanto ci si aspetta o a quanto è tipico nel contesto dato.

Le norme L2 elevate nelle reti neurali possono essere indicative di alcuni problemi:

  1. Overfitting: Se il modello si adatta troppo strettamente ai dati di addestramento e cattura rumore, i pesi potrebbero diventare molto grandi. Tecniche di regolarizzazione come la regolarizzazione L2 penalizzano i pesi grandi per mitigare questo problema.
  2. Instabilità Numerica: Pesi molto grandi o molto piccoli possono causare problemi numerici, portando a instabilità del modello.
  3. Scarsa Generalizzazione: Le norme L2 elevate possono anche indicare che il modello potrebbe non generalizzare bene a dati nuovi e non visti in precedenza.

Cosa significa tutto ciò in parole semplici? Immagina di cercare di bilanciare una altalena e hai pesi (o sacchetti di sabbia) di varie dimensioni da mettere su ogni lato. La dimensione di ogni sacchetto rappresenta quanto influenza o importanza ha nel bilanciare l’altalena. Ora, se uno di quei sacchetti è anormalmente grande (ha una “norma L2 alta”), significa che il sacchetto ha troppa influenza sul bilanciamento.

Nel contesto di una rete neurale, se una delle sue parti ha un’influenza anormalmente alta (norma L2 alta), potrebbe oscurare altre parti importanti, il che può portare a decisioni errate o a una sopravvalutazione di determinate caratteristiche. Questo non è ideale e spesso cerchiamo di adattare la macchina per garantire che nessuna parte singola abbia troppa influenza ingiustificata.

Questi token con norme elevate corrispondono direttamente ai picchi nelle mappe di attenzione. Quindi, i modelli stanno evidenziando in modo selettivo queste patch per ragioni sconosciute.

Ulteriori esperimenti rivelano:

  • Gli outlier appaiono solo durante l’addestramento di modelli sufficientemente grandi.
  • Emergono circa a metà dell’addestramento.
  • Si verificano su patch molto simili ai loro vicini, suggerendo ridondanza.

Inoltre, mentre gli outliers conservano meno informazioni sulla loro patch originale, sono più predittivi della categoria dell’intera immagine.

Questa evidenza indica una teoria intrigante…

L’ipotesi del riciclaggio

Gli autori ipotizzano che mentre i modelli vengono addestrati su grandi set di dati come ImageNet-22K, imparano a identificare patch a bassa informazione il cui valore può essere scartato senza perdere la semantica dell’immagine.

Il modello quindi ricicla tali embedding di patch per memorizzare temporaneamente informazioni globali sull’intera immagine, scartando dettagli locali non rilevanti. Questo consente un efficiente processo interno delle caratteristiche.

Tuttavia, questo riciclaggio causa effetti collaterali indesiderati:

  • Perdita di dettagli originali della patch, danneggiando compiti densi come la segmentazione
  • Mappa di attenzione “spiky” che è difficile da interpretare
  • Incompatibilità con i metodi di scoperta degli oggetti

Quindi, anche se questo comportamento emerge naturalmente, ha conseguenze negative.

Correggere i Vision Transformers con registri espliciti

Per alleviare le patch riciclate, i ricercatori propongono di fornire ai modelli uno spazio di archiviazione dedicato aggiungendo “token di registro” alla sequenza.

Ciò fornisce uno spazio temporaneo per i calcoli interni, impedendo il dirottamento degli embedding casuali delle patch.

I risultati dell’utilizzo dei registri mostrano che i modelli si concentrano molto più attentamente sui soggetti delle immagini! Dal paper.

Remarkably, this simple tweak works very well. Models trained with registers show:

  • Smoother, more semantically meaningful attention maps
  • Minor performance boosts on various benchmarks
  • Greatly improved object discovery abilities

Gli registri danno al meccanismo di riciclaggio una casa adeguata, eliminando i suoi spiacevoli effetti collaterali. Una piccola modifica architettonica sblocca miglioramenti evidenti.

Punti chiave

Questo studio intrigante fornisce diversi spunti preziosi:

  • I Vision Transformers sviluppano comportamenti imprevisti come il riciclo delle patch per l’archiviazione
  • L’aggiunta di registri fornisce spazio temporaneo per i calcoli, evitando effetti collaterali indesiderati
  • Questa semplice soluzione migliora le mappe di attenzione e le prestazioni a valle
  • Probabilmente esistono altri artefatti di modelli non scoperti da investigare

Sbirciare all’interno delle scatole nere delle reti neurali rivela molto sui loro meccanismi interni, guidando miglioramenti incrementali. Lavori simili porteranno avanti costantemente le capacità dei transformer.

Il rapido ritmo di progresso dei vision transformers non mostra segni di rallentamento. Viviamo in tempi eccitanti!