• Aucun résultat trouvé

Minimisation itérative d’un critère de l’erreur en sortie

Sortie obtenue

II.3.1.1 Minimisation itérative d’un critère de l’erreur en sortie

II.3.1.1 Minimisation itérative d’un critère de l’erreur en sortie

Il s’agit de minimiser une « fonction de cout » de l’erreur calculée entre la sortie réelle du réseau et sa sortie désirée, pour une entrée donnée. Or, les problèmes de minimisation d’une fonction de cout relèvent des méthodes de recherche opérationnelle : il s’agit tout simplement d’un problème d’optimisation.

46

Fonction de cout

La définition d'une fonction de coût est primordiale, car celle-ci sert à mesurer l'écart entre la sortie désirée du modèle et les mesures faites sur les exemples d'apprentissage.

La fonction la plus couramment utilisée, et dont nous nous sommes servi lors de nos travaux, est la fonction dite « Erreur quadratique ».

L’erreur quadratique sur la base d'apprentissage consiste à minimiser la somme des carrés des erreurs entre la sortie du réseau et la valeur réelle de la sortie.

Les algorithmes utilisés nécessitent que la fonction de coût soit dérivable par rapport aux poids.

L'apprentissage supervisé est le type d'apprentissage le plus utilisé. Pour ce type la règle la plus utilisée est celle de Widrow-Hoff (la règle Delta). D'autres règles d'apprentissage sont par exemple la règle de Hebb, la règle du perceptron (procédure de correction d’erreur), et la rétro propagation de gradient qui est l’algorithme le plus répandu pour les réseaux multi couches.

a. Règle de Hebb : Cette règle permet de modifier la valeur des poids synaptiques en

fonction de l'activité des unités qui les relient. Le but principal est le suivant : Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou diminué. R est une constante positive qui représente la force d'apprentissage (learning rate).

b. La règle delta : qui calcule la différence entre la valeur de la sortie et la valeur désirée

pour ajuster les poids synaptiques. Elle emploie une fonction d'erreur, nommée aussi le moindre carré moyen, basée sur les différences utilisées pour l'ajustement des poids.

c. Algorithme d'apprentissage par correction d'erreur ou règle du perceptron

 Présentation de l'algorithme

L'algorithme d'apprentissage peut être décrit de la manière suivante. On initialise les poids du perceptron à des valeurs quelconques. A chaque fois que l'on présente un nouvel exemple, on ajuste les poids selon que le perceptron l'a correctement classé ou non. L'algorithme s'arrête lorsque tous les exemples ont été présentés sans modification d'aucun poids.

La procédure d'apprentissage du perceptron linéaire à seuil est une procédure de correction d'erreur puisque les poids ne sont pas modifiés lorsque la sortie attendue est égale à la sortie calculée par le perceptron courant. Étudions les modifications sur les poids lorsque diffère de :

47

si la sortie calculée=0 et sortie attendue=1, cela signifie que le perceptron n'a pas assez pris en compte les neurones actifs de l'entrée (c'est-à-dire les neurones ayant une entrée à 1)dans ce cas ;l'algorithme ajoute la valeur de la rétine aux poids synaptiques (renforcement).

si la sortie calculée=1 et la sortie attendue=0; l'algorithme retranche la valeur de la rétine aux poids synaptiques (inhibition).

Lors de la phase d'apprentissage, sachant que l'échantillon d'apprentissage est un ensemble linéairement séparable, tous les exemples sont présentés jusqu'à la convergence, c'est-à-dire jusqu'à ce qu'une présentation complète des exemples n'entraîne aucune modification des poids.

 Critiques sur la méthode par correction d'erreur

Si l'échantillon est linéairement séparable, si tous les exemples sont présentés équitablement (c'est-à-dire que la procédure de choix des exemples n'en exclut aucun), et que le critère d'arrêt est la stabilité après une présentation complète de l'échantillon alors la procédure d'apprentissage par correction d'erreur converge et l'algorithme s'arrête avec un perceptron qui classifie correctement l'échantillon d'apprentissage.

L'inconvénient majeur de cet algorithme est que si l'échantillon présenté n'est pas linéairement séparable, l'algorithme ne convergera pas et l’on n’aura aucun moyen de le savoir.

On pourrait penser qu'il suffit d'observer l'évolution des poids synaptiques pour en déduire si l'on doit arrêter ou non l'algorithme. En effet, si les poids et le seuil prennent deux fois les mêmes valeurs sans que le perceptron ait appris et alors que tous les exemples ont été présentés, cela signifie que l'échantillon n'est pas séparable.

d. La règle de rétro propagation : (Backpropagation en anglais) inventée par

Rumelhart, Hinton et Williams en1986 .Elle s'utilise pour ajuster les poids de la couche d'entrée à la couche cachée. Cette règle peut aussi être considérée comme une généralisation de la règle delta pour des fonctions d'activation non linéaire et pour des réseaux multicouches.

La technique de rétropropagation du gradient est une méthode qui permet de calculer le gradient de l'erreur pour chaque neurone du réseau, de la dernière couche vers la

48

 Algorithmes de minimisation Principe des algorithmes

Soit J(w) la fonction de coût. Les algorithmes utilisés nécessitent que J(w) soit dérivable par rapport aux poids. Le principe de ces méthodes est de se placer en un point initial, de trouver une direction de descente du coût dans l’espace des paramètres w, puis de se déplacer d’un pas dans cette direction. On atteint un nouveau point et l’on itère la procédure jusqu’à satisfaction d’un critère d’arrêt. Ainsi, à l'itération k, on calcule :

wk = wk – 1 + ak – 1 .dk – 1

ak est le pas de la descente et dk est la direction de descente : les différents algorithmes se distinguent par le choix de ces deux quantités.

Descente du gradient

Le principe est de partir d'un point aléatoire puis de se déplacer dans la direction de la plus forte pente. En appliquant un certain nombre d'itérations, l'algorithme converge vers une solution qui est un minimum local de .

Figure 2.16. Illustration du principe de la descente de gradient, dans le cas d'une fonction à

une variable

On commence donc par choisir un vecteur de manière aléatoire. Puis pour l'itération numéro on calcule le gradient de au point :