Abdessamad Youssfi Alaoui
[Link]@[Link]
ABDESSAMAD Youssfi Alaoui
Apprentissage automatique est l’un des domaines de l’intelligence artificiel.
Les machines ont besoin d’apprendre pour les environnements inconnus ou le concepteur ne peut rien
savoir à l’avance.
Permet à l’agent (la machine) d’agir dans le futur.
ABDESSAMAD Youssfi Alaoui 2
ABDESSAMAD Youssfi Alaoui 3
ABDESSAMAD Youssfi Alaoui 4
Idée générale des Réseaux de neurones :
combiner de nombreuses fonctions élémentaires pour former des fonctions
complexes.
Apprendre les liens entre ces fonctions simples a partir d’exemples étiquetés
Analogie (un peu commerciale) avec le cerveau :
Fonctions élémentaires = neurones
Connexion = synapse
Apprentissage des connexions = la connaissance
ABDESSAMAD Youssfi Alaoui 5
Pourquoi l’apprentissage en profondeur devient très utilisé?
L’apprentissage en profondeur devient très utilisé grâce à la grande
quantité de données disponibles
Calcul plus rapide et innovation dans le développement de l'algorithme
de réseau neuronal est très grande.
ABDESSAMAD Youssfi Alaoui 6
Topologies
Il existe de nombreuses manière d’organiser les neurones en réseau:
Réseau en couches (adaline, perceptron, perceptron multicouches)
Réseau totalement interconnecté (Hopfield, Boltzmann)
Réseau récurrent (LSTM,RNN)
Réseau à convolution
Réseau avec beaucoup de couches ! (architectures profondes)
ABDESSAMAD Youssfi Alaoui 7
Réseau en couches
Chaque neurone d’une couche est connecté à tous les neurones des couches précédentes et
suivantes
Réseaux dits «feedforward» : propagation des entrées de couches en couches vers la sortie
S’il y a plusieurs couches: architectures profondes
ABDESSAMAD Youssfi Alaoui 8
Réseau avec beaucoup de couches ! (architectures profondes)
ABDESSAMAD Youssfi Alaoui 9
Réseaux convolutionnels
Poids partages, connexions locales
Apprentissage de configurations particulières
ABDESSAMAD Youssfi Alaoui 10
Réseau récurrent
Adapté aux séquences
Permet de prendre en compte le contexte
On calcule y(n) a partir de :
x(n) les entrées courantes
y(n − 1) les sorties de l’exemple précédent
(provenant d’une même séquence)
Hypothèse ≃ Markovienne
ABDESSAMAD Youssfi Alaoui 11
Réseau totalement interconnecté
Réseaux de Hopfield, Machines de Boltzmann:
Tous les neurones sont connectes entre eux
Difficile a entrainer
N’a jamais vraiment prouve son utilité sur
des problèmes réels
→ intérêt essentiellement théorique
ABDESSAMAD Youssfi Alaoui 12
Réseaux d’une seule couche
𝑥1
𝑥2 𝑦
𝑥3 x
w 𝑧 = 𝑤𝑇𝑥 + 𝑏 𝑎 = 𝜎(𝑧) ℒ(𝑎, 𝑦)
ABDESSAMAD Youssfi Alaoui 13
Réseaux de plusieurs couches
𝑥1
𝑥2 𝑦
𝑥3
x
𝑊 [1] 𝑧 [1] = 𝑊 [1] 𝑥 + 𝑏 [1] 𝑎[1] = 𝜎(𝑧 [1] ) 𝑧 [2] = 𝑊 [2] 𝑎[1] + 𝑏 [2] 𝑎[2] = 𝜎(𝑧 [2] ) ℒ(𝑎[2] , 𝑦)
𝑏 [1] 𝑊 [2] 14
𝑏 [2]
ABDESSAMAD Youssfi Alaoui 10
Représentation d’un réseaux de neurone
𝑥1 𝑥1
𝑥2 𝑤 𝑇 𝑥 + 𝑏 𝜎(𝑧) 𝑎=𝑦 𝑥2 𝑦
𝑧 𝑎
𝑥3 𝑥3
𝑧 = 𝑤𝑇𝑥 + 𝑏
𝑎 = 𝜎(𝑧)
ABDESSAMAD Youssfi Alaoui 10
15
Représentation d’un réseaux de neurone
𝑥1 𝑥1
𝑥2 𝑤 𝑇 𝑥 + 𝑏 𝜎(𝑧) 𝑎=𝑦 𝑥2 𝑦
𝑧 𝑎
𝑥3 𝑥3
𝑧 = 𝑤𝑇𝑥 + 𝑏 𝑥1
𝑎 = 𝜎(𝑧) 𝑥2 𝑦
𝑥3
ABDESSAMAD Youssfi Alaoui 10
16
Représentation d’un réseaux de neurone
1 1𝑇 [1] [1] 1
𝑎1
1
𝑧1 = 𝑤1 𝑥 + 𝑏1 , 𝑎 1 = 𝜎(𝑧1 )
𝑥1 1 1𝑇 [1] [1] 1
𝑎2
1
𝑧2 = 𝑤2 𝑥+ 𝑏2 , 𝑎2 = 𝜎(𝑧2 )
𝑥2 𝑦 1 1𝑇 [1] [1] 1
𝑎3
1
𝑧3 = 𝑤3 𝑥+ 𝑏3 , 𝑎3 = 𝜎(𝑧3 )
𝑥3 1 1𝑇 [1] [1] 1
𝑎4
1
𝑧4 = 𝑤4 𝑥+ 𝑏4 , 𝑎4 = 𝜎(𝑧4 )
ABDESSAMAD Youssfi Alaoui 10
17
Représentation d’un réseaux de neurone
Given input x:
𝑎1
1
𝑧 1 =𝑊 1 𝑥+𝑏 1
𝑥1 1
𝑎2
𝑎 1 = 𝜎(𝑧 1 )
𝑥2 1
𝑦
𝑎3
𝑥3 𝑧 2 =𝑊 2 𝑎1 +𝑏2
1
𝑎4
𝑎 2 = 𝜎(𝑧 2 )
ABDESSAMAD Youssfi Alaoui 10
18
Vectorisation pour exemples multiple
for i = 1 to m
𝑥1
𝑧 1 (𝑖) =𝑊 1 𝑥 (𝑖) + 𝑏 1
𝑥2 𝑦
𝑥3 𝑎 1 (𝑖) = 𝜎(𝑧 1 𝑖 )
2 (𝑖) 2
𝑧 =𝑊 𝑎 1 (𝑖) + 𝑏 2
𝑋 = 𝑥 (1) 𝑥 (2) 𝑎 2 (𝑖) = 𝜎(𝑧 2 𝑖
)
… 𝑥 (𝑚)
𝑍1 =𝑊 1 𝑋+𝑏 1
𝐴1 = 𝜎(𝑍 1 )
𝑍2 =𝑊 2 𝐴1 +𝑏2
A[1] = 𝑎[1](1) 𝑎[1](2) … 𝑎 [1](𝑚)
𝐴2 = 𝜎(𝑍 2 )
ABDESSAMAD Youssfi Alaoui 10
19
Deep neural network
Paramètres: 𝑊 1 , 𝑏 1 ,𝑊 2 ,𝑏 2 ,𝑊 3 ,𝑏 3 …
Hyper-paramètres: le taux d’apprentissage
Itérations
Choix de la fonction d’activation
Les couches cachées
Mini batch size
ABDESSAMAD Youssfi Alaoui 20
Fonction d’activation
g g
x
z
1 𝑒 𝑧 − 𝑒 −𝑧
sigmoid: 𝑔(𝑧) = tanh: 𝑔(𝑧) = 𝑧
1 + 𝑒 −𝑧 𝑒 + 𝑒 −𝑧
g g
z z
ReLu: 𝑔(𝑧) = max(0, 𝑧) Leaky ReLu: 𝑔(𝑧) = max(0,01𝑧, 𝑧)
ABDESSAMAD Youssfi Alaoui 10
21
Dérivé des fonction d’activation
a
1
𝑔(𝑧) =
1 + 𝑒 −𝑧
z
′
𝑑 1 1
𝑔 𝑧 = 𝑔(𝑧) = −𝑧
1− −𝑧
= 𝑔(𝑧) 1 − 𝑔 𝑧
𝑑𝑧 1+𝑒 1+𝑒
ABDESSAMAD Youssfi Alaoui 10
22
Dérivé des fonction d’activation
𝑔(𝑧) = tanh(𝑧)
′
𝑑
𝑔 𝑧 = 𝑔(𝑧) = 1 − tanh(𝑧)2 = 1 − 𝑔(𝑧)2
𝑑𝑧
ABDESSAMAD Youssfi Alaoui 10
23
Dérivé des fonction d’activation
a a
z z
ReLU Leaky ReLU
𝑑 0 𝑠𝑖 𝑥 ≤ 0 𝑑 0.01 𝑠𝑖 𝑥 ≤ 0
𝑔′ 𝑧 = 𝑔 𝑧 = 𝑔′ 𝑧 = 𝑔 𝑧 =
𝑑𝑧 1 𝑠𝑖 𝑥 > 0 𝑑𝑧 1 𝑠𝑖 𝑥 > 0
ABDESSAMAD Youssfi Alaoui 10
24
Fonction d’activation
Given x:
𝑥1
𝑧1 =𝑊 1 𝑥+𝑏 1
𝑥2 𝑦 𝑎1 = g(𝑧 1 )
𝑥3 𝑧2 =𝑊 2 𝑎1 +𝑏 2
𝑎2 = g(𝑧 2 )
ABDESSAMAD Youssfi Alaoui 10
25
Fonction de cout
Fonction d’activation 𝑦 = 𝑔 𝑤𝑇𝑥 + 𝑏
Soient (𝑥 (1) , 𝑦 (1) ),…,(𝑥 (𝑚) , 𝑦 (𝑚) ) , objectif 𝑦 (𝑖) ≈ 𝑦 𝑖 .
Fonction d’erreur : ℒ 𝑦, 𝑦 = − 𝑦𝑙𝑜𝑔𝑦 + 1 − 𝑦 log(1 − 𝑦)
1
Fonction de cout: 𝐽 𝑤, 𝑏 = 𝑚
𝑖=1 ℒ 𝑦 (𝑖) , 𝑦 (𝑖)
𝑚
ABDESSAMAD Youssfi Alaoui 10
26
Fonction d’erreur (Régression):
▪ MSE, RMSE, R-squared
1 𝑁
▪ MAE 𝑀𝐴𝐸 = 𝑖=1 𝑦𝑖 − 𝑦𝑖
𝑁
100% 𝑁 𝑦𝑖 −𝑦𝑖 2 100% 𝑁 𝑦𝑖 −𝑦𝑖 2
▪ MSPE, MAPE 𝑖=1 𝑖=1
𝑁 𝑦𝑖 𝑁 𝑦𝑖
1 𝑁 2
▪ MSLE 𝑖=1 𝑙𝑜𝑔 𝑦𝑖 + 1 𝑙𝑜𝑔 1 + 𝑦𝑖
𝑁
ABDESSAMAD Youssfi Alaoui 27
Fonction d’erreur (Classification):
▪ Logloss
ABDESSAMAD Youssfi Alaoui 28
Gradient descente
Répéter 𝑦 = 𝑔 𝑤 𝑇 𝑥 + 𝑏
Objectif est trouver un valeur minimale de
1 𝑚
𝐽 𝑤, 𝑏 = 𝑖=1 ℒ 𝑦 (𝑖) , 𝑦 (𝑖)
𝑚
ABDESSAMAD Youssfi Alaoui 29
Gradient descente
𝑥
𝑤 𝑧 = 𝑤𝑇𝑥 + 𝑏 𝑎 = 𝜎(𝑧) ℒ(𝑎, 𝑦)
𝑏
1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎,𝑦 𝜕ℒ 𝑎,𝑦 𝜕𝑎 𝜕𝑧 −𝑦 1−𝑦
= = = + 𝑎 1−𝑎 𝑥 = 𝑎−𝑦 𝑥
𝜕𝑤 𝜕𝑤 𝜕𝑎 𝜕𝑧 𝜕𝑤 𝑎 1−𝑎
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎,𝑦 𝜕ℒ 𝑎,𝑦 𝜕𝑎 𝜕𝑧 −𝑦 1−𝑦
= = = + 𝑎 1−𝑎 = 𝑎−𝑦
𝜕𝑏 𝜕𝑏 𝜕𝑎 𝜕𝑧 𝜕𝑏 𝑎 1−𝑎
ABDESSAMAD Youssfi Alaoui 10
30
Gradient descente 𝑊 [2]
𝑥 𝑏 [2]
𝑊 [1] 𝑧 [1] = 𝑊 [1] 𝑥 + 𝑏 [1] 𝑎[1] = 𝜎(𝑧 [1] ) 𝑧 [2] = 𝑊 [2] 𝑎[1] + 𝑏 [2] 𝑎[2] = 𝜎(𝑧 [2] ) ℒ(𝑎[2] , y)
𝑏 [1]
1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎 2 ,𝑦 𝜕ℒ 𝑎 2 ,𝑦 𝜕𝑎[2] 𝜕𝑧 [2] −𝑦 1−𝑦
= = = + 𝑎[2] 1 − 𝑎[2] 𝑎[1]
𝜕𝑤 [2] 𝜕𝑤 [2] 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑤 [2] 𝑎[2] 1−𝑎[2]
= 𝑎[2] − 𝑦 𝑎[1]
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎[2] ,𝑦 𝜕ℒ 𝑎[2] ,𝑦 𝜕𝑎[2] 𝜕𝑧 [2] −𝑦 1−𝑦
= = = + 𝑎[2] 1 − 𝑎[2] = 𝑎[2] − 𝑦
𝜕𝑏[2] 𝜕𝑏[2] 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑏[2] 𝑎[2] 1−𝑎[2]
ABDESSAMAD Youssfi Alaoui 10
31
Gradient descente 𝑊 [2]
𝑥 𝑏 [2]
𝑊 [1] 𝑧 [1] = 𝑊 [1] 𝑥 + 𝑏 [1] 𝑎[1] = 𝜎(𝑧 [1] ) 𝑧 [2] = 𝑊 [2] 𝑎[1] + 𝑏 [2] 𝑎[2] = 𝜎(𝑧 [2] ) ℒ(𝑎[2] , y)
𝑏 [1] 1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎 2 ,𝑦 𝜕ℒ 𝑎 2 ,𝑦 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑎[1] 𝜕𝑧 [1]
= =
𝜕𝑤 [1] 𝜕𝑤 [1] 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑎[1] 𝜕𝑧 [1] 𝜕𝑤 [1]
−𝑦 1−𝑦 2 2 2 1 ′ (𝑧 1 1 ′ (𝑧 1
= 2
+ 𝑎 1−𝑎 𝑤 𝑔 )𝑥 𝑇 = 𝑎[2] −𝑦 𝑤 2
𝑔 )𝑥 𝑇
𝑎 1−𝑎2
ABDESSAMAD Youssfi Alaoui 10
32
Gradient descente 𝑊 [2]
𝑥 𝑏 [2]
𝑊 [1] 𝑧 [1] = 𝑊 [1] 𝑥 + 𝑏 [1] 𝑎[1] = 𝜎(𝑧 [1] ) 𝑧 [2] = 𝑊 [2] 𝑎[1] + 𝑏 [2] 𝑎[2] = 𝜎(𝑧 [2] ) ℒ(𝑎[2] , y)
𝑏 [1] 1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
𝜕𝐽 𝑤,𝑏 𝜕ℒ 𝑎 2 ,𝑦 𝜕ℒ 𝑎 2 ,𝑦 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑎[1] 𝜕𝑧 [1]
= =
𝜕𝑏[1] 𝜕𝑏[1] 𝜕𝑎[2] 𝜕𝑧 [2] 𝜕𝑎[1] 𝜕𝑧 [1] 𝜕𝑏[1]
−𝑦 1−𝑦 2 2 2 1 ′ (𝑧 1 1 ′ (𝑧 1
= 2
+ 𝑎 1−𝑎 𝑤 𝑔 ) = 𝑎[2] −𝑦 𝑤 2
𝑔 )
𝑎 1−𝑎2
ABDESSAMAD Youssfi Alaoui 10
33
Gradient descente
Soient:
𝜕ℒ 𝑎[2] ,𝑦 𝜕ℒ 𝑎[2] ,𝑦
𝑑𝑧 [2]
= 𝑑𝑧 [1] =
𝜕𝑧 [2] 𝜕𝑧 [1]
𝜕ℒ 𝑎[2] ,𝑦 𝜕ℒ 𝑎[2] ,𝑦
𝑑𝑤 [2]
= 𝑑𝑤 [1] =
𝜕𝑤 [2] 𝜕𝑤 [1]
[2] 𝜕ℒ 𝑎[2] ,𝑦 [1] 𝜕ℒ 𝑎[2] ,𝑦
𝑑𝑏 = 𝑑𝑏 =
𝜕𝑏 [2] 𝜕𝑏 [1]
ABDESSAMAD Youssfi Alaoui 34
Gradient descente (vectorisation)
𝑑𝑧 [2] = 𝑎[2] − 𝑦
Z [1] = 𝑎[1][1]𝑎[1][2] … 𝑎 [1][𝑚]
[2] [2] 1𝑇
𝑑𝑊 = 𝑑𝑧 𝑎
𝑑𝑏 [2] = 𝑑𝑧 [2]
𝑍 [1] = 𝑊 [1] 𝑋 + 𝑏 [1]
𝑑𝑧 [1] = 𝑊 2 𝑇 𝑑𝑧 [2] ∗ 𝑔[1] ′(z 1 )
𝑑𝑊 [1] = 𝑑𝑧 [1] 𝑥 𝑇 𝐴[1] = 𝑔 1 (𝑍 [1] )
𝑑𝑏 [1] = 𝑑𝑧 [1]
ABDESSAMAD Youssfi Alaoui 35
Gradient descente (vectorisation)
𝑑𝑧 [2] = 𝑎[2] − 𝑦 𝑑𝑍 [2] = 𝐴[2] − 𝑌
[2] [2] 1𝑇
1 𝑇
𝑑𝑊 = 𝑑𝑧 𝑎 𝑑𝑊 [2] = 𝑑𝑍 𝐴[2] 1
𝑚
1
𝑑𝑏 [2] = 𝑑𝑧 [2] 𝑑𝑏 [2] = 𝑛𝑝. 𝑠𝑢𝑚(𝑑𝑍 2 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
𝑚
𝑑𝑧 [1] = 𝑊 2 𝑇 𝑑𝑧 [2] ∗ 𝑔[1] ′(z 1 ) 𝑑𝑍 [1] = 𝑊 2 𝑇 𝑑𝑍 [2] ∗ 𝑔[1] ′(Z 1 )
1
𝑑𝑊 [1] = 𝑑𝑧 [1] 𝑥 𝑇 𝑑𝑊 [1] = 𝑑𝑍 [1] 𝑋 𝑇
𝑚
1
𝑑𝑏 [1] = 𝑑𝑧 [1] 𝑑𝑏 [1] = 𝑛𝑝. 𝑠𝑢𝑚(𝑑𝑍 1 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
𝑚
ABDESSAMAD Youssfi Alaoui 36
Deep neural network
l=2
l=3
l=1
l=4
𝑥1
l=5
𝑦
𝑥2
n=1
n=2 (2,1)
n=3 (4,2)
(2,3) n=4
(5,4)
n=5
(3,5)
ABDESSAMAD Youssfi Alaoui 37
Forward and backward propagation
𝑍 [1] = 𝑊 [1] 𝑋 + 𝑏 [1] 𝑑𝑍 [𝐿] = 𝐴[𝐿] − 𝑌
𝐴[1] = 𝑔 1 (𝑍 1 ) [𝐿]
1 𝐿 𝐿−1 𝑇
𝑑𝑊 = 𝑑𝑍 𝐴 𝑊 [𝐿]
:=𝑊 [𝐿]
− α𝑑𝑊 [𝐿]
𝑍 [2] = 𝑊 [2] 𝐴[1] + 𝑏 [2] 𝑚
𝐴[2] = 𝑔 2 (𝑍 2 ) 𝑏 [𝐿] :=𝑏 [𝐿] − α𝑑𝑏[𝐿]
1
…
𝑑𝑏 = 𝑛𝑝. sum(d𝑍 𝐿 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
[𝐿]
𝐴[𝐿] = 𝑔 𝐿 𝑍 𝐿 =𝑌 𝑚
[𝐿−1] 𝐿𝑇 𝐿 𝐿−1
𝑑𝑍 =𝑊 𝑑𝑍 𝑔′ (𝑍 𝐿−1 )
…
𝑑𝑍 [1]=𝑊 2 𝑇 𝑑𝑍 2
𝑔′ (𝑍 1 )
1
1
𝑑𝑊 [1] = 𝑑𝑍 1 𝑋 𝑇 𝑊 [1] :=𝑊 [1] − α𝑑𝑊 [1]
𝑚
1
𝑑𝑏 = 𝑛𝑝. sum(d𝑍 1 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
[1]
𝑚
𝑏 [1] :=𝑏 [1] − α𝑑𝑏 [1]
ABDESSAMAD Youssfi Alaoui 38
Régularisation
High bias High variance
ABDESSAMAD Youssfi Alaoui 39
Régularisation
Intuition: impossible de s’appuyer sur une seule caractéristique, il faut donc
répartir les poids.
𝑥1
𝑥1
𝑥2 𝑦
𝑥2 𝑦
𝑥3
𝑥3
ABDESSAMAD Youssfi Alaoui 40
Régularisation
1 𝑚 𝜆 2
Régularisation 𝐿2 𝐽 𝑤, 𝑏 = 𝑖=1 ℒ
(𝑖)
𝑦 ,𝑦 (𝑖)
+ 𝑤 2
𝑚 2𝑚
2 𝑛𝑥 2
𝑤 2 = =1 𝑤𝑗 et 𝑤𝜖ℝ𝑛𝑥
1 𝑚 𝜆 2
Régularisation 𝐿1 𝐽 𝑤, 𝑏 = 𝑖=1 ℒ
(𝑖)
𝑦 ,𝑦 (𝑖)
+ 𝑤 1
𝑚 2𝑚
2 𝑛𝑥
𝑤 2 = =1 𝑤𝑗 et 𝑤𝜖ℝ𝑛𝑥
ABDESSAMAD Youssfi Alaoui 41
Régularisation
1 𝑚 𝜆 𝐿 [𝑙] 2
Frobunuis norm 𝐽 𝑤, 𝑏 = 𝑖=1 ℒ
(𝑖)
𝑦 ,𝑦 (𝑖)
+ 𝑙=1 𝑤 𝐹
𝑚 2𝑚
2 2
𝑤 𝐹 = 𝑙𝑖=1
[𝑙] 𝑙−1
𝑗=1 𝑤𝑖𝑗
1 𝑙+1 𝑇 𝑑𝑍 𝑙+1 𝑙 𝜆 [𝑙]
𝑙−1 𝑇
𝑑𝑊 [𝑙] = 𝑊 𝑔′ 𝑙
(𝑍 )𝐴 + 𝑊
𝑚 𝑚
α𝜆 1 𝑙+1 𝑇 ′ 𝑙 𝑙−1 𝑇
𝑊 : =𝑊
[𝑙] [𝑙]
− α𝑑𝑊 [𝑙]
=𝑊 𝑙
1− −α 𝑊 𝑑𝑍 𝑙+1
𝑔 𝑙
(𝑍 )𝐴
𝑚 𝑚
ABDESSAMAD Youssfi Alaoui 42
Data augmentation
4
ABDESSAMAD Youssfi Alaoui 43
Optimisation Batch vs mini-batch gradient descente (exemple m=5.000.000)
𝑋 = 𝑋 (1) 𝑋 (2) … 𝑋 1000
| 𝑋 (1001) … 𝑋 2000
|…𝑋 𝑚
𝑛𝑥 , 𝑚
[1] [2]
𝑋 𝑛𝑥 ,1000 𝑋 𝑛𝑥 ,1000
𝑌 = 𝑌 (1) 𝑌 (2) … 𝑌 1000
| 𝑌 (1001) … 𝑌 2000
|…𝑌 𝑚
1, 𝑚 [1]
𝑌 𝑛𝑥 ,1000 [2]
𝑌 𝑛𝑥 ,1000
ABDESSAMAD Youssfi Alaoui 44
Optimisation Batch vs mini-batch gradient descente
Pour t de 1 à 5.000 𝑑𝑍 [𝐿] = 𝐴[𝐿] − 𝑌
[𝐿]
1 𝐿 𝐿−1 𝑇
𝑑𝑊 = 𝑑𝑍 𝐴
𝑍 [1] = 𝑊 [1] 𝑋 [𝑡] + 𝑏 [1] 1000
𝐴[1] = 𝑔 1 (𝑍 1 )
𝑏 [𝐿] :=𝑏 [𝐿] − α𝑑𝑏[𝐿]
𝑍 [2] = 𝑊 [2] 𝐴[1] + 𝑏 [2] [𝐿]
1 𝐿
𝑑𝑏 = 𝑛𝑝. sum(d𝑍 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
𝐴[2] 2
= 𝑔 (𝑍 2 ) 1000
𝐿𝑇 𝐿−1
…
𝑑𝑍 [𝐿−1] = 𝑊 𝑑𝑍 𝐿
𝑔′ (𝑍 𝐿−1 )
𝐴[𝐿] = 𝑔 𝐿 𝑍 𝐿 = 𝑌 [𝑡]
…
𝑇 1
𝑑𝑍 [1] = 𝑊 2 𝑑𝑍 2 𝑔′ (𝑍 1 )
1
𝐽 𝑤, 𝑏 =
1 1000
𝑦 (𝑖) , 𝑦 (𝑖) +
𝜆 2 𝑑𝑊 [1] = 𝑑𝑍 1 𝑋 𝑇
1000 𝑖=1 ℒ 2𝑚
𝑤 𝐹 1000
[1]
1
𝑑𝑏 = 𝑛𝑝. sum(d𝑍 1 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
1000
𝑏 [1] :=𝑏 [1] − α𝑑𝑏 [1]
ABDESSAMAD Youssfi Alaoui 45
Optimisation Batch vs mini-batch gradient descente
Batch gradient descent Mini-batch gradient descent
cost
cost
# iterations mini batch # (t)
ABDESSAMAD Youssfi Alaoui 46
Optimistaion Batch vs mini-batch gradient descente
Mini-batch size=m très long pour chaque itération
Mini-batch size=1 gradient descente stochastique
Mini-batch size >1 et <m
ABDESSAMAD Youssfi Alaoui 47
Optimisation moyenne exponentiel des poids
𝜃1 = 40°F
temperature
𝜃2 = 49°F
𝜃3 = 45°F
.
.
.
𝜃180 = 60°F
𝜃181 = 56°F days
. 𝑣0 = 0
.
. 𝑣1 = 0.9𝑣0 + 𝜃1
𝑣2 = 0.9𝑣1 + 𝜃2
…..
En general: 𝑣𝑡 = 0.9𝑣𝑡−1 + 𝜃𝑡
𝑣𝑡 = 𝛽𝑣𝑡−1 + (1 − 𝛽)𝜃𝑡
ABDESSAMAD Youssfi Alaoui 48
Optimisation moyenne exponentiel des poids
temperature
𝛽=0.9 pour 10 jours
𝛽=0.98 pour 50 jours
𝛽=0.5 pour 2 jours
days
1
= nb de jours
1−𝛽
ABDESSAMAD Youssfi Alaoui 49
Optimisation Gradient descent with momentum
à iteration 𝑡:
Calculer 𝑑𝑊, 𝑑𝑏 à mini-batch actuel
𝑣𝑑𝑊 = 𝛽𝑣𝑑𝑊 + 1 − 𝛽 𝑑𝑊
Pour accélérer la convergence
𝑣𝑑𝑏 = 𝛽𝑣𝑑𝑏 + 1 − 𝛽 𝑑𝑏
𝑊 = 𝑊 − 𝛼𝑣𝑑𝑊 , 𝑏 = 𝑏 − 𝛼𝑣𝑑𝑏
Hyperparameters: 𝛼, 𝛽 𝛽 = 0.9
ABDESSAMAD Youssfi Alaoui 50
Optimisation RMSprop
à iteration 𝑡:
Calculer 𝑑𝑊, 𝑑𝑏 à mini-batch actuel
𝑆𝑑𝑊 = 𝛽2 𝑆𝑑𝑊 + 1 − 𝛽2 𝑑𝑊 2
2
𝑆𝑑𝑏 = 𝛽2 𝑆𝑑𝑏 + 1 − 𝛽2 𝑑b
𝛼𝑑𝑤 𝛼𝑑𝑏
𝑊=𝑊− , 𝑏=𝑏−
𝑆𝑑𝑊 + 𝜀 𝑆𝑑𝑏 + 𝜀
Hyperparameters: 𝛼, 𝛽 𝛽 = 0.9 𝜀 = 10−8
ABDESSAMAD Youssfi Alaoui 51
Optimisation Adam algorithm
𝑆𝑑𝑊 =0, 𝑆𝑑𝑏 =0, 𝑣𝑑𝑊 = 0, 𝑣𝑑𝑏 = 0
à iteration 𝑡: Hyperparameters: 𝛼, 𝛽1 , 𝛽2 𝛽1 = 0,9, 𝛽2 = 0.999 𝜀 = 10−8
Calculer 𝑑𝑊, 𝑑𝑏 à mini-batch actuel
𝑣𝑑𝑊 = 𝛽1 𝑣𝑑𝑊 + 1 − 𝛽1 𝑑𝑊 𝑣𝑑𝑏 = 𝛽1 𝑣𝑑𝑏 + 1 − 𝛽1 𝑑𝑏
𝑆𝑑𝑊 = 𝛽2 𝑆𝑑𝑊 + 1 − 𝛽2 𝑑𝑊 2 𝑆𝑑𝑏 = 𝛽2 𝑆𝑑𝑏 + 1 − 𝛽2 𝑑𝑏
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑣𝑑𝑊 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑣𝑑𝑏
𝑣𝑑𝑤 = 𝑡 , 𝑣𝑑𝑏 =
(1 − 𝛽1 ) (1 − 𝛽1𝑡 )
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑆𝑑𝑤 𝑆𝑑𝑏
𝑆𝑑𝑤 = 𝑡 𝑆 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑
𝑑𝑏 =
(1 − 𝛽2 ) (1 − 𝛽2𝑡 )
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑
𝛼𝑣𝑑𝑤 𝛼𝑣𝑑𝑏
𝑊=𝑊−
ABDESSAMAD Youssfi Alaoui
, 𝑏=𝑏− 52
𝑆𝑑𝑊 + 𝜀 𝑆𝑑𝑏 + 𝜀
Autres algorithmes d’ optimisation
Nesterov accelerated gradient
Adagrad
Adadelta
AdaMax
Nadam
AMSGrad