• Aucun résultat trouvé

Tab III. 1 Les fonctions d'activation usuelles [2] La fonction

III.5 Fonctionnement des réseaux de neurones

III.5 Fonctionnement des réseaux de neurones

La phase d'entraînement (apprentissage) est primordiale pour la mise en place d'un réseau de neurones notamment le PMC. En outre, différentes étapes de traitement doivent être employées dans le but d'assurer le fonctionnement correct d'un réseau de neurones.

Les réseaux de neurones artificiels ont besoin de cas réels servant d‟exemples pour leur apprentissage (on appelle cela la « base d'apprentissage »). Ces cas doivent être d‟autant plus nombreux que le problème est complexe.

III.5.1 Phase d'apprentissage

L‟apprentissage consiste à trouver les poids synaptiques qui permettent d'établir la relation liant les entrées avec les sorties du réseau de neurones. Cette phase consiste à donner au réseau, un ensemble d'exemples, c'est à dire un ensemble fini de couple de vecteurs (E, y) appelé "corpus d’entraînement". Dans un tel couple, (E) désigne le vecteur d'entrée du réseau et (y) le vecteur de sortie désirée pour cette entrée.

Prenons à titre d'exemple le cas précèdent des PMC à une couche cachée, l'apprentissage consiste à modifier l'ensemble des poids "W" et "Z" (Equation. III.4) afin de trouver les fonctions adéquates permettant aux sorties "a" du PMC d'approcher les observations "y" via la connaissance des entrées "E".

Généralement, un algorithme d'apprentissage permet de modifier les poids de façon itérative. A l'itération "k+1" ces poids peuvent s'écrire sous la forme suivante (Equation. III. 7) i j k i j k i j

w

w

w

,1

,



, (III. 7) Avec : i j w,

 est la modification apportée.

Comme nous avons vu précédemment, les réseaux de neurones possèdent des algorithmes d‟apprentissage (ou d‟entraînement) qui consistent à modifier les poids synaptiques en fonction d‟un jeu de données présentées en entrée du réseau dans le but de

72 permettre au réseau de neurones d‟apprendre la relation reliant ses entrées avec ses sorties. L‟intérêt des réseaux de neurones réside dans leur capacité à généraliser sur des données inconnues. Ces algorithmes d'apprentissage peuvent être classés en deux grandes classes : les algorithmes non-supervisés et les algorithmes supervisés.

La première classe d'algorithmes d‟apprentissage, les non supervisés, sont utilisés pour des réseaux de neurones dont le résultat attendu n'est pas connu au préalable (nous ne possédons pas d'informations à priori sur les sorties du réseau de neurones).

La seconde classe d'algorithmes d'apprentissage, les supervisés, consiste à entrainer un réseau de neurones pour qu'il reproduise un comportement déterminé connu à l‟avance. Cette technique d'apprentissage classique a été mise au point par Rumelhart est détaillée dans l'article [Rumelhart et al. 1986].

Dans la suite nous nous intéresserons plus particulièrement à ce type d‟apprentissage que nous détaillerons un peu plus, nous fournirons des valeurs désirées à la sortie pour chaque entrée connue. Les poids sont modifiés afin de minimiser l'écart entre les sorties désirées connues et celles calculées par le réseau de neurones. L'erreur quadratique notée "C" (fonction de coût ou fonction d'erreur) consiste à calculer la somme des erreurs carrés entre les sorties désirées "y" et la réponse calculée du réseau "a" sur l'ensemble des "nt" données

utilisées pour l'apprentissage sur chacune des "L" sorties :

 

 



nt q L i q i q i

a

y

Z

W

C

1 1 2

)

(

)

,

(

(III.8)

Pour l'apprentissage supervisé, il est nécessaire de disposer d'une base de données ou "Corpus d'apprentissage" contenant un nombre "nt" suffisant de couples d'exemples

Entrées/Sorties :

E ,q yq

Enfin, notons que l'apprentissage du réseau de neurones est un problème classique d'optimisation permettant de chercher les poids synaptiques qui minimisent l'erreur globale du réseau, autrement dit la minimisation de la fonction du coût "C" (Equation. III.8).

La grande difficulté de toute méthode d‟optimisation est de savoir si l'on se trouve dans un minimum global ou dans le local détectant la fin de l'apprentissage (Fig. III. 5).

73 Fig. III. 5 L'évolution schématique de l'erreur en fonction de nombre d'itération.

Pour le perceptron multicouche PMC, le problème réside dans le calcul des dérivées de la fonction "C" (Equation. III.8) par rapport aux poids reliant les couches cachées. En effet, il est difficile de quantifier la sensibilité des neurones intermédiaires sur les sorties du réseau de neurones. De plus, lorsque le nombre de neurones sur les différentes couches composant le réseau est important, la convergence des algorithmes est relativement longue.

Rumelhart [Rumelhart et al. 1986] a proposé un algorithme appelé " rétro propagation du gradient " applicable à n'importe quelle méthode d'optimisation. Cet algorithme permet de calculer de façon récursive le gradient de la fonction "C" (Equation.III.8) relatif aux paramètres des couches cachées (

i j w C ,   ). L'utilisation de ce gradient pour la phase d'apprentissage a permis l‟utilisation des méthodes classiques d‟optimisation au cas particulières des PMC. Dans notre cas, nous avons utilisé l'algorithme de Levenberg-Marquardt (LM).

De nombreuses techniques d‟optimisation existent, plus ou moins rapides, performantes et gourmandes en mémoire vive. Il apparaît que la technique de Levenberg- Marquardt est un algorithme très rapide.

Levenberg et Marquardt ont proposé un algorithme permettant de combiner la méthode de Gauss-Newton et la méthode des plus fortes pentes.

L‟algorithme d'entraînement LM est utile pour l‟apprentissage supervisé ; Il présente une technique standard, employée dans diverses disciplines scientifiques, pour la résolution des problèmes d'ajustement au moindre carré de modèles non linéaires. Dans ce cas, chaque

Nombre d’itérations Erreur Minimum local Minimum global

74 itération demande plus de calculs, mais dans la plupart des cas le nombre d'itérations nécessaires pour converger est bien moindre.

En raison du très grand nombre de paramètres à ajuster (les poids Wj,i et Zn,i), le nombre

de minima locaux est potentiellement important rendant ainsi le risque de convergence prématurée important [Fahlman, 1988], [Riedmiller et al. 2003] .

L‟ajout des neurones ou de couches améliore les capacités du réseau à modéliser une fonction complexe et la finesse de l'approximation, mais l'apprentissage devient plus long et complexe(particulièrement lorsque le nombre de couches dépasse deux) et le risque de surapprentissage augmente. Généralement, nous commençons avec un petit réseau (une couche cachée) puis nous ajoutons progressivement des neurones et des couches. Théoriquement, une ou deux couches cachées suffisent généralement pour l‟approximation.

Documents relatifs