Glossario

Trasformatore di visione (ViT)

Scoprite la potenza dei Vision Transformers (ViT) nella computer vision. Scoprite come superano le CNN catturando il contesto globale dell'immagine.

Un Vision Transformer (ViT) è un tipo di architettura di rete neurale che applica il modello Transformer di grande successo, originariamente progettato per l'elaborazione del linguaggio naturale (NLP), a compiti di computer vision (CV). Introdotte dai ricercatori di Google nell'articolo "An Image is Worth 16x16 Words", le ViT rappresentano un significativo allontanamento dalle architetture delle reti neurali convoluzionali (CNN) dominanti. Invece di elaborare le immagini con filtri scorrevoli, una ViT tratta un'immagine come una sequenza di patch, consentendo di catturare le relazioni globali tra le diverse parti di un'immagine utilizzando il meccanismo di autoattenzione.

Come funzionano i trasformatori di visione

L'idea alla base di un ViT è quella di elaborare un'immagine in modo simile a come i Transformers elaborano il testo. Il processo prevede alcuni passaggi chiave:

  1. Patching dell'immagine: l'immagine di ingresso viene prima suddivisa in una griglia di patch di dimensioni fisse e non sovrapposte. Ad esempio, un'immagine di 224x224 pixel può essere suddivisa in 196 patch, ciascuna di 16x16 pixel.
  2. Incorporazione di patch: Ogni patch viene appiattita in un singolo vettore. Questi vettori vengono poi proiettati in uno spazio di dimensioni inferiori per creare "incorporazioni di patch". A ogni patch embedding viene aggiunto un "positional embedding" apprendibile per conservare le informazioni spaziali.
  3. Codificatore Transformer: Questa sequenza di incorporazioni viene inserita in un codificatore Transformer standard. Attraverso i suoi strati di autoattenzione, il modello apprende le relazioni tra tutte le coppie di patch, consentendo di catturare il contesto globale dell'intera immagine fin dal primo strato.
  4. Testa di classificazione: Per compiti come la classificazione delle immagini, alla sequenza viene aggiunto un ulteriore embedding apprendibile (simile al token [CLS] di BERT). L'output corrispondente del trasformatore viene passato a uno strato di classificazione finale per produrre la predizione.

ViT e CNN

Sebbene sia le ViT che le CNN siano architetture fondamentali nella computer vision, esse differiscono significativamente nel loro approccio:

  • Pregiudizi induttivi: le CNN possiedono forti pregiudizi induttivi (ipotesi sui dati) come la località e l'equivocità di traslazione attraverso i loro livelli di convoluzione e pooling. I ViT hanno pregiudizi induttivi molto più deboli, che li rendono più flessibili ma anche più dipendenti dall'apprendimento di modelli direttamente dai dati.
  • Dipendenza dai dati: A causa dei loro bias più deboli, le ViT richiedono generalmente dataset massicci (ad esempio, ImageNet-21k) o un preaddestramento estensivo per superare le CNN di ultima generazione. Con insiemi di dati più piccoli, le CNN spesso generalizzano meglio. Per questo motivo, l 'apprendimento per trasferimento è fondamentale per le ViT.
  • Contesto globale e contesto locale: Le CNN costruiscono caratteristiche gerarchiche da modelli locali a globali. Al contrario, i ViT sono in grado di modellare le interazioni globali tra le patch fin dai primi strati, catturando potenzialmente un contesto più ampio in modo più efficace per determinati compiti.
  • Costo computazionale: L'addestramento dei ViT può essere intensivo dal punto di vista computazionale e spesso richiede risorse significative da parte delle GPU. Framework come PyTorch e TensorFlow forniscono implementazioni per l'addestramento di questi modelli.

Applicazioni e modelli ibridi

I ViT hanno dimostrato prestazioni eccezionali in diverse applicazioni, soprattutto quando la comprensione del contesto globale è fondamentale.

Il successo dei ViT ha ispirato anche architetture ibride. Modelli come RT-DETR combinano una struttura portante CNN per l'estrazione efficiente delle caratteristiche con un encoder-decoder basato su Transformer per modellare le relazioni tra gli oggetti. Questo approccio mira a ottenere il meglio dei due mondi: l'efficienza delle CNN e la consapevolezza del contesto globale dei Transformer.

Per molte applicazioni in tempo reale, soprattutto su dispositivi edge con risorse limitate, i modelli basati su CNN altamente ottimizzati come la famiglia Ultralytics YOLO (ad esempio, YOLOv8 e YOLO11) spesso offrono un migliore equilibrio tra velocità e precisione. È possibile vedere un confronto dettagliato tra RT-DETR e YOLO11 per comprendere i compromessi. La scelta tra un ViT e una CNN dipende in ultima analisi dal compito specifico, dai dati disponibili e dal budget di calcolo.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti