Vous êtes sur la page 1sur 57

Machine Learning

LN3 GLSI

4- Les Réseaux de Neurones Artificiels


Enseignante : Imen Masmoudi

masmoudi.imene@gmail.com 1
OBJECTIFS

• Introduire les réseaux de Neurones Artificiels

• Introduire les fonctions d’activation non linéaires

• Comprendre le fonctionnement d’un Réseau de Neurones.

2
INTRODUCTION

• Aujourd'hui les superordinateurs et le cloud ont aboli ces limites et nous


assistons à une explosion de possibilités,
• Par exemple Amazon AWS et Google cloud sont désormais accessibles avec
des budgets raisonnables,
• Nous pouvons de nos jours lancer des calculs complexes et analyser des
milliards de données pour des coût acceptables.
• Cela va encourager les travaux de recherche et donner son envol à
l'intelligence artificielle.

3
INTRODUCTION

• Cela ouvre les voies à l’Apprentissage Automatique (Machine Learning) qui


prend toute sa dimension avec des très grands volumes de données (Big
Data).

• Et celui-ci, donne déjà de fabuleux résultats et encourage les investisseurs


pour s’en servir dans tous les secteurs

• Centres de recherches, banques, assurances, finance, aérospatiale,


automobile, pharmacie... Toute l'industrie s'en empare.

4
2- RÉSEAUX DE NEURONES ARTIFICIELS

2.1 DÉFINITION ET DOMAINES D’APPLICATION

5
DÉFINITION

• Les réseaux de neurones artificiels sont des réseaux fortement connectés de


processeurs élémentaires fonctionnant en parallèle.
• Chaque processeur élémentaire (Neurone) calcule une sortie
unique sur la base des informations qu'il reçoit.
• Inspiration naturelle : analogie avec le cerveau

6
DOMAINES D’APPLICATION

• Traitement d'image : compression d'images, reconnaissance de caractères et


de signatures, reconnaissance de formes et de motifs, classification, ...
• Traitement du signal : traitement de la parole, filtrage, classification, ...
• Traitement des langues : segmentation en mots, traduction automatique, ...
• Taches de Contrôle : diagnostic de pannes, commande de processus, contrôle
qualité, robotique, ...
• Optimisation : régulation de trafic, gestion, finance, ...

7
2- RÉSEAUX DE NEURONES ARTIFICIELS

2.2 NEURONES BIOLOGIQUES

8
NEURONE BIOLOGIQUE

9
NEURONE BIOLOGIQUE

• Le neurone est une cellule composée d’un corps cellulaire


et d’un noyau.
• C’est par les dendrites que l’information est acheminée
de l’extérieur vers le corps du neurone.
• L’information traitée par le neurone chemine ensuite le
long de l’axone pour être transmise aux autres neurones.
• La jonction entre deux neurones est appelée la synapse.
• Les neurones sont inter-connectés et forment des réseaux

10
NEURONE BIOLOGIQUE

• Les réseaux de neurones biologiques réalisent facilement un certain nombre


d'applications telles que la reconnaissance de formes, le traitement du signal,
l'apprentissage par l'exemple, la mémorisation, la généralisation.

• Hypothèse : le comportement intelligent du cerveau émerge de la structure et


du comportement de ses éléments de base,

• C’est à partir de cette hypothèse que les réseaux de neurones artificiels se


sont développés.
11
2- RÉSEAUX DE NEURONES ARTIFICIELS

2.3 EXEMPLE

12
prix PRÉDICTION PRIX DE MAISON

Taille Maison

13
PRÉDICTION PRIX DE MAISON

ReLu
prix

Taille Maison

14
PRÉDICTION PRIX DE MAISON

ReLu
prix

y
x prix
Taille maison

Taille Maison

15
PRÉDICTION PRIX DE MAISON

Taille Taille famille


maison

Nbr
chambres

16
PRÉDICTION PRIX DE MAISON

Taille Taille famille


maison

Nbr
chambres proximité

Emplacement

17
PRÉDICTION PRIX DE MAISON

Taille Taille famille


maison

Nbr
chambres proximité

Emplacement

Luxe
éducation

18
PRÉDICTION PRIX DE MAISON

Taille Taille famille


maison

Nbr
chambres proximité
prix
Emplacement

Luxe
éducation

19
PRÉDICTION PRIX DE MAISON

Taille maison 𝑥1

Nbr chambres 𝑥2
prix
Emplacement 𝑥3

Luxe 𝑥4

20
PRÉDICTION PRIX DE MAISON

Taille maison 𝑥1

Nbr chambres 𝑥2
prix
Emplacement 𝑥3

Luxe 𝑥4

X y
21
PRÉDICTION PRIX DE MAISON

Taille maison 𝑥1

Nbr chambres 𝑥2
prix
Emplacement 𝑥3

Luxe 𝑥4

X Couches cachées y
22
3- STRUCTURE ET FONCTIONNEMENT

3.1 STRUCTURE ET FONCTIONNEMENT D’UN PERCEPTRON

23
STRUCTURE D’UN PERCEPTRON

• Chaque neurone artificiel est un processeur élémentaire.


• Il reçoit un nombre variable d'entrées en provenance de x1
w1
neurones amonts. w2
x2 p
• A chacune de ces entrées est associée un poids w (abréviation
wn
de weight poids en anglais) représentatif de la force de la
connexion. xn

• Chaque processeur élémentaire est doté d'une sortie unique, qui


se ramifie ensuite pour alimenter un nombre variable de
neurones avals. 24
STRUCTURE D’UN PERCEPTRON

25
PERCEPTRON SIMPLE

• Un neurone possède des entrées


x1
• Chaque entrée possède un poids w1

• Le neurone calcule une somme pondérée des x2


w2
σ (∑wixi) p
poids et des entrées
wn
• On applique une fonction σ d’activation à la
sortie du neurone xn

26
FONCTION D’ACTIVATION

• Appelée aussi fonction de transfert,

• Une fonction d’activation permet de faire des transformations sur les signaux émis
par les neurones.

• Les fonctions d'activation non linéaires réduisent la valeur de sortie d'un neurone le
plus souvent sous forme d'une simple probabilité.

• Elle est généralement une fonction non linéaire. Elle permet de séparer les données
non linéairement séparables.

• Il est donc important de bien choisir le type de la fonction d'activation dans un


réseau de neurones. 27
FONCTION D’ACTIVATION

• L'utilisation de fonctions d'activation non linéaires est indispensable pour la


simple raison que les fonctions linéaires ne fonctionnent qu'avec une seule
couche de neurone.

• Car au delà d'une couche de neurones, l'application récurrente d'une même


fonction d'activation linéaire n'aura plus aucun impact sur le résultat.

• Autrement dit, afin de résoudre des problèmes complexes, l'utilisation de


fonctions non linéaires est obligatoire.

28
FONCTION D’ACTIVATION

29
FONCTION D’ACTIVATION

Fonction Sigmoïde

• réduire la valeur d'entrée pour la réduire entre


0 et 1.

• l'équation de la courbe est telle que, seules les


petites valeurs influent réellement sur la
variation des valeurs en sortie.

• (-) Elle n'est pas centrée sur zéro,

30
FONCTION D’ACTIVATION

Fonction Tanh : Tangente hyperbolique

• la fonction Tanh produit un résultat compris


entre -1 et 1.

• Elle est préférable à la fonction Sigmoïde car


elle est centrée sur zéro.

• Les grandes entrées négatives tendent vers -1


et les grandes entrées positives tendent vers 1.

31
FONCTION D’ACTIVATION

Fonction Heaviside

• la fonction Heaviside produit un résultat soit 0


soit 1.

32
FONCTION D’ACTIVATION

Fonctions ReLU

• ReLU (Unité de Rectification Linéaire). Cette


fonction est la plus utilisée.

• la formule: f(x) = max(0, x). Si l'entrée est


négative la sortie est 0 et si elle est négative alors
la sortie est x.

• (-) Si la valeur d'entrée est négative, le neurone


reste inactif, ainsi les poids ne sont pas mis à jour
et le réseau n’apprend pas. 33
PERCEPTRON LINÉAIRE À SEUIL

• n entrées x1, …, xn
x1 b
• n coefficients synaptiques w1, …, wn w1

w2 σ
• fonction d’activation x2 ∑wixi p

Exemple : Heaviside
wn
• un seuil b (biais)
xn
• une sortie prédiction p
p = 1 si ∑wixi >= b
p = 0 sinon 34
PERCEPTRON LINÉAIRE À SEUIL
x0=1
Une autre représentation :
w0 = -b
x1
• On représente le biais comme une entrée w1

supplémentaire x0 = 1, x2
w2
∑wixi σ p

• avec le coefficient synaptique suivant : w0 = − b


wn
• la prédiction p :
xn
p = 1 si ∑wixi >= 0
p = 0 sinon
35
APPRENTISSAGE : ALGORITHME DU PERCEPTRON
On considère que notre base d’apprentissage est formée d’un ensemble D
de couples (X, y),
ε un pas d’apprentissage : ε valeur non nulle « bien choisie » entre 0 et 1
• Initialiser aléatoirement les coefficients wi. x0=1

• Répéter :
x1 w0 = -b
• Prendre un exemple (X, y) de la base D w1
• Calculer la prédiction p du réseau pour l ’entrée X
x2 w2 σ
•Mettre à jour les poids : ∑wixi p

• Pour i de 0 à n :
• wi = wi + ε ∗ (y − p) ∗ xi wn

• Fin Pour
xn 36
•Fin Répéter
APPRENTISSAGE : ALGORITHME DU PERCEPTRON
Exercice:
• σ Fonction d’activation Heaviside
x0
• Seuil d’apprentissage ε = 0.1 w0
• Les poids synaptiques initialement : w1
x1
w0 = 0 ; w1 = 0 ; w2 = 0 ∑wixi σ
p
• Données d’apprentissage w2
x2
x1 x2 y
1 1 1
2 0.4 0
0 1 1
37
APPRENTISSAGE : ALGORITHME DU PERCEPTRON

Remarques sur l’apprentissage de perceptron:

• Si l’échantillon n ’est pas linéairement séparable, l


’algorithme ne converge pas.

• L ’algorithme peut converger vers plusieurs solutions


(selon les valeurs initiales des coefficients, la valeur de ε,
l ’ordre de présentation des exemples).

• La solution n ’est pas robuste : un nouvel exemple peut


remettre en cause le perceptron appris.
38
APPRENTISSAGE : DESCENTE DU GRADIENT
Principe de la Régression linéaire :

• Ramener la complexité d’un nuage de Résultats Y

points en une droite linéaire .


• On définit ainsi une fonction coût : . .
F(X) .
Moindre carrés .
E(W) = 1/2 σ𝐷(𝑦 − 𝑝) 2
.

X Entrées X
39
APPRENTISSAGE : DESCENTE DU GRADIENT
Principe de la Régression linéaire :

• Ramener la complexité d’un nuage de Résultats Y

points en une droite linéaire .


• On définit ainsi une fonction coût : . .
. Erreurs

Moindre carrés .
E(W) = 1/2 σ𝐷(𝑦 − 𝑝) 2 .
• Problème : trouver W qui minimise E(W).
⇒ Méthode du gradient. Entrées X
40
APPRENTISSAGE : DESCENTE DU GRADIENT

La méthode du gradient

• Pour mettre à jours les valeurs des poids synaptiques pour chaque valeur
d’entrée xi, on adopte la formule suivante :

𝜕 𝐸(𝑊)
∆𝑤𝑖 = − 𝜀 ∗ = 𝜀 σ𝐷 𝑥𝑖 ∗ (𝑦 − 𝑝) ∗ 𝜎 ′ (𝑋. 𝑊)
𝜕 𝑤𝑖

41
APPRENTISSAGE : DESCENTE DU GRADIENT

42
APPRENTISSAGE : DESCENTE DU GRADIENT

Si ε trop grand Si ε trop petit

43
APPRENTISSAGE : DESCENTE DU GRADIENT

• Le pas d’apprentissage ε doit être bien choisi, suffisamment petit

•Si ε trop grand : risque de non convergence du réseau

• Si ε trop petit : nombre élevé d ’itérations

• En pratique : on diminue graduellement ε au fur et à mesure des itérations

44
APPRENTISSAGE : DESCENTE DU GRADIENT

Base d’apprentissage : ensemble D de couples (X, y), x0

• n+1 entrées x0, x1, …, xn w0


x1
w1
• vecteur W de coefficients synaptiques w0, w1, …, wn
σ
• ε un pas d’apprentissage x2 w2
∑wixi p

• fonction d’activation σ, continue et dérivable


• une sortie de prédiction p wn

xn

45
APPRENTISSAGE : DESCENTE DU GRADIENT
• Initialiser aléatoirement les coefficients wi.
• Répéter :
• Pout tout i :
• ∆wi = 0
•Fin Pour
•Pour tout exemple (X, y) dans D
• Calculer la prédiction p du réseau pour l ’entrée X
• Pout tout i :
• ∆wi = ∆wi + ε ∗ (y − p) ∗ xi ∗ σ’(X.W)
• Fin Pour
•Fin Pour
•Pour tout i :
• wi = wi + ∆wi
•Fin Pour 46
2- STRUCTURE ET FONCTIONNEMENT

3.2 STRUCTURE ET FONCTIONNEMENT D’UN RÉSEAU MULTI-COUCHES

47
STRUCTURE MULTI-COUCHES

Les différentes couches :

• Cellules réparties dans q couches :


C0, C1, …, Cq

• C0 : couche d ’entrée ⇒
les variables d ’entrée

• Cq : couche de sortie •
C1, …, Cq-1 : les couches cachées
C0 C1 C2 C3 C4
Exemple de réseau à 4 couches
48
STRUCTURE MULTI-COUCHES

• Cellules désignées par un indice i, 0 ≤ i < n

• xij : entrée associée au lien entre cellule i vers cellule j

• wij : coefficient synaptique associé au lien entre cellule i vers cellule j

• Succ(i) : ensemble des cellules qui prennent comme entrée la sortie de la cellule i.

• Pred(i) : ensemble des cellules dont la sortie est une entrée de la cellule i.

• si : somme totale de la cellule i : si = Σ(j ∈ Pred(i)) (wij ∗ xij)

• ri : sortie de la cellule i : ri = σ(si)

• m cellules de sortie • k indice d ’une cellule de sortie, 0 ≤ k < m

• yk : sortie réelle pour la cellule de sortie k avec l ’entrée x


49
• pk : sortie calculée (prédiction) pour la cellule de sortie k avec l ’entrée x
APPRENTISSAGE : PROPAGATION DES DONNÉES

50
APPRENTISSAGE : RÉTRO PROPAGATION DU GRADIENT
• Initialiser aléatoirement les coefficients wij
• Répéter
• Prendre un exemple (X, y) de D
• Calculer la sortie p
• Pour toute cellule de sortie i
• ∆i = σ‘(pi) ∗ (yi − pi)
• Fin Pour
• Pour chaque couche de q − 1 à 1
• Pour chaque cellule i de la couche courante
• ∆i = σ’(pi) ∗ σ𝑘 ∈ 𝑆𝑢𝑐𝑐(𝑖)(∆𝑘 ∗ 𝑤𝑖𝑘)
• Fin Pour
•Fin Pour
• Pour tout poids wij
• wij = wij + ε ∗ ∆j ∗ xij
• Fin Pour
51
• Fin Répéter
APPRENTISSAGE MULTI-COUCHES

Remarques :
• Perceptron Multi-Couches = généralisation du perceptron et de la règle de
descente du gradient.
• Dans la pratique : garder une partie de la base d’apprentissage pour
évaluer la qualité du réseau
80 % de la base pour l’apprentissage
20 % restant de la base pour l’évaluation de la qualité
• Le nombre de couches cachées et le nombre de neurones par couche ont une
influence sur la qualité de l’apprentissage.

52
APPRENTISSAGE MULTI-COUCHES

Exercice : X= [2, -1] , y= 1, ε= 0.1 , σ Fonction d’activation Sigmoid


N1 N3 N5
0.5 1
x1= 2 1 N7
-1 -1
N2 1.5 N4 3 N6
x2= -1 -3
-2 -4

1
Sigmoid σ(x) = 1+ 𝑒 −𝑥
et σ′ (𝑥) = σ x ∗ (1 − σ(x))

53
APPRENTISSAGE MULTI-COUCHES

Exercice : X= [2, -1] , y= 1, ε= 0.1 , σ fonction sigmoid


N1 N3 N5
0.5 1
x1= 2 0.378 0.867 1 N7
-1 -1
p= 0.648
N2 1.5 N4 3 N6
x2= -1 0.5 -3
0.085
-2 -4
Propagation

N3 : r3 = σ(0.5 * 2 + 1.5 * -1 ) = σ( -0.5 ) = 0.378


N4 : r4 = σ(-1 * 2 - 2 * -1 ) = σ( 0 ) = 0.5
N5 : r5 = σ(1 * r3 + 3 * r4 ) = σ(1.878 ) = 0.867
N6 : r6 = σ(-1 * r3 - 4 * r4 ) = σ( -2.378 ) = 0.085
N7 : r7 = σ(1 * r5 - 3 * r6 ) = σ( 0.612 ) = 0.648

54
APPRENTISSAGE MULTI-COUCHES

Exercice : X= [2, -1] , y= 1, ε= 0.1 , σ fonction sigmoid


N1 ∆3 = 0.005 N5 ∆5 = 0.009
0.5 N3 1
x1= 2 0.378 0.867 1 N7 ∆7 = 0.08
-1 -1
p= 0.648
N2 1.5
∆4 = 0.019 3 N6 ∆6 = -0.018
N4 -3
x2= -1 0.5 0.085
-2 -4
Retro - Propagation

N7 : ∆7 = pi ∗ (1 − pi) ∗ (yi − pi) = 0.648 * (1 – 0.648) * (1 – 0.648) = 0.08


N6 : ∆6 = ri ∗ (1 − ri) ∗ σ𝒌 ∈ 𝑺𝒖𝒄𝒄(𝒊)(∆𝒌 ∗ 𝒘𝒊𝒌) = 0.085 * (1 – 0.085) * (∆7 * -3) = -0.018
N5 : ∆5 = 0.867 * (1 – 0.867) * (∆7 * 1) = 0.009
N4 : ∆4 = 0.5 * (1 – 0.5) * (∆5 * 3 + ∆6 * -4) = 0.019
N3 : ∆3 = 0.378 * (1 – 0.378) * (∆5 * 1 + ∆6 * -1) = 0.005
55
APPRENTISSAGE MULTI-COUCHES

Exercice : X= [2, -1] , y= 1, ε= 0.1 , σ fonction sigmoid


N1 ∆3 = 0.005 N5 ∆5 = 0.009
0.5 N3 1
x1= 2 0.378 0.867 1 N7 ∆7 = 0.08
-1 -1
p= 0.648
N2 1.5
∆4 = 0.019 3 N6 ∆6 = -0.018
N4 -3
x2= -1 0.5 0.085
-2 -4
Ajustement des poids

w13 = wij + ε ∗ ∆𝒋 ∗ xij = 0.5 + 0.1 * 0.005 * 2 =


w14 = -1 + 0.1 * 0.019 * 2 =
w23 = 1.5 + 0.1 * 0.005 * -1 = w45 = 3 + 0.1 * 0.009 * 0.5 =
w24 = -2 + 0.1 * 0.019 * -1 = w46 = -4 + 0.1 * -0.018 * 0.5 =
w35 = 1 + 0.1 * 0.009 * 0.378 = w57 = 1 + 0.1 * 0.08 * 0.867 =
w36 = -1 + 0.1 * -0.018 * 0.378 = w67 = -3 + 0.1 * 0.08 * 0.867 =
56
CONCLUSION

• Un deuxième sous domaine de l’intelligence artificielle


• Apprentissage automatique et ses différents modes
• Introduction aux réseaux de Neurones Artificiels
• Leurs structures et principe de fonctionnement

57

Vous aimerez peut-être aussi