Scopri la potenza dei Vision Transformer (ViT). Scopri come l'auto-attenzione e la tokenizzazione dei patch rivoluzionano la visione artificiale oltre le CNN con Ultralytics.
Un Vision Transformer (ViT) è un'architettura di deep learning che adatta i meccanismi di auto-attenzione originariamente progettati per l' elaborazione del linguaggio naturale (NLP) per risolvere compiti visivi. A differenza di una tradizionale rete neurale convoluzionale (CNN), che elabora le immagini attraverso una gerarchia di griglie di pixel locali, un ViT tratta un'immagine come una sequenza di patch discrete . Questo approccio è stato reso popolare dal fondamentale articolo di ricerca "An Image is Worth 16x16 Words"(Un'immagine vale 16x16 parole), che ha dimostrato che le architetture transformer pure potrebbero raggiungere prestazioni all'avanguardia nella visione artificiale (CV) senza fare affidamento su livelli di convoluzione. Sfruttando l'attenzione globale, i ViT possono catturare dipendenze a lungo raggio su un'intera immagine fin dal primo livello.
L'innovazione fondamentale del ViT è il modo in cui struttura i dati di input. Per rendere un'immagine compatibile con un Transformer standard, il modello scompone le informazioni visive in una sequenza di vettori, imitando il modo in cui un modello linguistico elabora una frase composta da parole.
Sebbene entrambe le architetture mirino a comprendere i dati visivi, differiscono in modo significativo nella loro filosofia operativa. Le CNN possiedono un forte "pregiudizio induttivo" noto come invarianza di traslazione, il che significa che assumono intrinsecamente che le caratteristiche locali (come i bordi e le texture) siano importanti indipendentemente dalla loro posizione. Ciò rende le CNN altamente efficienti in termini di dati ed efficaci su set di dati più piccoli.
Al contrario, i Vision Transformer hanno meno pregiudizi specifici relativi alle immagini. Devono imparare le relazioni spaziali da zero utilizzando enormi quantità di dati di addestramento, come il JFT-300M o l'intero ImageNet . Anche se questo rende l'addestramento più intensivo dal punto di vista computazionale, permette ai ViT di scalare molto bene; con dati e potenza di calcolo sufficienti , possono superare le CNN catturando strutture globali complesse che le convoluzioni locali potrebbero perdere.
La capacità di comprendere il contesto globale rende i ViT particolarmente utili in ambienti complessi e ad alto rischio.
Il ultralytics La libreria supporta architetture basate su Transformer, in particolare la
RT-DETR Trasformatore di rilevamento in tempo reale). Mentre l'
ammiraglia YOLO26 è spesso preferito per il suo equilibrio tra velocità
e accuratezza sui dispositivi edge, RT-DETR una potente alternativa per gli scenari che danno priorità al contesto globale.
Il seguente Python mostra come caricare un modello pre-addestrato basato su Transformer ed eseguire l'inferenza:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()
La ricerca sta evolvendo rapidamente per affrontare l'elevato costo computazionale dei ViT. Tecniche come FlashAttention stanno rendendo questi modelli più veloci e più efficienti in termini di memoria. Inoltre, stanno diventando comuni le architetture ibride che combinano l'efficienza delle CNN con l'attenzione dei Transformer. Per i team che desiderano gestire questi flussi di lavoro avanzati, Ultralytics offre un ambiente unificato per annotare i dati, addestrare modelli complessi tramite il cloud e distribuirli su diversi endpoint.