0% ont trouvé ce document utile (0 vote)
214 vues53 pages

Réseaux de neurones et apprentissage profond

Le document décrit les concepts de base de l'apprentissage profond, y compris les réseaux de neurones, les fonctions d'activation et leur dérivée. Il présente également différentes architectures de réseaux de neurones comme les réseaux convolutifs et récurrents.

Transféré par

Smouni youssef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
214 vues53 pages

Réseaux de neurones et apprentissage profond

Le document décrit les concepts de base de l'apprentissage profond, y compris les réseaux de neurones, les fonctions d'activation et leur dérivée. Il présente également différentes architectures de réseaux de neurones comme les réseaux convolutifs et récurrents.

Transféré par

Smouni youssef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi