Cos’è una rete neurale residua?

Una rete neurale residua denominata “ResNet” è una rinomata rete neurale artificiale. Si assembla su costrutti ottenuti dalle cellule piramidali della corteccia cerebrale. Le reti neurali residue realizzano questo risultato utilizzando scorciatoie o “salta connessioni” per spostarsi su vari strati.

Gli esperti implementano i tradizionali modelli di reti neurali residue con salti a due o tre strati contenenti la normalizzazione dei lotti e le non linearità nel mezzo. Gli scienziati dei dati approfittano anche di una matrice di peso supplementare per imparare i pesi dei salti in alcuni casi. Il termine usato per descrivere questo fenomeno è “Highwaynet”. I modelli che consistono di più salti paralleli sono “Densenets”. Quando si parla di reti neurali residue, anche le reti non residenziali possono essere definite reti semplici.

Una ragione massiccia per saltare gli strati è quella di stare alla larga dai gradienti di sparizione e da problemi simili. Poiché il gradiente è retropropagato agli strati precedenti, questo processo ripetuto può rendere il gradiente estremamente piccolo. La maggior parte degli individui fa questo utilizzando le attivazioni degli strati precedenti fino a quando l’adiacente impara in particolare i pesi. Durante l’allenamento, questi pesi si adattano agli strati a monte e ingrandiscono lo strato saltato in precedenza. Nel caso più semplice, entrano in gioco i pesi utilizzati per collegare gli strati adiacenti.

Tuttavia, questo funziona efficacemente solo quando tutti gli strati intermedi sono lineari o si sovrappongono sullo strato non lineare. Se questo non è il caso, l’utilizzo di una diversa matrice di pesi sarebbe utile per le connessioni saltate. Sarebbe meglio se si considerasse l’utilizzo di una Highwaynet in questi casi.

Il salto elimina le complicazioni dalla rete, rendendola più semplice, utilizzando pochissimi strati durante la fase di addestramento iniziale. Accelera l’apprendimento di dieci volte, riducendo al minimo l’effetto dei gradienti di sparizione. Perché? Perché non ci sono quasi più strati da attraversare. Dopo di che, la rete alla fine rimette a posto gli strati esperti mentre apprende lo spazio per le funzioni.

Man mano che l’addestramento si avvicina al completamento e ogni strato si espande, essi si avvicinano al collettore e imparano le cose più rapidamente. Una rete neurale che non ha parti residue ha più libertà di esplorare lo spazio delle caratteristiche, rendendolo altamente a rischio di perturbazioni, causando l’uscita dal collettore e rendendolo essenziale per il recupero dei dati di addestramento extra.

Che cosa ha reso necessaria la necessità di reti neurali residue?

Dopo che AlexNets ha festeggiato il trionfo al concorso di classificazione LSVRC del 2012, la rete residua profonda è probabilmente diventata l’innovazione più innovativa e ingegnosa nella storia dell’apprendimento profondo e della visione artificiale. ResNet consente di allenare centinaia, se non migliaia di strati, ottenendo prestazioni affascinanti.

Numerose applicazioni di computer vision hanno sfruttato le forti capacità di rappresentazione della rete neurale residua e hanno notato un enorme incremento. La classificazione delle immagini non è stata l’unica applicazione di computer vision a utilizzare ResNet – anche il riconoscimento dei volti e il rilevamento degli oggetti hanno beneficiato di questa innovazione rivoluzionaria.

Poiché le reti neurali residue hanno lasciato la gente sbalordita durante la sua inaugurazione nel 2015, diversi individui della comunità di ricerca hanno cercato di scoprire i segreti dietro il suo successo, ed è sicuro dire che ci sono state tonnellate di perfezionamenti fatti nella vasta architettura di ResNet.

Il tema del gradiente di scomparsa

Il problema del gradiente di scomparsa è comune nella comunità dell’apprendimento profondo e della scienza dei dati. Le persone spesso incontrano questo problema quando si formano reti neurali artificiali che coinvolgono il backpropagation e l’apprendimento basato sul gradiente. Come discusso in precedenza, gli esperti usano i gradienti per aggiornare i pesi in una rete specifica.
Tuttavia, le cose sono diverse a volte, poiché il gradiente diventa incredibilmente piccolo e quasi svanisce. Questo impedisce ai pesi di cambiare i loro valori, facendo sì che la rete interrompa l’addestramento, poiché gli stessi valori si diffondono in continuazione senza che venga fatto alcun lavoro significativo.

ResNet e Deep Learning

Ogni modello di apprendimento profondo possiede molteplici livelli che gli permettono di comprendere le caratteristiche di input, aiutandolo a prendere una decisione informata. Anche se questo è abbastanza semplice, come fanno le reti a identificare le varie caratteristiche presenti nei dati?
Sarebbe giusto pensare alle reti neurali come a degli approssimatori di funzioni universali. I modelli cercano di apprendere i parametri giusti che rappresentano da vicino una caratteristica o una funzione che fornisce il giusto output. L’incorporazione di più livelli è un ottimo modo per aggiungere parametri, e permette anche la mappatura di funzioni complicate non lineari.

Tuttavia, ciò non significa che l’impilamento di tonnellate di strati si tradurrà in un miglioramento delle prestazioni. Se si guarda da vicino, ci si renderà conto che c’è un tranello. Mentre notiamo che l’implementazione dei nostri modelli con più strati porta a prestazioni migliori, i risultati potrebbero cambiare drasticamente in alcune condizioni, portando alla saturazione e, alla fine, ad un rapido declino.

Capire il problema con più strati

Dobbiamo prima capire come i modelli imparano dai dati di formazione. Il processo avviene facendo passare ogni input attraverso il modello (alias feedforward) e facendolo passare di nuovo (alias backpropagation.) Mentre la backpropagation avviene, aggiorniamo i pesi del nostro modello in base alla sua classificazione degli input. L’aggiornamento sottrae il gradiente della funzione di perdita rispetto al valore precedente del peso.

Come ResNet risolve il problema del gradiente di perdita (Vanishing Gradient)

Come abbondantemente detto, le reti neurali residue sono la soluzione ideale al problema del vanishing gradient. Gli esperti di Deep learning aggiungono scorciatoie per saltare due o tre strati per rendere il processo più veloce, facendo sì che la scorciatoia cambi il modo in cui calcoliamo i gradienti ad ogni strato. Per semplificare le cose, il passaggio dell’input attraverso l’output impedisce ad alcuni strati di cambiare i valori del gradiente, il che significa che possiamo saltare la procedura di apprendimento per alcuni strati specifici. Il fenomeno chiarisce anche come il gradiente entra di nuovo nella rete.

Mentre continuiamo l’addestramento, il modello afferra il concetto di mantenere gli strati utili e non usare quelli che non aiutano. Il modello convertirà i successivi in mappature di identità. È un fattore significativo dietro il successo della rete neurale residua, poiché è incredibilmente semplice creare una mappatura a strati per la funzione di identità.

Inoltre, il fatto che ci sia un’opzione per nascondere i livelli che non aiutano è immensamente utile. Una quantità enorme di strati può rendere le cose piuttosto confuse, ma con l’aiuto delle reti neurali residue, possiamo decidere quali vogliamo mantenere e quali non servono ad uno scopo.

Pensieri finali

Sarebbe giusto dire che l’architettura di rete neurale residua è stata incredibilmente utile per aumentare le prestazioni delle reti neurali a più strati. Al loro interno, i ResNet sono come varie reti con piccole modifiche. Questa architettura ha passaggi funzionali simili alla CNN (reti neurali convoluzionali) o ad altre. Tuttavia, c’è un ulteriore passo per affrontare il problema del gradiente di scomparsa e altre questioni correlate.