next up previous
Next: Applications Up: Les réseaux multicouches Previous: Définition et expressivité des

L'algorithme de rétropropagation du gradient

L'algorithme de rétropropagation du gradient suit la démarche de Widrow-Hoff. Définir une notion d'erreur sur un exemple puis calculer la contribution à cette erreur de chacun des poids synaptique. C'est cette deuxième étape qui n'est pas évidente. Elle est parfois désignée sous le nom de ``Credit Assignment Problem''.

Afin de pouvoir appliquer la méthode du gradient, on a besoin de calculer des dérivées et donc de ``lisser'' les calculs.

On remplace pour cela la fonction à seuil de Heaviside par une fonction sigmoïde
displaymath3344

 figure728
Figure 3.13: La fonction sigmoïde

Cette fonction est une approximation indéfiniment dérivable de la fonction à seuil de Heaviside, d'autant meilleure que k est grand. Nous prendrons k=1 dans la suite.

On peut remarquer que la dérivée de la fonction tex2html_wrap_inline3350 est simple à calculer :
displaymath3352

Il est essentiel que ce calcul soit simple, puisqu'il doit être effectué autant de fois qu'il y a de cellules, à chaque étape de modification des poids synaptiques. On utilise aussi parfois, pour cette raison, la fonction th(x) dont la dérivée est égale à tex2html_wrap_inline3356.

On suppose maintenant que la sortie de chaque neurone est calculée à l'aide de cette fonction :


displaymath3358

On considère un réseau comprenant q+1 couches numérotées de 0 à q. On suppose que le seuil de chaque cellule est nul (c'est-à-dire qu'il a été remplacé par un coefficient synaptique).

On note

 figure743
Figure 3.14: Une couche cachée

On a donc :
displaymath3392

L'erreur du réseau pour une entrée tex2html_wrap_inline3394 est égale à :
displaymath3396

Nous allons montrer que l'on peut facilement calculer récursivement les quantités tex2html_wrap_inline3398

  1. Pour L=q, on a :


    displaymath3402

  2. Pour L<q, on a :


    displaymath3406
    et
    displaymath3408

Les quantités tex2html_wrap_inline3398 étant connues, on peut facilement calculer la contribution à l'erreur des coefficients tex2html_wrap_inline3412


displaymath3414

Si maintenant, on applique la méthode du gradient, on trouve donc :


displaymath3416


remarque817


next up previous
Next: Applications Up: Les réseaux multicouches Previous: Définition et expressivité des

Marc Tommasi
Wed May 14 15:14:59 MET DST 1997