Introduction au Perceptron et Réseaux de Neurones
Introduction au Perceptron et Réseaux de Neurones
Apprentissage Profond
Introduction
Introduction
• Une approche inspirée du traitement de l'information effectué par le cerveau
• Applications:
statistiques : analyse de données / prévision / classification
robotique : contrôle et guidage de robots ou de véhicules autonomes
imagerie / reconnaissance de formes (images ou signaux)
traduction automatique,…
Sana Hamdi 3
Modèle inspiré du modèle biologique
• Nous disposons d’une dizaine de milliards de neurones à l'intérieur de notre cerveau
• Les neurones reçoivent des signaux (impulsions électriques) par les dendrites et envoient
l’information par les axones.
• Les contacts entre deux neurones (entre axone et dendrite) se font par l ’intermédiaire des
synapses. dendrites
Élément
d’entrée
Sana Hamdi 4
Le réseau de neurones et la classification
Classificateur linéaire
Sana Hamdi 5
Le réseau de neurones et la classification
Classificateur linéaire et données complexes
Sana Hamdi 6
Le réseau de neurones et la classification
Classificateur linéaire et données complexes
Sana Hamdi 7
Le réseau de neurones et la classification
Non résolu linéairement
Sana Hamdi 8
Le réseau de neurones et la classification
Classificateur non linéaire limite de décision initiale Apprentissage
Sana Hamdi 9
Le réseau de neurones et la classification
Classificateur non linéaire limite de décision initiale Apprentissage
Sana Hamdi 10
Le réseau de neurones et la classification
Classificateur non linéaire limite de décision initiale Apprentissage
Sana Hamdi 11
Architecture du réseau de neurones
Sana Hamdi 12
13
L’algorithme de perceptron
L’algorithme de perceptron
• Le perceptron est le modèle le plus simple de réseaux de neurones
• C’est un classificateur linéaire
• Le perceptron ne possède pas de couches cachées.
Une couche en entrée et une couche en sortie.
Sana Hamdi 14
L’architecture de perceptron
Couche d’entrée Couche de sortie
biais X0
=1
W0
Entrées:
Descripteurs
Fonction d’activation
Sana Hamdi Poids synaptiques (Heaviside ou signe)
15
L’algorithme de perceptron
1. Mélanger aléatoirement les observations
2. Initialiser aléatoirement les poids synaptiques
3. Faire passer les observations une à une
Calculer l’erreur de prédiction pour l’observation
Mettre à jour les poids synaptiques
4. Jusqu’à convergence du processus
Sana Hamdi 16
L’algorithme de perceptron
• L’algorithme d’apprentissage doit adapter la valeur des paramètres (c’est-à-dire les poids et le
biais) de façon que la sortie prévue fW(X) soit la bonne réponse sur les données d’entraînement.
• Algorithme du Perceptron:
1. Pour chaque paire (Xt, Yt) ⋲ D
a. Calculer fW(Xt)
b. Si Yt ≠ fW(Xt) alors Wi Wi + η(Yt - fW(Xt)) Xt,i ∀i (mise à jour des poids et du biais)
2. Retourner à 1 jusqu’à l’atteinte d’un critère d’arrêt (nb max d’itérations est atteint ou l’erreur = 0)
• La mise à jour des poids est appelée la règle d’apprentissage du perceptron.
•Sana Hamdi
Le multiplicateur η est appelé le taux d’apprentissage.
17
Exemple de classification
Sana Hamdi 18
Exemple de classification
Sana Hamdi 19
Exemple de classification
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 20
Couche d’entrée
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 21
Couche de sortie
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 22
Les poids
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 23
Les poids
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 24
Composants du nœud de la sortie
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
0 0 255 BLEU
67 15 210 BLEU
Sana Hamdi 25
Composants du nœud de la sortie: somme
pondérée
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
X1 0 0 255 BLEU
67 15 210 BLEU
X2
𝒎
X3 s= 𝒊 𝑿𝒊𝑾𝒊 Wi = weights
s
s = SOP(Xi, Wi) Xi = inputs
Sana Hamdi 26
Composants du nœud de la sortie: fonction
d’activation
R (rouge) G (vert) B (bleu) Classe
255 0 0 ROUGE
248 80 68 ROUGE
X1 0 0 255 BLEU
67 15 210 BLEU
X2
𝒎
X3 s= 𝒊 𝑿𝒊𝑾𝒊
255 0 0 ROUGE
248 80 68 ROUGE
X1 0 0 255 BLEU
67 15 210 BLEU
X2
X3
s F(s) Mapping (s, Classe)
Sana Hamdi 28
Fonctions d’activation
La fonction linéaire par morceaux La fonction sigmoïde La fonction signe
Sana Hamdi 29
Fonction d’activation
• Quelle fonction d’activation à choisir?
Fonction
Output Classes
d’activation
255 0 0 ROUGE
248 80 68 ROUGE
X1 0 0 255 BLEU
67 15 210 BLEU
X2
X3
s sgn
Sana Hamdi 31
Le biais
R (rouge) G (vert) B (bleu) Classe
X0 255 0 0 ROUGE
248 80 68 ROUGE
X1 0 0 255 BLEU
67 15 210 BLEU
X2 s= 𝒎
𝒊 𝑿𝒊𝑾𝒊 + 𝒃𝒊𝒂𝒊𝒔
X3 s = 𝑿 𝟎 𝑾 𝟎 + 𝑿𝟏 𝑾 𝟏 + 𝑿𝟐 𝑾 𝟐 + 𝑿𝟑 𝑾 𝟑
X1 0≤η≤1
X2
s = 𝑾 𝟎 + 𝑿𝟏𝑾 𝟏 + 𝑿𝟐𝑾 𝟐 + 𝑿𝟑𝑾 𝟑
X3
−𝟏 𝒔𝒊 𝒍′ 𝒊𝒏𝒔𝒕𝒂𝒏𝒄𝒆 𝒋 𝒂𝒑𝒑𝒂𝒓𝒕𝒊𝒆𝒏𝒕 à 𝑪𝟏(𝑹𝑶𝑼𝑮𝑬)
dj =
+𝟏 𝒔𝒊 𝒍′ 𝒊𝒏𝒔𝒕𝒂𝒏𝒄𝒆 𝒋 𝒂𝒑𝒑𝒂𝒓𝒕𝒊𝒆𝒏𝒕 à 𝑪𝟐(𝑩𝑳𝑬𝑼)
Sana Hamdi 33
L’algorithme de perceptron: étapes
d’apprentissage
1. Initialiser aléatoirement les poids synaptiques
𝐖𝐢 𝐧 + 𝟏 = 𝐖𝐢 𝐧 +η[d(n)−Y(n)]Xi(n)
Avec
𝐢 = [𝟎, … , 𝒎] et m est le nombre d’entrées (attributs)
Sana Hamdi 35
Taux d’apprentissage
• Le taux d'apprentissage est un hyper-paramètre qui présente la rapidité de la
réponse du réseau aux changements qu’il subisse.
• Il contrôle à quel point nous ajustons les poids de notre réseau en fonction
de la descente du gradient.
• 0≤η≤1
Sana Hamdi 36
Itération 0
• Pour chaque itération, les paramètres du réseau doivent être connus.
• Paramètres à l’itération n = 0:
η=0,001
X(0)=[X0,X1,X2,X3]=[+1, 255, 0, 0]
𝐖 𝟎 = [W0,W1,W2,W3]=[−1, −2, 1, 6.2]
d(0)=−1
Sana Hamdi 37
Itération 0
Sana Hamdi 38
Itération 0
Y(0) = -1
d(0) = -1
Y(0) = d(0)
Poids corrects
Pas de mise à jour
Sana Hamdi 39
Itération 1
• Paramètres à l’itération n = 1:
η=0,001
X(1)=[+1, 248, 80, 68]
𝐖 𝟏 =[−1, −2, 1, 6.2]
d(0)=−1
Sana Hamdi 40
Itération 1
Sana Hamdi 41
Itération 1
Y(0) = +1
d(0) = -1
Y(0) ≠ d(0)
Poids non corrects
Mise à jour des poids
Sana Hamdi 42
Mise à jour des poids pour l’itération2
• Selon cette équation:
𝐖𝐢 𝐧 + 𝟏 = 𝐖𝐢 𝐧 +η[d(n)−Y(n)]Xi(n)
• Avec n =1, on aura:
𝐖 𝟐 = 𝐖 𝟏 +η[d(1)−Y(1)]X(1)
𝐖 𝟐 = [−1, −2, 1, 6.2]+0.001[−1−(+1)][+1, 248, 80, 68]
𝐖 𝟐 = [−1, −2, 1, 6.2]+0.001[−2][+1, 248, 80, 68]
𝐖 𝟐 = [−1, −2, 1, 6.2]+[−0.002][+1, 248, 80, 68]
𝐖 𝟐 = [−1, −2, 1, 6.2]+[−0.002, −0.496, −0.16, −0,136]
𝐖 𝟐 = [−1.002, −2.496, 0.84, 6.064]
Sana Hamdi 43
Itération 2
• Paramètres à l’itération n = 2:
η=0,001
X(2)=[+1, 0, 0, 255]
𝐖 𝟐 = [−1.002, −2.496, 0.84, 6.064]
d(0)=+1
Sana Hamdi 44
Itération 2
Y(0) = +1
d(0) = +1
Poids corrects
Pas de mise à jour
Sana Hamdi 45
Itération 3
• Paramètres à l’itération n = 3:
η=0,001
X(3)=[+1, 67, 15, 210]
𝐖 𝟑 = [−1.002, −2.496, 0.84, 6.064]
d(0)=+1
Sana Hamdi 46
Itération 3
Y(0) = +1
d(0) = +1
Poids corrects
Pas de mise à jour
Sana Hamdi 47
Itération 4
• On n’a pas encore terminé
• On doit entrainer le modèle avec les 2 premières instances en utilisant les nouvelles
valeurs des poids.
• Paramètres à l’itération n = 4:
η=0,001
X(4)=[+1, 255, 0, 0]
𝐖 𝟒 = [−1.002, −2.496, 0.84, 6.064]
d(0)=−1
Sana Hamdi 48
Itération 4
Y(0) = -1
d(0) = -1
Poids corrects
Pas de mise à jour
Sana Hamdi 49
Itération 5
• Paramètres à l’itération n = 5:
η=0,001
X(5)=[+1, 248, 80, 68]
𝐖 𝟓 = [−1.002, −2.496, 0.84, 6.064]
d(0)=−1
Sana Hamdi 50
Itération 5
Y(0) = -1
d(0) = -1
Poids corrects
Pas de mise à jour
Sana Hamdi 51
Prédiction
• Après entraîner notre réseau de neurones avec toutes les entrées en utilisant
les poids mis à jour, on peut conclure que ces poids sont justes pour ce
réseau et ce modèle d’apprentissage.
• Après la phase d’apprentissage, on peut utiliser le modèle pour prédire la
classe d’une nouvelle instance,
• Quelle est la classe (ROUGE ou BLEU) de l’instance :
R=150, G=100, B=180
Sana Hamdi 52
53
Perceptron multicouche
Introduction
• La première version du perceptron était mono-couche
• Non capable de résoudre des problèmes non linéaires
Perceptron multicouche: Ajouter des couches cachées pour résoudre les
problèmes non linéaires
Sana Hamdi 54
Exemple de classification: problème logique
XOR
• Résolution d’un problème logique de type XOR
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 55
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 56
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 57
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 58
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 59
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 60
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 61
Exemple de classification: Résolution non
linéaire
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 62
Exemple de classification
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 63
Sana Hamdi 64
Exemple de classification
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 65
Exemple de classification: Architecture
combinaison
Sana Hamdi 66
Exemple de classification: Architecture
Sana Hamdi 67
Exemple de classification: Architecture
Sana Hamdi 68
Exemple de classification: Architecture
Sana Hamdi 69
Exemple de classification: Architecture
Couche d’entrée Couche cachée Couche de sortie
Les neurones d'une couche sont reliés à la totalité des neurones des couches adjacentes,
Sana Hamdi 70
Etapes d’apprentissage
1. Initialiser les poids synaptiques
A B Classe
1 0 1
0 1 1
0 0 0
1 1 0
Sana Hamdi 72
Exemple de classification: Apprentissage
• Paramètres à l’itération n = 0: 1 b1 1
η=0,001
X1 SOP1
b3 biais
X(0)=[1,1,1,X1,X2]=[1,1,1, 1,0]
𝐖 𝟎 = [b1,b2,b3,W1,W2,W3,W4,W5,W6]
SOP3
=[−1.5, −0.5, −0.5, 1,1,1,1,−2, 1]
d(0)=1 A B Classe
résultat elli 1 0 1
X2 SOP2
lezm l modèle 0 1 1
yousellou 0 0 0
1 1 0 1 b2
Sana Hamdi 73
Exemple de classification: Apprentissage
• l’itération n = 0: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 1 + 0 = -0.5 X1 SOP1
b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 1 + 0 = 0.5
A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 74
Exemple de classification: Apprentissage
• l’itération n = 0: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 1 + 0 = -0.5 X1 sop1|0 b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 1 + 0 = 0.5
Y1=Y(SOP1)=H(SOP1)=0
X2 sop2|1
Y2=Y(SOP2)=H(SOP2)=1
1 b2
Sana Hamdi 75
Exemple de classification: Apprentissage
• l’itération n = 0: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 1 + 0 = -0.5 X1 0 b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 1 + 0 = 0.5
Y1=Y(SOP1)=H(SOP1)=0
X2 1
Y2=Y(SOP2)=H(SOP2)=1
1 b2
Sana Hamdi 76
Exemple de classification: Apprentissage
• l’itération n = 0: 1 b1 1
X1 0 b3
SOP3 = (1*b3+X1*W5+X2*W6)
= (1*-0.5) + (0*-2) + (1*1) = 0.5
sop3
Y = H(SOP3) = 1
X2 1
1 b2
Sana Hamdi 77
Exemple de classification: Apprentissage
• l’itération n = 0: 1 b1 1
X1 0 b3
SOP3 = (1*b3+X1*W5+X2*W6)
= (1*-0.5) + (0*-2) + (1*1) = 0.5
sop3 1
Y = H(SOP3) = 1
Y(0) = 1
X2 1
d(0) = 1
Poids corrects
Pas de mise à jour 1 b2
Sana Hamdi 78
Exemple de classification: Apprentissage
• Paramètres à l’itération n = 1: 1 b1 1
η=0,001
X1 b3
X(1)=[1,1,1,X1,X2]=[1,1,1, 0,1]
𝐖 𝟏 = [b1,b2,b3,W1,W2,W3,W4,W5,W6]
=[−1.5, −0.5, −0.5, 1,1,1,1,−2, 1]
d(1)=1 A B Classe
1 0 1
X2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 79
Exemple de classification: Apprentissage
• l’itération n = 1: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 0 + 1 = -0.5 X1 SOP1
b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 0 + 1 = 0.5
A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 80
Exemple de classification: Apprentissage
• l’itération n = 1: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 0 + 1 = -0.5 X1 sop1|0 b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 0 + 1 = 0.5
Y1=Y(SOP1)=H(SOP1)=0
X2 sop2|1
Y2=Y(SOP2)=H(SOP2)=1
1 b2
Sana Hamdi 81
Exemple de classification: Apprentissage
• l’itération n = 1: 1 b1 1
X1 0 b3
SOP3 = (1*b3+X1*W5+X2*W6)
= (1*-0.5) + (0*-2) + (1*1) = 0.5
sop3 1
Y = H(SOP3) = 1
Y(1) = 1
X2 1
d(1) = 1
Poids corrects
Pas de mise à jour 1 b2
Sana Hamdi 82
Exemple de classification: Apprentissage
• Paramètres à l’itération n = 2: 1 b1 1
η=0,001
X1 SOP1
b3
X(2)=[1,1,1,X1,X2]=[1,1,1, 0,0]
𝐖 𝟐 = [b1,b2,b3,W1,W2,W3,W4,W5,W6]
SOP3
=[−1.5, −0.5, −0.5, 1,1,1,1−2, 1]
d(2)=𝟎 A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 83
Exemple de classification: Apprentissage
• l’itération n = 2: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 0 + 0 = -1.5 X1 SOP1
b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 0 + 0 = -0.5
A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 84
Exemple de classification: Apprentissage
• l’itération n = 2: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 0 + 0 = -1.5 X1 sop1|0 b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 0 + 0 = -0.5
Y1=Y(SOP1)=H(SOP1)=0
X2 sop2|0
Y2=Y(SOP2)=H(SOP2)=0
1 b2
Sana Hamdi 85
Exemple de classification: Apprentissage
• l’itération n = 2: 1 b1 1
X1 0 b3
SOP3 = (1*b3+X1*W5+X2*W6)
= (1*-0.5) + (0*-2) + (0*1) = -0.5
sop3 0
Y = H(SOP3) = 0
Y(2) = 0
X2 0
d(2) = 0
Poids corrects
Pas de mise à jour 1 b2
Sana Hamdi 86
Exemple de classification: Apprentissage
• Paramètres à l’itération n = 3: 1 b1 1
η=0,001
X1 SOP1
b3
X(3)=[1,1,1,X1,X2]=[1,1,1, 1,1]
𝐖 𝟑 = [b1,b2,b3,W1,W2,W3,W4,W5,W6]
SOP3
=[−1.5, −0.5, −0.5, 1,1,1,1−2, 1]
d(3)=𝟎 A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 87
Exemple de classification: Apprentissage
• l’itération n = 3: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 1 + 1 = 0.5 X1 SOP1
b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 1 + 1 = 1.5
A B Classe
1 0 1
X2 SOP2
0 1 1
0 0 0
1 1 0 1 b2
Sana Hamdi 88
Exemple de classification: Apprentissage
• l’itération n = 3: 1 b1 1
SOP1 = (1*b1+X1*W1+X2*W3)
= -1.5 + 1 + 1 = 0.5 X1 sop1|1 b3
SOP2 = (1*b2+X1*W2+X2*W4)
SOP3
= -0.5 + 1 + 1 = 1.5
Y1=Y(SOP1)=H(SOP1)=1
X2 sop2|1
Y2=Y(SOP2)=H(SOP2)=1
1 b2
Sana Hamdi 89
Exemple de classification: Apprentissage
• l’itération n = 3: 1 b1 1
X1 1 b3
SOP3 = (1*b3+X1*W5+X2*W6)
= (1*-0.5) + (1*-2) + (1*1) = -1.5
sop3 0
Y = H(SOP3) = 0
Y(3) = 0
X2 1
d(3) = 0
Poids corrects
Pas de mise à jour 1 b2
Sana Hamdi 90
Exemple de classification: Apprentissage
Sana Hamdi 91
92
Sana Hamdi 93
Fonctions Complexes
Sana Hamdi 94
Fonctions Complexes
Sana Hamdi 95
Fonctions Complexes
Sana Hamdi 96
Fonctions Complexes
Sana Hamdi 97
Fonctions Complexes
Sana Hamdi 98
Fonctions Complexes
Sana Hamdi 99
Fonctions Complexes
La rétro-propagation
Apprendre puis mettre à jour
• L’algorithme de rétro-propagation est utilisé pour mettre à jour les poids
quand ils ne sont pas capables de faire les prédictions correctes.
• Nous devons apprendre le modèle avant la rétro-propagation.
X1 X2 Output
0.1 0.3 0.03
• SOP = S
= X1*W1+X2*W2+1*b
= 0.1*0.5 +0.3*0.2 +1.3
= 1.94
Comment?
𝐖𝐨𝐥d ‼‼ 𝐖new
• Pourquoi les nouveaux poids sont meilleurs que les anciens poids?
• Quelle est l’effet de chaque poids sur la fonction d’erreur?
• Comment augmenter ou diminuer les valeurs des poids affecte la fonction
d’erreur?
𝑳𝒂 𝒓é𝒕𝒓𝒐𝒑𝒓𝒐𝒑𝒂𝒈𝒂𝒕𝒊𝒐𝒏 𝒓é𝒑𝒐𝒏𝒅 à 𝒕𝒐𝒖𝒕𝒆𝒔 𝒄𝒆𝒔 𝒒𝒖𝒆𝒔𝒕𝒊𝒐𝒏𝒔
Sana Hamdi 112
Forward VS Backward
1 1
𝐸 = (𝐷é𝑠𝑖𝑟é − 𝑝𝑟é𝑑𝑖𝑡)2 s= x1∗w1+x2∗w2+b w1 et w2
2 1+𝑒 −𝑆
𝑑𝐸 𝑑 1 1
= 𝑑𝑤 ( (𝐷é𝑠𝑖𝑟é − )2 ) Calcul Compliqué Règle de dérivation en chaine
𝑑𝑊 2 1+𝑒 −x1∗w1+x2∗w2+b
1 1
𝐸 = 2 (𝐷é𝑠𝑖𝑟é − 𝑝𝑟é𝑑𝑖𝑡)2 s= x1∗w1+x2∗w2+b w1 et w2
1+𝑒 −𝑆
𝑑𝐸 𝑑𝐸 𝑑𝐸 𝑑𝑝𝑟é𝑑𝑖𝑡 𝑑𝑠 𝑑𝑠
= ∗ ∗
𝑑𝑤1 𝑑𝑤2 𝑑𝑝𝑟é𝑑𝑖𝑡 𝑑𝑠 𝑑𝑊1 𝑑𝑊2
0.028
• Dans notre exemple, les dérivées sont positives, donc pour diminuer l’erreur, on diminue les
poids.
Sana Hamdi 125
Mise à jour des poids
𝒅𝑬
• Les poids doivent être mis à jour comme suit: winew = wiold – η 𝒅w
iold
Predicted output
Sana Hamdi 132
Forward pass: Erreur de prédiction
Ayant {x(1), y(1), x(2), y(2), …, x(m), y(m)}, nous voulons ŷ(i)= y(i)
1 (i)
• La fonction de perte: L(ŷ(i), y )= (ŷ − y(i))2 :
(i)
2
n’est pas très utilisé
maintenant
• Fonction de perte: L(ŷ(i), y(i)) = −(y(i) log(ŷ(i)) +(1−y(i))log(1−ŷ(i)))
1
• Fonction d’erreur: 𝐽 𝑤, 𝑏 = 𝑚
𝑚 (i) (i)
𝑖=1 L(ŷ , y )
0.5
les opérations suivantes: 0
• Cette valeur peut être interprétée comme une probabilité. Dans une
classification binaire, la fonction d’activation sigmoïde permet alors d’obtenir,
pour une donnée, la probabilité d’appartenir à une classe.
• La fonction Sigmoïde est utilisée en dernière couche d’un réseau de neurones
construit pour effectuer une tâche de classification binaire.
• Si l’entrée est très élevée ou très faible, alors le gradient (la dérivée, la pente)
devient très faible (proche de 0) et cela peut ralentir la descente de
gradient Problème de disparition de gradient
• ELU se comporte de la même manière que ReLU pour des valeurs d’entrée
positives. Cependant, pour des valeurs d’entrée négatives, ELU donne des
valeurs lisses inférieures à 0.
#layers = 2
#layers = 2 #samples =m
#samples =1
Sana Hamdi 175
Revue
Compromis biais-variance
Sur-apprentissage vs Sous-apprentissage
• Sur-apprentissage (overfitting): quand un modèle a trop appris les
particularités de chacun des exemples fournis en ensemble d’apprentissage. Il
présente alors un taux de succès très important sur les données
d’apprentissage (pouvant atteindre jusqu’à 100%), mais se généralise mal
(performance moins bonnes sur les données de test).
• Sous-apprentissage (underfitting): un algorithme qui n’apprend pas
suffisamment de la phase d’apprentissage et qui manque de relations
pertinentes entre les données en entrée et les sorties prévues (mauvaise
performance sur le training set)
Sana Hamdi 179
Biais vs Variance
• Le biais est l'erreur provenant d’hypothèses erronées dans l'algorithme
d'apprentissage. Un biais élevé peut être lié à un sous-apprentissage.
• La variance est l'erreur due à la sensibilité aux petites fluctuations de l’échantillon
d'apprentissage. Une variance élevée peut entraîner un sur-apprentissage, c'est-à-dire
modéliser le bruit aléatoire des données d'apprentissage plutôt que les sorties
prévues.
Réduire le sur-apprentissage
Régularisation
• La régularisation est une technique qui permet de réduire le sur-apprentissage
ou de réduire la variance de notre réseau en pénalisant la complexité.
• L'idée est que certaines complexités de notre modèle peuvent rendre notre
modèle peu susceptible de se généraliser correctement, même si le modèle
correspond aux données d'apprentissage.
• La plupart des poids W auront comme valeur 0 Un réseau plus simple et rapide
Sana Hamdi
Exemple Drop-out (50%) 191
La technique Drop-out
Test Set
DataSet
Train Set Data
New Train Set
Augmentation
Optimisation
Descente du gradient par batch
1
• Fonction d’erreur: 𝐽 𝑤 = 𝑚 𝑚 (i) (i)
𝑖=1 L(ŷ , y )
𝒅𝐽 𝑤
• 𝒅= 𝒅w
• Mise à jour : w = w – η∗d
+Facile à comprendre.
+Facile à programmer.
- Trop sensible au minimum/maximum locaux pour être utilisés en pratique.