Académique Documents
Professionnel Documents
Culture Documents
Intelligence Artificielle
Jean-François Landry
Département d’informatique
Université de Sherbrooke
http://planiart.usherbrooke.ca/~eric/ift615
Sujets couverts
• Quelques architectures
• Exemples d’applications
IFT615 2
Réseau de neurones artificiel (RNA)
• Un modèle de calcul inspiré du cerveau humain.
Cerveau RNA
cellule (soma) neurone
dendrites entrées
synapses poids
axon sortie
IFT615 3
Comment un neurone calcule sa sortie ?
[McCulloch-Pitts, 1943]
n
• net = Σ wixi
i=1
• f(net)= +1 si net ≥ 0, -1 sinon.
• C.à-d. : f(net) = sign(net)
IFT615 4
Comment un neurone calcule sa sortie ?
[McCulloch-Pitts, Exemples]
xi wi
xi wi
x y x+y-2 x+y-1
1 1 0 1 1 1
1 0 -1 -1 0 1
0 1 1 -1 0 1
0 0 -2 -1 -1 -1
IFT615 5
Fonction d’activation sigmoïde
n
x= Σ wixi
i=1 f(x) = 1 -λx
1+e
f(x) = sign(x)
IFT615 6
Comment un RNA apprend ?
IFT615 7
Est-ce qu’un seul neurone peut apprendre ?
• Oui.
Perceptron [Rosenblatt, 1958]
n
Paramètres net = Σ wixi
i=1
xi : entrée y=f(net)= sign(net)
wi : poids (nombre réel)
c : pas(step) d’apprentissage:0 ≤ c ≤1
d : sortie désirée Algorithme d’apprentissage
Pour chaque donnée d’entraînement,
incrémenter le poids wi par :
wi = c(d-y)xi
IFT615 8
Exemple
x1 x2 d
1.0 1.0 1 c = 0.2
IFT615 9
Exemple
x1 x2 d Après dix itérations
1.0 1.0 1
9.4 6.4 -1
2.5 2.1 1
8.0 7.7 -1
0.5 2.2 1
7.9 8.4 -1
7.0 7.0 -1
2.8 0.8 1
1.2 3.0 1
7.8 6.1 -1
IFT615 10
Un perceptron peut-il apprendre le ET, OU, XOR ?
• Oui pour le ET et le OU.
• Non pour le Ou-Exclusif (XOR)
x2
(0,1) (1,1)
x1
(0,0) (1,0)
ET OU XOR
IFT615 11
Apprentissage d’un perceptron avec une
fonction d’activation sigmoïde
x1i
Algorithme d’apprentissage
IFT615 12
RNA à plusieurs couches
n
neti = Σ wjixji
j=1
oi=f(neti) = 1 -λneti
1+e
IFT615 13
Ajustement des poids, fonction signe.
Luger. Artificial Intelligence, 4th Ed., 2002
n
neti = Σ wjixji
j=1
oi=f(neti) = 1 -λneti
1+e
• Neurones cachés :
wki = - cOi(1-Oi)Σj(-deltaj×wji)xki
IFT615 14
Exemple 1 : RNA pour XOR
1 2.6 1
7
-5
-7
-11
-7
-4
IFT615 15
Ajustement des poids, fonction sigmoïde.
IFT615 16
Exemple 2
21 phonèmes + 5 accents
IFT615 17
Apprentissage compétitif (winner-take-all)
[Kohonen, 1984]
W = c(X-W).
• L’apprentissage est non supervisée.
IFT615 18
Exemple 1
x1 x2 d
1.0 1.0 1
9.4 6.4 -1
2.5 2.1 1
8.0 7.7 -1
0.5 2.2 1
7.9 8.4 -1 Fig. 10.15 Luger. Artificial Intelligence, 4th Ed., 2002
7.0 7.0 -1
2.8 0.8 1 • Nous avons déjà vu un perceptron capable de classifier ces
1.2 3.0 1
données.
• L’apprentissage était supervisée: colonne d.
7.8 6.1 -1
• L’ architecture compétitive (winner-take-all) ci-haut fait la même
chose.
• Par contre on choisit deux prototypes d’entraînement au
départ, correspondant à chacune des classes -1 et +1.
IFT615 19
Fig. 10.17Luger.
Exemple 2
x1 x2 d
1.0 1.0 1
9.4 6.4 -1
2.5 2.1 1
8.0 7.7 -1
0.5 2.2 1
7.9 8.4 -1
7.0 7.0 -1
2.8 0.8 1
1.2 3.0 1
7.8 6.1 -1 • Winner-take-all, supervisé.
• On connecte la sortie du winner-take-all à une autre couche (la
nouvelle sortie) qu’on va superviser par les entrées « Safe » et
« Dangerous ».
• Ce type de réseau est appelé réseau contre-propagation
(counterpropagation).
IFT615 20
Exemple 2
IFT615 21
Apprentissage Hebbienne
Luger. Artificial Intelligence, 4th Ed., 2002
[Hebb, 1949]
Conjoncture : Deux neurones directement connectés tel que l’un active
(inhibe) l’autre fréquemment, finissent par avoir leur lien renforcée.
Wi = c*yi*X
IFT615 22
Exemple
Simulation simplifiée de l’expérience de Pavlov
1
1
-1
-1 1
1 0
-1
0
1 0
-1
• c = 0.2
• Donc W= 0.2 f(x)*X
• Après 13 itérations, on a W=[3.4, -3.4, 3.4, -2.4, 2.4, -2.4]
• A cet étape, le réseau répond positivement (+1) au stimulus de
conditionnement.
IFT615 23
Réseaux récurrents
• Les types de réseaux que nous avons jusqu’ici sont dits non récurrents:
pas de boucles.
• Les réseaux récurrents ont des boucles.
• Cela augmente les possibilités d’apprentissage : par exemple,
l’association de différents concepts.
• Exemple : RNA de Hopfield
– La sortie de chaque nœud est retro-propagée aux autres sauf lui-même.
IFT615 24
Applications
• Jeux vidéo:
– Natural Motion
• Robot apprenant à marcher (Endorphin dans ses débuts)
• Endorphin : http://www.naturalmotion.com/
• R N et algorithmes génétiques dans Endorphin :
– http://www.mega-tex.nl/3dsoftware/endorphin2.0.php
IFT615 25
Applications
• Problèmes de classification :
– Reconnaissance de visages
– Reconnaissance vocale
– Reconnaissance de caractèrs
IFT615 26
Références
• Le contenu de cette leçon est tiré en grande partie du Chapitre 10 du
livre:
– G. F. Lugel Artificial Intelligence : Structures and Strategies for
Complex Problem Solving. Fourth Edition. Addison-Wesley, 20
02.
IFT615 27