RepVGG Una spiegazione dettagliata per la riparametrizzazione strutturale

RepVGG - Una spiegazione dettagliata sulla riparametrizzazione strutturale

Demistificazione di RepVGG: Svelando i Segreti della Ri-parametrizzazione Strutturale

— Perché sto scrivendo questo articolo su RepVGG quando ci sono già diverse risorse eccellenti disponibili?

— La risposta sta nella prospettiva unica che mi propongo di fornire.

— Mentre altri articoli possono toccare concetti simili o mostrare la velocità di inferenza del codice, il mio focus è fornire una comprensione completa della parametrizzazione strutturale a livello concettuale.

Approfondirò i dettagli intricati di come queste convoluzioni 1×1 vengono ulteriormente parametrizzate in convoluzioni 3×3 e di come il shortcut di identità viene trasformato in una convoluzione 1×1. Questo articolo mira a fornire un’illustrazione approfondita che colma il vuoto nelle spiegazioni esistenti. Nella nostra modifica dell’architettura originale di VGG, abbiamo introdotto rami residuali e rami convoluzionali 1×1. Queste aggiunte sono state fatte con l’intenzione di consentire una successiva ri-parametrizzazione strutturale in un singolo percorso. Per facilitare questa trasformazione, abbiamo regolato attentamente il posizionamento di questi rami senza introdurre connessioni tra strati. In generale, il modello RepVGG utilizzato nell’addestramento comprende tre percorsi: convoluzioni convenzionali (conv_3x3), convoluzioni 1×1 (conv_1x1) e un percorso di identità. Ogni percorso è accompagnato da livelli di normalizzazione del batch (BN). Nelle sezioni seguenti, forniremo una spiegazione dettagliata di come questi tre percorsi vengono fusi in un’unica unità conv_3x3 durante l’inferenza.

Fonte: https://arxiv.org/pdf/2101.03697.pdf

Fusione di conv_1x1 e conv_3x3

Iniziamo con la revisione del processo conv_3x3:

Solo per spiegare nel dettaglio, assumendo che la dimensione della mappa delle caratteristiche di input sia (1, 2, 3, 3), il che significa che la dimensione del batch è 1, il canale è 2 e la dimensione delle caratteristiche è 3 per 3. La dimensione della mappa delle caratteristiche di output è la stessa della dimensione della mappa delle caratteristiche di input e la stride è…