Vous êtes sur la page 1sur 19

12/11/2022

Apprentissage supervisé par les


réseaux de neurones artificiels

Youcef CHIBANI, Prof., Dr.


ychibani.chibani@usthb.edu.dz

Laboratoire d’Ingénierie des Systèmes Intelligents et Communicants

Faculté de Génie Electrique


Université des Sciences et de la Technologie
“Houari Boumediene”
Alger, Algérie

Prof. Youcef CHIBANI 1

Plan du cours

1. Introduction
2. Représentation neuronale : le perceptron
3. Architectures des réseaux de neurones (Perceptrons monocouches et
multicouches)
4. Critères d’optimisation du réseau de neurones multicouches
5. Algorithmes d’apprentissage des réseaux de neurones multicouches
6. Applications

Prof. Youcef CHIBANI 2

Prof. Youcef CHIBANI 1


12/11/2022

1. Introduction

Objectif des réseaux de neurones artificiels : Imitation des neurones biologiques.


Pré-requis : Nécessité de comprendre le fonctionnement du cerveau humain.

Prof. Youcef CHIBANI 3

2. Représentation neuronale : Le perceptron

Neurones biologiques

Corps cellulaire

Noyau

Axone

Direction de
l’impulsion

Synapse

Dendrite

Prof. Youcef CHIBANI 4

Prof. Youcef CHIBANI 2


12/11/2022

2. Représentation neuronale : Le perceptron

•Dendrite: entrée
•Axone: Sortie
•Synapse: jonction entre deux neurones (pondération)
Si le poids est fort, la jonction est excitatrice
Si le poids est faible, la jonction est inhibitrice

Synapses

Potentiel somatique
(Seuil de déclenchement)

Prof. Youcef CHIBANI 5

2. Représentation neuronale : Le perceptron

Potentiel somatique
(Seuil de déclenchement)

x1 w1 n
f 1
u wi xi
w2 Fonction
i 1 s f(u)
x2 d’activation
wn 0
xn Neurone formel
Seuil

Prof. Youcef CHIBANI 6

Prof. Youcef CHIBANI 3


12/11/2022

2. Représentation neuronale : Le perceptron


Exemples de fonction d’activation
s s s Echelon symétrique
Linéaire
Linéaire à seuil
à seuil

u u u

s Echelon à seuil s Sigmoïde


s Sigmoïde non
symétrique symétrique

u u u

u u T : paramètre qui
e T T contrôle la pente à
f (u)
1
] 1, 1[ f ( u) e u ]0, 1[ l’origine
u
e T 1 1 e T

Prof. Youcef CHIBANI 7

3. Architectures des réseaux de neurones


Perceptron monocouche : Architecture
Vecteur d’entrée

Vecteur de sortie

Couche Matrice Couche de


d’entrée poids W sortie

Caractéristiques du perceptron monocouche :


• Une couche d'entrée et une couche de sortie.
• Chaque neurone de la couche d’entrée est connecté à tous les nœuds de la couche de sortie.
• Apprentissage supervisé

Prof. Youcef CHIBANI 8

Prof. Youcef CHIBANI 4


12/11/2022

3. Architectures des réseaux de neurones


Perceptron monocouche : Principe

Vecteur d’entrée

Vecteur de sortie
= = 1, … ,

indice de la classe

Couche Matrice Couche de


d’entrée poids W sortie

Phase d’apprentissage : Calcul


= de la matrice
=
Phase de reconnaissance
(Evaluation)

Prof. Youcef CHIBANI 9

3. Architectures des réseaux de neurones

Perceptron monocouche : Algorithme d’implémentation : Phase d’apprentissage

Vecteurs Sortie désirée


caractéristiques (Label)
0
Association 0

0
= 1
: indice de l’échantillon 0
: indice de la classe

Association Matrice
Couche Couche de Codage
01 0 d’entrée poids W sortie des labels
Entrée = 1, … , Codage des labels :
Activation d’une seule
sortie associée au
vecteur d’entrée de la
classe.

Prof. Youcef CHIBANI 10

Prof. Youcef CHIBANI 5


12/11/2022

3. Architectures des réseaux de neurones

Perceptron monocouche : Algorithme d’implémentation : Phase d’apprentissage

Règle de mise à jour des poids


1 +

= 1, … , et = 1, … ,

Forme matricielle
1 +

avec = et =

Fin de l’apprentissage

Prof. Youcef CHIBANI 11

3. Architectures des réseaux de neurones

Perceptron monocouche : Algorithme d’implémentation : Phase de reconnaissance (Evaluation)

Donnée à = =
reconnaître

= =

Produit scalaire

Si = et alors pour = la sortie est = =

Prof. Youcef CHIBANI 12

Prof. Youcef CHIBANI 6


12/11/2022

3. Architectures des réseaux de neurones

Perceptron monocouche :

Avantage : Bien adapté à la séparation


des données linéairement séparables

Inconvénient : Non adapté à la


séparation des données non
linéairement séparables

Solution : Utilisation d’un réseau perceptron multicouches

Prof. Youcef CHIBANI 13

3. Architectures des réseaux de neurones


Réseau
Perceptron multicouches : Architecture à une couche cachée couches

x1
x2
x3 W1 W2

xP

Couche Couche cachée Couche de Sortie Sortie


d’entrée sortie estimée désirée
(Label)

Poids synaptiques

Prof. Youcef CHIBANI 14

Prof. Youcef CHIBANI 7


12/11/2022

3. Architectures des réseaux de neurones

Perceptron multicouches : Architecture à une couche cachée

Sortie Sortie
estimée désirée
(Label)

Notation :

Sortie idéale (désirée) : = Sortie estimée : =

Prof. Youcef CHIBANI 15

4. Critère d’optimisation du réseau de neurones multicouches

Critère d’optimisation : Perte d’entropie croisée (Cross Entropy Loss : CEL)


Principe de perte : Calcul de l’écart entre la distribution estimée par le réseau de
neurones par rapport à une distribution désirée.

Sortie désirée : = Sortie estimée : =

Transformation de en distribution de probabilité en utilisant la fonction Softmax.

Transformation
= =

Avec la fonction Softmax : = =

Prof. Youcef CHIBANI 16

Prof. Youcef CHIBANI 8


12/11/2022

4. Critère d’optimisation du réseau de neurones multicouches

Critère CEL : log( )

= avec : log perte (Erreur) au niveau de


chaque classe.
définit la perte globale pour toutes les classes.

log( )

log( )

log( )

Sortie Sortie Sortie Perte


estimée Softmax désirée (Erreur)
(Label)

Prof. Youcef CHIBANI 17

4. Critère d’optimisation du réseau de neurones multicouches

En dérivant ( , ) par rapport , on a :

( , ) log( )

( , ) log( )

log( ) 1
=

=
=

Prof. Youcef CHIBANI 18

Prof. Youcef CHIBANI 9


12/11/2022

4. Critère d’optimisation du réseau de neurones multicouches

( , )
En remplaçant dans l’équation , on obtient :

( , ) 1
(1 . )

Après simplification, on obtient :

( , )
= =

définit l’erreur entre la sortie estimée ( ) et la sortie désirée ( ).

Le calcul des poids synaptiques est fondé sur la descente du gradient (Gradient descent).

L’algorithme de calcul des poids synaptiques est fondé sur la rétro-propagation des erreurs
de la sortie vers l’entrée.

Prof. Youcef CHIBANI 19

5. Algorithmes d’apprentissage
Perceptron multicouches : Architecture à une couche cachée
=
= () () =

=
= () () =

=
= () () =
Probabilité
en sortie Sortie désirée
Couche d’entrée (Label)
Couche cachée Couche de sortie
: Poids entre le nœud dans la couche et le nœud dans la couche 1 pour = 1, … , où est le nombre de couches.
: Biais au nœud dans la couche
( ) : Fonction d’activation de forme Sigmoïdale
: Potentiel somatique au nœud dans la couche pour = 2, . . ,
( ) : Fonction d’activation de forme Softmax
: Sortie au nœud dans la couche après la fonction d’activation

: Probabilité estimée en sortie au nœud (Classe)

: Sortie désirée au nœud (Classe)

Prof. Youcef CHIBANI 20

Prof. Youcef CHIBANI 10


12/11/2022

5. Algorithmes d’apprentissage
Perceptron multicouches : Configuration d’une couche cachée et d’une couche de sortie

Couche cachée Couche de sortie

=
=
() ()

= + = +
() ()
1 = = = =
= =
1+
= 1, … , , = 1, … ,
: Nombre de nœuds dans la couche cachée j. : Nombre de classes.

Objectif de l’apprentissage : Calcul des poids synaptiques de manière itérative afin de


minimiser l’erreur = pour l’ensemble des échantillons d’apprentissage en
utilisant la descente du gradient.

Prof. Youcef CHIBANI 21

5. Algorithmes d’apprentissage : Optimiseur


Notions de l’algorithme de Descente du gradient (Gradient descent)

Calcul des poids par processus itératif : +1 = ( ) : Indice de l’itération

Variation des poids


Notation : +1 = ( )

Principe : Recherche d’un paramètre en minimisant une fonction notée ( ) où est le paramètre à rechercher.

0
1

2 >0
( )

<0 3
4
5
=0
Valeur optimale

( )= ( ) ( ) définit le gradient (variation) de la fonction ( )


et est le pas du gradient (step size ou learning rate).

+1 = ( ) La valeur optimale de s’obtient lorsque le gradient devient nul ( = 0) .

Prof. Youcef CHIBANI 22

Prof. Youcef CHIBANI 11


12/11/2022

5. Algorithmes d’apprentissage : Optimiseur


Application à l’apprentissage automatique

Jeu de données : ( , ) avec = 1, … ,

1
= ( )
= = =

= ( ) log( ) avec
= +

+1 = ( )

1
+1 = ( )

Difficulté : Calcul du gradient sur l’ensemble d’échantillons nécessite un temps de calcul important.

Solution : Calcul du gradient pour chaque échantillon à chaque itération.

+1 = ( )

Prof. Youcef CHIBANI 23

5. Algorithmes d’apprentissage : Optimiseur


Pseudo-code :

Choix aléatoire des poids 0 et du pas d’apprentissage .


Algorithme est appelé Descente
Répéter tant que le minimum n’est pas atteint : du gradient stochastique ou SGD
• Choisir un couple de données ( , ) (Stochastic Gradient Descent).

• Pour = 1, … , :
+1 = ( )

Accélération du SGD : Afin d’accélérer l’algorithme et améliorer la convergence, on


peut calculer le gradient par lot (batch) d’échantillons. Pour cela, il faut définir la taille
du lot (batch size).
1
+1 = ( ) : définit la taille du lot (Batch size)

Prof. Youcef CHIBANI 24

Prof. Youcef CHIBANI 12


12/11/2022

5. Algorithmes d’apprentissage : Optimiseur

Variante de descente du gradient : Momentum

+1 = ( )

+ 1 : Momentum

+1 = + 1

Prof. Youcef CHIBANI 25

5. Algorithmes d’apprentissage : Optimiseur

Variante de descente du gradient : RMSProp : Root Mean Square Propagation


(Propagation de la moyenne quadratique)

, = , 1 + (1 )( ) Moment d’ordre 2 avec facteur d’oubli.

( )= Pas d’apprentissage est mis à jour à chaque itération.


, +

( )

+1 = ( )

Prof. Youcef CHIBANI 26

Prof. Youcef CHIBANI 13


12/11/2022

5. Algorithmes d’apprentissage : Optimiseur

Variante de descente du gradient : Adam : Adaptive Moment Estimation


(Estimation Adaptative du Moment)

, = , 1 + (1 ) Moment d’ordre 1

, = , 1 + (1 )( ) Moment d’ordre 2

,
= Pas d’apprentissage est mis à jour à chaque itération.
, +

+1 =

Note : La mise à jour des poids revient à évaluer


le gradient à chaque itération.

Prof. Youcef CHIBANI 27

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur

Application de l’algorithme de descente du gradient pour le calcul des poids synaptiques

=
= () () =

=
= () () =

=
= () () =
Probabilité
en sortie
Couche d’entrée
Couche cachée Couche de sortie

Mise à jour des poids : +1 = ( ) avec ( )= ( )

Question : Comment calculer le gradient =

Prof. Youcef CHIBANI 28

Prof. Youcef CHIBANI 14


12/11/2022

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur


Etape 1 : Calcul des poids de la couche de sortie
Couche de sortie
( ) ( )
=

( ) =
= =
()
= 1, … ,
( ) ( )
= = =

= : Erreur dans la couche au nœud .


= +

=
= = =

= + =

= =( )

+1 = ( )
( ) =
=
+1 =
Prof. Youcef CHIBANI 29

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur


Etape 2 : Calcul des erreurs dans la couche cachée = 1 Couche de sortie

Couche cachée =
( ) () =

=
() () =

( )
=
= + () =

1
= =
1+

Notation : = Gradient local dans la couche = 1

( ) ( ) ( ) ( )
= + + =

Prof. Youcef CHIBANI 30

Prof. Youcef CHIBANI 15


12/11/2022

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur


Etape 2 : Calcul des erreurs dans la couche cachée = 1 (Suite)

( )
=

=
( )
=

Comment calculer =?

= +

+
= =

( )
= = = ( )

= ( )

1
= avec = et =
1+
Prof. Youcef CHIBANI 31

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur


Etape 3 : Calcul des poids dans la couche cachée = 1

= =

Comme : = +

+
=

+1 = avec =

Prof. Youcef CHIBANI 32

Prof. Youcef CHIBANI 16


12/11/2022

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur

1. Initialiser les poids synaptiques de manière aléatoire 0


= 1, … , ; = 1, … ; = 1, … , avec = et = .
2. Choisir aléatoirement une paire entrée/sortie ( , ) avec = 1, … , .

3. Calculer successivement les sorties des différentes couches = 1, … , pour l’entrée = = .


Pour = 1, … , 1

= avec = + avec nombre de nœuds dans la couche 1 et =


Pour =

= = = + pour = 1, … , avec = : nombre de nœuds


dans la couche de sortie
4. Mise à jour des poids
4.1. Mise à jour des poids de la dernière couche.

Calcul des erreurs de la couche de sortie : = =

Calcul des nouveaux poids : +1 = pour = 1, …

4.2. Mise à jour des poids des couches cachées = 1, … , 1.

Calcul des erreurs des couches cachées : =

Calcul des nouveaux poids : +1 =

5. Répéter l’étape 2 jusqu’à ce que la perte globale ( ) soit inférieure à un seuil.

Prof. Youcef CHIBANI 33

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur

La convergence du Réseau de Neurones dépend :


Nombre de couches cachées et nombre de nœuds dans chaque couche cachée
Type de fonction d’activation
Nombre d’itérations (Epochs)
Méthode d’optimisation (SGD, RMSProp, Adam).

Prof. Youcef CHIBANI 34

Prof. Youcef CHIBANI 17


12/11/2022

5. Algorithmes d’apprentissage : Algorithme de rétro-propagation de l’erreur

Allures des courbes de perte


Apprentissage
Validation

Perte
Bon apprentissage

Itération

Apprentissage Apprentissage
Validation Validation

Sur-apprentissage
Perte

Perte
Sous-apprentissage

Itération Itération

Prof. Youcef CHIBANI 35

6. Applications

Reconnaissance des chiffres manuscrits

Codage des sorties


0 1 9
Vecteurs caractéristiques
0
1 0 0
y1
0 1
9 y2
0
RN
y10 1 0
0 0 1

Prof. Youcef CHIBANI 36

Prof. Youcef CHIBANI 18


12/11/2022

6. Applications

Reconnaissance des chiffres vocaux

Codage en entrée
Découpage du signal en trames (Nécessité de la normalisation temporelle)
Calcul du vecteur caractéristique pour chaque trame (Coefficients MFCC)
Codage en sortie
Identique à la reconnaissance des chiffres manuscrits

Prof. Youcef CHIBANI 37

Prof. Youcef CHIBANI 19

Vous aimerez peut-être aussi