Vous êtes sur la page 1sur 33

Rseaux de Neurones Artificiels

Motivation
Pourquoi lhomme est plus intelligent quun ordinateur?
Logiciels? Architecture?

Comment l'homme fait-il pour raisonner, parler, calculer, apprendre, ...? Comment s'y prendre pour crer une ou de l'intelligence artificielle ?
2

Approches de l IA
analyse logique des tches relevant de la cognition humaine et tenter de les reconstituer par programme.
approche privilgie par l'Intelligence Artificielle et la psychologie cognitive classiques. --> cognitivisme.

puisque la pense est produite par le cerveau ou en est une proprit, commencer par tudier comment celui-ci fonctionne.
tude de rseaux de neurones formels. connexionnisme = rendre compte de la cognition humaine par des rseaux de neurones.
3

Quelques dfinitions
La cognition est le terme scientifique pour dsigner les mcanismes de la pense.
Cognition = les processus de traitement de linformation (i.e. raisonnement, mmoire, prise de dcision et les fonctions excutives). Pense: Ensemble des oprations mentales de manipulation des symboles impliqus dans de nombreuses activits cognitives.
4

Fondement Biologique
Le cerveau
La physiologie du cerveau montre que celuici est constitu de cellules (les neurones) interconnectes. Ils se dcomposent en trois rgions principales :
Le corps cellulaire Les dendrites L axone

Quelques tapes de cette dcouverte :


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 sicle).

Fondement Biologique
Fonctionnement des neurones
Linflux nerveux est assimilable un signal lectrique se propageant comme ceci :
Les dendrites reoivent linflux nerveux d autres neurones. Le neurone value lensemble de la stimulation reue. Si elle est suffisante, il est excit : il transmet un signal (0/1) le long de l axone. Lexcitation est propage jusquaux autres neurones qui y sont connects via les synapses.

Chaque neurone intgre en permanence jusqu' un millier de signaux synaptiques. le corps cellulaire fonctionne comme un sommateur seuil.
6

Fondement Biologique
Info en vrac
le cerveau contient environ 100 milliards de neurones. on ne dnombre que quelques dizaines de catgories distinctes de neurones. aucune catgorie de neurones n'est propre l'homme. la vitesse de propagation des influx nerveux est de l'ordre de 100m/s. C'est dire bien infrieure la vitesse de transmission de l'information dans un circuit lectronique. on compte quelques centaines plusieurs dizaines de milliers de contacts synaptiques par neurone. Le nombre total de connexions est estim environ 1015. la connectique du cerveau ne peut pas tre code dans un << document biologique >> tel l'ADN pour de simples raisons combinatoires. La structure du cerveau provient donc en partie des contacts avec l'environnement. L'apprentissage est donc indispensable son dveloppement. les synapses entre des neurones qui ne sont pas simultanment actifs sont affaiblis puis limins. il semble que l'apprentissage se fasse par un double mcanisme : des connections sont tablies de manire redondantes et alatoires puis seules les connexions entre des neurones simultanment actifs sont conservs (phase de slection) tandis que les autres sont limins. On parle de stabilisation slective.
7

Fondement Biologique
Schmatisation du neurone

Rseaux de Neurones Artificiels Dfinition


RNA

Tentative de modlisation mathmatique du cerveau humain Un ensemble de processeurs lmentaires (PE) (neurones artificiels) fortement connects et fonctionnant en parallle. Les PEs sont interconnects par un canal de signal unidirectionnel. Chaque PE calcule une sortie unique sur la base des informations quil reoit. Parallel Distributed information Processing structure :
Calculs lmentaires et parallles Donnes/informations distribues dans le rseau
9

Structure dun RNA

10

Structure dun RNA (suite)


Processeurs lmentaires (PEs) Connections Un PE peut recevoir nimporte quel # de connections d entre Un PE peut avoir nimporte quel # de connections de sortie (mme signale) PE ont une fonction de transfert Les signaux d entre arrivent du monde extrieur et les signaux de sortie sont les connections qui quittent le rseau.
11

Structure dun RNA (suite)


Forme dun RNA:
Entre Traitement Sortie

Architecture: description mathmatique dun RNA RNA ont leurs PEs organiss en ensembles, appel couches
Tous les PEs de la mme couche possdent la mme fonction dactivation Tous les PEs de la mme couche sont mis jour en mme temps

Lensemble des entres est considr comme une couche qui distribue des signaux aux autres PEs du RNA.
12

Structure dun RNA (suite)


La fonction de transfert prend ses valeurs des connections d entre ainsi que des valeurs locales. PEs de la mme couche ne peuvent pas communiquer durant la mise jour Le comportement entre-sortie des PEs est adapt par la modification des poids stocks dans la mmoire locale du PE.
Cela est ralis en utilisant une loi dapprentissage.

Lapprentissage et ladaptation dun RNA peut prendre dautres formes:


Creation ou destruction de connections entre les PEs Remplacement de la fonction de transfert par une autre
13

Historique
Premire dfinition d'un neurone formel par McCulloch et Pitts en 1943 Les percepts ou concepts sont physiquement reprsents dans le cerveau par l'entre en activit (simultane) d'une assemble de neurones (Donald Hebb, 1949). L'hypothse concurrente est la spcialisation de certains neurones dans des tches cognitives complexes deux neurones entrant en activit simultanment vont tre associs (c'est--dire que leur contacts synaptiques vont tre renforcs). On parle de loi de Hebb et d'associationnisme Le perceptron de Frank Rosenblatt (1958) : le premier modle pour lequel un processus d'apprentissage a pu tre dfini. De cette priode, date galement les travaux de Widrow et Hoff. Le livre de Minski et Papert "Perceptrons" (1969) a t publi. l'algorithme de rtropropagation du gradient dans les rseaux multi-couches dcouvert au dbut des annes 80 par Rumelhart et McClelland, Parker, Hinton, Le Cun. le modle de Hopfield (1982) qui utilise des rseaux totalement connects bass sur la rgle de Hebb qui ont permis de dfinir la notion d'attracteurs et de mmoire associative. les cartes de Kohonen (1984) avec un algorithme non supervis bas sur l'auto-organisation. la machine de Boltzman (1985), autre type de rseaux attracteurs avec une dynamique de Monte-Carlo.
14

Domaines dapplication
Classification despces animales par espce tant donne une analyse ADN. Approximation dune fonction inconnue. Modlisation acclre dune fonction connue mais trs complexe calculer avec exactitude ; par exemple certaines fonctions dinversions utilises pour dcoder les signaux de tldtection mis par les satellites et les transformer en donnes sur la surface de la mer. Estimations boursires :
apprentissage de la valeur dune entreprise en fonction des indices disponibles : bnfices, endettements long et court terme, chiffre daffaires, carnet de commandes, indications techniques de conjoncture. Ce type dapplication ne pose pas en gnral de problme tentatives de prdiction sur la priodicit des cours boursiers. Ce type de prdiction est trs contest pour deux raisons, lune tant qu'il n'est pas vident que le cours dune action ait de faon tout fait convaincante un caractre priodique (le march anticipe en effet largement les hausses comme les baisses prvisibles, ce qui applique toute priodicit ventuelle une variation de priode tendant la rendre difficilement fiable), et lautre que lavenir prvisible dune entreprise dtermine au moins aussi fortement le cours de son action, si ce n'est plus encore que peut le faire son pass.

15

Domaines dapplication
On utilise des rseaux de neurones artificiels pour tenter de rsoudre des problmes complexes qui sont plus faciles rsoudre par le cerveau que par un ordinateur
Reconnaissance dun visage familier Conduire sous la pluie Reconnaissance de forme
16

Application
Difficults pour les algorithmes de traitement dimage

Certaines lettres inverses

17

Application
Sleon une dtue de l'Uvinertis de Cmabrigde, l'odrre des ltteers dnas un mto n'a pas d'ipmrotncae, la suele coshe ipmrotnate est que la pmeirre et la drenire soit la bnnoe pclae. Le rsete peut rte dnas un dsrorde ttoal et vuos puoevz tujoruos lrie snas porlblme. C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mme, mias le mot cmome un tuot.

18

Domaines dapplication
En gnral
Principale application des RNAs : l'apprentissage. L apprentissage est une phase du dveloppement dun RNA durant laquelle le comportement du rseau est modifi jusqu lobtention du comportement dsir. Apprentissage:
l'apprentissage supervis l'apprentissage non supervis

Apprentissage supervis partir d'une base d'exemples.


Apprentissage bien adapt pour lapprentissage partir de donnes complexes (images sur une rtine, sons, ...) Les entres peuvent tre reprsentes par de nombreux attributs valeurs relles ou symboliques Les attributs pouvant tre dpendants ou non. La ou les sorties peuvent tre relles ou discrtes. L'apprentissage l'aide de rseaux de neurones est tolrant au bruit et aux erreurs. Le temps d'apprentissage peut tre long, par contre, aprs apprentissage, le calcul des sorties partir d'un vecteur d'entre est rapide. La critique principale est que le rsultat de l'apprentissage, c'est--dire le rseau de neurones calcul par l'algorithme d'apprentissage, n'est pas interprtable par l'utilisateur : on ne peut pas donner d'explication au calcul d'une sortie sur un vecteur d'entre. On parle de bote noire19 .

Apprentissage supervis

20

Le percepton
Le perceptron de Rosenblatt (1957) est le premier RNA oprationnel. Cest un rseau avec seulement deux couches (entre et sortie) entirement interconnectes. Il est compos de neurones seuil. L apprentissage est supervis. Il est dmontr quil trouve, en un nombre fini detapes, le vecteur des poids qui permet la sparation des classes linairement sparable.
21

Dfinition du perceptron
Un perceptron linaire seuil prend en entre n valeurs x1,..., xn et calcule une sortie o. Un perceptron est dfini par la donne de n+1 constantes :
les coefficients synaptiques w1, ..., wn le seuil (ou le biais) .

figure

La sortie o est calcule par la formule :

o {

1si

wi xi

0 sin on

22

Perceptron
Les entres x1,..., xn peuvent tre valeurs dans {0,1} ou relles les poids peuvent tre entiers ou rels. Une variante trs utilise de ce modle est de considrer une fonction de sortie prenant ses valeurs dans {-1,1} plutt que dans {0,1}. Pour simplifier les notations et certaines preuves, nous allons remplacer le seuil par une entre supplmentaire x0 qui prend toujours comme valeur d'entre la valeur x0=1. cette entre est associe un coefficient synaptique w0. On peut dcomposer le calcul de la sortie o en un premier calcul de la quantit i wixi appele entre totale suivi d'une application d'une fonction d'activation sur cette entre totale. La fonction d'activation est la fonction de Heaviside dfinie par : 1, x 0

f ( x) {

sin on

Bien que considrant une entre supplmentaire x0, un perceptron est toujours considr comme associant une sortie o aux n entres x1,...,xn. L'quivalence entre le modle avec seuil et le modle avec entre supplmentaire 1 est immdiate : le coefficient w0 est l'oppos du seuil q.
23

Exemple
Un perceptron qui calcule le OU logique avec les deux versions : seuil ou entre supplmentaire:

figures

24

Algorithme dapprentissage par correction derreur (loi de Hebb)


On initialise les poids du perceptron des valeurs quelconques. A chaque fois que l'on prsente un nouvel exemple, on ajuste les poids selon que le perceptron l'a correctement class ou non. L'algorithme s'arrte lorsque tous les exemples ont t prsents sans modification d'aucun poids. Nous rappelons qu'il existe une n+1-ime entre x0 de valeur 1 pour le perceptron.
25

Algorithme
Entre :
un chantillon S de Rn {0,1} ou {0,1}n {0,1} Initialisation alatoire des poids wi pour i entre 0 et n

Rpter
Prendre un exemple (x,c) dans S Calculer la sortie o du perceptron pour l'entre x
Mise jour des poids Pour i de 0 n wi wi + (c-o)xi fin pour

Fin Rpter

Sortie : Un perceptron P dfini par (w0, w1, ..., wn)


26

Perceptron
La procdure d'apprentissage du perceptron est une procdure de correction d'erreur puisque les poids ne sont pas modifis lorsque la sortie attendue c est gale la sortie calcule o par le perceptron courant. tudions les modifications sur les poids lorsque c diffre de o:
si o=0 et c=1, cela signifie que le perceptron n'a pas assez pris en compte les neurones actifs de l'entre (c'est--dire les neurones ayant une entre 1) ; dans ce cas, wi wi + xi si o=1 et c=0, alors wi wi - xi ; l'algorithme retranche la valeur de lentree aux poids.
27

Exemple
Apprentissage du OU :
les descriptions appartiennent {0,1}2, les entres du perceptron appartiennent {0,1}3, la premire composante correspond l'entre x0 et vaut toujours 1, les deux composantes suivantes correspondent aux variables x1 et x2 . On suppose qu' l'initialisation, les poids suivants ont t choisis : w0=0 ; w1 = 1 et w2 = -1. On suppose que les exemples sont prsents dans l'ordre lexicographique.

28

Exemple
Tableau

29

Perceptron
Certains lments importants:
prciser comment est fait le choix d'un lment de S
alatoirement ? En suivant un ordre prdfini ? Doivent-ils tre tous prsents ?

Le critre d'arrt de la boucle principale de l'algorithme n'est pas dfini :


aprs un certain nombre d'tapes ? Lorsque tous les exemples ont t prsents ? Lorsque les poids ne sont plus modifis pendant un certain nombre d'tapes ?
30

Critiques sur la mthode par correction d'erreur


si l'chantillon est linairement sparable ET si tous les exemples sont prsents quitablement Alors l'algorithme s'arrte avec un perceptron qui classifie correctement l'chantillon d'apprentissage. Que se passe-t-il si l'chantillon d'entre n'est pas linairement sparable?
l'algorithme ne convergera pas et l'on aura aucun moyen de le savoir. On pourrait penser qu'il suffit d'observer l'volution des poids pour en dduire si l'on doit arrter ou non l'algorithme. si les poids et le seuil prennent deux fois les mmes valeurs sans que le perceptron ait appris et alors que tous les exemples ont t prsents l'chantillon n'est pas sparable. cette ide n'est pas applicable en pratique.

31

Apprentissage par descente de gradient


Apprentissage par correction derreur: classifier correctement tous les exemples. Apprentissage par descente de gradient: calculer une erreur et d'essayer de minimiser cette erreur.
Pour introduire cette notion d'erreur, on utilise des poids rels et on limine la notion de seuil (ou d'entre supplmentaire), ce qui signifie que la sortie sera gale au potentiel post-synaptique et sera donc relle.

Un perceptron linaire prend en entre un vecteur X de n valeurs x1,..., xn et calcule une sortie o. Un perceptron est dfini par la donne d'un vecteur W de n constantes : les coefficients synaptiques w1, ..., wn. La sortie o est dfinie par :

n O x.w wi .xi
i 1

L'erreur d'un perceptron P dfini par w=(w1,...,wn) sur un chantillon d'apprentissage S d'exemples (xs,cs) est dfinie en utilisant la fonction erreur quadratique par :

1 E ( w) c s o s 2x S

o os est la sortie calcule par P sur l'entre xs. L'erreur mesure donc l'cart entre les sorties attendue et calcule sur l'chantillon complet. E(w) = 0 si et seulement si le perceptron classifie correctement l'chantillon complet. On suppose S fix, le problme est donc de dterminer un vecteur w qui minimise E(w). Une mthode qui permet de rechercher le minimum d'une fonction est d'utiliser la mthode de descente de gradient.

32

Algorithme par descente de gradient :


Entre : un chantillon S de Rn {0,1} ; Initialisation
alatoire des poids wi pour i entre 1 et n

Rpter Pour tout i D wi 0 finPour Pour tout exemple (xs,cs) de S


calculer la sortie os Pour tout i wi wi + (cs - os) xis finPour finPour

Pour tout i wi wi + wi finPour finRpter Sortie : Un perceptron P dfini par (w1, ..., wn)
33