Chapitre I : Réseaux de neurones
03-10 février 2025
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 1 / 60
Réseaux de neurones
Introduction
Les réseaux de neurones ont été inspirés du cerveau biologique
cesser d’essayer d’imiter le fonctionnement du cerveau
se concentrer sur la configuration des tâches spécifiques
la vision par ordinateur, le traitement du langage naturel ...etc
essayer pendant longtemps de s’inspirer du vol des oiseaux
mais, au final, création des avions, qui sont assez différents
le réseau de neurones est comme un modèle mathématique
dont le but est de traiter de l’information
un réseau neuronal n’est pas un programme fixe
mais plutôt un système qui traite des entrées
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 2 / 60
Réseaux de neurones
Introduction
Les caractéristiques d’un réseau de neurones sont les suivantes :
le traitement de l’information se fait sous sa forme la plus simple
sur des éléments simples appelés neurones connectés
et échangent des signaux entre eux via des liens de connexion
qui peuvent être plus forts ou plus faibles
selon la façon dont les informations sont traitées
chaque neurone a un état interne qui est déterminé par
toutes les connexions entrantes des autres neurones
chaque neurone a une fonction d’activation
qui est calculée sur son état, et détermine son signal de sortie
une description plus générale d’un réseau de neurones serait
comme un graphe de calcul d’opérations mathématiques
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 3 / 60
Réseaux de neurones
Introduction
Bref :
On identifie 2 caractéristiques principales pour un RN :
l’architecture du réseau de neurones
elle décrit l’ensemble des connexions
Exemple : feedforward, récurrent, multi ou monocouche ...etc
le nombre de couches et le nombre de neurones par couche
l’apprentissage du RN : gradient descendant et backpropagation
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 4 / 60
Réseaux de neurones
introduction au neurone
Un neurone est une fonction mathématique qui
prend une ou plusieurs valeurs d’entrée
et génère une seule valeur numérique
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 5 / 60
Réseaux de neurones
introduction au neurone
P
Le neurone est défini comme suit : y = f ( i xi ωi + b)
P
la somme pondérée ( i xi ωi ) des entrées xi par les poids ωi
appelé également valeur d’activation
xi sont des valeurs numériques qui représentent
soit les données d’entrée ou les sorties d’autres neurones
si le neurone fait partie d’un réseau de neurones
les poids ωi sont des valeurs numériques qui représentent
soit la force des entrées ou des connexions entre les neurones
le poids b est une valeur appelée biais dont l’entrée est toujours 1
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 6 / 60
Réseaux de neurones
introduction au neurone
Appliquer sur la somme pondérée une fonction dite d’activation f
appelée également fonction de transfert
il existe de nombreux types de fonctions d’activation
satisfaire à l’exigence de non linéarité
que nous aborderons plus tard
la valeur d’activation définie précédemment peut être interprétée
comme produit scalaire entre le vecteur ω ~ et le vecteur ~x
y = f (~x .~
ω + b), ~x et ω
~ seront ⊥ si ~x .~
ω=0
les vecteurs ~x définissent un hyperplan dans l’espace <n
appelé espace des caractéristiques , où n est la dimension de ~x
les caractéristiques (features) seront abordées dans la partie
”data preprocessing”
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 7 / 60
Réseaux de neurones
introduction au neurone
Pour comprendre :
Considérons le cas où la fonction d’activation est f (x) = x
la sortie du neurone devient y = x.ω + b: équation linéaire
cela montre que dans un espace d’entrée à une dimension
le neurone définit une droite
si 2 entrées le neurone définira un plan
ou encore un hyperplan pour un nombre de dimensions d’entrée
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 8 / 60
Réseaux de neurones
introduction au neurone
Dans la figure on voit aussi que le rôle du biais b est de
permettre à l’hyperplan de s’éloigner de l’origine des coordonnées
si pas de biais, le neurone aura un pouvoir de représentation
limité :
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 9 / 60
Réseaux de neurones
Introduction aux couches
Un réseau de neurones peut avoir un grand nombre de neurones
qui sont organisés en couches interconnectées
la couche d’entrée : le jeu de données (conditions initiales)
par exemple, si l’entrée est une image en niveaux de gris
la sortie de chaque neurone dans la couche d’entrée
est l’intensité d’un pixel de l’image
généralement la couche d’entrée n’est pas comptée
un réseau à 1 couche est un réseau simple avec
1 seule couche de sortie en plus de la couche d’entrée
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 10 / 60
Réseaux de neurones
Introduction aux couches
La couche de sortie peut avoir plus qu’un neurone
ceci est particulièrement utile dans la classification
où chaque neurone de sortie représente une classe
Exemple: MNIST
par exemple dans le cas de l’ensemble de données MNIST
contenant les images des chiffres de 0 à 9
10 neurones de sortie chacun correspond à un chiffre de 0 à 9
nous pouvons utiliser le réseau à 1 couche
pour classer le chiffre sur chaque image
déterminer le chiffre en prenant le neurone de sortie
avec la valeur de fonction d’activation la plus élevée
s’il s’agit de y2 le réseau saura que c’est l’image du nombre 2
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 11 / 60
Réseaux de neurones
Introduction aux couches
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 12 / 60
Réseaux de neurones
Introduction aux couches
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 13 / 60
Réseaux de neurones
Introduction aux couches
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 14 / 60
Réseaux de neurones
Introduction aux couches
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 15 / 60
Réseaux de neurones
Introduction aux couches
Exemple : reconnaissance d’écriture
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 16 / 60
Réseaux de neurones
Introduction aux couches
Exemple : reconnaissance d’écriture
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 17 / 60
Réseaux de neurones
Introduction aux couches
Exemple : reconnaissance d’écriture
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 18 / 60
Réseaux de neurones
Introduction aux couches
Exemple : reconnaissance d’écriture
Exemple: MNIST
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 19 / 60
Réseaux de neurones
Introduction aux couches
la figure montrant le réseau feedforward à 1 couche
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 20 / 60
Réseaux de neurones
Introduction aux couches
Le poids ωij connecte le i ème neurone d’entrée
avec le j ème neurone de sortie
la première entrée ”1” est le biais dont le poids est bi
dans la figure précédente: le réseau de neurones à 1 couche
où les neurones de gauche représentent l’entrée avec un biais
la colonne du milieu représente les poids pour chaque connexion
et les neurones à droite représentent la sortie sachant les poids ωij
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 21 / 60
Réseaux de neurones
Introduction aux couches
Les neurones d’une couche peuvent être
connectés aux neurones d’autres couches
mais pas aux autres neurones de la même couche
le neurone peut véhiculer des informations limitées
une seule valeur
lorsque nous combinons les neurones en couches
leurs sorties composent un vecteur
au lieu d’une activation unique le vecteur
est considéré dans son intégralité
de cette façon, nous pouvons transmettre
beaucoup plus d’informations
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 22 / 60
Réseaux de neurones
Réseaux de neurones multicouches
Les réseaux de neurones à 1 couche peuvent
classer des classes linéairement séparables
mais rien ne nous empêche d’introduire
plus de couches entre l’entrée et la sortie
ces couches supplémentaires sont appelées couches cachées
la figure montre un NN entièrement connecté à 3 couches
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 23 / 60
Réseaux de neurones
Réseaux de neurones multicouches
Ce réseau de neurones (à 3 couches) a deux couches cachées
la couche d’entrée a k neurones d’entrée
la première couche cachée a n neurones cachés
la deuxième couche cachée a m neurones cachés
la sortie dans cet exemple est: les deux classes y1 et y2
une unité d’une couche est connectée
à toutes les unités des couches précédentes et suivantes
d’où le nom entièrement connecté ”fully connected”
chaque connexion a son propre poids ω
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 24 / 60
Réseaux de neurones
Réseaux de neurones multicouches
Les neurones et leurs connexions
forment des graphes cycliques orientés
l’information ne peut pas passer deux fois par le même neurone
dans un seul sens, de l’entrée à la sortie: pas de boucles
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 25 / 60
Réseaux de neurones
Réseaux de neurones multicouches
ronesalors le réseau de neurones est aussi une fonction mathématique
Sachant que le neurone a une définition mathématique précise
où les données d’entrée représentent les arguments de la fonction
et les poids du réseau ω sont ses paramètres
P
|f
P P
|f |f
P
|f
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 26 / 60
Réseaux de neurones
Différents types de fonction d’activation
si les neurones n’ont pas de fonctions d’activation
P
leur sortie serait la somme pondérée des entrées i xi ωi
qui est une fonction linéaire
l’ensemble du réseau de neurones devient une composition
de fonctions linéaires, cet ensemble est aussi une fonction linéaire
le réseau sera tjrs ⇔ à un simple modèle de régression linéaire
limitations ⇒ transformer le réseau en une fonction non linéaire
utilisation des fonctions d’activation non linéaires
en plus de l’ajout des couches cachées
création d’un MLP : Multi Layer Perceptron
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 27 / 60
Réseaux de neurones
Différents types de fonction d’activation
Normalement, tous les neurones d’une même couche ont la
même fonction d’activation
mais 6=tes couches peuvent avoir 6=tes fonctions d’activation
les fonctions d’activation les plus courantes sont les suivantes :
f (a) = a : appelé la fonction identité
1 si a0
f (a) = : appelée fonction seuil
0 si a≺0
1
f (a) = 1+exp(−a) : appelée fonction logistique, ou sigmoı̈de
logistique, sa sortie est bornée entre 0 et 1, interprétée de
manière stochastique comme la prob d’activation du neurone
2
f (a) = 1+exp(−a) − 1 = 1−exp(−a)
1+exp(−a) : appelé sigmoı̈de bipolaire, c’est
simplement un sigmoı̈de logistique redimensionné et traduit pour
avoir une plage de [−1, 1]
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 28 / 60
Réseaux de neurones
Différents types de fonction d’activation
1−exp(−2a)
f (a) = 1+exp(−2a) : appelée tangente hyperbolique (ou tanh)
a si a0
f (a) = : appelé le redresseur, ou ReLU.
0 si a≺0
C’est un mélange de l’identité et de la fonction seuil
les fonctions d’activation identité et seuil, ont été largement
utilisées au début des réseaux de neurones
mais par la suite remplacées par la sigmoı̈de logistique, la
tangente hyperbolique, ou ReLU et ses variantes
ces trois fonctions d’activation se caractérisent par :
leurs intervalles qui sont différents
leurs dérivés se comportent différemment pendant l’apprentissage
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 29 / 60
Réseaux de neurones
Différents types de fonction d’activation
la plage pour la fonction logistique est [0, 1]
la plage pour la fonction tanh est [−1, 1]
en revanche, le ReLU a une plage [0, ∞]
vérifions la dérivée (ou le gradient)
la dérivée du sigmoı̈de logistique est :
f 0 (a) = f (a) [1 − f (a)]
1
la dérivée du tanh(a) est : f 0 (a) = cosh2 (a)
la dérivée
du ReLU est :
0 1 if a0
f (a) =
0 if a≺0
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 30 / 60
Réseaux de neurones
Comment faire ?
Le théorème d’approximation universelle stipule que
toute fonction continue sur un sous-ensemble compact de R
peut être approximée par un réseau de neurones
les fonctions ”boxcar” peuvent approximer
n’importe quelle fonction continue, nous implémenterons
un réseau de neurones qui se rapproche de la fonction ”boxcar”
⇒
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 31 / 60
Réseaux de neurones
Prenons l’exemple de la sigmoı̈de logistique
1 P
f (a) = 1+exp(−a) où a(x) = i xi ωi + b
supposons que nous n’ayons qu’un seul neurone d’entrée, x = x1
sur les figures, nous pouvons voir qu’en rendant ω très grand
la sigmoı̈de devient proche d’une fonction échelon
ω = 1, b = 0 / ω = 10, b = 0 / ω = 10, b = 50
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 32 / 60
Réseaux de neurones
b décalera simplement la fonction le long de l’axe x
et le décalage d sera égale à d = − ωb
définissons l’architecture de notre réseau
1 neurone d’entrée, une couche cachée avec 2 neurones et 1
neurone de sortie
les 2 neurones cachés utilisent la sigmoı̈de logistique
les poids et biais du réseau sont organisés de manière à exploiter
les propriétés sigmoı̈des que nous avons décrites précédemment
le neurone t1 initiera la transition 0 à 1
le neurone t2 initiera la transition inverse 1 à 0
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 33 / 60
Réseaux de neurones
Travail à faire
Proposer un code qui implémente cet exemple ?
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 34 / 60
Réseaux de neurones
Le code suivant implémente cet exemple :
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 35 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Le concept général que nous devons comprendre est le suivant
tout réseau de neurones est une approximation d’une fonction
le réseau de neurones ne sera pas égal à la fonction souhaitée
mais différera par une erreur
pendant l’apprentissage, le but est de minimiser cette erreur
les poids: importance de l’information entre les neurones
le choix des poids du réseau détermine le bon apprentissage
la fonction d’erreur est une fonction de plusieurs poids
par conséquent une fonction de plusieurs variables
minimiser l’erreur par rapport aux variables (poids)
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 36 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Gradient Descendant (GD) pour une régression linéaire :
Algorithme
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 37 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Savoir en quoi la sortie y i diffère de la valeur cible t i pour
chaque échantillon de l’ensemble de données d’apprentissage
fonction de perte de l’erreur quadratique moyenne (MSE)
valeur moyenne des (y i − t i )2 pour tous les échantillons
n: nombre total d’échantillons dans l’ensemble d’apprentissage
J désigne MSE pour faciliter l’utilisation
chaque y i est fonct de ω donc J est aussi une fonct de ω
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 38 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
La fonction de perte J représente une hypersurface
de dimension égale à la dimension de ω
Dans le cas d’une seule entrée x et un seul poids ω
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 39 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Régression linéaire
Nous pouvons voir comment le MSE change par rapport à ω
notre objectif est de minimiser J, ce qui signifie trouver un tel ω
où la valeur de J est à son minimum global
la dérivée première (ou gradient) de J par rapport à ω
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 40 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Dans le cas général, où nous avons plusieurs entrées et poids
1 on calcule la dérivée partielle par rapport à chaque poids ωj
∂1 i − t i )2
P
∂J(ω) i (y
= n
∂ωj ∂ωj
∂J(ω) 2 X ∂y i i ∂y i
= (y − t i ) or y i = x i ∗ ω donc = xji
∂ωj n ∂ωj ∂ωj
i
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 41 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
∂J(ω) 2X i i
= xj (y − t i )
∂ωj n
i
puisque x et ω sont des vecteurs
l’indice indique la j-ième coordonnée du vecteur
y i représente la sortie du réseau de neurones sachant l’entrée x i
t i représente la cible, valeur souhaitée correspondant à l’entrée x i
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 42 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
1 .......
2 Maintenant mettons à jour les poids avec la règle de mise à jour
∂J(ω) 2X i i
ωj ← ωj − η = ωj − η xj (y − t i )
∂ωj n
i
η est le taux d’apprentissage, il détermine
le rapport d’ajustement des poids en fonct des nouvelles données
Soit encore la règle de mise à jour sous forme matricielle
1X i
ωj ← ωj − η∇(J(ω)) = ωj − η∇( (y − t i )2 )
n
i
∂ ∂
Où ∇ = ( ∂ω 1
, ..., ∂ω n
)
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 43 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 44 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
Cela peut être fait de manière aléatoire
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 45 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 46 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
∂L
∂w < 0, on incrémente la valeur de w
∂L
∂w > 0, on décrémente la valeur de w
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 47 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 48 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
η : taux d’apprentissage
∂L w
−η ∂w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 49 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
∂L
w ← w − η ∂w
∂L w
−η ∂w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 50 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
∂L
w ← w − η ∂w
répéter
∂L w
−η ∂w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 51 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
∂L
w ← w − η ∂w
répéter
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 52 / 60
Réseaux de neurones
Descente du gradient
Apprentissage du réseau de neurones
Trouver les paramètres θ du réseau qui minimisent la fonction de perte totale L.
L
On prend une valeur initiale pour w
∂L
On calcule ∂w
∂L
w ← w − η ∂w
répéter
∂L
jusqu’à ce que ∂w devienne petit
w
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 53 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Importance du choix du taux d’apprentissage η
η trop petit garantit une convergence vers un minimum
mais le temps de convergence peut être trop grand
η trop grand peut provoquer le saut du minimum
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 54 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Vous avez peut-être remarqué que pour mettre à jour les poids
nous Σ l’erreur sur tous les échantillons d’apprentissage
en réalité, il existe de grands ensembles de données, et itérer
pour 1 seule mise à jour rendrait l’apprentissage extrêmement lent
solution: algorithme gradient stochastique descendant (SGD)
fonctionne de la même manière que le gradient descendant
Mise à jour des poids pour chaque échantillon en utilisant BP
cependant, SGD est victime du bruit dans les données
si un échantillon est une valeur aberrante
risque d’augmenter l’erreur au lieu de la diminuer
Compromis : gradient descendant en mini-batch
accumule l’erreur / mini-batch puis une mise à jour du poids
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 55 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Minimum local et global
Il faut mentionner qu’outre le minimum global
la fonction de perte peut avoir plusieurs minimums locaux
et minimiser sa valeur n’est pas aussi trivial
comme dans l’exemple précédent
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 56 / 60
Réseaux de neurones
gorithme de Back-propagartion
Apprentissage du réseau de neurones
Considérons
Considéronsun réseau très simple
un réseau très: simple :
w1 w2
P P
x |f |f ŷ
b1 b2
Ecrivons
Ecrivons les fonctions
les fonctions mathématiques
mathématiques de chaquedecouche
chaque
: couche :
z1 = ω1 x + b1
z1 = w1 x + b1 (1)
y 1 = f (z1 )
y1 = f (z1 ) (2)
z2 = ω2 y1 + b2
z2 = w2 y1 + b2 (3)
ŷ = f (z2 ) ŷ = f (z2 ). (4)
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 57 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Algorithme de Back-propagartion: la fonction de perte/Loss function
L(y ; ŷ) = (ŷ − y )2
Soit la fonction d’activation (sigmoı̈de dans les 2 couches):
1
f (z) = σ(z) = 1+exp(−z)
Rappelons que:
ω ← ω − η∇(L(ω)) :
∂L
ω1 ← ω1 − η ∂ω 1
(ω1 , ω2 )
∂L
ω2 ← ω2 − η ∂ω2 (ω1 , ω2 )
Attention les biais aussi sont ajustés l’écriture devient:
∂L ∂L
ω1 ← ω1 − η ∂ω 1
(ω1 , ω2 , b1 , b2 ) b1 ← b1 − η ∂b1
(ω1 , ω2 , b1 , b2 )
∂L ∂L
ω2 ← ω2 − η ∂ω 2
(ω1 , ω2 , b1 , b2 ) b2 ← b2 − η ∂b2
(ω1 , ω2 , b1 , b2 )
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 58 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Comment calculer les dérivées partielles ?
∂L ∂L ∂L ∂L
∂ω1 , ∂ω2 , ∂b1 et ∂b2
On commence par la dernière couche, on a :
∂L ∂L ∂ ŷ ∂z2
∂ω2 = ∂ ŷ ∂z2 ∂ω2
∂L ∂ 2
∂ ŷ = ∂ ŷ (y − ŷ ) = −2(y − ŷ )
∂ ŷ ∂
∂z2 = ∂z2 (σ(z2 )) = σ(z2 )(1 − σ(z2 )) (slide 31) or ŷ = σ(z2 ) donc
= ŷ(1 − ŷ )
∂z2 ∂
∂ω2 = ∂ω 2
(ω2 y1 + b2 ) = y1
∂L
⇒ ∂ω2 = −2(y − ŷ )ŷ (1 − ŷ)y1
∂L
De même on peut avoir : ∂b2 = −2(y − ŷ)ŷ(1 − ŷ )
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 59 / 60
Réseaux de neurones
Apprentissage du réseau de neurones
Pour la couche cachée, on a :
∂L ∂L ∂ ŷ ∂z2 ∂y1 ∂z1
∂ω1 = ∂ ŷ ∂z2 ∂y1 ∂z1 ∂ω1
∂L ∂ 2
∂ ŷ = ∂ ŷ (y − ŷ ) = −2(y − ŷ )
∂ ŷ ∂
∂z2 = ∂z2 (σ(z2 )) = σ(z2 )(1 − σ(z2 )) (slide 31) or ŷ = σ(z2 ) donc
= ŷ(1 − ŷ )
∂z2
∂y1 = ∂y∂ 1 (ω2 y1 + b2 ) = ω2
∂y1
∂z1 = y1 (1 − y1 )
∂z1
∂ω1 =x
∂L
⇒ ∂ω1 = −2(y − ŷ )ŷ (1 − ŷ)y1 (1 − y1 )ω2 x
∂L
De même on peut avoir : ∂b1 = −2(y − ŷ)ŷ(1 − ŷ )y1 (1 − y1 )ω2
Pr. Younes JABRANE DL pour la vision par ordinateur 2ème année GI 2024/2025 60 / 60