Académique Documents
Professionnel Documents
Culture Documents
abdessamad.youssfialaoui@gmail.com
𝑥1
𝑥2 𝑦
𝑥3 x
𝑊 [1] 𝑧 [1] = 𝑊 [1] 𝑥 + 𝑏 [1] 𝑎[1] = 𝜎(𝑧 [1] ) 𝑧 [2] = 𝑊 [2] 𝑎[1] + 𝑏 [2] 𝑎[2] = 𝜎(𝑧 [2] ) ℒ(𝑎[2] , 𝑦)
𝑏 [1] 𝑊 [2] 14
𝑏 [2]
𝑧 = 𝑤𝑇𝑥 + 𝑏
𝑎 = 𝜎(𝑧)
𝑧 = 𝑤𝑇𝑥 + 𝑏 𝑥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 )
𝑎 2 = 𝜎(𝑧 2 )
Paramètres: 𝑊 1 , 𝑏 1 ,𝑊 2 ,𝑏 2 ,𝑊 3 ,𝑏 3 …
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+𝑒
𝑔(𝑧) = tanh(𝑧)
′
𝑑
𝑔 𝑧 = 𝑔(𝑧) = 1 − tanh(𝑧)2 = 1 − 𝑔(𝑧)2
𝑑𝑧
z z
ReLU Leaky ReLU
𝑑 0 𝑠𝑖 𝑥 ≤ 0 𝑑 0.01 𝑠𝑖 𝑥 ≤ 0
𝑔′ 𝑧 = 𝑔 𝑧 = 𝑔′ 𝑧 = 𝑔 𝑧 =
𝑑𝑧 1 𝑠𝑖 𝑥 > 0 𝑑𝑧 1 𝑠𝑖 𝑥 > 0
Given x:
𝑥1
𝑧1 =𝑊 1 𝑥+𝑏 1
𝑥2 𝑦 𝑎1 = g(𝑧 1 )
𝑥3 𝑧2 =𝑊 2 𝑎1 +𝑏 2
𝑎2 = g(𝑧 2 )
1
Fonction de cout: 𝐽 𝑤, 𝑏 = 𝑚
𝑖=1 ℒ 𝑦 (𝑖) , 𝑦 (𝑖)
𝑚
1 𝑁
▪ MAE 𝑀𝐴𝐸 = 𝑖=1 𝑦𝑖 − 𝑦𝑖
𝑁
1 𝑁 2
▪ MSLE 𝑖=1 𝑙𝑜𝑔 𝑦𝑖 + 1 𝑙𝑜𝑔 1 + 𝑦𝑖
𝑁
1 𝑚
𝐽 𝑤, 𝑏 = 𝑖=1 ℒ 𝑦 (𝑖) , 𝑦 (𝑖)
𝑚
𝑏 [1]
1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
𝑏 [1] 1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
−𝑦 1−𝑦 2 2 2 1 ′ (𝑧 1 1 ′ (𝑧 1
= 2
+ 𝑎 1−𝑎 𝑤 𝑔 )𝑥 𝑇 = 𝑎[2] −𝑦 𝑤 2
𝑔 )𝑥 𝑇
𝑎 1−𝑎2
𝑏 [1] 1
Soit 𝜎 𝑧 =
1+𝑒 −𝑧
−𝑦 1−𝑦 2 2 2 1 ′ (𝑧 1 1 ′ (𝑧 1
= 2
+ 𝑎 1−𝑎 𝑤 𝑔 ) = 𝑎[2] −𝑦 𝑤 2
𝑔 )
𝑎 1−𝑎2
𝑑𝑏 [2] = 𝑑𝑧 [2]
𝑍 [1] = 𝑊 [1] 𝑋 + 𝑏 [1]
𝑑𝑧 [1] = 𝑊 2 𝑇 𝑑𝑧 [2] ∗ 𝑔[1] ′(z 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 )
1
1
𝑑𝑊 [1] = 𝑑𝑍 1 𝑋 𝑇 𝑊 [1] :=𝑊 [1] − α𝑑𝑊 [1]
𝑚
1
𝑑𝑏 = 𝑛𝑝. sum(d𝑍 1 , 𝑎𝑥𝑖𝑠 = 1, 𝑘𝑒𝑒𝑝𝑑𝑖𝑚𝑠 = 𝑇𝑟𝑢𝑒)
[1]
𝑚
𝑏 [1] :=𝑏 [1] − α𝑑𝑏 [1]
ABDESSAMAD Youssfi Alaoui 38
Régularisation
𝑥1
𝑥1
𝑥2 𝑦
𝑥2 𝑦
𝑥3
𝑥3
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 𝑤𝜖ℝ𝑛𝑥
1 𝑚 𝜆 𝐿 [𝑙] 2
Frobunuis norm 𝐽 𝑤, 𝑏 = 𝑖=1 ℒ
(𝑖)
𝑦 ,𝑦 (𝑖)
+ 𝑙=1 𝑤 𝐹
𝑚 2𝑚
2 2
𝑤 𝐹 = 𝑙𝑖=1
[𝑙] 𝑙−1
𝑗=1 𝑤𝑖𝑗
4
ABDESSAMAD Youssfi Alaoui 43
Optimisation Batch vs mini-batch gradient descente (exemple m=5.000.000)
𝑑𝑍 [𝐿−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
cost
# iterations mini batch # (t)
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−𝛽
à 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
𝛼𝑑𝑤 𝛼𝑑𝑏
𝑊=𝑊− , 𝑏=𝑏−
𝑆𝑑𝑊 + 𝜀 𝑆𝑑𝑏 + 𝜀