Scopri la potenza dei Vision Transformers (ViT) nella computer vision. Scopri come superano le CNN catturando il contesto globale dell'immagine.
Vision Transformer (ViT) rappresenta un cambiamento significativo nel campo della computer vision, adattando l'architettura Transformer, originariamente sviluppata per l'elaborazione del linguaggio naturale, a compiti di riconoscimento delle immagini. A differenza delle tradizionali reti neurali convoluzionali (CNN), che elaborano le immagini strato per strato, le ViT suddividono un'immagine in frammenti più piccoli e trattano questi frammenti come token di una sequenza, proprio come le parole di una frase. Questo nuovo approccio permette alle ViT di sfruttare il potente meccanismo di auto-attenzione del Transformer per catturare le relazioni globali all'interno di un'immagine, ottenendo prestazioni all'avanguardia in diversi compiti di computer vision.
Nella sua essenza, un Vision Transformer elabora le immagini dividendole in una griglia di patch di dimensioni fisse. Questi patch vengono poi appiattiti e trasformati linearmente in embeddings, che sono essenzialmente rappresentazioni vettoriali. Gli embeddings posizionali vengono aggiunti a questi embeddings di patch per conservare le informazioni spaziali, fondamentali per comprendere la struttura dell'immagine. Questa sequenza di patch incorporati viene poi inserita in un codificatore Transformer standard.
Il codificatore Transformer è costituito da più strati di reti multi-head di auto-attenzione e feed-forward. Il componente chiave è il meccanismo di auto-attenzione, che permette al modello di pesare l'importanza di ogni patch rispetto a tutte le altre durante l'elaborazione dell'immagine. Ciò consente al ViT di comprendere il contesto globale dell'immagine, cogliendo le dipendenze a lungo raggio che potrebbero sfuggire alle CNN che si concentrano sulle caratteristiche locali. La comprensione del contesto globale è uno dei principali punti di forza dei Vision Transformers. Per un approfondimento dei principi di base, risorse come "The Illustrated Transformer" di Jay Allammar forniscono eccellenti spiegazioni visive dell'architettura dei Transformer.
I trasformatori di visione hanno rapidamente guadagnato importanza grazie alle loro impressionanti prestazioni e alla loro scalabilità. La loro capacità di catturare il contesto globale e di trarre vantaggio da grandi insiemi di dati li ha resi molto importanti nelle moderne applicazioni di deep learning. Le applicazioni principali dei ViT includono:
Le applicazioni reali riguardano diversi settori. Nel settore sanitario, le ViT aiutano nell'analisi delle immagini mediche per migliorare la diagnostica. In agricoltura, migliorano il monitoraggio delle colture e il rilevamento delle malattie. Inoltre, la loro efficienza e precisione li rende adatti all'impiego su dispositivi edge, come illustrato nelle guide per NVIDIA Jetson e Raspberry Pi.
Mentre le CNN sono state a lungo l'architettura dominante nella computer vision, i Vision Transformers offrono un approccio fondamentalmente diverso. Le CNN eccellono nel catturare i modelli locali attraverso gli strati convoluzionali, rendendole efficienti per i compiti in cui le caratteristiche locali sono cruciali. Tuttavia, a volte hanno difficoltà a catturare le dipendenze a lungo raggio e il contesto globale. Le ViT, invece, catturano intrinsecamente il contesto globale grazie ai loro meccanismi di auto-attenzione, offrendo un vantaggio nei compiti che richiedono una comprensione olistica della scena.
Nonostante i loro punti di forza, per ottenere prestazioni ottimali le ViT richiedono in genere set di dati significativamente più grandi per l'addestramento rispetto alle CNN. Le CNN possono essere più efficienti dal punto di vista computazionale per i dataset più piccoli e per i compiti incentrati sull'estrazione di caratteristiche locali. La scelta tra i ViT e le CNN dipende spesso dall'applicazione specifica, dalle dimensioni del set di dati e dalle risorse computazionali disponibili. I Vision Transformers rappresentano un'evoluzione significativa nella computer vision, dimostrando la potenza dei meccanismi di attenzione e aprendo la strada a futuri progressi nel campo.