Perché la backpropagation non funziona quando si inizializzano i pesi con lo stesso valore?


20

Perché la backpropagation non funziona quando si inizializza tutto il peso con lo stesso valore (diciamo 0,5), ma funziona bene quando si danno numeri casuali?

L'algoritmo non dovrebbe calcolare l'errore e funzionare da lì, nonostante il fatto che inizialmente i pesi siano gli stessi?

Risposte:


26

Rottura della simmetria.

Se tutti i pesi iniziano con valori uguali e se la soluzione richiede lo sviluppo di pesi diversi, il sistema non potrà mai apprendere.

Questo perché l'errore viene propagato indietro attraverso i pesi in proporzione ai valori dei pesi. Ciò significa che tutte le unità nascoste collegate direttamente alle unità di uscita riceveranno segnali di errore identici e, poiché le variazioni di peso dipendono dai segnali di errore, i pesi da tali unità alle unità di uscita devono essere sempre gli stessi. Il sistema si avvia in una sorta di punto di equilibrio instabile che mantiene i pesi uguali, ma è più alto di alcuni punti vicini sulla superficie dell'errore e una volta che si allontana da uno di questi punti, non tornerà mai più. Contrastiamo questo problema avviando il sistema con piccoli pesi casuali. In queste condizioni non sorgono problemi di simmetria di questo tipo.


Quindi i pesi iniziali di un NN non determinano solo la velocità con cui si allena, ma potrebbero anche essere la causa dell'apprendimento o non dell'apprendimento?
user1724140

2
Sì, a volte, non ci alleniamo (una rete neurale per esempio) solo su una serie di pesi. Una cosa comune da fare, se abbiamo tempo, è creare diverse configurazioni di peso iniziale e addestrare la rete su di essa. Perché alcune volte, può accadere che una configurazione finisca in un optima locale o che il peso purtroppo non sia stato realmente casuale.
Questo

Non è sbagliato, perché input diversi possono ancora interrompere la simmetria. vedi: open.wolframcloud.com/env/…
user3180

12

RnR

Quello che vuoi è un minimo globale, ma non hai un modo garantito per trovarlo. E se la tua superficie ha diversi minimi locali, potresti essere nei guai.

Ma se ne ha solo pochi, la strategia di Thierry dovrebbe funzionare: eseguire più ricerche per minimi locali partendo da punti selezionati casualmente dovrebbe aumentare le possibilità di trovare il minimo globale.

E nel caso felice in cui esiste un solo minimo, qualsiasi vettore di peso iniziale ti porterà ad esso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.