APPRENTISSAGE AUTOMATIQUE
Chapitre 1:
Réseaux de Neurones Artificiels
INTRODUCTION
L'apprentissage automatique (en anglais : machine learning ) est un champ d'étude
de l'intelligence artificielle qui se fonde sur des approches mathématiques et
statistiques pour donner aux ordinateurs la capacité d' « apprendre » à partir de
données, c'est-à-dire d'améliorer leurs performances à résoudre des tâches sans être
explicitement programmés¹ .
Pour appliquer une méthode d’apprentissage, il est important de dispenser d’un
échantillon d’exemples contenant un nombre important d’instances de données
étiquetées ou non selon le mode d’emploi,
Il existe plusieurs types d’algorithmes d’apprentissage:
Apprentissage supervisé : les classes de chaque exemple sont prédéterminées. Le
processus se passe en deux phases. Lors de la première phase (d'apprentissage),
il s'agit de déterminer un modèle à partir des données étiquetées. La seconde
phase (de test) consiste à prédire l'étiquette d'une nouvelle donnée, connaissant
le modèle préalablement appris.
Apprentissage non supervisé: On dispose d'exemples non étiquetés et le nombre de
classes et leur nature n'ont pas été prédéterminées, on parle alors
d'apprentissage non supervisé ou clustering en anglais. L'algorithme doit
découvrir la structure plus ou moins cachée des données. Ces dernières sont
ciblées selon leurs attributs disponibles, pour les classer en
groupes homogènes d'exemples. La similarité est généralement calculée selon
une fonction de distance entre paires d'exemples,
Apprentissage par renforcement: l'algorithme apprend un comportement selon une
observation. L'action de l'algorithme sur l'environnement produit une valeur de
retour qui guide l'algorithme d'apprentissage. L'algorithme de Q-learning est un 2
exemple classique.
INTRODUCTION
Les réseaux de neurones sont placés dans la famille des
algorithmes d’apprentissage supervisés.
La majorité des réseaux de neurones possède un
algorithme « d’entraînement » qui consiste à modifier les
poids synaptiques en fonction d’un jeu de données
présentées en entrée du réseau. Le but de cet
entraînement est de permettre au réseau de neurones
d'« apprendre » à partir des exemples. Si l’entraînement
est correctement réalisé, le réseau est capable de fournir
des réponses en sortie très proches des valeurs d’origine
du jeu de données d’entraînement. Mais tout l’intérêt des
réseaux de neurones réside dans leur capacité
à généraliser à partir du jeu de test.
3
HISTORIQUE
1943, premier modèle de neurones formels par deux bio-physiciens
de Chicago : McCulloch & Pitts
1949, règle de Hebb : formulation du mécanisme d'apprentissage,
sous la forme d'une règle de modification des connexions
synaptiques.
1958, premier réseau de neurone artificiel (RNA), le Perceptron de
Rosenblatt :
Une couche `perceptive' de neurones d'entrée
Une couche `décisionnelle' de neurones de sortie
Ce réseau parvient a apprendre à identifier des formes simples et à calculer
certaines fonctions logiques.
1969, critique par Minsky & Papert : impossibilité de résoudre le
problème de XOR (Ou exclusif)
1982 : Hopefield propose les RNA recurrents (`feed-back') :
Modélisation de processus mnésiques
Werbos initie les réseaux multicouche (MLP : Multi-layer Perceptron) avec
retro-propagation des erreurs. 4
1986, Rumelhart propose et finalise les MLP,
HISTORIQUE
Durant les années suivantes, les applications de l'apprentissage
automatique se succèdent bien plus rapidement qu'auparavant.
En 2012, un réseau neuronal développé par Google parvient à
reconnaître des visages humains ainsi que des chats dans des
vidéos YouTube,
En 2015, une nouvelle étape importante est atteinte lorsque
l'ordinateur « AlphaGo » de Google gagne contre un des
meilleurs joueurs au jeu de Go,
En 2016, un système d'intelligence artificielle à base
d'apprentissage automatique nommé LipNet parvient à lire sur
les lèvres avec un grand taux de succès.
5
DOMAINE D’APPLICATIONS
Traitement des images
Identification des signatures
Reconnaissance des caractères (dactylos ou manuscrits)
Reconnaissance de la parole
Reconnaissance de signaux acoustiques (bruits sous-
marins, …)
Extraction d’un signal du bruit
Robotique (apprentissage de tâches)
Aide à la décision (domaine médical, bancaire,
management, …)
6
NEURONE BIOLOGIQUE
Le système nerveux est
composé de 1012 neurones
interconnectés. Bien qu’il
existe une grande diversité
de neurones, ils fonctionnent
tous sur le même schéma.
Ils se décomposent en trois
régions principales :
Le corps cellulaire
Les dendrites
L ’axone
7
NEURONE BIOLOGIQUE
L’influx nerveux est assimilable à un signal électrique se
propageant comme ceci :
Les dendrites reçoivent l’influx nerveux d ’autres neurones.
Le neurone évalue l’ensemble de la stimulation reçue.
Si elle est suffisante, il est excité : il transmet un signal (0/1)
le long de l ’axone.
L’excitation est propagée jusqu’aux autres neurones qui y
sont connectés via les synapses
8
NEURONE FORMEL
Soit un réseau de neurones formel avec n éléments dans la couche d'entrée,
composée de n synapses appliquant un coefficient multiplicateur au signaux
reçus. Une sommation, puis une comparaison a un seuil (θ) sont effectuées.
La Fonction de Transfert ( fonction d’activation) détermine l'état du neurone
(en sortie)
aj Yj
9
QUE PEUT-ON FAIRE AVEC LES RÉSEAUX
DE NEURONES ?
Classification (ou discrimination): la variable expliquée (de
sortie) est une variable nominale, chaque observation possède
une classe
Exple: Une région d’une image représente un visage ou non
? Ici la classe est binaire (oui /non)
Régression: la variable expliquée est une variable quantitative
(ϵR)
Exple: Quel sera le taux de personnes contaminées du
coronavirus en Algérie dans un mois? Ici la classe est une
valeur réelle
10
PERCEPTRON
11
ARCHITECTURE D’UN PERCEPTRON
Le perceptron est formée d'une première couche d'unités
(neurones) qui sont associées aux données : chaque unité correspond à
une des variables d'entrées. Plus une unité de biais qui est
toujours activée (égale à1 ). Ces unités sont reliées à une seule et
unique unité de sortie . 𝑦 = 𝜑( 𝑛0 𝑤𝑖 ∙ 𝑥𝑖 ) où 𝜑 fonction d’activation
y
𝜑
y
12
Perceptron avec 𝜑
fonction seuil
FONCTIONS D’ACTIVATIONS
La fonction d’activation opère une transformation d’une combinaison
affine des signaux d’entrée, 𝑤0 , terme constant, étant appelé le biais du
neurone et noté généralement par b. Cette combinaison affine est
déterminée par un vecteur de poids [𝑤0 , 𝑤1 , ⋯ , 𝑤𝑛 ] associé à chaque
neurone et dont les valeurs sont estimées dans la phase d’apprentissage,
Les fonctions d’activations les plus utilisées sont :
Linéaire ∶ 𝜑(x) = a x,
0, 𝑥 < 0
Seuil : 𝜑 𝑥 =
1, 𝑥 ≥ 0
−1 𝑥 < 0
Signe : 𝜑 𝑥 =
+1, 𝑥 ≥ 0
Sigmoïde : 𝜑(x) = 1/(1 + 𝑒 −𝑥 )
𝑒 𝑥 − 𝑒 −𝑥
Tanh : 𝜑 𝑥 =
𝑒 𝑥 + 𝑒 −𝑥 13
FONCTIONS D’ACTIVATIONS
Linéaire
Seuil
Signe
Sigmoïde
14
SÉPARATION LINÉAIRE
Théorème : un perceptron à n entrées divise l’espace des entrées
ℝ𝑛 en deux sous-espaces délimités par un hyperplan.
Réciproquement, tout sous-ensemble linéairement séparable
peut être discriminé par un perceptron,
Définition : Une surface de décision (frontière de décision) est
une droite (1Dimension) ou plan (2D) ou hyperplan (> 3D),
15
SÉPARATION LINÉAIRE
(a) (b)
Dans (a) les données sont séparées linéairement par une droite
(fonction linéaire) en 2 classes,
Dans (b) il faut au moins 2 droites pour séparer les données en 2
classes donc elles sont non linéairement séparables
16
MÉTHODE DE DESCENTE DU GRADIENT
Soit f une fonction d'une variable réelle à valeurs réelles, suffisamment
dérivable dont on recherche un minimum. La méthode du gradient
construit une suite qui doit s'approcher du minimum. Pour cela, on part
d'une valeur quelconque 𝑥0 et l'on construit la suite récurrente :
𝑥𝑛+1 = 𝑥𝑛 + ∆𝑥𝑛 𝑜ù ∆𝑥𝑛 = −𝛼𝑓 ′ 𝑥𝑛
avec 𝛼 paramètre de convergence
17
INCONVÉNIENTS
On remarque que 𝑥𝑛+1 est d'autant plus éloigné de
𝑥𝑛 que la pente de la courbe en est grande. On peut
décider d'arrêter l'itération lorsque cette pente est
suffisamment faible.
Les inconvénients bien connus de cette méthode sont
:
1. le choix de 𝛼 est empirique,
2. si 𝛼 est trop petit, le nombre d'itérations peut
être très élevé,
3. si 𝛼 est trop grand, les valeurs de la suite risquent
d'osciller autour du minimum sans converger,
4. rien ne garantit que le minimum trouvé est un
minimum global. 18
APPRENTISSAGE PAR DESCENTE DE
GRADIENT
L'entraînement d'un perceptron est donc un
processus itératif. Après chaque observation, nous allons
ajuster les poids de connexion de sorte à réduire l'erreur de
prédiction. Pour cela, nous allons utiliser l'algorithme du
gradient : le gradient nous donne la direction de la plus
grande variation d'une fonction (dans notre cas, la fonction
d'erreur), pour trouver le minimum de cette fonction il faut
se déplacer dans la direction opposée au gradient. (Lorsque la
fonction est minimisée localement, son gradient est égal à 0.)
19
APPRENTISSAGE PAR DESCENTE DE GRADIENT
L'erreur d'un perceptron P défini par w=(𝑤0 ,..,𝑤𝑛 ) sur un échantillon
d'apprentissage d'exemples S= (𝑥 𝑡 , 𝑟 𝑡 ) est définie en utilisant la fonction
1
d’erreur quadratique : 𝐸 = ∙ 𝑆(𝑟 𝑡 − 𝑦)2 où y est la sortie calculée pour un
2
exemple donné
𝜕𝐸 𝜕𝐸 𝜕𝑦
= ∙ = −(𝑟 𝑡 − 𝑦) ∙ 𝑥𝑖
𝜕𝑤𝑖 𝜕𝑦 𝜕𝑤𝑖
Un déplacement dans le sens opposé au gradient (flèche rose) rapproche 𝑤𝑗 de
la valeur minimisant l'erreur (point orange).
20
𝛼
ALGORITHME D’APPRENTISSAGE
Données: Base d’exemples (Base_Ex) ou échantillon d’entrainement (X, Y) où le vecteur
x = {𝑥1 , ⋯ , 𝑥𝑛 } définit par un ensemble d’attributs caractérisant les exemples , le vecteur r
représente la classe de chaque exemple.
Initialisation : α = le taux d’apprentissage ; W = {𝑤1 , ⋯ , 𝑤𝑛 } ; 𝑏𝑖𝑎𝑖𝑠 = 𝑤0
tanque test-arrêt non atteint faire
tant que ¬ fin Base_Ex faire
prenons un exemple : (𝑥 𝑡 , 𝑟 𝑡 )
𝑛
calculons sa sortie y = 𝜑(𝑤0 + 1 𝑤𝑖 𝑥𝑖 )
erreur = 𝑟 𝑡 - y
Si erreur ≠ 0 alors
Mise à jour des poids: 𝑤𝑖 𝑡+1 = 𝑤𝑖 𝑡 + α ∙ ∆𝑤 𝑡 où ∙ ∆𝑤 𝑡 = erreur. 𝑥𝑖
Fin tq
Fin tq
Cette procédure est répétée jusqu’à ce que toute la base d’exemples soit 21
correctement classée ou approximativement bien classée.
X1 X2 Classe
EXEMPLE +1 +1 +
+1,5 -0,5 +
Echantillon des exemples du tableau est +2 -2 _
représenté sur la figure ci-contre. -2 -1 _
Valeurs initiales: -2 +1 +
α = 0.2 , le vecteur poids -1 -1,5 _
𝑤 = (𝑤0 , 𝑤1 , 𝑤2 ) = (0, 1, 0.5)
La sortie du perceptron est :
1 𝑠𝑖 𝑎 ≥ 0
y = 𝜑 𝑎 = 𝜑( 𝑤𝑖 ∙ 𝑥𝑖 ) =
0 𝑠𝑖𝑛𝑜𝑛
L’équation de la frontière de décision est
ainsi donnée par l’équation de la droite:
𝑤0 + 𝑤1 ∙ 𝑥1 + 𝑤2 ∙ 𝑥2 = 0 ↔
1𝑥1 + 0.5𝑥2 = 0 ↔ 𝒙𝟐 = −𝟐𝒙𝟏
22
SUITE DE L’EXEMPLE
Prenons le point P1(+1, +1) et calculons la
sortie
y = 𝜑(𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ) =
𝜑(0+1*1+0,5*1) = 𝜑(1,5) =1
classe positive
Donc le point P1 est correctement classé
Pas de mise à jour
La sortie associée au point P2(+2,-2) est 1
le point P2 est donc mal classé
Mise à jour des poids
w0 = w0−0.2∗1 = -0,2
w1 = w1−0.2∗2 = 0.6
w2 = w2−0.2∗(−2) = 0.9
Modification de la frontière de décision
23
SUITE DE L’EXEMPLE
Le point P3(-1, -1.5) est bien classé donc pas
de mise à jour
Le point P4(-2, -1) est bien classé donc pas
de mise à jour
Le point P5(-2, 1) est mal classé donc mise à
jour des poids:
w0 = w0 + 0.2∗1 = 0
w1 = w1 + 0.2∗(−2) = 0.2
w2 = w2 + 0.2∗1 = 1.1
Modification de la droite
Le point P6(+1.5, -0.5) est mal classé donc
mise à jour des poids:
w0 = w0 + 0.2∗1
w1 = w1+ 0.2∗1.5
w2 = w2 + 0.2∗(−0.5)
Modification de la droite 24
SIMULATION DE LA FONCTION ET LOGIQUE PAR
APPRENTISSAGE
Dans le cas de la fonction ET la
séparation des deux classes se X2
E1
fait par une ligne droite:
W1.X1 + W2.X2 + W0 = 0 – +
Deux classes (deux réponses):
C1 (S = +1): E2
X1
Pour l’entrée: (+1;+1)
C2 (S = -1): – –
Pour les entrées:
{(-1;-1); (+1;-1); (-1;+1)}
« ET » logique
25
SIMULATION DE LA FONCTION OU LOGIQUE PAR
APPRENTISSAGE
Dans le cas de la fonction
OU, une droite permet X2
E1
toujours la séparation des
deux classes. + +
Pour deux classes :
C1 (S = +1): X1
E2
{(+1;+1); (+1;-1);(-1;+1)}
C2 (S = -1): – +
(-1;-1)
« OU » logique
26
LIMITES DU PERCEPTRON : LA FONCTION LOGIQUE
OU EXCLUSIF (XOR)
Dans le cas de la fonction OU-
EXCLUSIF, la séparation des X2
E1
deux classes ne peut se faire
par une droite mais par une + –
courbe.
C1 (S = +1): E2
{(-1;+1); (+1;-1)} X1
C2 (S = -1): – +
{(+1;+1); (-1;-1)}
« XOR » logique
27
PROBLÈME DU XOR (OU EXCLUSIF)
Le perceptron est incapable de distinguer les modèles non
linéairement séparables [Minsky 69] c’est le cas du XOR
y y y
On remarque que dans le cas du XOR, il a suffit de rajouter une couche 28
de neurones pour modéliser cette fonction booléenne.
PERCEPTRON MULTICOUCHES
29
INTRODUCTION
Un perceptron linéaire est bien adapté pour des
échantillons linéairement séparables. Cependant, dans
la plupart des problèmes réels, cette condition n'est pas
réalisée. Un perceptron linéaire est constitué d'un seul
neurone. On s'est rendu compte qu'en combinant
plusieurs neurones le pouvoir de calcul était augmenté.
La notion de perceptron multi-couches (PMC) a été ainsi
définie. On considère une couche d'entrée qui
correspond aux variables d'entrées, une couche de
sorties, et un certain nombre de couches intermédiaires.
Les liens n'existent qu'entre les unités d'une couche
avec les unités de la couche suivante.
30
TOPOLOGIE DES RÉSEAUX
Selon
la topologie de réseau utilisé, différentes frontières
de décisions sont possibles
Réseau avec une couche cachée et une couche de sortie :
frontières convexes
Deux couches cachées ou plus : frontières concaves
Le réseau de neurones est alors un approximateur universel
Nombre de poids (donc de neurones) détermine
directement la complexité du classifieur
Détermination de la bonne topologie est souvent ad hoc,
par essais et erreurs
31
QUELQUES FORMES DE FRONTIÈRES DE
DÉCISION
32
NOMBRE DE NEURONES SUR LA COUCHE
CACHÉE
1Couche d’entrée - Couche(s) cachée(s) - 1Couche de sortie
33
ARCHITECTURE D’UN PMC
34
Exemple d’un PMC à 2 couches cachées
FONCTIONNEMENT D’UN PMC
Le fonctionnement d’un PMC est décrit par deux phases:
Phase1 (Forward Pass) : elle consiste à propager
l’information arrivée, de la couche d’entrée vers la
couche de sortie, par activation du réseau. La fonction
d’activation utilisée au niveau de chaque neurone du
réseau est la fonction Sigmoïde,
1
𝑦= −(𝑤0 + 𝑖 𝑤𝑗𝑖 ∙𝑥𝑖 )
1+ 𝑒
Phase2 (Backward Pass): elle consiste à propager l’erreur
obtenue à travers le réseau, de la couche de sortie vers la
couche d’entrée, par descente du gradient dans le sens
inverse de la propagation des activations. Cette phase est
35
appelée rétro-propagation (Backpropagation) de l’erreur.
FONCTIONNEMENT D’UN PMC
Propagation de l’information
a1 Y1
X0=1
Y2
X1
Y3
X2
Y4
36
Propagation de l’erreur
RÉTRO-PROPAGATION DES ERREURS
(GRADIENT)
Le principe de l'algorithme est, comme dans le cas du perceptron
linéaire, de minimiser une fonction d'erreur
Apprentissage du perceptron multicouche: déterminer les poids
de tous les neurones 𝑤0 , 𝑤1 ⋯ , 𝑤𝑛
Rétro propagation des erreurs : est une méthode pour calculer
le gradient de l'erreur pour chaque neurone d'un réseau de
neurones de la dernière couche vers la première.
Apprentissage par descente du gradient
Couche de sortie : correction guidée par l'erreur entre les sorties désirées
et obtenues
Couches cachées : correction selon l’influence du neurone sur l'erreur
dans la couche de sortie 37
CALCUL DE L’ERREUR
φ φ
38
CALCUL DE L’ERREUR : FORME GÉNÉRALE
39
CALCUL DE L’ERREUR
40
DÉVELOPPEMENT DE L’ERREUR
41
MISE À JOUR DES VALEURS DES POIDS
42
RÈGLE DELTA
43
CALCUL DE L’ERREUR:
AU NIVEAU DE LA COUCHE CACHÉE
44
CALCUL DE L’ERREUR:
AU NIVEAU DE LA COUCHE CACHÉE
45
CALCUL DE L’ERREUR:
AU NIVEAU DE LA COUCHE CACHÉE
46
DEUX TYPES D’APPRENTISSAGE
1. Apprentissage par « batch »:
1 𝑡
Guidé par l'erreur quadratique moyenne ( 𝐸 = 𝑡𝐸 )
𝑁
Mise à jour (Correction ) des poids une fois à chaque
époque (itération), en calculant l'erreur pour tout le jeu
(échantillon) de données d’apprentissage
Stabilité et Convergence de l’algorithme
2. Apprentissage « online »
Correction des poids pour chaque présentation de données,
donc N corrections de poids par époque
Guidé par l'erreur quadratique de chaque donnée (Et )
Requiert la permutation de l'ordre de traitement à chaque
époque pour éviter les mauvaises séquences
Risque d’instabilité et non convergence 47
ALGORITHME DE RÉTRO-PROPAGATION
Soient les données d’entrainement 𝑥𝑖 𝑡 et les sorties désirées 𝑟𝑗 𝑡
48
SUR-APPRENTISSAGE (OVERFITTING)
Le sur-apprentissage (overfitting) a lieu lorsque le modèle est trop
conforme aux données d'apprentissage et donc potentiellement
incorrect sur de nouvelles données.
Augmenter la taille des données d’apprentissage limite les risques de sur
49
apprentissage et diminue la complexité du modèle.
SUR-APPRENTISSAGE (OVERFITTING)
50
EXEMPLE
Soit un réseau de neurones composé de 2 entrées, 1 couche cachée
(2 neurones) et 2 sorties, plus les biais associés aux neurones de la
couche cachée et la couche de sortie.
Sur la figure ci-dessous sont indiquées les valeurs des poids
initiales, des biais, l’exemple d’entrainement (x1, x2) = (0.05, 0.1) et
les sorties désirées (r3, r4) = (0.01, 0.99).
a1 a3
x1
y1 y3
a2 a4
x2
y2 y4
b2
b3
b1 b4
51
SUITE EXEMPLE
Forward Pass
Calcul de la sortie de chaque neurone de la couche cachée:
𝑦1 = 𝜑 𝑎1 = 𝜑 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏1 =
1
𝜑 0.15 × 0.05 + 0.2 × 0.1 + 0.35 = 𝜑 0.3775 = 1+𝑒 −0.3775 = 0.5932
𝑦2 = 𝜑 𝑎2 = 0.5968
Calcul de la sortie de chaque neurone de la couche de sortie:
𝑦3 = 𝜑 𝑎3 = 𝜑 𝑤5 𝑦1 + 𝑤6 𝑦2 + 𝑏3 =
1
𝜑 0.4 × 0.5932 + 0.45 × 0.5968 + 0.6 = 𝜑 1.1076 = 1+𝑒 −1.1076 =
0.7516
𝑦4 = 𝜑 𝑎4 = 0.7732
Calcul de l’erreur totale:
𝑒1 = 𝑟3 − 𝑦3 = 0.01 − 0.7516
𝑒2 = 𝑟4 − 𝑦4 = 0.99 − 0.7732
1 52
𝐸𝑡 = (𝑒 2 + 𝑒2 2 )
2 1
SUITE EXEMPLE
Backward Pass : calcul des erreurs au niveau des couches de sortie et
cachée
Couche sortie: nous voulons savoir dans quelle mesure un changement
𝜕𝐸
en 𝑤5 affecte l’erreur totale 𝑡 ,
𝜕𝑤5
𝜕𝐸𝑡 𝜕𝐸 𝜕𝑦 𝜕𝑎 𝜕𝑎
= 𝑡 ∙ 3 ∙ 3 = 𝛿3 ∙ 3 ,
𝜕𝑤5 𝜕𝑦3 𝜕𝑎3 𝜕𝑤5 𝜕𝑤5
développons chaque terme de cette expression
1 1
𝐸𝑡 = (𝑒1 2 + 𝑒2 2 ) = ( 𝑟3 − 𝑦3 2 + (𝑟4 −𝑦4 )2 )
2 2
𝜕𝐸𝑡
𝜕𝑦3
= − 𝑟3 − 𝑦3 = − 0.01 − 0.7516 = 0.7416
1 𝜕𝑦3
𝐶𝑜𝑚𝑚𝑒 𝑦3 = 𝜑 𝑎3 =
1+𝑒 −𝑎3
alors 𝜕𝑎3
= 𝑦3 1 − 𝑦3 = 0.1867
𝜕𝑎3
Aus𝑠𝑖, 𝑎3 = 𝑤5 𝑦1 + 𝑤6 𝑦2 + 𝑏3 𝑎𝑙𝑜𝑟𝑠
𝜕𝑤5
= 𝑦1 = 0.5932
𝜕𝐸𝑡
𝑤′5 = 𝑤5 − 𝛼. = 𝑤5 + 𝛼. ∆𝑤5
𝜕𝑤5
𝜕𝐸𝑡
= 0.7416 × 0.1867 × 0.5932 = 0.0821
𝜕𝑤5 53
Mise à jour du poids 𝑤5 : 𝑤′5 = 0.4 − 0.5 × 0.0821 = 0.35895
SUITE EXEMPLE x1
a1
y1
a3
y3
Même processus de calcul est répété
pour 𝑤6 , 𝑤7 , 𝑤8 , 𝑏3 𝑒𝑡 𝑏4 .
a2 a4
Couche cachée: continuons le x2
y2 y4
processus de retro-propagation de l’erreur
afin de calculer les nouvelles valeurs des
poids 𝑤1 , 𝑤2 , 𝑤3 , 𝑤4 , 𝑏1 𝑒𝑡 𝑏2 . Calcuons
l’erreur par rapport à 𝑤1 :
𝜕𝐸𝑡 𝜕𝐸 𝜕𝑦 𝜕𝑎
𝜕𝑤 = 𝜕𝑦𝑡 ∙ 𝜕𝑎1 ∙ 𝜕𝑤1
1 1 1 1
𝜕𝐸 𝜕𝐸 𝜕𝑦 𝜕𝐸 𝜕𝑦 a3
Or 𝜕𝑦𝑡 = 𝜕𝑦𝑡 ∙ 𝜕𝑦3 + 𝜕𝑦𝑡 ∙ 𝜕𝑦4 x1
a1
y3
1 3 1 4 1 y1
𝜕𝐸𝑡 𝜕𝐸𝑡 𝜕𝑦𝑘 𝜕𝑦1 𝜕𝑎1
= ∙ ∙ ∙
𝜕𝑤1 𝜕𝑦𝑘 𝜕𝑦1 𝜕𝑎1 𝜕𝑤1
𝑘
𝜕𝐸𝑡 𝜕𝐸𝑡 𝜕𝑦𝑘 𝜕𝑎𝑘 𝜕𝑦1 𝜕𝑎1 x2
a2 a4
= ∙ ∙ ∙ ∙ y2 y4
𝜕𝑤1 𝜕𝑦𝑘 𝜕𝑎𝑘 𝜕𝑦1 𝜕𝑎1 𝜕𝑤1
𝑘
𝜕𝐸𝑡 𝑘 1𝜕𝑎 1 𝜕𝑦 𝜕𝑎
𝜕𝑤1
= 𝑘 𝛿𝑘 ∙ ∙
𝜕𝑦 𝜕𝑎 𝜕𝑤
∙
1 1 1
𝝏𝑬𝒕
= 𝒚𝟏 𝟏 − 𝒚𝟏 ∙ 𝒙𝟏 𝜹𝟑 ∙ 𝒘𝟓 + 𝜹𝟒 ∙ 𝒘𝟕
𝝏𝒘𝟏 54
= 𝜹𝟏 ∙ 𝒙𝟏
SUITE EXEMPLE
𝛿1 = 0.5932(1 − 0.5932) × (0.1384 × 0.4 −0.038 × 0.5)=0.008774
Mise à jour du poids : 𝑤′1 = 0.15 − 0.5 × 0.008774 × 0.05 =0.14978
𝑤′2 = 𝑤2 − 𝛼. 𝛿1 . 𝑥2 et 𝑏′1 = 𝑏1 − 𝛼. 𝛿1 . 1
Ce processus de calcul sera répété pour les valeurs des poids 𝑤3 , 𝑤4 et
𝑏2 avec 𝛿2 .
Tant que le critère d’arrêt (la moyenne des erreurs au carré ; appelée MSE
: mean square error ; est inférieure à un seuil préétablie) n’est pas atteint,
continuer le processus de calcul jusqu’à convergence.
55
RECONNAISSANCE FACIALE
La reconnaissance faciale est une phase importante dans de
nombreux systèmes biométriques, de sécurité et de surveillance,
ainsi que dans des systèmes d'indexation d'image et de vidéo. La
détection de l‘oeil. Initialement, l'algorithme a besoin de
beaucoup d'images positives (images des yeux) et d'images
négatives (images sans yeux) pour former le classifieur.
56
RECONNAISSANCE DE CARACTÈRES
La réponse attendue est le "a". Un seul et unique
vecteur de sortie doit être activé.
a
RESEAU b
Σ f
c
z 57
IMPLÉMENTATION
Python dispose d’un package « scikit-learn »
propre à la mise en œuvre de programmes
utilisant les techniques de l’apprentissage
automatique.
58