Algorithme de rétropropagation du gradient
Parmi tous les algorithmes de modification des poids synaptiques d’un RNA qui ont été proposés dans la littérature au fil des années, celui de la rétropropagation du gradient de l’erreur est celui qui a été le plus couramment utilisé et qui bénéficie de la plus vaste littérature dédiée [154], [155]. Pour cette raison, son utilisation dans cette thèse a été privilégiée au profit d’autres algorithmes d’apprentissage. En outre, les règles mathématiques sur lesquelles cet algorithme est basé sont intuitives, ce qui permet une prise en main rapide de la méthode. L’algorithme de rétropropagation du gradient de l’erreur consiste à mesurer l’erreur d’estimation commise par le perceptron entre le vecteur des sorties souhaitées O et le vecteur des sorties observées Y , puis à rétropropager le gradient de l’erreur pour ajuster la valeur des poids synaptiques. L’erreur globale E vue par la couche de sortie est définie comme la somme des erreurs quadratiques observées (4.3) 6, où le terme ndim correspond à la dimension du vecteur de sortie. Le terme E peut également être perçu comme la fonction coût du problème que l’on cherche à minimiser. couche de sortie vers la couche d’entrée afin de modifier les poids synaptiques wij. La mise à jour des poids synaptiques ∆wij s’effectue alors selon l’équation (4.5), où µ est le taux d’apprentissage du perceptron. Dans cette équation, il est intéressant de noter que la mise à jour se fait dans la direction opposée du gradient afin de se rapprocher du minimum global de la fonction erreur.
Taux d’apprentissage et coefficient d’inertie
En plus du taux d’apprentissage µ, qui a pour but de contrôler l’amplitude de la mise à jour des poids synaptiques, un autre paramètre est couramment ajouté pour aider l’algorithme à s’extirper des extrema locaux : le coefficient d’inertie (ou momentum) noté α. Ce terme a pour objectif d’empêcher la fonction erreur E de se stabiliser dans un minimum local en ajoutant au terme de mise à jour ∆ωij(n) une fraction de la mise à jour précédente ∆ωij(n − 1). En plus du taux d’apprentissage µ, qui a pour but de contrôler l’amplitude de la mise à jour des poids synaptiques, un autre paramètre est couramment ajouté pour aider l’algorithme à s’extirper des extrema locaux : le coefficient d’inertie (ou momentum) noté α. Ce terme a pour objectif d’empêcher la fonction erreur E de se stabiliser dans un minimum local en ajoutant au terme de mise à jour ∆ωij(n) une fraction de la mise à jour précédente ∆ωij(n − 1). Le taux d’apprentissage et le facteur d’inertie doivent faire l’objet d’une étude atten- tive pour assurer une diminution de l’erreur de prédiction au fil des itérations. D’après LeCun [155] et [165], une méthode efficace pour dimensionner ces termes est de les rendre dépendants de l’erreur globale du réseau. Ainsi, lorsque l’erreur de prédiction devient faible, le réseau semble converger vers une réponse stable. Le taux d’appren- tissage et le terme d’inertie doivent alors avoir une valeur relativement faible pour ne pas perturber la convergence.La normalisation des données d’apprentissage n’est pas une nécessité, mais il a été remarqué qu’une convergence plus rapide était obtenue dans les applications où les données d’entrées et de sorties sont normalisées [155], [166]. Ici, la normalisation désigne l’action de réduire la taille de l’espace des données en la ramenant sur un inter- valle ]0; 1[ ou ] − 1; 1[. Certains auteurs font aussi le choix de resserrer encore l’espace de normalisation en se ramenant à l’intervalle ]0, 1; 0, 9[. Cependant chaque problème étant unique, il convient de choisir l’intervalle de normalisation le plus approprié afin de réduire le temps de convergence de l’apprentissage.
La normalisation permet également de diminuer la difficulté du calcul numérique (ici, la rétropropagation de l’erreur) en permettant un conditionnement faible du problème d’apprentissage. Cette notion de conditionnement fait appel à des théo- ries mathématiques qui ne seront pas explicitées ici, mais le lecteur intéressé peut se référer aux travaux de [167] qui étudie précisément l’impact du conditionne- ment sur l’apprentissage des réseaux de neurones, mais également sur l’influence d’autres facteurs comme le taux d’apprentisage ou le momentum. — La normalisation des données permet également d’éviter les effets de saturation : lorsque les signaux reçus par les neurones sont très supérieurs à 1, les fonctions d’activations sont saturées et transmettent en sortie une valeur proche de leurs limites de variations. Ainsi, pour des fonctions d’activation de type sigmoide, ou hyperbolique, dès que la combinaison linéaire des entrées est supérieure en valeur absolue à 3, la sortie renvoyée est proche de 1 en valeur absolue. Ainsi, pour toute valeur supérieure en entrée, la réponse ne variera que très peu.