Ultime novità sui kernel CNN per modelli di immagini di grandi dimensioni

Latest news on CNN kernels for large-scale image models

Una visione generale a livello alto delle ultime strutture di kernel convoluzionali nelle Reti Convoluzionali Deformabili, DCNv2, DCNv3

Cape Byron Lighthouse, Australia | foto dell'autore

Dato il notevole successo di ChatGPT di OpenAI che ha scatenato il boom dei grandi modelli di linguaggio, molte persone prevedono la prossima svolta nei grandi modelli di immagini. In questo ambito, i modelli di visione possono essere sollecitati ad analizzare e persino generare immagini e video in modo simile a come attualmente sollecitiamo ChatGPT.

Le ultime approcci di deep learning per i grandi modelli di immagini si sono ramificati in due direzioni principali: quelli basati sulle reti neurali convoluzionali (CNN) e quelli basati sui transformers. Questo articolo si concentrerà sul lato delle CNN e fornirà una panoramica a livello alto di quelle strutture di kernel CNN migliorate.

Tabella dei Contenuti

  1. DCN
  2. DCNv2
  3. DCNv3

1. Reti Convoluzionali Deformabili (DCN)

Tradizionalmente, i kernel CNN sono stati applicati a posizioni fisse in ogni layer, risultando in tutte le unità di attivazione che hanno lo stesso campo recettivo.

Come nella figura sottostante, per eseguire la convoluzione su una mappa di caratteristiche di input x, il valore in ogni posizione di output p0 viene calcolato come una moltiplicazione elemento per elemento e una somma tra il peso del kernel w e una finestra scorrevole su x. La finestra scorrevole è definita da una griglia R, che rappresenta anche il campo recettivo per p0. La dimensione di R rimane la stessa in tutte le posizioni all’interno dello stesso layer di y.

Operazione di convoluzione regolare con kernel 3x3.

Ogni valore di output viene calcolato come segue:

Funzione di operazione di convoluzione regolare da paper.

dove pn enumera le posizioni nella finestra scorrevole (griglia R).

Anche l’operazione di pooling RoI (regione di interesse) opera su bin con una dimensione fissa in ogni layer. Per il bin (i, j) che contiene nij pixel, il risultato del pooling viene calcolato come:

Funzione di pooling RoI media regolare da paper.

Anche in questo caso, la forma e la dimensione dei bin sono gli stessi in ogni layer.

Operazione di pooling RoI media regolare con bin 3x3.

Entrambe le operazioni diventano particolarmente problematiche per i layer di alto livello che codificano la semantica, ad esempio oggetti con scale variabili.

DCN propone una convoluzione deformabile e un pooling deformabile che sono più flessibili per modellare quelle strutture geometriche. Entrambi operano nel dominio spaziale 2D, ovvero l’operazione rimane la stessa lungo la dimensione del canale.

Convoluzione deformabile

Operazione di convoluzione deformabile con un kernel 3x3.

Dato un input feature map x, per ogni posizione p0 nella output feature map y, DCN aggiunge gli spostamenti 2D △pn quando si enumerano le posizioni pn in una griglia regolare R.

Funzione di convoluzione deformabile dal paper.

Questi spostamenti sono appresi dalle mappe precedenti, ottenute tramite uno strato di convoluzione aggiuntivo sulla feature map. Poiché questi spostamenti sono tipicamente frazionari, vengono implementati tramite interpolazione bilineare.

Deformable RoI pooling

Similmente all’operazione di convoluzione, vengono aggiunti gli spostamenti △pij alle posizioni originali del pooling.

Funzione di Deformable RoI pooling dal paper.

Come mostrato nella figura sottostante, questi spostamenti vengono appresi attraverso uno strato fully connected (FC) dopo il risultato del pooling originale.

Operazione di Deformable average RoI pooling con un bin 3x3.

Deformable Position-Sentitive (PS) RoI pooling

Nell’applicare operazioni deformabili a PS RoI pooling (Dai et al., n.d.), come illustrato nella figura sottostante, gli spostamenti vengono applicati ad ogni mappa di punteggio invece della feature map di input. Questi spostamenti sono appresi tramite uno strato di convoluzione anziché uno strato FC.

Position-Sensitive RoI pooling (Dai et al., n.d.): Il RoI pooling tradizionale perde informazioni riguardo a quale parte dell’oggetto rappresenta ogni regione. Il PS RoI pooling è stato proposto per mantenere queste informazioni convertendo le feature map di input in k² mappe di punteggio per ogni classe di oggetti, dove ogni mappa di punteggio rappresenta una specifica parte spaziale. Quindi per C classi di oggetti, ci sono un totale di k² (C+1) mappe di punteggio.

Illustrazione del Deformable PS RoI pooling 3x3 | sorgente dal paper.

2. DCNv2

Anche se DCN consente una modellazione più flessibile del campo recettivo, assume che i pixel all’interno di ogni campo recettivo contribuiscano in modo uguale alla risposta, il che spesso non è vero. Per comprendere meglio il comportamento del contributo, gli autori utilizzano tre metodi per visualizzare il supporto spaziale:

  1. Campi recettivi efficaci: gradiente della risposta del nodo rispetto alle perturbazioni dell’intensità di ogni pixel dell’immagine
  2. Posizioni di campionamento/posizioni di bin efficaci: gradiente del nodo di rete rispetto alle posizioni di campionamento/posizioni di bin
  3. Regioni di salienza con errore limitato: mascherando progressivamente le parti dell’immagine per trovare la regione più piccola dell’immagine che produce la stessa risposta dell’intera immagine

Per assegnare un’ampiezza delle caratteristiche apprendibile alle posizioni all’interno del campo recettivo, DCNv2 introduce moduli deformabili modulati:

Funzione di convoluzione DCNv2 dal paper, notazioni riviste per corrispondere a quelle nel paper DCN.

Per la posizione p0, l’offset △pn e la sua ampiezza △mn sono apprendibili attraverso conv layers separate applicate alla stessa mappa delle caratteristiche di input.

DCNv2 ha rivisto il pooling deformabile RoI aggiungendo un’ampiezza apprendibile △mij per ogni bin (i,j)-th.

Funzione di pooling DCNv2 dal paper, notazioni riviste per abbinarsi a quelle nel paper DCN.

DCNv2 espande anche l’uso delle conv layers deformabili per sostituire le conv layers regolari negli stadi conv3 a conv5 in ResNet-50.

3. DCNv3

Per ridurre la dimensione dei parametri e la complessità della memoria di DCNv2, DCNv3 apporta le seguenti modifiche alla struttura del kernel.

  1. Ispirato alla convoluzione separabile in profondità (Chollet, 2017)

La convoluzione separabile in profondità scompone la convoluzione tradizionale in: 1. convoluzione in profondità: ogni canale della caratteristica di input viene convoluto separatamente con un filtro; 2. convoluzione punto-punto: una convoluzione 1×1 applicata tra i canali.

Gli autori propongono di far sì che l’ampiezza della caratteristica m sia la parte in profondità e il peso di proiezione w sia condiviso tra le posizioni nella griglia come parte punto-punto.

2. Ispirato alla convoluzione di gruppo (Krizhevsky, Sutskever e Hinton, 2012)

Convoluzione di gruppo: suddividere i canali di input e i canali di output in gruppi e applicare una convoluzione separata a ciascun gruppo.

DCNv3 (Wang et al., 2023) propone di suddividere la convoluzione in G gruppi, ognuno con offset △pgn e ampiezza della caratteristica △mgn separate.

DCNv3 è quindi formulato come:

Funzione di convoluzione DCNv3 dal paper, notazioni riviste per abbinarsi a quelle nel paper DCN.

dove G è il numero totale di gruppi di convoluzione, wg è irrilevante per la posizione, △mgn è normalizzato dalla funzione softmax in modo che la somma sulla griglia R sia 1.

Performance

Fino ad ora DCNv3 basato su InternImage ha dimostrato una performance superiore in molteplici task successivi come rilevamento e segmentazione, come mostrato nella tabella sottostante, così come nella classifica su papers with code. Consultare il paper originale per confronti più dettagliati.

Performance di rilevamento oggetti e segmentazione istanze su COCO val2017. I FLOPs sono misurati con input 1280×800. AP’ e AP’ rappresentano rispettivamente box AP e mask AP. “MS” significa addestramento multi-scala. Fonte dal paper.
Screenshot della classifica per il rilevamento oggetti su paperswithcode.com.
Screenshot della classifica per la segmentazione semantica su paperswithcode.com.

Sommario

In questo articolo, abbiamo esaminato le strutture del kernel per le reti convoluzionali regolari, insieme alle loro ultime migliorie, tra cui le reti convoluzionali deformabili (DCN) e le due versioni più recenti: DCNv2 e DCNv3. Abbiamo discusso dei limiti delle strutture tradizionali e evidenziato i progressi nell’innovazione basata sulle versioni precedenti. Per una comprensione più approfondita di questi modelli, si prega di fare riferimento agli articoli nella sezione Riferimenti.

Ringraziamenti

Un ringraziamento speciale a Kenneth Leung, che mi ha ispirato a creare questo articolo e ha condiviso idee straordinarie. Un enorme grazie a Kenneth, Melissa Han e Annie Liao, che hanno contribuito a migliorare questo articolo. I vostri suggerimenti illuminanti e il feedback costruttivo hanno avuto un impatto significativo sulla qualità e la profondità del contenuto.

Riferimenti

Dai, J., Qi, H., Xiong, Y., Li, Y., Zhang, G., Hu, H. e Wei, Y. (s.d.). Deformable Convolutional Networks. [online] Disponibile su: https://arxiv.org/pdf/1703.06211v3.pdf.

‌Zhu, X., Hu, H., Lin, S. e Dai, J. (s.d.). Deformable ConvNets v2: More Deformable, Better Results. [online] Disponibile su: https://arxiv.org/pdf/1811.11168.pdf.

‌Wang, W., Dai, J., Chen, Z., Huang, Z., Li, Z., Zhu, X., Hu, X., Lu, T., Lu, L., Li, H., Wang, X. e Qiao, Y. (s.d.). InternImage: Esplorazione di modelli di base per la visione su larga scala con convoluzioni deformabili. [online] Disponibile su: https://arxiv.org/pdf/2211.05778.pdf [Consultato il 31 luglio 2023].

Chollet, F. (s.d.). Xception: Apprendimento profondo con convoluzioni separabili in profondità. [online] Disponibile su: https://arxiv.org/pdf/1610.02357.pdf.

‌Krizhevsky, A., Sutskever, I. e Hinton, G.E. (2012). Classificazione ImageNet con reti neurali convoluzionali profonde. Communications of the ACM, 60(6), pp.84–90. doi:https://doi.org/10.1145/3065386.

Dai, J., Li, Y., He, K. e Sun, J. (s.d.). R-FCN: Rilevazione oggetti tramite reti completamente convoluzionali basate su regioni. [online] Disponibile su: https://arxiv.org/pdf/1605.06409v2.pdf.

‌‌