Bonjour à tous !
Depuis quelques je tente de coder un perceptron multi-couche, par curiosité.
J'ai donc, entre autre, lu les deux références suivantes :
http://alp.developpez.com/tutoriels/...x-de-neurones/
http://wcours.gel.ulaval.ca/2007/h/1...Perceptron.pdf
Mais il y a une chose que je dois nécessairement mal comprendre; d'où mon message...
En effet, dans l'algorithme de rétropropagation, on trouve la valeur du gradient local (pour la couche de sortie) avec la formule suivante :
gj(n) = ej(n) x yj(n) x [1 − yj(n)]
où yi(n) représente la sortie du du neurone...
Or a sortie du neurone est le résultat de la fonction de seuil.
Donc si on applique une fonction de seuil Heaviside; on à soit 0, soit 1 !
donc
gj(n) = ej(n) x 0 x [1 − 0] = 0
ou
gj(n) = ej(n) x 1 x [1 − 1] = 0
Conclusion avec une fonction de seuil Heaviside, l'algorithme de rétropropagation est complètement inopérant...
Est ce que ma conclusion est correcte ? Ca me parait très étrange, mais je ne comprends pas où est mon erreur...
Merci d'avance !!
Partager