Académique Documents
Professionnel Documents
Culture Documents
Cours 81
Cours 81
P. Habermehl et D. Kesner
Rseaux de neurones
Programmation Logique et IA
P. Habermehl et D. Kesner
Introduction
Intelligence Articielle
Cognitivisme (sciences cognitives)
Connexionisme (rseaux de neurones)
Le cerveau : rseau trs complexe ayant un grand nombre de
cellules de base interconnectes. Il y a 100 milliards de neurones
et 1015 connexions.
Les rseaux de neurones : modle trs simple du cerveau o les
units de calcul lmentaire sont interconnectes. En particulier on
ne prends pas en compte de nombreuses caractristiques
biologiques.
2
Programmation Logique et IA
P. Habermehl et D. Kesner
Programmation Logique et IA
P. Habermehl et D. Kesner
Programmation Logique et IA
P. Habermehl et D. Kesner
Le perceptron
Un perceptron linaire seuil prend en entre n valeurs
x1 , . . . , xn et calcule une sortie o.
Il est dni par n + 1 constantes :
Les coecients (poids) synaptiques w1 , . . . , wn
Le seuil (ou biais)
La sortie o est calcule par :
1 si Pn w x >
i=1 i i
o=
0 sinon
Les entres peuvent tre valeurs dans {0, 1} ou relles, les
coecients peuvent tre entiers ou rels.
5
Programmation Logique et IA
P. Habermehl et D. Kesner
Simplication du modle
On constate :
n
X
wi xi > ssi
i=1
n
X
wi xi > 0
i=1
1 si Pn w x > 0
i=0 i i
o=
0 sinon
Programmation Logique et IA
P. Habermehl et D. Kesner
Simplication du modle
1. On calcul d'abord de x =
post-synaptique.
Pn
i=0 wi xi
1 si x > 0
f (x) =
0 sinon
Programmation Logique et IA
P. Habermehl et D. Kesner
Programmation Logique et IA
P. Habermehl et D. Kesner
Interprtation gomtrique
Soit S un ensemble d'exemples dans IRn {0, 1}.
Soit S0 = {s IRn | (s, 0) S}
Soit S1 = {s IRn | (s, 1) S}.
S est dit linairement sparable s'il existe un hyperplan H de
IRn tel que les ensemble S0 et S1 soient situs de part et d'autre
de cet hyperplan.
Programmation Logique et IA
P. Habermehl et D. Kesner
10
Programmation Logique et IA
P. Habermehl et D. Kesner
11
Programmation Logique et IA
P. Habermehl et D. Kesner
Fin Pour
Fin Rpter
Sortie : Un perceptron P dni par (w0 , w1 , . . . , wn )
12
Programmation Logique et IA
P. Habermehl et D. Kesner
Exemple
On veut apprendre si un chire est pair ou impair. Les chires est
represent sur une retine de 7 leds.
1
--6 |
| 2
---
5 |
| 3
--4
13
Programmation Logique et IA
P. Habermehl et D. Kesner
S=
(1111001, 1), (0110011, 0), (1011011, 1),
14
Programmation Logique et IA
P. Habermehl et D. Kesner
Trace de l'algorithme
Etape
(1, 1, 1, 1, 1, 1, 1, 1)
(1, 1, 1, 1, 1, 1, 1, 0)
(0, 0, 0, 0, 0, 0, 0, 1)
(1, 0, 1, 1, 0, 0, 0, 0)
(1, 0, 1, 1, 0, 0, 0, 1)
(1, 1, 1, 0, 1, 1, 0, 1)
(0, 1, 0, 1, 1, 1, 0, 0)
(1, 1, 1, 1, 1, 0, 0, 1)
(1, 0, 1, 2, 0, 1, 0, 1)
(1, 0, 1, 1, 0, 0, 1, 1)
(0, 0, 0, 1, 0, 1, 1, 0)
(1, 1, 0, 1, 1, 0, 1, 1)
(1, 1, 0, 2, 1, 1, 0, 1)
(1, 0, 0, 1, 1, 1, 1, 1)
(0, 1, 0, 1, 0, 2, 1, 0)
(1, 1, 1, 1, 0, 0, 0, 0)
(0, 1, 0, 1, 0, 2, 1, 0)
(1, 1, 1, 1, 1, 1, 1, 1)
10
(0, 1, 0, 1, 0, 2, 1, 0)
(1, 1, 1, 1, 1, 0, 1, 1)
15
Programmation Logique et IA
P. Habermehl et D. Kesner
Vrication
Coecients = (0, 1, 0, 1, 0, 2, 1, 0)
Entre
Sortie
(1, 1, 1, 1, 1, 1, 1, 0)
(1, 0, 1, 1, 0, 0, 0, 0)
(1, 1, 1, 0, 1, 1, 0, 1)
(1, 1, 1, 1, 1, 0, 0, 1)
(1, 0, 1, 1, 0, 0, 1, 1)
(1, 1, 0, 1, 1, 0, 1, 1)
(1, 0, 0, 1, 1, 1, 1, 1)
(1, 1, 1, 1, 0, 0, 0, 0)
(1, 1, 1, 1, 1, 1, 1, 1)
(1, 1, 1, 1, 1, 0, 1, 1)
16
Programmation Logique et IA
P. Habermehl et D. Kesner
17
Programmation Logique et IA
P. Habermehl et D. Kesner
18
Programmation Logique et IA
P. Habermehl et D. Kesner
Problmes et Questions
Qu'est-ce que se passe si S n'est pas linairement sparable ?
L'algorithme ne converge pas.
Est-ce qu'on peut borner la valeur des poids et le seuil ? Oui,
mais par un nombre trs grand, donc pas d'application pratique.
Combien de pas faut-il pour converger ? Exponentiel.
Est-ce que la solution trouve est robuste ? Non.
Est-ce que l'algorithme est tolrant aux bruits ? Non.
19
Programmation Logique et IA
P. Habermehl et D. Kesner
o = ~x.w
~=
n
X
i=1
20
wi xi
Programmation Logique et IA
P. Habermehl et D. Kesner
E(w)
~ = 1/2
(c o)2
(~
x,c)S
Remarque : E(w)
~ = 0 ssi P classie correctement tout
l'ensemble S .
But : Detrminer un w
~ qui minimise E(w)
~ . On utilise la mthode
du gradient.
21
Programmation Logique et IA
P. Habermehl et D. Kesner
Mthode du gradient
tant donn une fonction f on construit une suite (xn )
Cette suite devrait s'approcher du minimum.
On part de x0 quelconque et on dnit xn+1 = xn f 0 (xn ), o
est une valeur bien choisi.
Le choix de est empirique (si trop petit, alors nb d'itrations
lev, si trop grand, alors peut ne pas converger).
Rien ne garantit que le miminum trouv est un minimum global.
22
Programmation Logique et IA
P. Habermehl et D. Kesner
X
(w)
~
=
(c o) (xi )
wi
(~
x,c)S
On dnit
X
(w)
~
(c o) xi
=
wi =
wi
(~
x,c)S
23
Programmation Logique et IA
P. Habermehl et D. Kesner
Fin Rpter
Sortie : Un perceptron P dni par (w1 , . . . , wn )
24
Programmation Logique et IA
P. Habermehl et D. Kesner
25
Programmation Logique et IA
P. Habermehl et D. Kesner
wi = (c o) xi
26
Programmation Logique et IA
P. Habermehl et D. Kesner
Fin Rpter
Sortie : Un perceptron P dni par (w1 , . . . , wn )
27
Programmation Logique et IA
P. Habermehl et D. Kesner
28