Le Perceptron, le début d’une                                                          p                                ...
Algorithme d’apprentissage                                        3Nous      supposons     disposer      d’une    base    ...
qui réponde au mieux sur cette base, c’est-à-dire         On peut alors prolonger l’exemple précédent etqui réalise un min...
Prochain SlideShare
Chargement dans…5
×

Perceptron

573 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
573
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Perceptron

  1. 1. Le Perceptron, le début d’une  p  f (x 1 ,…, x p ) = H ∑ ω j x j − θ  avec     intelligence artificielle  j =1    yLes capacités d’apprentissage du cerveau humainsont fascinantes. Avec les capacités calculatoirespromises par l’informatique et dans l’objectif y = H (x )d’imiter le cerveau humain, la théorie des réseauxde neurones à commencer à poindre au milieu du O xXXème siècle, notamment avec l’introduction du Action d’un perceptronperceptron en 1957 par Franck Rosenblatt. L’action du perceptron est entièrement déterminéeNeurone formel par la connaissance des poids synaptiques ω1 ,…, ω pOn estime que le cerveau humain contient entre un et du seuil d’activation θ . Il convient maintenantet cent milliards de neurones. Chaque neurone est de calculer les valeurs de ces paramètres enconnecté en moyenne à 10.000 autres par le biais de fonction de l’action attendue par ce perceptron.synapses. Les stimulations synaptiques perçues par L’enjeu est alors, à partir d’une base d’exemples deun neurone peuvent activer celui-ci qui transmet valeurs prises, de déterminer, lors d’une phasealors un signal électrique aux neurones suivants ou d’apprentissage, les valeurs des paramètres pourà d’autres cellules. que le perceptron réagisse comme sur cette baseLe perceptron a pour objectif d’imiter la stimulation d’exemples.d’un neurone (sortie) par des neurones voisins Si par exemple nous souhaitons simuler l’opérateur(entrée). Dans un premier temps, nous allons logique « Et », nous disposons de la baseconsidérer des neurones binaires : un neurone a la d’apprentissage complètevaleur 1 s’il est actif et la valeur 0 sinon. L’état duneurone de sortie correspond à la réponse du (0,0) ֏ 0 , (1,0) ֏ 0 , (0,1) ֏ 0 et (1,1) ֏ 1perceptron tandis que les p neurones d’entrée Si la base d’apprentissage n’est pas exhaustive, ondéterminent la variable fonctionnelle sur laquelle espère que, confronté à une stimulation nouvelle, leopère le perceptron. Le perceptron apparaît alors perceptron réagira « au mieux » compte tenu descomme une fonction exemples déjà appris. {0,1}p → {0,1}  Cependant, avant de préciser le mécanisme de la f :  phase d’apprentissage, répondons à la question  (x 1 ,…, x p ) ֏ y = f (x 1 ,…, x p )  suivante :que l’on peut schématiser sous la forme suivante Que peut apprendre un perceptron ? x1 x 2 x 3 ⋯ x p Dans l’espace ℝ p , l’équation Entrée p ∑ω x j =1 j j =θ y définit généralement un hyperplan séparant l’espace Sortie ℝ p en deux demi-espaces. Selon que le p -upletPour définir l’action de la fonction f , on considère (x1 ,…, x p ) appartient à l’un ou l’autre de ces demi-que les neurones d’entrée peuvent stimuler le espaces, la valeur prise par f (x1 ,…, x p ) sera égale àneurone de sortie par le biais de poids synaptiquesnotés ω1 ,…, ω p . On somme alors les poids 0 ou 1. Par suite, un échantillon d’exemples pourra être appris par un perceptron si et seulement s’il estsynaptiques des neurones actifs pour calculer le linéairement séparable, c’est-à-dire que lesstimuli généré par une entrée (x 1 ,…, x p ) éléments envoyés sur 0 peuvent être séparés de p ceux envoyés sur 1 par un hyperplan. Par exemple ∑ω x j j l’opérateur logique « Et » peut être simulé par un j =1 perceptron alors que le « Ou exclusif » ne le peutSi cette quantité est supérieure à un certain seuil pas.d’activation θ , on considère que le neurone desortie est activé. Ainsi, nous pouvons préciserl’action de la fonction f :   p (0,1) (1,1) (0,1) (1,1) 1 si ∑ ω x ≥ θ  j j f (x 1 ,…, x p ) =  j =1 .  0 sinon  soit encore, en introduisant la fonction d’activationH de Heaviside (0,0) (1,0) (0,0) (1,0) « Et » « Ou exclusif »
  2. 2. Algorithme d’apprentissage 3Nous supposons disposer d’une base −3 −1d’apprentissage et nous souhaitons déterminer les −1valeurs des poids synaptiques et du seuil afin que −7notre perceptron apprenne celle-ci. 3 seuil = 1Pour la commodité des calculs, nous allons 3supposer que le seuil θ définit le poids synaptique Il est intéressant de remarque qu’un poidsω0 = −θ d’un neurone d’entrée dont la valeur x 0 synaptique négatif fort a été attribué au 5èmeest toujours égale à 1. segment. A posteriori, on peut constater queL’action du perceptron peut alors se réécrire l’activation de ce segment influence fortement la p parité du chiffre considéré : l’apprentissage a induit f : (x1 ,…, x p ) ֏ H (∑ ω j x j ) ∈ {0,1} un début d’intelligence artificiel. j =0 Apprentissage par descente de gradientNous souhaitons alors déterminer les coefficients Il est regrettable que l’algorithme d’apprentissageω0 = −θ et ω1 ,…, ωp . On commence par initialiser précédent ne fonctionne que si la basealéatoirement la valeur de ceux-ci. Ensuite, pour d’apprentissage est linéairement séparable. Si nous ne pouvons être sûr a priori de cette propriété ouchaque exemple (x1 ,…, x p ) de la base bien si celle-ci n’est tout simplement pas vérifiée,d’apprentissage, on compare la réponse fournie à la on peut néanmoins espérer former un perceptronréponse attendue. Si elles sont égales, on ne modifiepas les poids synaptiques. En revanche si la réponse Descente de gradientfournie est 0 alors que celle attendue est 1, onajoute 1 aux poids synaptiques des neurones La descente de gradient a pour objectif ded’entrée activés : ceci a pour effet d’accroître leur minimiser une fonction réelle en construisantinfluence. A contrario, si la réponse fournie est 1 par un processus itératif une suite convergeantalors que celle attendue est 0, on retire 1 aux poids vers un minimum de celle-ci. Pour cela, on partsynaptiques des neurones d’entrée activés. d’un point initial « bien choisi » et on construit les points suivants en prenant la direction de laL’algorithme d’apprentissage se poursuit jusqu’à ce plus grande pente durant une distance « bienque tous les éléments de la base d’apprentissage choisie » appelée pas de la descente de gradient.soient étudiés sans qu’aucun poids synaptiques nesoient modifiés. On peut montrer que cet Concrètement, pour minimiser une fonctionalgorithme s’arrête si et seulement si base f : ℝ → ℝ dérivable, on choisit un point initiald’apprentissage est linéairement séparable. x 0 et un pas η pour définir la suite (x n ) parUn exemple : Apprentissage de parité x n +1 = x n − η f ′(x n )Considérons un afficheur numérique à septsegments et formons un perceptron donnant la Pour une fonction f de plusieurs variableparité du chiffre écrit, à savoir 0 s’il est pair et 1 réelles, la formule d’itération est semblablesinon. mais fait cette fois intervenir le gradient de la fonction. x n x n +1 = −η.grad f (x n ) y y = f (x ) xOn commence par coder chaque chiffre en une liste O x 3 x 2 x1 x 0de sept 0 ou 1 selon les segments allumés, liste qui La descente de gradient a des inconvénients :constituera les neurones d’entrée du perceptron – le choix du point initial et du pas reste 1 empirique, 6 2 0 se code 1111110, – l’algorithme peut faire converger la suite vers 7 1 se code 0110000, un minimum local, etc. 5 3 – les termes de la suite peuvent s’échapper vers l’infini, 4 – la convergence est relativement lente.On procède ensuite à l’apprentissage selon Néanmoins, pour l’optimisation des réseaux del’algorithme ci-dessus et l’on obtient la répartition neurones, cet algorithme fonctionne plutôt bien.suivante des poids synaptiques :
  3. 3. qui réponde au mieux sur cette base, c’est-à-dire On peut alors prolonger l’exemple précédent etqui réalise un minimum d’erreur. proposer un perceptron donnant la parité d’unNous définissons l’erreur locale commise par le chiffre hexadécimal. Malheureusement, la baseperceptron sur un exemple d’apprentissage d’apprentissage n’est désormais plus linéairement(x 1 ,…, x p ) ֏ y comme égale à séparable. Si l’on applique l’algorithme d’apprentissage présenté en premier, celui-ci ne 1 2 s’arrête pas et oscille autour d’une solution 2 ( f (x1 ,…, x p ) − y ) commettant cinq erreurs. En revanche, l’algorithme par descente de gradient propose une solution neNous définissons l’erreur globale du perceptroncomme étant la moyenne des erreurs locales commettant que deux erreurs.commises sur les exemples de la base Réseaux de neuronesd’apprentissage. L’enjeu est désormais de Le fait que les perceptrons ne peuvent discriminerminimiser cette erreur globale en déterminant des que les ensembles linéairement séparables apoids synaptiques adaptés. L’algorithme de particulièrement réduit leur intérêt pratique.descente de gradient (voir encadré) est un outil Cependant, vers la fin du XXème siècle se concrétiseadapté au problème de minimisation. Cependant, l’idée d’accumuler des couches de neuronespour le mettre en place, il convient que la fonction à intermédiaires avant de produire la réponse finale.minimiser soit de classe C 1 . Pour l’instant, l’erreur C’est l’introduction du MLP acronyme de Multiglobale n’est pas une fonction de classe C 1 en les Layer Perceptron.poids synaptiques à cause de l’irrégularité de la x1 x 2 xp Entréefonction de Heaviside précédemment introduite.Pour palier à ce défaut, nous n’allons plus supposerbinaire le neurone de sortie mais nous allonsl’autoriser à prendre des valeurs comprises entre 0et 1 ; cela permettra éventuellement d’interpréter y1 y 2 yq Couche cachéecomme une probabilité la réponse du perceptron.Concrètement, on introduit une fonction sigmoïde : 1 ϕ :x ∈ ℝ ֏ 1 + e−x T z Sortie y L’algorithme de descente de gradient est adapté à la y = ϕ (x ) minimisation de l’erreur produite par un tel réseau. Notamment, il s’interprète comme une rétropropagation de l’erreur en sortie en erreurs partielles commises par les neurones activés à la x couche précédente. O En pratique, pour concevoir un réseau de neurones,Le paramètre T > 0 est choisi empiriquement et se on réfléchit préalablement à son architecture enperçoit comme un paramètre de température (quand fonction de l’action que l’on veut voir réalisée. OnT → 0 + , la fonction sigmoïde tend vers la fonction procède ensuite à son apprentissage ce qui est unede Heaviside : on gèle l’action du perceptron). étape longue comte tenu de la lenteur desA partir de la fonction sigmoïde, on redéfinit la algorithmes en jeux. Cependant, une fois calibré, laréponse du perceptron réponse d’un réseau de neurone est quasi immédiate p et celui-ci peut être facilement reproduit. f : (x1 ,…, x p ) ֏ ϕ (∑ ω j x j ) ∈ [0,1] De nos jours les réseaux de neurones se rencontrent j =0 notamment dans les domaines suivants :et désormais la fonction erreur globale est une – la reconnaissance optique de caractère, parfonction de classe C 1 en les poids synaptiques, il exemple le tri du courrier en fonction du codeest possible de la minimiser par descente de postal,gradient. – la prédiction bancaire : à partir de l’expérience deApprentissage de parité leurs précédents clients, les banques ont calibré un réseau de neurones qui quantifie le risque commisAvec un afficheur numérique à sept segments, il est lors d’un accord de prêt.aussi possible d’écrire les chiffres hexadécimaux enintroduisant

×