Magazine Salute e Benessere

Reti neurali – inizializzazione ‘Nguyen-Widrow’ dei pesi

Creato il 07 marzo 2014 da Matteo Tosato @MatteoTosato87

L’ultima ‘feature’ introdotta nel mio framework per le reti neurali artificiali ha riguardato l’inizializzazione dei pesi sinaptici. Fino ad ora ho sempre fatto ricorso all’assegnazione di valori pseudo-casuali o compresi in un range basato su una Gaussiana delimitata ai valori -1, +1.

random

Test hanno dimostrato che la convergenza non è sempre assicurata o non lo è in tempi brevi. L’introduzione di una tecnica specifica per inizializzare i pesi della rete, ha dimostrato di poter migliorare in modo significativo la curva di apprendimento per reti neurali di tipo feed-forward.

La tecnica suddetta prende il nome dai suoi padri; Derrick Nguyen e Bernard Windrow [1]. E’ una delle più efficaci disponibili. In realtà la distribuzione è molto simile ad una Gaussiana, eccetto per il fatto che la probabilità rimane più alta verso gli estremi, poi procede azzerandosi verso il massimo ed il minimo.

L’inizializzazione dei pesi secondo il metodo Nguyen – Windrow è descritta dai passi seguenti:

1] I pesi vengono inizializzati in modo casuale all’interno di un range, vedi figura 1 (solitamente tra -1 e +1).
2] Viene calcolato il coefficiente beta:

nw_beta
dove ‘h’ è il numero di neuroni nascosti della rete e ‘i’ è il numero di input.
3] Per ogni layer da viene calcolata la norma Euclidea:
nw_norm
‘w’ è il i-esimo peso del layer.
4] A questo punto ogni peso o soglia dei neuroni del layer può essere aggiornato secondo la formula:
update
I pesi ora inizializzati sono rappresentati in figura 2.

nw

Figura 2: Inizializzazione dei pesi secondo il metodo Nguyen-Windrow

Utilizzando questo tipo di inizializzazione, il numero di blocchi degli algoritmi di apprendimento causati dai minimi locali sono significativamente calati.

Due test mi hanno dimostrato questo risultato:

Nel primo caso è stata addestrata una rete neurale costituita da tre input, quattro neuroni nascosti e una uscita per risolvere il problema di parità, la cui tabella di verità è mostrata in figura 3.

Utilizzando un algoritmo backpropagation, la rete è stata sottoposta all’addestramento per 1000 volte.

Utilizzando l’inizializzazione random dei pesi, nel 65.5 % dei casi l’apprendimento non è andato a buon fine.
Tramite il metodo Nguyen-Windrow, questi sono stati ridotti al 27.3 %.

Per il secondo test, lo stesso tipo di rete, però con due soli input, è stata addestrata per risolvere il ‘problema XOR’.
Anche in questo caso il metodo Nguyen-Windrow ha dato i risultati migliori, soltanto il 4,8 % dei casi l’addestramento è rimasto bloccato in un minimo, contro il 54,6 % della inizializzazione random.


Archiviato in:Informatica, Reti neurali artificiali Tagged: Nguyen-Widrow, Reti neurali artificiali

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :

Dossier Paperblog