Potrebbero essere le patch? Questo approccio di intelligenza artificiale analizza il contributo chiave al successo dei Vision Transformers

Potrebbero essere le patch? Questo approccio di intelligenza artificiale analizza le patch come contributo chiave al successo dei Vision Transformers.

Le reti neurali convoluzionali (CNN) sono state la spina dorsale dei sistemi per le attività di visione artificiale. Sono state l’architettura di riferimento per tutti i tipi di problemi, dal rilevamento degli oggetti alla sovra-risoluzione delle immagini. In effetti, i famosi progressi (ad esempio, AlexNet) nel campo dell’apprendimento profondo sono stati resi possibili grazie alle reti neurali convoluzionali.

Tuttavia, le cose sono cambiate quando una nuova architettura basata sui modelli Transformer, chiamata Vision Transformer (ViT), ha mostrato risultati promettenti e ha superato le architetture convoluzionali classiche, soprattutto per grandi set di dati. Da allora, il campo ha cercato di abilitare soluzioni basate su ViT per problemi che sono stati affrontati con CNN per anni.

ViT utilizza livelli di auto-attenzione per elaborare le immagini, ma il costo computazionale di questi livelli aumenterebbe in modo quadratico con il numero di pixel per immagine se applicato in modo ingenuo a livello di pixel. Pertanto, ViT suddivide prima l’immagine in più frammenti, li incorpora linearmente e quindi applica il transformer direttamente a questa collezione di frammenti.

A seguito del successo del ViT originale, molti lavori hanno modificato l’architettura ViT per migliorarne le prestazioni. Sostituendo l’auto-attenzione con nuove operazioni, apportando altre piccole modifiche, ecc. Tuttavia, nonostante tutti questi cambiamenti, quasi tutte le architetture ViT seguono un modello comune e semplice. Mantengono dimensione e risoluzione uguali in tutto il network ed esibiscono un comportamento isotropico, ottenuto implementando un mixing spaziale e di canale in passaggi alternati. Inoltre, tutte le reti utilizzano l’incorporazione di frammenti che consentono il downsampling all’inizio del network e facilitano la progettazione di mixing semplice e uniforme.

Questo approccio basato su frammenti è la scelta di progettazione comune per tutte le architetture ViT, il che semplifica il processo di progettazione complessiva. Quindi, sorge la domanda. Il successo dei vision transformer è dovuto principalmente alla rappresentazione basata su frammenti? O è dovuto all’uso di tecniche avanzate ed espressive come l’auto-attenzione e gli MLP? Qual è il fattore principale che contribuisce alle prestazioni superiori dei vision transformer?

C’è un modo per scoprirlo, ed è chiamato ConvMixer.

Panoramica di ConvMixer. Fonte: https://openreview.net/forum?id=rAnB7JSMXL

ConvMixer è un’architettura convoluzionale sviluppata per analizzare le prestazioni dei ViT. È molto simile al ViT in molti modi: lavora direttamente sui frammenti delle immagini, mantiene una risoluzione coerente in tutto il network e separa il mixing dei canali dal mixing spaziale delle informazioni in diverse parti dell’immagine.

Tuttavia, la differenza principale è che ConvMixer raggiunge queste operazioni utilizzando livelli convoluzionali standard, invece dei meccanismi di auto-attenzione utilizzati nei modelli Vision Transformer e MLP-Mixer. Alla fine, il modello risultante è più economico in termini di potenza di calcolo perché le operazioni di convoluzione depthwise e pointwise sono più economiche rispetto alle attenzioni e ai livelli MLP.

Nonostante la sua estrema semplicità, ConvMixer supera sia i modelli di visione artificiale “standard”, come ResNet con un numero simile di parametri, sia alcune varianti corrispondenti di ViT e MLP-Mixer. Ciò suggerisce che l’architettura di mixing isotropico basata su frammenti è una primitiva potente che funziona bene con quasi ogni scelta di operazioni di mixing ben comportate.

ConvMixer è un’estremamente semplice classe di modelli che mescolano in modo indipendente le posizioni spaziali e dei canali delle incapsulazioni dei frammenti utilizzando solo convoluzioni standard. Può fornire un notevole aumento delle prestazioni utilizzando dimensioni di kernel grandi ispirate ai grandi campi di ricezione di ViT e MLP-Mixer. Infine, ConvMixer può servire come punto di riferimento per future architetture basate su frammenti con operazioni nuove.