|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
[C/C++] Rete neurale ff con back-propagation
Ho ripreso in mano la faccenda reti neurali, come mi aveva consigliato al tempo marco.r ho utilizzato le matrici per avere maggior velocità e praticità.
Il problema che ho riguarda una rete a 3 livelli. Due input, due nascosti, un output. La rete deve imparare l'XOR, questa, a volte funziona a volte no..... utilizzo per neuroni nascosti e output la sigmoide, ho un bias aggiuntivo per questi ultimi due strati. Quando la rete arriva a funzionare lo fa comunque con migliaia di cicli di apprendimento.... fra l'altro l'errore cala di colpo... da un output errato per migliaia di epoche poi tutt'ad un tratto converge. mi chiedevo dunque dove può essere l'errore.... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
inizializzo i pesi tra -1 e 1.... la rete ci mette un numero di epoche variabile comunque alto, sapevo che l'algoritmo di back-propagation richiede molte iterazioni, ma nel mio caso sono 50000 a volte 27000 a volte più di 100000, ma così tante?
![]() Ultima modifica di Teo@Unix : 27-11-2010 alle 18:30. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
vorrei capire se una cosa del genere è ammessa.. oppure è proprio sbagliato, la back-propagation è semplice. Non c'è momentum o altro...
grazie. Ultima modifica di Teo@Unix : 28-11-2010 alle 00:09. |
![]() |
![]() |
![]() |
#4 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21608
|
a parte la sezione sbagliata cmq si il comportamente di una ff è circa quello
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
|
![]() |
![]() |
![]() |
#6 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21608
|
Quote:
http://www.hwupgrade.it/forum/showthread.php?t=1321413
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
[OT]
Consiglio a Teo@Unix di includere un link alla sua vecchia discussione, giusto per riferimento, così un eventuale lettore esperto può ripescare il "contesto" anche da lì (e ricostruire il filo del discorso più agevomente).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
Quote:
Se vuoi aumentare la velocità di apprendimento ti consiglio di sostituire la funzione sigmoide e la sua derivata per usare la funzione tangente iperbolica (tanh) e la sua derivata 1-x*x. A volte può dare risultati inaspettati (come succedeva a me), ma spesso la velocità aumenta in modo impressionante. Ti consiglio anche di inizializzare i pesi in modo che siano centrati sullo 0, quindi cerca di non andare oltre al range -0.3 e +0.3, inoltre ricordati di inizializzare opportunamente il generatore pseudorandom con "srand((unsigned)time(NULL));". |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
grazie per le risposte, mi sposto nella sezione adeguata, il prossimo messaggio lo inserirò lì, più link a questa.
Farò un pò di prove, in primis con il momentum, poi valuterò anche di cambiare la funzione, ho visto che ci sono molte funzioni alternative ricavate sulla sigmoidale. Intanto grazie. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Il punto è che li non mi risponde nessuno...
cmq se sapete darmi un consiglio il post è questo: http://www.hwupgrade.it/forum/showthread.php?t=2285924 Thank you. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:42.