3.230.144.31         CPU usage
0..........50..........100

G a b y ' s   H o m e

THE CYBER ACADEMY

 01.01.2007   

Les réseaux de neurones



(Source Des réseaux de neurones, Eyrolles)

Sous le terme de réseaux de neurones on regroupe aujourd'hui un certain nombre de modèles dont l'intention est d'imiter quelques-unes des fonctions du cerveau humain en reproduisant certaines de ses structures de base.


1) Le neurone formel

La première modélisation date des années quarante. Elle a été présentée par Mac Culloch et Pitts. D'une façon générale, on peut définir un neurone formel par les cinq éléments suivants :
  • la nature de ses entrées.
  • la fonction d'entrée totale qui définit le prétraitement effectué sur les entrées.
  • la fonction d'activation du neurone qui définit son état interne en fonction de son entrée totale.
  • la fonction de sortie qui calcule la sortie d'un neurone en fonction de son état d'activation.
  • la nature de la sortie du neurone.


Nous adopterons par la suite les notations suivantes :
  •  INCORPORER Equation.3 seront les entrées. Les entrées peuvent être binaires, réelles.
  • h sera la fonction d'entrée totale. Elle est généralement exprimée par :  INCORPORER Equation.3  (W représente le poids de la connexion entre le neurone et l'entrée).
  • f sera la fonction d'activation. Cela peut être une fonction à seuil : f(x) = 0 si x < 0 et f(x) = 1 sinon. Ou une fonction sigmoïde :  INCORPORER Equation.3 .
  • g sera la fonction de sortie. On prend généralement la fonction identité et on la confond avec la fonction d'activation.



D'autre part, nous utiliserons aussi :
  •  INCORPORER Equation.3 comme entrée totale.
  • A = f(E) comme état du neurone.
  • S = g(A) comme sortie.



2) Les réseaux à couches

Il est possible, par l'étude du système visuel, de concevoir une organisation par couches successives du système nerveux. Les signaux arrivent sur des cellules sensitives, sont transmis à un système de neurones hyper connectés, avec entre autres des mécanismes de bouclage, puis aboutissent aux cellules motrices qui déclenchent un comportement.

Ce système simplifié est déjà très complexe à modéliser si l'on tient à conserver la structure de la connectivité quasi totale dans les couches intermédiaires de traitement du signal.

C'est pourquoi on utilise plutÙt une structure de réseaux à couches telle que les neurones qui n'appartiennent à une même couches ne soient pas connectés entre eux, chacune des couches recevant des signaux de la couche précédente, et transmettant le résultat de ses traitements à la couche suivante.

Les deux couches extrêmes correspondent à la couches qui reçoit ses entrées du milieu extérieur d'une part, et à la couches qui fournit le résultat des traitements effectués d'autre part. Les couches intermédiaires sont appelées couches cachées, leur nombre est variable.


3) Un exemple : le perceptron

Organisation générale

Un perceptron comprend trois éléments principaux :
  • une rétine.
    Elle est constituée de cellules, sur lesquelles s'inscrit le stimulus. Dans la plupart des modèles, ces cellules répondent suivant une loi du tout ou rien, mais elles peuvent aussi fournir une réponse modérée suivant l'intensité du stimulus.
  • une couche de cellules d'association.
    Chacune de ces cellules peut être connectée à des cellules de la rétine, à d'autres cellules d'association, et à des cellules de décision. Elle fait la somme des impulsions qui lui viennent des cellules auxquelles elle est connectée. Elle répond généralement suivant une loi du tout ou rien après avoir comparé la somme effectuée précédemment avec un seuil. Elle peut cependant aussi répondre d'une manière modulée. Le sens des connexions se fait de la rétine vers les cellules d'association.
  • une couches de cellules de décision.
    Ces cellules fonctionnent comme les cellules d'association. Elles reçoivent leurs entrées des cellules d'association. Elles représentent la sortie du perceptron. Le sens des connexions entre les cellules d'associations et les cellules de décisions est bi-directionnel, ce qui permet un feed-back de la sortie sur le réseau.

Pour permettre l'évolution du réseau, chaque connexion entre les cellules d'association et les cellules de décision est affectée d'un poids.


Le perceptron simple.

Pour faciliter l'étude des comportements du perceptron, il est courant d'utiliser un perceptron d'une forme plus simple que celle définie par le modèle général.
Dans ce cas, les valeurs de sortie de toutes les cellules (de la rétine, d'association, de décision) sont binaires entre 0 et 1.
Les fonctions réalisées par les cellules d'association sont des fonctions booléennes, et les cellules de décision sont des automates à seuil.
Elle considère d'autre part qu'il n'existe pas de connexion ni entre deux cellules d'association, ni entre deux cellules de décision. Enfin, les connections entre cellules d'association et cellules de décision sont à sens unique : association ( décision.
Un tel perceptron va être utilisé pour reconnaÓtre des formes qui lui seront présentés sur sa rétine. Si l'on n'utilise qu'une cellule de décision, celle-ci devra répondre 1 lorsque la forme qui lui sera présenté correspond à une forme qu'on veut lui faire reconnaÓtre, et 0 dans tous les autres cas. L'apprentissage du perceptron va se faire en modifiant les connexions. Dans un perceptron simple il n'existe qu'une couche de poids modifiable, entre les cellules d'association et les cellules de décision.


La règle du perceptron.

L'apprentissage du perceptron est un apprentissage supervisé qui se fait par corrections d'erreurs. Supposons que l'on présente une forme F sur la rétine du perceptron et que l'on désire avoir la réponse d à la cellule de décision. Avec les notations utilisées jusqu'à maintenant, on a une sortie s à la cellule de décision.
Il peut se produire quatre cas :
  • d = 1 et s = 1
  • d = 0 et s = 0
  • d = 0 et s = 1
  • d = 1 et s = 0
Dans les deux premiers cas, la réponse désirée et la réponse effective sont les mêmes, on ne change donc pas les poids. Dans le troisième cas, la somme pondérée des entrées de la cellule de décision est supérieure au seuil de décision alors qu'elle devait être inférieure, diminuer les poids dont l'entrée est positive et augmenter les poids dont l'entrée est négative. Pour le quatrième cas, il faut inverser le mécanisme du troisième cas.
On peut alors espérer qu'en réitérant ce procédé pour tous les exemples, on finira par avoir un processus qui converge.
Avec les notations classiques, la règle du perceptron est alors : embed Equation.3 Object1  avec k > 0
Si d = s, les poids ne sont pas modifiés.
Si d - s = 1,Wi est transformé en Wi + k ei
De fait, si la solution existe, c'est-à-dire s'il existe un ensemble de poids pouvant discriminer un ensemble de formes données, alors la procédure précédente est convergente.



4) L'algorithme de rétro propagation du gradient.

Le problème du "Credit Assignement"

Ce problème est général à tous les systèmes à apprentissage, qu'ils soient naturels ou artificiels. Ainsi, lorsque le joueur d'échecs perd une partie, sauf dans le cas où il commet une erreur flagrante sur la fin, il lui est très difficile de tirer les enseignements de cette défaite. En particulier, il lui serait impossible de le faire pour chacun des coups qu'il a joués au cours de la partie. Dans le cadre des réseaux de neurones à plusieurs couches de connexions modifiables, ce problème s'exprime de la façon suivante : comment répercuter sur chacune des connexions le signal d'erreur qui n'a été mesuré que sur la couche de sortie, après avoir traversé plusieurs étapes non linéaires ?
Ce problème a été rapidement identifié, et a donné lieu à de nombreuses solutions partielles, dont aucune n'était vraiment satisfaisante jusqu'à la mise au point dans les années 1980 de l'algorithme de rétro propagation du gradient.

Présentation de l'algorithme

Cet algorithme que l'on désigne couramment par "back propagation" est une généralisation pour les réseaux à couches multiples. Dans cet algorithme, de même que l'on est capable de propager un signal provenant des cellules d'entrée et vers la couche de sortie, on peut, et suivant le chemin inverse, rétro propager les erreurs commises en sortie vers les couches internes.

Le modèle du neurone.

Le neurone utilisé est fondamentalement de même nature que le neurone linéaire à seuil du perceptron, il applique une fonction à la somme pondérée de ses entrées. Cette fonction est une version lissée de la fonction à seuil. On utilise généralement une fonction sigmoïde, qui s'écrit :  INCORPORER Equation.3 

Le modèle du réseau.

Le réseau utilisé est un réseau à couches, comportant une couche d'entrée, qui correspond à la rétine, une couche de sortie, qui correspond à la décision, et un certain nombre de couches dites cachées. Chaque neurone est connecté à l'ensemble des neurones de la couche suivante, par des connexions dont les poids sont des nombres réels quelconques.

L'apprentissage.

À chaque étape, un exemple est présenté en entrée du réseau. Une sortie réelle est calculée. Ce calcul est effectué de proche en proche de la couche d'entrée à la couche de sortie. Cette phrase est appelée propagation avant ou encore relaxation du réseau. Ensuite l'erreur (somme quadratique des erreurs sur chaque cellule de sortie) est calculée. Cette erreur est ensuite rétro propagée dans le réseau, donnant lieu à une modification de chaque poids. Le processus est répété, en présentant successivement chaque exemple. Si, pour tous les exemples, l'erreur est inférieure à un seuil choisi, on dit alors que le réseau a convergé. L'apprentissage consiste à minimiser l'erreur commise sur l'ensemble des exemples.

La règle de modification des poids dans la rétro propagation

Un réseau de n neurones d'entrée et de m neurones de sortie, avec un nombre quelconque de couches cachées. On suppose qu'un neurone nêest connecté à des neurones en aval, dans le sens de l'entrée vers la sortie, mais pas forcément seulement à des neurones situés sur la couche immédiatement suivante.


Définissons les notations :
X = (X1, X2, ..., Xn) est le vecteur des entrées.
Y = (Y1, Y2, ..., Ym) est le vecteur des sorties désirées.
S = (S1, S2, ..., Sm) est le vecteur des sorties effectivement obtenues.
f et la fonction sigmoïde d'un neurone, f' est sa dérivée,
Oj est la sortie du neurone j,
Ii est l'entrée du neurone i,
e(k) est le pas du gradient à l'étape k.

L'erreur commise sur un passage complet de l'ensemble des exemples est :  INCORPORER Equation.3 

où l'on a noté embed Equation.3 Object1  les erreurs commises sur un exemple k donné :  INCORPORER Equation.3 
L'algorithme de rétro propagation consiste à effectuer une descente de gradient sur E. En général, on utilise une version qui en est une approximation, on effectue une modification après chaque passage d'un exemple k, suivant la formule :
 INCORPORER Equation.3 

Où l'on a :
 INCORPORER Equation.3  pour la couche de sortie  INCORPORER Equation.3  pour les couches cachées

h porte sur les neurones vers lesquels i envoie une connexion. (La démonstration de ce résultat est à disposition pour les intéressés).


Connection

Last Update : 05.08.2021

External Links
Gaby's Home
Gaby's Blog
Gaby's Mail

Internal Links
Index du site web
Cyber Academy
Dossiers
Incognito
Réseau Divin
Textes

Join Webmaster
Zone Privée

Visit No : 63843
For spam