Vous êtes sur la page 1sur 82

1

LE RÉSEAU DE NEURONES
ARTIFICIEL

Pr A. MAJDA - FST - FES


Introduction
2

 Une approche inspirée du traitement de l'information


effectué par le cerveau
 Cas imprévus
 Domaine de la reconnaissance de formes (images ou signaux),
contrôle moteur, traduction automatique,…
 Questions :
 Comment un être vivant simple peut classifier un objet à
partir des images
 Cibler un objet en mouvement
 …
Le réseau de neurones : Méthode
3
issue du modèle biologique
 Chaque neurone dispose en moyenne de 10.000 points de contacts
(synapses) avec les neurones qui l'entourent, jusqu’à 50.000 !
 Nous disposons de quelques dizaines de milliards de ces neurones à
l'intérieur de notre cerveau
 De synapse en synapse, l'information transite dans la totalité de notre
corps, à travers environ 500 000 milliards de synapses
Neurone biologique
4
Neurone artificiel
5

 Chaque neurone artificiel est un processeur élémentaire


 Il reçoit un nombre d'entrées des neurones amonts
 A chacune de ces entrées est associée un poids : la force de la
connexion
 Chaque neurone a une sortie unique, qui se ramifie pour
alimenter un nombre de neurones avals.

Biais
Définition
6

Les RNA sont des réseaux fortement connectés de


processeurs élémentaires fonctionnant en parallèle.
Chaque processeur élémentaire calcule une sortie
unique sur la base des informations qu'il reçoit.
Pattern Pattern
d'entrée de sortie

0 1
1 1
0 Réseau 0
Stimulus 1 0 Réponse
1 1 décodage
codage 1 0
0 1
0 0
Définition
7

En équivalence avec le système biologique, Ce processeur est


appelé neurone

fortement inspirés par le système nerveux biologique.


Domaine de recherches utilisant les
8 RNA
Dans la littérature
 Neuromimétique
Vérifier les théories biologiques du fonctionnement du système
nerveux central
 Connexionnisme
Améliorer les capacités de l’informatique par des modèles aux
composants fortement connectés
Historique
9

 Fin de 1943, les neurologues McCulloch et Pitts ont


présenté un modèle simplifié de neurone biologique :
neurone formel
 En 1958, Franck Rosenblatt a développé le modèle
du Perceptron et Windrow a présenté le modèle de
l'ADALINE (ADAptive LINear Element) : le modèle
de base des réseaux multicouches.
 En 1969, Marvin Lee Minsky et Seymour Papert ont
publié un ouvrage mettant en exergue les limitations
du Perceptron,
Historique
10

 1972 : Kohonen présente ses travaux sur les mémoires


associatives
 1982 : Hopfield démontre l’intérêt d’utiliser les réseaux

récurrents pour la compréhension et la modélisation des


fonctions de mémorisation.
 1986 : Rumelhart popularise l’algorithme de du gradient

qui permet la rétropropagation et l’entrainement par


couches cachées des réseaux multicouches.
Les réseaux neuronaux ont depuis été beaucoup étudiés, et
ont trouvé énormément d’applications.
Applications
11

 Aérospatial : pilotage automatique, simulation du vol…


 Défense : guidage de missiles et suivi de cible,
reconnaissance du visage, radar, suppression du bruit…
 Electronique : prédiction de la séquence d’un code, vision
machine, synthétiseur vocal,…
 Finance : Prévision du coût de la vie
 Secteur médical : Analyse EEG et ECG
 Télécommunications : Compression de données …
 …
Structure d’un neurone artificiel
12

Pour le neurone d'indice j :


 les entrées sur celui-ci sont de poids wji

 les connexions avals sont de poids wkj


Comportement
13

On distingue deux phases :


1. Calcul de la somme pondérée des entrées :

2. Une fonction de transfert calcule la valeur de l'état du


neurone (sortie) yj =g(aj)

C’est cette valeur qui sera transmise aux neurones


avals
La fonction de transfert
14

Il existe de nombreuses formes possibles :


y =g(a) y =g(a) y =g(a)

a a a

1 2 3

1 : fonction à seuil (t : la valeur du seuil)


2 : linéaire par morceaux
3 : sigmoïde
Topologies
15

Les connexions entre les neurones décrivent la


topologie du modèle de RNA utilisé
On distingue :
Réseau multicouche Propagation avant (feedforward)
Topologies
16

Réseau à connexions locales propagation avant (feedforward)


Connexion avec un nombre réduit de neurones
Topologies
17

 Réseau à connexions récurrentes (feedback


network)
Ces connexions ramènent l'information en arrière par
rapport au sens de propagation
Topologies
18

Réseau à connexion complète modèle récurrent (feedback


network)
la structure d'interconnexion la plus générale
Le perceptron
19

Le perceptron de Rosenblatt (1958) est le premier RNA


opérationnel.
C’est un réseau à propagation avant avec seulement deux
couches (entrée et sortie) entièrement interconnectées.
Il est composé de neurones à seuil.
L ’apprentissage est supervisé et les poids sont modifiés
selon la règle delta.
Le perceptron
20
Le perceptron
21

Un réseau de neurones monocouche est caractérisé par :


 p informations en entrée
 q neurones
 chacun des q neurones est connecté aux p informations d'entrée
A noter :
 X = (x )
i 1 <= i <= p : les p informations d'entrée

 wji , 1 <= i <= p et 1 <= j <= q : les poids de connexion


 yj : la sortie du j-ème neurone
 aj : la donnée d'entrée (somme pondérée) du j-ème neurone.
 seuil : seuil d’activation du neurone
 On parle aussi du coefficient de biais wj0, pour ajuster la sensibilité du
neurone
Le biais :
22

On a donc l'équation suivante :

Généralement, le neurone est activé si l’activation


on atteint le seuil de la fonction d'activation lorsque la somme
pondérée des informations d'entrée vaut le coefficient de biais


23

Sous forme matricielle


W = (w ji ) (i,j) / 0 <= i <= p et 1 <= j <= q
X = (x i ) 1 <= i <= p
x0=-1

Evaluation de X
Exemple d’utilisation : Classification des données
 Chaque neurone de la couche représente une classe
 Pour un exemple X donné, on obtient la classe de cet exemple
Fonctionnement
24
Le Perceptron (un seul neurone) en phase d'utilisation
 L'apprentissage ayant été réalisé
 Les poids sont fixes
 Le neurone réalise une simple somme pondérée de ses entrées,
compare une valeur de seuil t, et fourni une réponse binaire en
sortie y
 Exemple : On peut interpréter sa décision comme classe 1 si la
valeur de y est +1 et classe 2 si la valeur de y est 0.
x y=g(a)
1 1
y 0
t a
x2
Fonctionnement
25

Exercice: Sachant que les poids du Perceptron à deux entrées sont les
suivants : w1 = 0.8 ,w2 = 0.7 et que la valeur de seuil est
t =0.5,
Déterminez son comportement, sachant que les comportements du
ET logique, OU logique et OU exclusif sont respectivement :

x1 x2 y x1 x2 y x1 x2 y
0 0 0 0 0 0 0 0 0
0 1 0 0 1 1 0 1 1
1 0 0 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0

Réponse = OU
Apprentissage
26

L ’apprentissage est une phase du développement


d’un réseau de neurones durant laquelle le
comportement du réseau est modifié jusqu’à
l’obtention du comportement désiré.
On distingue deux grandes classes d’algorithmes
d’apprentissage :
 L’apprentissage supervisé
 L’apprentissage non supervisé
Apprentissage non supervisé
27

Technique d'apprentissage automatique de


classification d’un groupe de données hétérogènes en
sous groupes homogènes sans avoir une sortie désirée
ENTREES

réseau sortie obtenue


Apprentissage supervisé
28

Technique d'apprentissage automatique se basant sur une


base de données d’exemples (entrée, sortie désirée)

superviseur sortie désirée


ENTREES

erreur

réseau sortie obtenue


Règles d’apprentissage
29

L’apprentissage consiste à modifier le poids des connexions


entre les neurones.
xi yj

i j
Wji

Il existe plusieurs règles de modification :


Loi de Hebb : wji=αxiyj
Règle de delta: wji= α(dj - yj)xi
Règle de Grossberg : wji= α(xi - wji)yj
Règles d’apprentissage
30

Loi de Hebb :
Si deux unités connectées sont actives simultanément, le poids de
leur connexion est augmenté ou diminué. α est une constante
positive qui représente la force d'apprentissage (learning rate)
wji=αxiyj xi yj

i j
Wji

yj = -1 yj = 1
xi =-1 Wji = α Wji = - α
xi = 1 Wji = - α Wji = α
Règles d’apprentissage
31

Règle de delta :
aj activation produite par le réseau
dj réponse désirée par l'expert humain
Par exemple si la sortie est inférieure à la réponse désirée, il va
falloir augmenter le poids de la connexion à condition bien sûr
que l'unité j soit excitatrice (égale à 1). On est dans l'hypothèse
d'unités booléennes {0,1}. xi yj

i j
dj = 0 dj = 1 Wji

xi =0 wji = 0 wji = 0
wji= α(dj - yj)xi
xi = 1 wji = -α yj wji = α(1 - yj)
Règles d’apprentissage
32

Loi de Grossberg :
On augmente les poids qui entrent sur l'unité gagnante yj
s'ils sont trop faibles, pour les rapprocher du vecteur d'entrée
xi . C’est la règle d’apprentissage utilisée dans les cartes auto-
organisatrices de Kohonen

xi yj
wji= α(xi - wji)yj
i j
Wji
Apprentissage supervisé
33

Deux algorithmes pour "faire apprendre" à un réseau


de neurones monocouche.
 Apprentissage par descente de gradient
 Apprentissage par l'algorithme de Windrow-Hoff
Ils consistent à comparer le résultat qui était attendu
par les exemples puis à minimiser l'erreur commise
sur les exemples.
Apprentissage par descente de gradient
34

Définition de l’Erreur quadratique moyenne


On considère N exemples X n pour 1 <= n <= N
Exemple : si la fct à apprendre au réseau est le ET Logique  N=4
X(n) = (x i(n)) 1 <= i <= p p : informations d’entrées
Soit (X(n) ,d (n) ) le couple ( Entrée, sortie désirée)
Soit y(n) la sortie obtenue pour le n -ème exemple avec les poids actuels

EQM :

L’idéal E = 0  RNA est expert


Notre Objectif  Minimiser cette erreur en fonction des poids
Apprentissage par descente de gradient
35

Cette minimisation se fait selon une règle delta


α : taux d’apprentissage

, pour 1 <=i<=p

ou b = biais

En simplifiant
Apprentissage par descente de gradient
36

Récapitulons :

pour 1 <=i<=p On a démontré que

 d w i =- α e(n) (- xi(n))
e (n)=(d (n) -y (n) )
d w i =α (d (n) -y (n) ) (xi(n) )
pour 1 <=n<=N Nombre d’exemples

Remarque : On peut aussi réactualiser le biais si le neurone en a un.


Apprentissage par descente de gradient
37

α un nombre réel = taux d'apprentissage


Pour un seul neurone :
w i le poids reliant la i -ème information au neurone
1. Créer n variables dwi , pour 1 <= i <= p, égales à 0
2. Prendre un exemple (X(n) ,d (n) ) , pour 1 <= n <= N
a. Calculer la sortie obtenue avec les poids actuels, yn (1)
b. Rajouter à dw i le nombre α(d(n) – y(n)) x i (2)
c. Réitérer (1) et (2) sur chacun des exemples
3. Pour 1 <= i <= p, remplacer wi par wi + dwi
Apprentissage par descente de gradient
38

Entrée:p poids w_i


N exemples (X_n, y_n) où X_n est un vecteur à p x_i
Sortie : les p poids modifiés

POUR 1 <= i <= p


dw_i = 0
FIN POUR
Le problème avec
POUR TOUT exemple (X_n, d_n) cette méthode est
Calculer la sortie y_n du neurone que l'on corrige sur
POUR 1 <= i <= p la globalité des
dw_i = dw_i + alpha*(d_n – y_n)*x_i
exemples
FIN POUR
FIN POUR
POUR 1 <= i <= p
w_i = w_i + dw_i
FIN POUR
Apprentissage par l'algorithme de Windrow-Hoff
39

Une amélioration de l'algorithme précédent : "la règle delta"

Entrée:n poids w_i


N exemples (X_n, d_n) où X_n est un vecteur à p
x_i
Sortie : les p poids modifiés

POUR 1 <= i <= p


dw_i = 0
FIN POUR
POUR TOUT exemple (X_n, d_n)
Calculer la sortie y_n du neurone
POUR 1 <= i <= p
w_i = w_i + alpha*(d_n – y_n)*x_i
FIN POUR
40
Limitation du perceptron
En général, les perceptrons ne permettent de représenter que des
fonctions linéairement séparables [Minsky 69]
Exemple : Fonctions logiques

ET XOR OU

Pour les fonctions non linéairement séparables , il faut établir un


réseau de neurones multicouche.
Limitation du perceptron
41

Théorème

 Un perceptron linéaire à seuil à n entrées divise


l’espace des entrées en deux sous-espaces délimités par
un hyperplan.

 Réciproquement : tout ensemble linéairement


séparable peut être discriminé par perceptron linéaire à
seuil.
Le Perceptron multicouche
42
C’est un réseau à couches cachées
1. Le flux se fait "en avant"
En pratique une ou deux couches cachées suffisent
S Y S T E M E

bias 1 1
bias
Environnement

Environnement
couche
couche
d'entrée couche
de sortie
(input) i cachée
(output) k
(hidden ) j
Dimensionnement
43

Pb du PMC : déterminer l’architecture du réseau


 le nombre de couche cachée ?
 le nombre de neurones de chaque couche cachée ?

Généralement :
 Pas de règles pour le nombre des neurones des couches
cachée
 Hornik (1989) a démontré que la plupart des fonctions
numériques peuvent être approximées par des réseaux
à une seule couche cachée --> Pb de complexité
PMC pour le XOR 1/3
44

Le XOR peut être calculé par un perceptron multi-couches

x0 =1 1
0. 5
-0.5

-2 x1 XOR x2
1
x1
1 1
1
x2

1
1

les liens avec poids nul ne sont pas représentés


PMC pour le XOR 2/3
45

biais=-0.5
biais=0.5

-2 x1 XOR x2
1
x1 1
1
1
x2

1
1
PMC pour le XOR 3/3
46

biais=-0.5
biais=0.5

-2 x1 XOR x2
1
x1

1 1

x2
1
Apprentissage
47

Algorithme de rétropropagation
 Utilise la règle de modification des poids ("delta rule")

 Remonte couche par couche, des neurones de sortie


vers les neurones d’entrées
 Modifie les poids synaptique en amont de chaque
couche, de manière à diminuer l’erreur commise en
sortie
 La fonction d'activation doit être indéfiniment dérivable

La fonction sigmoïde
-x
Algorithme de rétropropagation
48

Données du réseau
n ème exemple d’entrainement

Vecteur d’entrée
Sortie désirée
Sortie Obtenue

L’algorithme est basé sur :


 Propagation vers l’avant des entrées x(n)
 Retropropagation de l’erreur entre d(n)et y(n) vers
Modèle du neurone j
49

Fonction d’activation

L’erreur pour le neurone j :


Démonstration des étapes de l’algorithme
50

La somme des erreurs quadratiques

Pour diminuer les erreurs on modifie les poids wji(n)


 Descente du gradient de l’erreur

La variation de poids

0≤η ≤ 1 taux d’apprentissage ou gain de l’algorithme


Cas de la couche de sortie
51

La règle de chaînage des dérivées partielles

1er terme du gradient


52

2ème terme du gradient


53

3ème terme du gradient


54

4ème terme du gradient

Finalement
Adaptation des poids de la couche de sortie
55

la règle du “delta” pour la couche de sortie s’exprime


par :

Où le “gradient
local”
Cas des couches cachées
56

Le problème est qu’on ne dispose plus de l’erreur


observée ?
Cas de la dernière couche cachée
On utilise la règle de chaînage des dérivées partielles

Inchangés

i neurone de la couche précédente


j neurone de la couche courante
k neurone de la couche suivante
57

Tous les ek(n) dépendent de yj(n)


58

On obtient

D’où
Adaptation des poids des couches cachées
59

Ainsi, la variation des poids est donnée par

N.B.
 Ces équations sont valides pour toutes les couches cachées

 Dans le cas de la 1ère couche cachée il faut substituer la variable

yi(n) par l’entrée xi(n)


Sommaire de l’algorithme 1/2
60

1. Initialiser tous les poids à des valeurs


aléatoires dans l’intervalle [−0.5, 0.5] ;
2. Normaliser les données d’entraînement ;
3. Permuter aléatoirement les données
d’entraînement ;
4. Pour chaque donnée d’entraînement n :
a. Calculer les sorties observées en propageant les
entrées vers l’avant ;
b. Ajuster les poids en rétropropageant l’erreur
observée :
Sommaire de l’algorithme 2/2
61

Où le “gradient local” est défini par :

5. Répéter les étapes 3 et 4 jusqu’à un nombre


maximum d’itérations ou jusqu’à ce que la
racine de l’erreur quadratique moyenne (EQM)
soit inférieure à un certain seuil.
Règle du “delta généralisé”
62

La variation des poids devient :

On ajoute un terme d'inertie : Momentum


 Eviter les problèmes liés à une stabilisation dans un
minimum local
Où 0≤α≤1 est un paramètre d’inertie
Applications : PMC
63

Classification :
Reconnaissance de formes :
 les lettres de l ’alphabet
 les chiffres de 0 à 9
Les réseaux de Kohonen
64

 Principale différence : Apprentissage non supervisé


 La sortie exacte ne peut pas être défini a priori
 Pas de superviseur
 Pas d’erreur

 Le réseau fait le classement des données d’entrées


en se basant uniquement sur le principe d’auto -
organisation
 On cite
 Les cartes auto-organisatrice de kohonen
 Le neural gas
Carte auto organisatrice de kohonen
65

Les neurones de la carte sont organisés selon une topologie bien


précise dans une seule couche (grille 2d)
Chaque neurone désignera une classe probable
Ici la carte de 5*5 neurones
Carte
Vecteur des poids pour le neurone i

wi1 wi2 … win

Vecteur d’entrée P wi1 wi2 win


p1 p2 … pn
p1 p2 … pn
Carte auto-organisée de Kohonen
66
Un apprentissage compétitif
Une couche d ’entrée et une couche compétitive.

m Carte
La couche compétitive
possède une structure
n
topologique, ce qui
permet de définir un
voisinage pour le
neurone gagnant wi1 wi2 win
Le neurone peut être référencé par p1 p2 … pn
un seul indice i=n*5+m
ou deux indice m et n
Carte auto-organisée de Kohonen
67

 L’apprentissage se fait en 2 étapes


 La compétition entre les neurones
 L’adaptation des neurones

w1 wi2 win
p1 p2 … pn
Carte auto organisatrice de kohonen
68

Neurone j gagnant ( wj est le plus


proche de P )

Le vecteur d’entrée P est connecté à


Carte
chaque tout neurone i par le vecteur
wi des poids

wi1 wi2 … win


wj1 wj2 wjn
wi1 wi2 win
p1 p2 … pn

Vecteur d’entrée P
Regroupement : clustering
69

Réseaux de Neurones à Compétition : un seul neurone de


sortie est activé pour une entrée donnée
Le neurone gagnant
70

 Lorsqu’on présente un vecteur d’entrée P on


cherche le neurone qui présente le vecteur poids W
le plus proche de P

Avec S le nombre total des neurones sur la couche de


compétition
Applications
71

Applications :
 Robotique : pilotage de robots
 Compression des données
 Classification des données
 Statistiques
Le concept du voisinage
72

 Origine biologique : une zone du cortex correspond à une zone des


organes sensoriels et moteurs
Apprentissage compétitif
73

 Faire compétitionner les neurones d’un réseau pour


déterminer lequel sera actif à un instant donné
 Produit un «vainqueur» ainsi que, parfois, un
ensemble de neurones «voisins du vainqueur »
apprentissage est local
 Contrairement aux autre types d’apprentissage,
Seuls les poids synaptiques de ce neurone( et de
ceux de son voisinages s’il existe)seront réadaptés
Adaptation des poids
74

Le neurone vainqueur modifiera ses poids synaptiques en les


rapprochant (géométriquement) d’un stimulus d’entrée p

Taux d’apprentissage
On un voisinage autour modifie aussi les poids des neurones
voisins du neurone gagnant :
Fonctionnement
75

Construire une carte à 1 ou 2 dimensions permettant de


structurer l’espace d’entrée
Fonctionnement
76

 p est un vecteur d’entrée (prototype) de dimension (R*1)


 W est la matrice des poids de taille (R*S)
 n de dimension (S*1) est le vecteur des distances n i entre un
vecteur d’entrée p et la ième colonne de la matrice des poids
relatifs au ième neurone
pour 1 ≤ i≤ S
 a : Vecteur des activations de dimension (S*1)
 ai= compet(ni) = 1 si ni est la distance minimale
= 0 sinon
où S correspond au nombre de neurones du réseau.
mise à jour des poids
77

La variation des poids ∆iw(t) du neurone i au temps t


s’exprime de la façon suivante :


 p(t) désigne le stimulus d’apprentissage au temps t
 Λg(t) représente le voisinage au temps t du neurone

gagnant g.
Topologie de voisinage d’un neurone
78

Pour une carte à deux dimensions :


 (a) Λ18 = 2 ;
 (b) Λ18 = 1 ;
 (c) Λ18 = 0.
Modification du taux d’apprentissage
79
avec le temps
Le taux d’apprentissage η dépend du temps
En pratique
On débute avec η grand qui décroit avec le temps


 η 0 est le taux d’apprentissage initial
 ητ est le taux d’apprentissage final
 τ délimite la frontière entre deux phases d’apprentissage
Modification du voisinage d’un neurone
avec le temps
80

 Même remarque pour le voisinage, en utilisant une


décroissance linéaire


 Λ est le voisinage initial etendu
0
Algorithme de Kohonen
81
La fonction de voisinage
82
gaussienne
 redéfinir l’algorithme d’apprentissage dans le cas
ou la fonction de voisinage est une gaussienne

Vous aimerez peut-être aussi