Académique Documents
Professionnel Documents
Culture Documents
Introduction Aux Réseaux de Neurones Artificiels Feed Forward
Introduction Aux Réseaux de Neurones Artificiels Feed Forward
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
I - Introduction..............................................................................................................................................................3
II - Une origine... biologique !...................................................................................................................................... 4
III - Un neurone seul................................................................................................................................................... 6
III-1 - Entres..........................................................................................................................................................6
III-2 - Fonction d'activation..................................................................................................................................... 6
III-C - Activation et condition d'activation...............................................................................................................9
III-D - Exemple en dimension 2 : la fonction boolenne OU................................................................................. 9
IV - Rseau de neurones monocouche : le perceptron............................................................................................ 11
IV-1 - Modlisation Matricielle.............................................................................................................................. 11
IV-2 - Evaluation : RdN(X)................................................................................................................................... 11
IV-3 - Les diffrents types de perceptrons.......................................................................................................... 12
IV-4 - Sparation linaire et conditions d'approximabilit....................................................................................12
IV-5 - Comment choisir les poids ?......................................................................................................................12
V - Apprentissage simple du perceptron : mthode du gradient et algorithme de Widrow-Hoff................................13
V-1 - Apprentissage par descente de gradient....................................................................................................13
V-2 - Apprentissage par l'algorithme de Widrow-Hoff..........................................................................................14
VI - Les types de rseaux de neurones....................................................................................................................16
VII - Perceptron multicouche..................................................................................................................................... 17
VII-1 - Evaluation : RdN(X).................................................................................................................................. 17
VII-2 - Dimensionner un perceptron multicouches...............................................................................................17
VIII - Apprentissage du perceptron multicouches..................................................................................................... 19
IX - Conclusion.......................................................................................................................................................... 20
X - Remerciements.................................................................................................................................................... 21
XI - Annexe : Dmonstration de la rgle delta..........................................................................................................22
-2Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
I - Introduction
Plongeons-nous dans l'univers de la reconnaissance de formes. Plus particulirement, nous allons nous intresser
la reconnaissance des chiffres (0, 1, ..., 9). Imaginons un programme qui devrait reconnatre, depuis une image, un
chiffre. On prsente donc au programme une image d'un "1" manuscrit par exemple et lui doit pouvoir nous dire "c'est
un 1". Supposons que les images que l'on montrera au programme soient toutes au format 200x300 pixels. On aurait
alors 60000 informations partir desquelles le programme dduirait le chiffre que reprsente cette image. L'utilisation
principale des rseaux de neurones est justement de pouvoir, partir d'une liste de n informations, pouvoir dterminer
laquelle des p classes possibles appartient cette liste.
De faon plus gnrale, un rseau de neurone permet l'approximation d'une fonction.
Ici, il s'agit d'une fonction de classification : chaque n-uplet d'informations en entre la
fonction associe une classe.
-3Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
procder d'abord l'analyse logique des tches relevant de la cognition humaine et tenter de les reconstituer
par programme. C'est cette approche qui a t privilgie par l'Intelligence Artificielle symbolique et la
psychologie cognitive classiques. Cette dmarche est tiquete sous le nom de cognitivisme.
puisque la pense est produite par le cerveau ou en est une proprit, commencer par tudier comment
celui-ci fonctionne. C'est cette approche qui a conduit l'tude des rseaux de neurones formels. On dsigne
par connexionnisme la dmarche consistant vouloir rendre compte de la cognition humaine par des rseaux
de neurones.
La seconde approche a donc men la dfinition et l'tude de rseaux de neurones formels qui sont des rseaux
complexes d'units de calcul lmentaires interconnectes. Il existe deux courants de recherche sur les rseaux de
neurones : un premier motiv par l'tude et la modlisation des phnomnes naturels d'apprentissage pour lequel
la pertinence biologique est importante ; un second motiv par l'obtention d'algorithmes efficaces ne se proccupant
pas de la pertinence biologique. Nous nous plaons du point de vue du second groupe. En effet, bien que les
rseaux de neurones formels aient t dfinis partir de considrations biologiques, pour la plupart d'entre eux, et
en particulier ceux tudis dans ce cours, de nombreuses caractristiques biologiques (le temps, la mmoire...) ne
sont pas prises en compte. Toutefois, nous donnons, dans la suite de cette introduction, un bref aperu de quelques
proprits lmentaires de neurophysiologie qui permettent au lecteur de relier neurones rels et neurones formels.
Nous donnons ensuite un rapide historique des rseaux de neurones.
La physiologie du cerveau montre que celui-ci est constitu de cellules (les neurones) interconnectes. Les
principales tapes de cette dcouverte sont :
Dcouvertes
Van Leuwenhook (1718) : premire description fidle de ce qu'on appellera plus tard les axones ;
Dutrochet (1824) : observation du corps cellulaire des neurones ;
Valentin : dcouverte des dendrites ;
Deiters (1865) : image actuelle de la cellule nerveuse ;
Sherington (1897) : les synapses ;
les neuro-transmetteurs (premire moiti du 20me sicle).
-4Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Les contacts entre deux neurones, de l'axone une dendrite, se font par l'intermdiaire des synapses. Lorsqu'une
impulsion lectrique atteint la terminaison d'un axone, des neuromdiateurs sont librs et se lient des rcepteurs
post-synaptiques prsents sur les dendrites. L'effet peut tre excitateur ou inhibiteur.
Chaque neurone intgre en permanence jusqu' un millier de signaux synaptiques. Ces signaux n'oprent pas de
manire linaire : il y a un effet de seuil.
Voici quelques informations propos des neurones du cerveau humain :
-5Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
III-1 - Entres
On note (xi)1 <= i < k les k informations parvenant au neurone. De plus, chacune sera plus ou moins valorise vis vis
du neurone par le biais d'un poids. Un poids est simplement un coefficient wi li l'information xi. La i-me information
qui parviendra au neurone sera donc en fait wi*xi. Il y a toutefois un "poids" supplmentaire, qui va reprsenter ce
que l'on appelle le coefficien de biais. Nous le noterons w0 et le supposerons li une information x0 = -1. Nous
verrons plus tard son utilit, dans la section Fonction d'activation.
Le neurone artificiel (qui est une modlisation des neurones du cerveau) va effectuer une somme pondre de ses
entres plutt que de considrer sparment chacune des informations. On dfinit une nouvelle donne, in, par :
C'est en fait cette donne-l que va traiter le neurone. Cette donne est passe la fonction d'activation, qui fait l'objet
de la prochaine section. C'est d'ailleurs pour a que l'on peut parfois appeler un neurone une unit de traitement.
-6Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
En effet, si les fonctions d'activations sont linaires, alors le rseau est l'quivalent d'une rgression multi-linaire
(mthode utilise en statistiques) . L'utilisation du rseau de neurone est toutefois bien plus intressante lorsque l'on
utilise des fonctions d'activations non linaires.
En notant g la fonction d'activation, on obtient donc la formule donnant la sortie d'un neurone :
Remarquez que le coefficient de biais est inclus dans la somme, d'o la formule plus explicite :
Il y a bien sr beaucoup de fonctions d'activations possibles, c'est dire rpondant aux critres que nous avons
donns, toutefois dans la pratique il y en a principalement 2 qui sont utilises :
La fonction de Heaviside
La fonction sigmode
si
, 0 sinon.
-7Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
C'est l qu'intervient rellement le coefficient de biais. Nous voyons donc que l'on atteint le seuil de la fonction
d'activation lorsque la somme pondre des informations d'entre vaut le coefficient de biais. De plus :
o seuil vaut 1 si g est la fonction seuil, 0 si g est la fonction sigmode. Les proprits nonces ci-dessus sont vraies
grce la croissance des fonctions d'activations.
Maintenant, notons W = (wi)1 <= i <= n le vecteur dont les composantes sont les poids et X = (xi)1 <= i <= n le vecteur
dont les composantes sont les informations d'entres du neurone. Avec cette notation on obtient :
-8Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Ceci dfinit un hyperplan d'un espace de dimension n. En fait, l'espace dont il est question est l'espace des
informations d'entres. De la mme manire que dans notre monde nous dcrivons des points avec nos 3
coordonnes souvent notes (x,y,z), dans l'espace des informations d'entre on note les coordonnes (x1, ..., xn).
Un hyperplan est un espace de dimension n-1. Dans notre monde, l'espace est de dimension 3 (car 3 coordonnes)
et un hyperplan est donc un espace de dimension 2. En dimension 3, un hyperplan est donc simplement un plan. En
dimension 2, un hyperplan est par consquent une droite.
Plaons-nous en dimension 2. Tracez donc 2 axes perpendiculaires. Maintenant, tracez une droite. Vous voyez que
cette droite spare le plan en 2 parties. A quoi cela sert-il ? En fait, un rseau de neurone simple (nous le verrons plus
loin) va permettre de classer les points du plan dans une partie ou l'autre du plan grce cette droite, dans le cas de
la dimension 2. Encore une fois, dans ce cas-l, ceux qui seront dans une partie du plan appartiendront la premire
classe et ceux qui seront dans l'autre partie du plan (de l'autre ct de la droite) appartiendront la deuxime classe.
donc a = g(in) = 1.
Ainsi on remarque que le point (0.1,0.8) est un point pour lequel le neurone doit renvoyer la valeur 1 en sortie, car
la somme pondre des entres est suprieure au seuil. Si l'on regarde sur le dessin contenant la droite sparatrice
que vous avez trac, on constate effectivement que ce point l se situe bien dans la zone suprieure du plan que
dlimite la droite.
Etant donn que la fonction OU renvoie 1 ou 0 gnralement, et non pas un rel de [0,1], la fonction seuil suffira
bien amplement pour notre neurone.
Nous avons ainsi entirement dtermin notre neurone. Ainsi, ce neurone prend les mmes valeurs que la fonction
boolenne OU, ce qui constitue une approximation parfaite de cette dernire.
-9Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Maintenant, essayez de reproduire cette dmarche pour la fonction XOR. La fonction boolenne XOR renvoie 1
quand l'une de ses deux entres vaut 1, 0 sinon. Essayez donc de placer les points pour lesquels x XOR y vaut
1 en noir et ceux pour lesquels x XOR y vaut 0 en gris clair. Essayez maintenant de tracer une droite sparant
les points noirs des points blancs. Vous verrez alors que c'est impossible. On voit donc les limitations du neurone
seul. Qui plus est, le modle de rseau de neurone qui va tre tudi dans la partie qui suit ne permet pas non plus
de reprsenter la fonction XOR, car il ne servira qu' obtenir plusieurs sorties au lieu d'une seule, chaque neurone
faisant sa partie du travail.
- 10 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Le rseau de neurones possde ainsi n informations en entre et p sorties, chaque neurone renvoyant sa sortie.
Pour la suite, on notera :
Chaque neurone de la couche donnera donc une sortie. Une utilisation courante est que chaque neurone de la couche
reprsente une classe. Pour un exemple X donn, on obtient la classe de cet exemple en prenant la plus grande des
p sorties. Essayons maintenant d'approfondir ce modle.
Cette modlisation n'est pas frquemment utilise mais reprsenter un rseau de neurones monocouche par une
matrice permet d'avoir une autre vision du problme.
- 11 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
o RdN(X) est un vecteur p composantes, W une matrice n lignes et p colonnes et X le vecteur dont chacune
des n composantes reprsente une information d'entre.
- 12 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
On voit donc que l'erreur est nulle si le rseau de neurones ne se trompe sur aucun des exemples, c'est dire s'il
parvient calculer la bonne sortie (par exemple classifier) pour chacun des exemples correctement. C'est rarement
le cas car souvent on dmarre avec des poids tirs alatoirement. Il s'agit donc de minimiser, pour un ensemble de
N exemples donn, cette erreur quadratique. Je n'ai pas jug ncessaire de vous prsenter en milieu de ce cours
le calcul qui permet d'obtenir une minimisation de l'erreur quadratique. Toutefois, le rsultat tant trs important, la
dmonstration est disponible en annexe de cet article. On obtient la variation appliquer chaque poids afin de
classifier au mieux (parfaitement, dans le meilleur des cas) chacun des N exemples.
On va noter
un nombre rel auquel on donne le nom de taux d'apprentissage. C'est nous qui devons lui donner
une valeur lors de la mise en pratique de l'apprentissage. Comme nous ne considrons qu'un neurone la fois, on
va noter wi le poids reliant la i-me information notre neurone.
La mthode de descente du gradient consiste en fait effectuer les actions suivantes :
(2)
- 13 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Voici donc l'algorithme d'apprentissage par descente du gradient, appliqu un seul neurone, qu'il faudra donc
rpter sur chacun des neurones.
Entre : n poids reliant les n informations notre neurone ayant des valeurs quelconques
N exemples (X_k, yk) o X_k est un vecteur n composantes x_i,
chacune reprsentant une information de cet exemple
Sortie : les n poids modifis
POUR 1 <= i <= n
dw_i = 0
FIN POUR
POUR TOUT exemple e = (Xk, yk)
Calculer la sortie sk du neurone
POUR 1 <= i <= n
di = dw_i + alpha*(yk - sk)*x_i
FIN POUR
FIN POUR
POUR 1 <= i <= n
w_i = w_i + dw_i
FIN POUR
Afin d'obtenir de bons rsultats, il faudra passer plusieurs fois les exemples chaque neurone, de sorte que les
poids convergent vers des poids "idaux". Le problme avec cette mthode est que l'on corrige sur la globalit des
exemples, ce qui fait que le rseau ne s'adaptera aux exemples qu'aprs un certain moment. Il y a une autre mthode
qui permet de corriger sur chacun des exemples, et qui se nomme mthode d'apprentissage de Widrow-Hoff.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
Cette mthode est bien sr plus efficace, comme dit prcdemment, mais l'algorithme est plus simple galement ! Je
vous invite donc tester tout d'abord cet algorithme dans des cas assez simples, comme les fonctions boolennes
ainsi que tout autre exemple de ce genre auquel vous pourriez penser.
Appliquer plusieurs fois cet algorithme permettra d'affiner la correction d'erreur et d'obtenir un rseau de neurones de
plus en plus performant. Attention toutefois, car l'appliquer un trop grand nombre de fois mnerait ce que l'on appelle
"l'overfitting" (sur-apprentissage), c'est dire que votre rseau devient trs performant sur les exemples utiliss pour
l'apprentissage, mais ne parvient peu ou pas gnraliser pour des informations quelconques.
- 15 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
- 16 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
n neurones sur la couche de sortie, comme pour le perceptron monocouche. Pour la couche cache, les choses
sont beaucoup moins simples. Il n'existe aucune loi, aucune rgle, aucun thorme qui permettrait de dterminer
le nombre de neurones placer dans la couche cache pour avoir un rseau de neurones optimal. La mthode
pour s'en rapprocher est d'essayer "au hasard" plusieurs nombres de neurones en couche cache jusqu' avoir des
rsultats les plus probants possibles aprs l'apprentissage. Il existe toutefois des rsultats concernant certains types
de fonctions que l'on souhaite approcher. Malheureusement, aucun de ces rsultats n'est pour le moment assez
gnrique pour tre exploit dans les cas courants.
Nous ne nous attardons pas sur la prsentation et l'explication du fonctionnement du perceptron multicouches tant
donn qu'il fonctionne de manire analogue au perceptron monocouche. C'est pourquoi nous allons maintenant nous
pencher sur l'apprentissage du perceptron multicouches.
- 18 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
La variable "di" apparat deux fois dans le code. Il s'agit de deux variables diffrentes, car en fait on suppose que
les neurones sont numrots de sorte que l'on puisse associer un identifiant un neurone et rciproquement. Par
consquent, le 'i' de "di" identifie un neurone et ainsi on peut effectuer la dernire boucle de manire uniforme sans
diffrencier pour la couche de sortie et les couches caches.
Voici quelques remarques sur cet algorithme.
L'algorithme de rtroprogation du gradient est une extension de l'agorithme de Widrow-Hoff. En effet, dans
les deux cas, les poids sont mis jour chaque prsentation d'exemple et donc on tend minimiser l'erreur
calcule pour chaque exemple et pas l'erreur globale.
La mthode donne de bons rsultats pratiques. Dans la plupart des cas, on rencontre peu de problmes ds
aux minima locaux, mais il y en a. Toutefois, il est moins performant que d'autres algorithmes de propagation
d'erreur : il tend moins rapidement vers des poids plus ou moins optimaux.
Il n'y a pas de condition d'arrt pour le REPETER. C'est vous de fixer le critre. On peut par exemple
rpter cela jusqu' ce que l'erreur sur chaque exemple descende en dessous d'un certain nombre.
Le choix de l'architecture initiale du rseau reste un problme difficile. Ce choix peut tre fait par l'exprience.
Des mthodes dites "auto-constructives" existent : il s'agit d'ajouter des neurones au cours de l'apprentissage
pour que l'apprentissage se fasse bien. Mais ces mthodes rencontrent souvent le problme de "surapprentissage", mentionn dans la section 5.2. L'architecture peut aussi tre choisie l'aide de mthodes
bases sur les algorithmes gntiques.
- 19 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
IX - Conclusion
Il y a principalement deux facteurs qui influent sur l'apprentissage. Ce sont la qualit de l'chantillonage
d'apprentissage(les exemples qui constituent la base d'apprentissage) et la diversit des valeurs. En effet, le rseau
de neurones gnralisera mieux (aura plus de chances de rpondre correctement en lui donnat en entre des
informations non prsentes dans les exemples d'apprentissage) si la qualit de l'chantillonage est meilleure et
si les donnes des exemples d'apprentissage sont varies. Intuitivement, on est conscient que s'il sait rpondre
correctement pour un nombre fini de situations les plus diverses, il sera alors plus proche de ce que l'on veut dans
un situation nouvelle.
Nous avons prsent la thorie des rseaux de neurones artificiels feed-forward (c'est dire ne comportant
pas de connexions vers des couches prcdentes). Il existe des structures de rseaux de neurones beaucoup
plus complexes. Si cela vous intresse, renseignez-vous sur les rseaux rcurrents et les cartes de Kohonen,
par exemple. Pour toute question, n'hsitez pas consulter et poster sur le forum Intelligence Artificielle de
Developpez.
- 20 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
X - Remerciements
Je tiens remercier l'quipe Algorithmes de Developpez pour m'avoir aid lors de la rdaction de cet article,
en particulier pseudocode (Xavier Philippeau), Eusebius (Guillaume Piolle), khayyam90 (Pierre Schwartz),
PRomu@ld (Romuald Perrot) et TheLeadingEdge pour leur relecture attentive de l'article et pour leurs suggestions,
ce qui n'est pas rien.
Si une erreur s'est glisse dans l'article, n'hsitez pas me contacter par MP ou par mail pour me le signaler.
- 21 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
On effectue la somme sur les neurones de la couche de sortie. De plus, pour terminer, nous noterons wk,j le poids
reliant le k-me neurone de la couche d'entre au j-me neurone de la couche cache et wj,i le poids reliant le j-me
neurone de la couche cache au i-me neurone de la couche de sortie.
Pour obtenir le gradient par rapport un poids wj,i donn dans la couche de sortie, il suffit de dvelopper l'activation
ai, puisque aucun autre terme de la sommation n'est affect par wj,i
De mme, nous allons voir comment le gradient effectue la rtropropagation dans le rseau.
- 22 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/
Introduction aux Rseaux de Neurones Artificiels Feed Forward par Alp Mestan
reprsente une partie des di dans les algorithmes : ceux de la couche cache.
- 23 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2008 Alp Mestan. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://alp.developpez.com/tutoriels/intelligence-artificielle/reseaux-de-neurones/