Domanda
Sto cercando di eseguire uno studente NN sugli stessi dati in 2 programmi diversi. Sebbene tutto (i dati e i parametri) siano uguali e anche io imposti manualmente i pesi iniziali sullo stesso valore (0), risultato 2 pesi diversi in 2 programmi. La cosa interessante è che ogni programma in esecuzione consecutivamente non cambia risultati indipendenti. Quello che debug e controllo è:
1) Dati di input,
2) Parametri NN
3) Init. pesi
4) Etichette di classe (nodi di output)
e questi sono tutti uguali. Cos'altro dovrei controllare?
Soluzione
Penso che ciò che sta accadendo sia che l'algoritmo di allenamento NN sta impostando alcuni seed in modo casuale e per questo motivo la tua matrice di peso finirà con valori diversi in entrambi i tuoi allenamenti.
In secondo luogo, la classificazione risultante nella rete neurale sarà praticamente la stessa in entrambi i programmi, purché tu abbia utilizzato lo stesso set di allenamento.
Altri suggerimenti
Come detto la risposta 1, probabilmente sta inizializzando i pesi a valori casuali. In generale, non è necessario inizializzare i pesi NN su zero, poiché è sempre un punto di sella. Ciò significa che un tipico algoritmo di addestramento alla backpropagazione fallirà.