Académique Documents
Professionnel Documents
Culture Documents
Les Réseaux
de Neurones Artificiels
Afef ABDELKRIM
1
• Sleon une édtue de l'Uvinertisé de
Cmabrigde, l'odrre des ltteers dnas un
mtos n'a pas d'ipmrotncae, la suele coshe
ipmrotnate est que la pmeirère et la
drenèire soit à la bnnoe pclae. Le rsete
peut êrte dnas un dsérorde ttoal et vuos
puoevz tujoruos lrie snas porlblème. C'est
prace que le creaveu hmauin ne lit pas
chuaqe ltetre elle-mmêe, mias le mot
cmome un tuot.
2
C3 M355493 357 B13N D1FF1C1LE 4 L1R3,
M415 V07R3 C3RV34U 5’4D4P73
R4P1D3M3N7.
4U C0MM3NC3M3N7 C’357 D1FF1C1L3,
M415 M41NT3N4N7 VOU5 Y P4RV3N3Z
54N5 D1FF1CUL73,
C3L4 PR0UV3 4 QU3L PO1N7 VO7R3
C3RV34U LI7 4U70M471QU3M3N7 54N5
3FF0R7 D3 V07R3 P4R7.
50Y3Z F13R, C3R741N35 P3R50NN35 3N
50N7 1NC4P4BL35.
3
Objectifs (1)
Le cerveau humain contient environ 100 milliards de
neurones. Ces neurones vous permettent, entre autre,
de lire un texte tout en maintenant une respiration
régulière permettant d’oxygéner votre sang, en
actionnant votre cœur qui assure une circulation efficace
de ce sang pour nourrir vos cellules, etc.
4
Objectifs (2)
Les spécialistes des neurones biologiques (ceux qui
œuvrent en neurophysiologie) commencent à peine à
comprendre quelques uns de leurs mécanismes
internes.
On croit en général que leurs différentes fonctions
neuronales, y compris celle de la mémoire, sont
stockées au niveau des connexions (synapses) entre les
neurones.
C’est ce genre de théorie qui a inspiré la plupart des
architectures de réseaux de neurones artificiels que
nous aborderons dans ce cours.
L’apprentissage consiste alors soit à établir de nouvelles
connexions, soit à en modifier des existantes.
5
Aperçu des grands domaines
d’application des RNAs
On utilise des réseaux de neurones
artificiels (RNAs) pour tenter de résoudre
des problèmes complexes qui sont plus
faciles à résoudre par le cerveau que par
un ordinateur
– Reconnaissance d’un visage familier
– Conduire sous la pluie
– Reconnaissance de forme
6
Utilité des réseaux de neurones
Contrôleurs pour des
applications de robotique
7
Utilité des réseaux de neurones
Analyse et interprétation de données -
classification des canneberges
tacy 40 50 60
Indice
canneberge -1 0 1
8
Difficultés pour les algorithmes
de traitement d’image
• Certaines lettres
inversées
Changement de contexte
9
Historique
Les premières recherches remontent à la fin du 19e et au
début du 20e siècle :
Travaux multidisciplinaires en physique, en
psychologie et en neurophysiologie par des scientifiques :
Hermann von Helmholtz, Ernst Mach et Ivan Pavlov.
11
Historique
Vers la fin des années 1960, un livre publié par Marvin
Minsky et Seymour Papert est venu jeter beaucoup d’ombre
sur le domaine des réseaux de neurones :
12
Historique
– Heureusement, certains chercheurs ont persévéré en
développant de nouvelles architectures et de nouveaux
algorithmes plus puissants.
– En 1972, Teuvo Kohonen et James Anderson ont développé
indépendamment et simultanément de nouveaux réseaux
pouvant servir de mémoires associatives.
– Egalement, Stephen Grossberg a investigué ce qu’on appelle
les réseaux auto-organisés.
– Dans les années 1980, une pierre d’achoppement a été levée
par l’invention de l’algorithme de rétropropagation des
erreurs.
– Cet algorithme est la réponse aux critiques de Minsky et
Papert formulées à la fin des années 1960.
– C’est ce nouveau développement, généralement attribué à
David Rumelhart et James McClelland, mais aussi découvert
plus ou moins en même temps par Paul Werbos et par Yann
LeCun, qui a littéralement ressuscité le domaine des réseaux
de neurones.
– Depuis ce temps, c’est un domaine où bouillonnent
constamment de nouvelles théories, de nouvelles structures
et de nouveaux algorithmes. 13
Applications
Les réseaux de neurones servent aujourd’hui à toutes sortes
d’applications dans divers domaines. Par exemple:
- auto-pilote pour avion,
- système de guidage pour automobile,
- systèmes de lecture automatique de chèques bancaires et
d’adresses postales,
- systèmes de traitement du signal pour différentes applications
militaires,
- système pour la synthèse de la parole,
- systèmes de vision par ordinateur,
- faire des prévisions sur les marchés monétaires, pour évaluer le
risque financier ou en assurance,
- pour le diagnostic médical,
- exploration pétrolière ou gazière, en robotique, en
télécommunication, etc.
14
Modèle d’un neurone
15
p1
w11
p2 w12 a1 =f(n1)
n1=Σ f
w13
b
p3 -1
La sortie n :
17
Le résultat n de la somme pondérée s’appelle le niveau d’activation du neurone.
Le biais b s’appelle aussi le seuil d’activation du neurone. Lorsque le niveau
d’activation atteint ou dépasse le seuil b, alors l’argument de f devient positif (ou
nul). Sinon, il est négatif.
18
Ajoutons la fonction d’activation f pour obtenir la sortie du neurone :
19
Les R entrées : un rectangle noir (le nombre d’entrées est indiqué sous le
rectangle).
De ce rectangle sort le vecteur p dont la dimension matricielle est R*1
Ce vecteur est multiplié par une matrice W qui contient les poids
(synaptiques) des neurones. Dans le cas d’un neurone simple, cette matrice
possède la dimension 1*R
Le résultat de la multiplication correspond au niveau d’activation qui est
ensuite comparé au seuil b (un scalaire) par soustraction.
La sortie du neurone est calculée par la fonction d’activation f. La sortie d’un
20
neurone est toujours un scalaire.
parallèle entre ce modèle mathématique et le neurone biologique. Ce dernier
possède trois principales composantes : les dendrites, le corps cellulaire et l’axone.
La fonction seuil applique un seuil sur son entrée. Plus précisément, une
entrée négative ne passe pas le seuil, la fonction retourne alors la valeur 0 (on
peut interpréter ce 0 comme signifiant faux), alors qu’une entrée positive ou
nulle dépasse le seuil, et la fonction retourne 1 (vrai). On remarque alors que
le biais b dans l’expression de
détermine l’emplacement du seuil sur l’axe , où la fonction passe de 0 à
1 : cette fonction permet de prendre des décisions binaires.
24
La fonction linéaire affecte directement son entrée à sa
sortie : a=n
La sortie du neurone correspond à son niveau
d’activation dont le passage à zéro se produit lorsque
wTp=b
25
La fonction de transfert sigmoïde :
Elle ressemble soit à la fonction seuil, soit à la fonction linéaire, selon que l’on est loin
ou près de b, respectivement. La fonction seuil est très non-linéaire car il y a une
discontinuité lorsque wTp=b
De son côté, la fonction linéaire est tout à fait linéaire. Elle ne comporte aucun
changement de pente. La sigmoïde est un compromis intéressant entre les deux
précédentes. Notons finalement, que la fonction «tangente hyperbolique» est une
26
version symétrique de la sigmoïde.
Fonctions d’activation (de transfert)
27
Architecture de réseau
Un réseau de neurones est un maillage
de plusieurs neurones, généralement
organisé en couches.
Les S neurones d’une même couche
sont tous branchés aux R entrées. On
dit alors que la couche est totalement
connectée.
Un poids wi,j est associé à chacune des
connexions. Nous noterons toujours le
premier indice par i et le deuxième
par j. Le premier indice (ligne)
désigne toujours le numéro de
neurone sur la couche, alors que le
deuxième indice (colonne) spécifie le
numéro de l’entrée. connexion qui
relie le neurone i à son entrée j. 28
p1
w11
a1 =f(n1)
n1=Σ f
w21 w12
p2
w22 b1
-1
w13
w23 a2 =f(n2)
p3
n2=Σ f
b2
-1
p1
w11
a1 =f(n1)
n1=Σ f
w21 w12
p2
w22 b1
-1
w13
w23 a2 =f(n2)
p3
n2=Σ f
b2
-1
L’ensemble des poids d’une couche
forme donc une matrice W de dimension
S×R
31
Si on considère que les S neurones forment un vecteur de neurones, alors on peut créer
les vecteurs
32
1 1 2 2 2
1 a11 =f(n1) 2 a1 =f(n1)
w11 w11 2 2
p1 1 1 n1=Σ f
1
n1=Σ f
1 w12
w21
2
w21 2
w12
b11 2
p2 1 w31
w22
-1
2 2 2
2 2
a2 =f(n2)
1
w13 w22 2 f
1
n2=Σ
n2=Σ f1
p3 w123
1 1
1
a2 =f(n2)
1
b2
2
-1 w32
2 2 2
a3 =f(n3)
2
n3=Σ f2