Vous êtes sur la page 1sur 53

Abdessamad Youssfi Alaoui

abdessamad.youssfialaoui@gmail.com

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

Vous aimerez peut-être aussi