• Aucun résultat trouvé

4.2 Réseaux de neurones artificiels

4.2.2 Principe des Réseaux de Neurones Artificiels

4.2.2.1 Modèle biologique

En biologie, un neurone est une cellule spécialisée dans le traitement et la trans- mission d’information dans le cerveau qui constitue l’unité élémentaire du système nerveux. Il se compose généralement d’un corps cellulaire (péricaryon ou soma) et de prolongements : un axone et des dendrites. Les dendrites sont les ramifications du neu- rone qui lui permettent de recevoir les signaux électriques et chimiques issus des autres neurones. L’axone est un prolongement de la cellule qui conduit le signal électrique sortant jusqu’aux dendrites auxquelles il est interconnecté. L’échange d’information entre un axone et une dendrite s’effectue par la synapse. L’axone génère un potentiel d’action et la synapse assure la conversion et la transmission du signal à la dendrite.

La transmission de l’information neuronale est illustrée par la figure 4.1 [148].

Figure 4.1 – Structure typique d’un neurone.

La propagation des signaux électriques ne se fait pas de manière linéaire, mais par un effet de seuil : l’information n’est transmise que lorsqu’un potentiel d’action adéquat est reçu par le neurone.

4.2.2.2 Le neurone formel

Un neurone formel est une fonction algébrique paramétrée de variables réelles dont les valeurs de sorties sont bornées. Un neurone formel est composé de quatre éléments fondamentaux : les entrées, les poids synaptiques associés, une fonction d’agrégation5

et une fonction d’activation.

Les données d’entrées correspondant aux variables du problème sont pondérées par les poids synaptiques puis sommées et enfin évaluées par une fonction d’activation pour obtenir une sortie. La fonction d’activation permet de recréer l’effet de seuil qui se produit lors de la propagation de l’information dans les synapses. La sortie est la réponse du neurone formel au stimulus reçu en entrée.

Sur la figure 4.2 est représenté le schéma d’un neurone formel possédant n entrées, un biais unitaire et produit une sortie unique notée y.

Fonction d’activation y P Fonction d’agrégation w2 x2 ... ... wn xn w1 x1 w0 1

Entrées synaptiquesPoids

Figure 4.2 – Représentation d’un neurone formel à n entrées et 1 sortie.

De fait, le fonctionnement d’un neurone formel est régi par le système d’équations (4.1), où xi et ωi représentent respectivement les entrées et les poids synaptiques du

neurone. Le biais b intègre une entrée supplémentaire, dont la valeur est fixée à 1, et permet de créer un offset pour discriminer les données d’entrées (son rôle est similaire à celui de l’ordonnée à l’origine pour une fonction affine ; ici, b = 1 · ω0). Le terme Ψ

est appelé potentiel d’activation du neurone tandis que φ est la fonction d’activation du neurone qui permet de produire la valeur de sortie y.

     Ψ = b + Pn i=1 ωixi = n P i=0 ωixi y= φ(Ψ) (4.1) Les poids synaptiques pondèrent les signaux transmis et régissent le fonctionnement du RNA en fournissant une application de l’espace des entrées vers l’espace des sorties.

x y −3 −2 −1 0 1 2 3 1 −1 2 −2 −3 3 φ2 φ1 φ3

Figure 4.3 – Représentation des fonctions d’activation.

Trois types de fonctions d’activation sont classiquement employées.

La fonction identité : φ1(Ψ) = Ψ

La fonction tangente hyperbolique : φ2(Ψ) = tanh(Ψ)

La fonction sigmoïde : φ3(Ψ) =

1 1 + e−Ψ

La figure 4.3 présente le tracé des fonctions φ12 et φ3 définies sur l’intervalle [-3,3].

4.2.2.3 Le perceptron multicouche

Un perceptron multicouche (PMC) est une structure composée de plusieurs couches de neurones. Dans un PMC, l’information est propagée de la couche d’entrée vers la couche de sortie. Cette architecture est la plus courante dans la littérature sur les RNA, ainsi, la quasi totalité des travaux cités en section 4.2.1 emploient cette architecture neuronale. L’idée sous-jacente est de combiner plusieurs fonctions élémentaires pour former des fonctions plus complexes.

Un PMC contient une couche d’entrée, une couche de sortie et une (ou plusieurs) couche(s) cachée(s). La couche d’entrée est une couche virtuelle étant donné qu’elle n’a pour rôle que de recevoir les signaux entrants et de les propager aux couches suivantes. Un perceptron multicouche est alors paramétré par le nombre de neurones compo- sant chacune des couches du réseau, la topologie des connexions entre les neurones (ici, le choix a été fait que tous les neurones d’une couche soient reliés à tous les autres neurones de la couche adjacente), la fonction d’agrégation, l’algorithme d’apprentis- sage et les fonctions d’activation utilisées par les différentes couches du réseau. Chaque couche du réseau peut ainsi utiliser une fonction d’activation différente afin d’atteindre les objectifs visés.

En outre, il est à noter que hormis les perceptrons multicouches, les réseaux de fonctions à base radiale (RFBR) sont également un type d’approximateur universel populaire. Les RBFR sont en beaucoup de points similaires aux PMC et différent principalement par la manière dont les signaux émanant des couches précédentes sont

combinées. Ainsi, les RFBR utilisent une distance euclidienne en guise de fonction d’agrégation.

Dans cette étude, nous avons fait le choix d’étudier l’approximation par PMC, d’une part pour sa facilité d’implémentation, d’autre part pour sa très bonne capacité à four- nir un approximateur robuste dans un grand nombre d’applications solutionnant des problèmes de grandes dimensions, et enfin les algorithmes d’apprentissage sont efficaces pour converger en un nombre raisonnable d’itérations.

La figure 4.4 représente un PMC constitué de quatre entrées, une couche cachée composée de cinq neurones et une couche de sortie à deux dimensions. Dans ce forma- lisme, chaque cercle correspond à un neurone et les flèches désignent les poids synap- tiques. De plus, la couche cachée et la couche d’entrée contiennent également un biais pour permettre au réseau de développer une meilleure capacité de généralisation.

I1 I2 I3 I4 b b Y1 Y2 Couche cachée Couche

d’entrée de sortieCouche

Figure 4.4 – Exemple structurel d’un perceptron multicouche.

Pour plus de clarté, les vecteurs contenant les p signaux entrants et les q signaux de sorties sont respectivement notés I = (I1, ..., Ip) et Y = (Y1, ..., Yq).

4.2.3

Notion d’apprentissage

Pour un réseau de neurones artificiels, l’apprentissage d’une tâche ou d’un processus est réalisé par la mise à jour des poids synaptiques. Une phase d’apprentissage consiste donc à modifier ces poids synaptiques jusqu’à ce que le RNA effectue les actions sou- haitées.

Les réponses attendues du RNA dépendent alors du problème considéré : dans le cas d’un problème de classification, il peut s’agir de déterminer le centre des classes ou une surface de séparation pour discriminer les cas d’apprentissage, en revanche, dans le cas d’un problème de régression ou d’approximation de fonction le RNA a pour objectif d’approcher une fonction continue sur l’intégralité de son domaine de définition. Il existe principalement trois types d’apprentissage : l’apprentissage supervisé, l’ap- prentissage non-supervisé et l’apprentissage par renforcement. Ces apprentissages peuvent être réalisés selon deux modes : en offline ou en online.

4.2.3.1 Apprentissage supervisé

Lorsque le comportement de la fonction à modéliser est connu, il est possible de constituer une base d’apprentissage composée de couples entrées-sorties. Ces couples sont alors utilisés pour effectuer un apprentissage supervisé du réseau neuronal pour l’entraîner à prédire les sorties correspondantes aux entrées. Le réseau s’adapte en mo- difiant ses poids synaptiques pour converger vers la sortie désirée [149] (figure 4.5).

Base d’apprentissage < I, O >

Entrée I calculée YSortie −+

Sortie sou- haitée O



Figure 4.5 – Structure de l’apprentissage supervisé.

Le vecteur contenant les sorties souhaitées est formalisé par O = (O1, ..., Oq), tandis

que  représente l’erreur d’estimation commise par le réseau neuronal.

Le défi à relever pour mener à bien un apprentissage supervisé est de calculer l’influence de chaque coefficient synaptique du réseau sur l’erreur d’estimation commise en sortie, puis d’appliquer une règle de modification de ces coefficients pour améliorer le comportement global de l’estimateur neuronal.

4.2.3.2 Apprentissage non-supervisé

Lors d’un apprentissage non-supervisé, le réseau est laissé libre d’évoluer et de converger vers un état final. Les données d’entrées sont présentées et les poids synap- tiques sont mis à jour selon une distribution probabiliste : les cas sont classifiés selon leur degré d’appartenance à un sous-ensemble. Le réseau doit déterminer par lui même quelle est la meilleure réponse possible à renvoyer (figure 4.6).

Ce type d’apprentissage est aussi appelé auto-organisationnel et est communément utilisé dans des applications de partitionnement, de détections d’anomalies, d’extrac- tion de caractéristiques ou de réduction de dimensions.

Entrée I calculée YSortie

Figure 4.6 – Structure de l’apprentissage non-supervisé.

Ce type d’apprentissage est particulièrement employé lorsqu’aucun modèle du sys- tème à synthétiser n’est disponible ou que celui-ci est difficilement manipulable. Des exemples typiques d’utilisation seraient : "A partir de données caractérisant l’évolution

du courant circulant dans des résistances en fonction de la tension à leurs bornes, com- ment découvrir la loi d’Ohm ?" ou "Considérant un ensemble de pages Web, comment classer efficacement ces sites ?"

Il apparait donc que cette méthode d’apprentissage est plus hasardeuse que l’ap- prentissage supervisé puisqu’aucune référence n’est utilisée pour orienter la manière dont est réalisé l’apprentissage.