réseaux de neurones - fil lille 1decomite/ue/ape/cours/nn...f. de comite rseaux de neurones cerveau...
TRANSCRIPT
-
Rseaux de neurones
F. De Comite
Licence-Master Informatique
27 mars 2009
F. De Comite Rseaux de neurones
Fonctionnement du cerveau
F. De Comite Rseaux de neurones
Cerveau
Neurones connects par l’intermdiaire des synapses
Activation dpend du niveau de stimuli.
’Dclenchement’ −→ notion de seuil d’activation.Neurone = unit lmentaire de calcul.
F. De Comite Rseaux de neurones
Cerveau
Rseau trs fortement interconnect de neurones.
100 milliards de neurones.
10.000 connections par neurones.
Temps de raction d’un neurone : un millime de seconde.
Reconnatre un visage : 1 dixime de seconde.
F. De Comite Rseaux de neurones
Vers l’informatique
Comment utiliser ces observations ?
Simuler le fonctionnement du cerveau pour mieux lecomprendre (neuro-biologistes)
Dduire de ces observations un modle de calcul(informaticiens).
Programmation simple :
Dfinir un neurone.
Dfinir l’architecture du rseau.
Faire circuler les stimuli . . .
F. De Comite Rseaux de neurones
Biologie ←→ Informatique
Frontire floue entre les deux domaines :
Les dfinitions viennent de la neurobiologie, sont implmentesen informatique.
Expriences dfinies par les neurobiologistes, prouves depuissance limite par les informaticiens.
Conclusion des informaticiens servant d’arguments auxneurobiologistes.
F. De Comite Rseaux de neurones
Plan
On se concentre sur la vision purement informatique, en limitantles ambitions (par rapport au ’vrai’ cerveau) :
Neurones limits : puissance de calcul, nombre de connections. . .
Structure du rseau :
’Peu’ de neurones.’Peu’ de connections.Fonctionnement synchrone.Informations moins riches (boolens, rels).
F. De Comite Rseaux de neurones
Un premier modle : MacCulloch & Pitts
F. De Comite Rseaux de neurones
-
MacCulloch & Pitts
1943
Entres et sorties boolennes (θ rel).
Si un seul inhibiteur vaut vrai, la sortie vaut faux.
Sinon, on calcule∑
xi :
≥ θ =⇒ f = vraif =faux sinon.
F. De Comite Rseaux de neurones
Expressivit : And
F. De Comite Rseaux de neurones
Expressivit : Or
F. De Comite Rseaux de neurones
Expressivit : Not
F. De Comite Rseaux de neurones
Expressivit
Toute fonction logique peut tre synthtise par un rseau deuxniveaux (cf cours d’architecture).
Ajouter des poids positifs n’augmente pas l’expressivit.
Poids ngatifs (inhibition relative) : pas plus puissant.
Passer du binaire au discret (plus de deux valeurs) ne changerien (cout du codage . . .)
Autoriser un stockage d’information dans les neurones (cfbascules JK) ne change rien non plus.
F. De Comite Rseaux de neurones
Critique du modle
Ne ressemble pas un ’vrai’ neurone.
Trop proche des portes logiques.
Rseaux figs.
Pas d’apprentissage.
F. De Comite Rseaux de neurones
Perceptron de Rosenblatt 1958
F. De Comite Rseaux de neurones
Rosenblatt
Chaque neurone de la rgion de projection reoit desinformations de certains neurones de la rtine.
La rgion d’association regroupe les infos de plusieurs neuronesde la zone de projection.
Zone de rponse : reconnaissance de structures sur la rtine.
Liaisons alatoires entre les trois dernires couches.
Chaque lien associ un coefficient (poids).
F. De Comite Rseaux de neurones
-
Rosenblatt
L’apprentissage se fait partir d’exemples (algorithmenumrique . . .)Neurones : units linaires seuil :
θ
x
x
w
w
11
22
1 si Σ x w > θ0 sinon
ii
F. De Comite Rseaux de neurones
Minsky & Pappert
1960’s
Amlioration et prcision du modle de Rosenblatt.
Analyse complte du modle.
F. De Comite Rseaux de neurones
Minsky & Papert
W1
W2
W3
W4
W5
θ
Retine Predicats Neurone
F. De Comite Rseaux de neurones
Minsky & Papert
Rtine : tableaux de pixels (noir et blanc).
Prdicats : peuvent tout calculer.
Contraintes :
Nombre d’entres born.Diamtre born.
Neurone linaire seuil en sortie (reconnaissance de formes)
les xi sont des rels.
F. De Comite Rseaux de neurones
Minsky & Papert
Quelles formes peut-on reconnatre ?
Quelles sont les formes que l’on ne pourra pas reconnatre ?
F. De Comite Rseaux de neurones
Minsky & Papert
Applications du modle :
Savoir si un pixel est sur une frontire.
Savoir si un pixel est sur une frontire localement verticale(resp horizontale)
Un prdicat par pixel.
F. De Comite Rseaux de neurones
Minsky & Papert
Aucun neurone diamtre born ne peut reconnatre la connexit
A D
B C
F. De Comite Rseaux de neurones
Minsky & Papert
Aucun neurone diamtre born ne peut reconnatre la connexit
F. De Comite Rseaux de neurones
-
Perceptron
F. De Comite Rseaux de neurones
Perceptron quivalent
F. De Comite Rseaux de neurones
Calcul de fonctions boolennes : AND
F. De Comite Rseaux de neurones
Calcul de fonctions boolennes : OR
F. De Comite Rseaux de neurones
Calcul de fonctions boolennes : NOT
F. De Comite Rseaux de neurones
Calcul de fonctions boolennes
Au moins m entres 1 parmi n.
On peut prendre tous les poids gaux (symtrie).
kw1 > θ pour k ≥ m
kw1 ≤ θ pour k < m
On peut prendre : w1 = 1 et θ = −(m − 1)
F. De Comite Rseaux de neurones
Calcul de fonctions boolennes
Sur les 16 fonctions boolennes deux variables, 14 peuvent trereconnues par un perceptron : il manque l’galit et le XOR.
Fonctions de trois variables : 104 sur 256
Quatre variables : 1882 sur 65536
F. De Comite Rseaux de neurones
XOR
w1 + w2 − θ < 0w1 − θ ≥ 0w2 − θ ≥ 0−θ < 0
θ ≥ 0 =⇒ w1 ≥ θetw2 ≥ θ
=⇒ w1 + w2 ≥ 2θ =⇒ w1 + w2− θ ≥ θ ≥ 0
F. De Comite Rseaux de neurones
-
Pouvoir d’expression
La conditionn∑
i=0
wi xi = 0
dfinit un hyperplan dans un espace de dimension n.
Un perceptron permet de reprsenter les ensembles d’exempleslinairement sparables.
Le XOR ne dfinit pas un ensemble d’exemples linairementsparables.
F. De Comite Rseaux de neurones
Sparation linaire : OR
(0,0)
(0,1)
(1,1)
(1,0)
F. De Comite Rseaux de neurones
Sparation linaire : AND
(0,0)
(0,1)
(1,1)
(1,0)
F. De Comite Rseaux de neurones
Apprentissage des perceptrons
Par rsolution d’un systme d’inquations.
Par apprentissage :
Apprentissage exact.Minimisation de l’erreur.
F. De Comite Rseaux de neurones
Apprentissage
1 Fixer des poids alatoires.
2 Prsenter les exemples un par un, modifier les poids pour lesajuster au rsultat attendu (zro erreur ou erreur minimale).
F. De Comite Rseaux de neurones
Apprentissage exact
Notation
Soient wi , i ∈ {1 . . . n} les poids du perceptron.Soit (~x , t) un exemple, o t est la valeur attendue en sortie (0ou 1), et ~x = (x1 . . . xn).
Soit o la valeur calcule par le perceptron(0 ou 1).
F. De Comite Rseaux de neurones
Modifier les poids
Si l’exemple et bien class, on ne fait rien.
Sinon, on modifie tous les poids :
wi = wi + ∆wi
∆wi = η(t − o)xiavec η : taux d’apprentissage.
On s’arrte lorsque tous les exemples sont bien classs.
F. De Comite Rseaux de neurones
∆wi = η(t − o)xi
Soit un exemple positif mal class (t = 1, o = 0)
wi′ = wi + η(1− 0)xi = wi + ηxi
Dans le calcul de la sortie du perceptron :
wi′xi = (wi + η(1− 0)xi )xi
wi′xi = wi xi + ηx
2i
Ajout d’un terme positif un terme une somme ngative.
La sortie du perceptron, pour l’exemple ~x se rapproche des positifs.
La vitesse de ce rapprochement dpend de η
F. De Comite Rseaux de neurones
-
∆wi = η(t − o)xi
Pour un exemple ngatif mal class :
wi′xi = wi xi − ηx2i
La somme se rapproche des ngatifs.
F. De Comite Rseaux de neurones
Exemple
F. De Comite Rseaux de neurones
Convergence
Theorem
La rgle du perceptron converge en un temps fini si :
L’ensemble d’apprentissage est linairement sparable.
η n’est pas trop grand. (de l’ordre de 0.1).
F. De Comite Rseaux de neurones
Convergence
Remarque
Ne converge pas si l’ensemble n’est pas linairement sparable.
Pas de solution approche dans ce cas.
Sensible au bruit de classification.
F. De Comite Rseaux de neurones
L’algorithme Pocket
Gallant (1990) : mmoriser la solution qui commet le moinsd’erreurs.
Si une autre combinaison de valeurs des poids commet moinsd’erreurs, on la mmorise (on la met dans sa poche).
Sous certaines conditions, on converge presque srement vers lasolution optimale.
F. De Comite Rseaux de neurones
La descente de gradient
Mthode d’apprentissage moins ’efficace’ mais marchanttoujours . . .
Peut s’utiliser mme quand l’ensemble n’est pas linairementsparable.
Converge vers un minimum local d’erreur.
Quelle erreur ?
F. De Comite Rseaux de neurones
Perceptron linaire
Le perceptron linaire : un perceptron sans unit de seuil.
F. De Comite Rseaux de neurones
La notion d’erreur
definitionErreur quadratique :
E (~w) =1
2
∑d∈D
(td − od )2
D : ensemble des exemples.
td : valeur relle de la sortie.
od : valeur calcule par le perceptron.
RemarquePour un ensemble d’apprentissage fix D, l’erreur est fonction deswi .
F. De Comite Rseaux de neurones
-
Erreur quadratique
Bonne proprits mathmatiques (voir preuve . . .)
Justification (bruit de mesure).
Pnalise les solutions exactes presque partout et mauvaises enquelques (rares) points.
F. De Comite Rseaux de neurones
Minimiser l’erreur
E (ŵ) est un parabolode (dimension n).
Il faut trouver les valeurs de wi qui correspondent au ’fond’ decette surface.
Pour une erreur donne : trouver la direction de plus grandepente.
−→ le gradient.
F. De Comite Rseaux de neurones
Forme de l’erreur
-1
0
1
2
-2-1
01
23
0
5
10
15
20
25
w0 w1
E[w
]
F. De Comite Rseaux de neurones
Le gradient
Pente d’une courbe f (x) en dimension 2 :
f ′(x) =∂f (x)
∂x
Direction de la plus grande pente en dimension n :
∇E (~w) =[∂E
∂w0. . .
∂E
∂wn
]
Comment calculer∂E
∂wi?
F. De Comite Rseaux de neurones
Drivation de la rgle
∂E
∂wi=
∂
∂wi
1
2
∑d∈D
(td − od )2
=1
2
∑d∈D
∂(td − od )2
∂wi
=1
2
∑d∈D
2(td − od )∂(td − od )
∂wi
F. De Comite Rseaux de neurones
Drivation de la rgle
=∑d∈D
(td − od )∂
∂wi(td − woxod · · · − wnxnd )
=∑d∈D
(td − od )∂(−wi xid )
∂wi
= −∑d∈D
(td − od )xid
F. De Comite Rseaux de neurones
drivation de la rgle
∆wi = η∑d∈D
(td − od )xid
Remarques
Le signe moins a disparu : on descend la pente !
η contrle la longueur de la descente.
F. De Comite Rseaux de neurones
Algorithme
1 Fixer des poids alatoires.2 Rpter :3 ∆wi = 0,∀i ∈ {0 . . . n}4 Pour chaque ~x ∈ D faire :5 ∆wi = ∆wi + (tx − ox )xi6 fait7 Pour tout i ∈ {0 . . . n} faire8 wi = wi + ∆wi9 fin rpter
F. De Comite Rseaux de neurones
-
Remarques
Il n’y a qu’un minimum.
On est assur de l’atteindre si η n’est pas trop grand ( ? ?)
La convergence peut tre trs longue.
Version stochastique : les poids sont modifis aprs laprsentation de chaque exemple.
F. De Comite Rseaux de neurones
Comparaison des mthodes
Rgle du perceptron Descente du gradient
Ensemble linairement sparables Ensembles quelconques
Converge vers la solution. Converge vers le minimum d’er-reur.
poids modifis en cas d’erreur. poids modifis pratiquementtout le temps
F. De Comite Rseaux de neurones
Remarques
Ncessite des attributs et des classes continues.
Besoin de coder les donnes :En entre :
du discret au continu.Une entre par valeur possible.
En sortie :
Du continu au discret.Du binaire au n-aire.
Mettre les entres la mme chelle.
F. De Comite Rseaux de neurones
Codage des sorties
Les sorties sont forcment entre 0 et 1.
Coder les sorties dans l’ensemble d’apprentissage.
Dcoder les rponses du rseau.
Continu : pas de problme.
Discret : dcouper l’intervalle ou une sortie par possibilit (toutgarder. . .)
F. De Comite Rseaux de neurones
Rseaux de neurones
Ides
Combiner des perceptrons linaires.
Problme : pas de puissance supplmentaire : une combinaisonlinaire d’oprateurs linaires est toujours un oprateur linaire.
Utiliser des perceptrons seuil ?
Problme : pas drivable, pas de descente de gradient.
F. De Comite Rseaux de neurones
L’unit sigmode
F. De Comite Rseaux de neurones
La fonction sigmode
F. De Comite Rseaux de neurones
La fonction sigmode
Continue, drivable.
Passe rapidement de 0 1 : similitude avec le perceptron seuil.
Drive facile calculer :
dσ(x)
dx= σ(x)(1− σ(x))
F. De Comite Rseaux de neurones
-
Architecture du rseau
Une couche d’entre.
Une ou plusieurs couches caches.
Une couche de sortie.
Tous les neurones d’une couche sont les entres des neuronesde la couche suivante.
F. De Comite Rseaux de neurones
Rseau de neurones
F. De Comite Rseaux de neurones
Erreur
E (~w) =1
2
∑i∈D
∑k∈sorties
(tkd − okd )2
avec
tkd k ime sortie de l’exemple d
okd la valeur de cette sortie calcule par le rseau.
F. De Comite Rseaux de neurones
Rtropropagation du gradient
Ide similaire la descente du gradient.
Mais il n’y a plus unicit du minimum.
La surface d’erreur est complexe.
Existence de minima locaux.
F. De Comite Rseaux de neurones
Rtropropagation du gradient : notations
xji : valeur transmise du nœud i vers le nœud j
wji : poids associ xji
δj : terme d’erreur du nœud j
netj =∑
wji xji
F. De Comite Rseaux de neurones
Rtropropagation du gradient : notations
I
l manque une image
F. De Comite Rseaux de neurones
Algorithme (stochastique)
Tant que non fini faire :
Faire passer (~x ,~t) dans le rseau. Sortie : ~o
Calculer et (retro)propager les erreurs :
Cellule de sortie :
δk = ok (1− ok )(tk − ok )
Cellule interne :
δh = oh(1− oh)∑
k
wkhδk
Mettre jour les poids :
wji = wji + ηδj xji
F. De Comite Rseaux de neurones
Ide de preuve
minimiser : E (~w) =1
2
∑i∈D
∑k∈sorties
(tkd − okd )2
(erreur quadratique).
descente de gradient :
∇E (~w) =[∂E
∂w0. . .
∂E
∂wn
]
F. De Comite Rseaux de neurones
-
Ide de preuve
∂E
∂wji=
∂E
∂netj×∂netj∂wji
(wji n’influence l’erreur que par l’intermdiaire de netj )
∂E
∂wji=
∂E
∂netj× xji
F. De Comite Rseaux de neurones
Ide de preuve (couche de sortie)
P
robleme couleurs
Quid de∂E
∂netj?
Cellule de sortie :
∂E
∂netj=∂E
∂oj×
∂oj∂netj
∂oj∂netj
=∂σ(netj )
∂netj= oj (1− oj )
F. De Comite Rseaux de neurones
Ide de preuve (couche de sortie)
P
robleme couleurs
∂E
∂oj=
∂
∂oj
1
2
∑k∈outputs
(tk − ok )2
∂E
∂oj=
∂
∂oj
1
2(tj − oj )2
∂E
∂oj= −(tj − oj )
Finalement :
∆wji = −η∂E
∂wji= η(tj − oj )oj (1− oj )xji
F. De Comite Rseaux de neurones
Ide de preuve (couche cache)
∂E
∂wji=
∂E
∂netj× xji
∂E
∂netj=
∑k∈aval
∂E
∂netk× ∂netk∂netj
∂E
∂netj=
∑k∈aval
−δk ×∂netk∂netj
F. De Comite Rseaux de neurones
Ide de preuve (couche cache)
∂netk∂netj
=∂netk∂oj
×∂oj∂netj
∂netk∂oj
= wkj
∂oj∂netj
= oj (1− oj )
F. De Comite Rseaux de neurones
Ide de preuve (couche cache)
Cellule de la couche cache : le terme d’erreur de la cellule est lasomme coefficiente des termes d’erreurs des cellules en aval.
∂E
∂wji=
∂E
∂netj×∂netj∂wji
∂E
∂netj=
∑k∈aval
−δk × wkj oj (1− oj )
∂netj∂wji
= xji
δj = −∂E
∂netj
∆wji = ηδj xji
F. De Comite Rseaux de neurones
Stochastique/ non stochastique
Version non stochastique : cumuler les modifications de poidsavant de les appliquer.
Version stochastique : modifier les poids aprs chaque exemple.
La version stochastique plus efficace en pratique.
F. De Comite Rseaux de neurones
Minima locaux
Surface d’erreur accidente : convergence vers un minimumlocal.
’secouer les poids’.
Ajouter un moment (une inertie) pour se rappeler de ladirection du mouvement prcdent :
∆wji (n) = ηδj xji + α∆wji (n − 1)
F. De Comite Rseaux de neurones
-
Remarques diverses
Condition d’arrt ?
sur-spcialisation ?
F. De Comite Rseaux de neurones
Exemple 1 : Alvinn (Pomerleau 1993)
I
l manque l’image
F. De Comite Rseaux de neurones
NETtalk
Sejnowski & Rosenberg 1986.
Prononciation d’un texte.
Entre : Fentre de 7 caractres.
Sorties possibles : Liste de phonmes.
Phonme associ au caractre central de la fentre.
F. De Comite Rseaux de neurones
NETtalk
I
l manque l’image
F. De Comite Rseaux de neurones
NETtalk
Apprentissage : plusieurs centaines de mots et leurtranscription phontique.
Connect un synthtiseur vocal.
Suivi de l’volution de l’apprentissage.
F. De Comite Rseaux de neurones
NETtalk : analyse
Erreurs d’enfants initiales.
Troubles du langage en abmant certains neurones ( ? ? ?)
Analyse de la couche cache : apprentissage de rgleslinguistiques.
F. De Comite Rseaux de neurones
Probabilits
On dirait que le rseau fournit en sortie la probabilit du phonme enfonction :
Du caractre et de son environnement.
De l’ensemble sur lequel il a appris.
C’est vrai sous certaines conditions.
F. De Comite Rseaux de neurones
Reconnaissance des chiffres manuscrits
60.000 chiffres manuscrits : matrice 20x20 pixels, 256 niveauxde gris.
Comparaison de plusieurs mthodes :
3-plus proches voisins : erreur 2.4 %Rseaux de neurones : 400 entres, 10 sorties, 300 neurones dansla couche cache : 1.6% d’erreur.Rseaux spcialiss : 0.9%Humains : 0.2% ou 2.5%
F. De Comite Rseaux de neurones
-
Reconnaissance de caractres
26 lettres (matrices 5x7).
But : reconnatre la lettre.
10 neurones dans la couche cache.
F. De Comite Rseaux de neurones
Reconnaissance de caractres
I
l manque l’image
F. De Comite Rseaux de neurones
Reconnaissance de caractres
I
l manque l’image
F. De Comite Rseaux de neurones
Reconnaissance de caractres
I
l manque l’image
F. De Comite Rseaux de neurones
Reconnaissance de caractres
I
l manque l’image
F. De Comite Rseaux de neurones
Reconnaissance de visages
I
l manque l’image
F. De Comite Rseaux de neurones
Valeurs minimales des gradients
∆ωi = −γ∂E
∂ωi+ �
∆ωi = max(−γ∂E
∂ωi, �)
F. De Comite Rseaux de neurones
Pas (=step. . .) adaptatifs
Ide : viter de rester bloqu dans un creux.Silva et Almeida :
Chaque poids ωi a son propre taux d’apprentissage γi
ωi crot si ∆ωi a gard le mme signe deux fois de suite.
Sinon, γ dcrot.
F. De Comite Rseaux de neurones
-
Rprop
Mme principe que Silva et Almeida.
les γi sont borns.
∆ωi = −γ × signe(∂E
∂ωi)
F. De Comite Rseaux de neurones
Mthodes de deuxime ordre
Mthodes du gradient : utiliser la drive de la fonction d’erreur pourtrouver un algorithme.Mthodes du deuxime ordre : utiliser aussi les drives secondes :convergence plus rapide : QuickProp
F. De Comite Rseaux de neurones
Puissance
Toute fonction boolenne peut tre reprsente par un rseau deuxcouches (une cache, une de sortie).
Toute fonction continue peut tre reprsente par un rseau deuxcouches (une cache, une de sortie).
F. De Comite Rseaux de neurones
Fonctions continues
I
l manque l’image
F. De Comite Rseaux de neurones
Fonctions continues
I
l manque l’image
F. De Comite Rseaux de neurones
Fonctions continues
I
l manque l’image
F. De Comite Rseaux de neurones
Deux entres,un neurone
I
l manque l’image
F. De Comite Rseaux de neurones
Deux neurones cachs
I
l manque l’image
F. De Comite Rseaux de neurones
-
Quatre neurones cachs
I
l manque l’image
F. De Comite Rseaux de neurones
Frontires
I
l manque l’image
F. De Comite Rseaux de neurones
Frontires
I
l manque l’image
F. De Comite Rseaux de neurones
Le multiplexeur
On force le circuit mmoriser huit valeurs sur trois neurones.
Suffisamment de libert : codage binaire !
Converge.
I
l manque l’image
F. De Comite Rseaux de neurones
Codage
Entre neurone 1 neurone 2 neurone 3 seuil10000000 0.992 0.544 0.011 11001000000 0.011 0.036 0.896 00100100000 0.551 0.002 0.137 10000010000 0.339 0.995 0.014 01000001000 0.967 0.105 0.992 10100000100 0.992 0.995 0.966 11100000010 0.009 0.973 0.983 01100000001 0.006 0.356 0.010 000
F. De Comite Rseaux de neurones
Codage avec deux neurones
Entre neurone 1 neurone 210000000 0.67 1.0001000000 0.7 000100000 1 0.2500010000 0 0.2200001000 0 0.6300000100 0.25 000000010 1 0.7200000001 0.22 1
F. De Comite Rseaux de neurones
Rsum
Entres ’larges’
Sorties : discrtes, relles, multiples.
Rsistant au bruit.
Classification rapide (mais apprentissage lent . . .)
Modle non explicatif (bote noire)
F. De Comite Rseaux de neurones
Exemples et ApplicationsAméliorationsPouvoir d'expression