Main New Opt
Main New Opt
avec Kotlin
Version 0.1
Prof. A. F El Ouafdi
1
Chapitre 1
2
Short title of document
Figure 1.1 – Illustration de la racine (zéro) de la fonction continue 𝑓 (𝑥) = cos(𝑥) − 𝑥 3 . La courbe
bleue représente la fonction, et le marqueur rouge indique l’emplacement de la racine approximative
𝑥¯ ≈ 0.865, où la fonction s’annule.
Cela donne un nouveau point 𝑥1 , qui devrait être plus proche du zéro
de la fonction que le point initial 𝑥0 . En répétant ce processus d’approxi-
mation par la tangente aux points successifs (𝑥1 , 𝑥 2 , etc.), on peut améliorer
3
Short title of document
Figure 1.2 – Illustration de la racine (zéro) de la fonction continue 𝑓 (𝑥) = cos(𝑥) − 𝑥 3 . La courbe
bleue représente la fonction, et le marqueur rouge indique l’emplacement de la racine approximative
𝑥¯ ≈ 0.865, où la fonction s’annule.
4
Short title of document
5
Short title of document
𝑓 (𝑥 𝑛−1 )
𝑥𝑛 𝑥 𝑛 = 𝑥 𝑛−1 − 𝑓 ′ (𝑥 𝑛−1 )
Approximation numérique
cos(0,5)−0,53
𝑥1 0, 5 − − sin(0,5)−3×0,52
≈ 1, 112 141 637 097 2
𝑥2 ··· ≈ 0, 909 672 693 736 8
𝑥3 ··· ≈ 0, 866 263 818 208 8
𝑥4 ··· ≈ 0, 865 477 135 298 2
𝑥5 ··· ≈ 0, 865 474 033 110 9
𝑥6 ··· ≈ 0, 865 474 033 101 6
𝑥7 ··· ≈ 0, 865 474 033 101 6
Ainsi, la méthode de Newton converge vers la solution 𝑥 ≃ 0, 865 474 033 101 6.
Les problèmes d’optimisation les plus simples sont ceux qui consistent
à minimiser (ou maximiser) une fonction 𝑓 : 𝑊 ⊂ R → R. Le problème
général d’optimisation sans contrainte peut être formulé de la manière
suivante :
6
Short title of document
Figure 1.3 – Représentation de la fonction 𝑓 (𝑥) = 0.1𝑥 2 + sin(3𝑥) + sin(5𝑥) avec des minima
locaux (cercles rouges) et un minimum global (carré vert).
𝑥 ∗ comme c’est illustré par des point entourés de cercles dans la figure 1.3.
On verra maintenant comment de tels points peuvent être caractérisés.
7
Short title of document
Définition 1.0.5. Un point 𝑥 ∗ tel que 𝑓 ′(𝑥 ∗ ) = 0 est appelé point stationnaire.
8
Short title of document
1
𝑓 (𝑥) = 1 − (1.5)
5𝑥 2 − 6𝑥 + 5
rapportée dans la figure 1.4. Sa dérivée première est donnée par :
10𝑥 − 6
𝑓 ′(𝑥) = (1.6)
(5𝑥 2− 6𝑥 + 5)2
9
Short title of document
1
Figure 1.4 – Représentation de la fonction 1 − 5𝑥 2 −6𝑥+5
montrant un minimum local isolé en
𝑥 ∗ = 0.6.
10
Short title of document
11
Short title of document Méthode de Descente Général
Table 1.2 – Itérations de l’algorithme de Newton avec approximations numériques pour minimiser
1
la fonction 1 − 5𝑥 2 −6𝑥+5 .
𝑓 (𝑥 ∗ ) ≤ 𝑓 (𝑥 ∗ + 𝛼𝑑), ∀𝑑 ∈ 𝑉(0),
12
Short title of document Méthode de Descente Général
def
ℎ 𝑥 ∗ ,𝑑 (𝛼) = 𝑓 (𝑥 ∗ + 𝛼𝑑)
13
Short title of document Méthode de Descente Général
𝑓 (𝑥 𝑘+1 ) < 𝑓 (𝑥 𝑘 )
14
Short title of document Méthode de Descente Général
15
Short title of document Méthode de Recherche de Ligne Exacte en 1D
16
Short title of document Méthode de Recherche de Ligne Exacte en 1D
— Critère d’Armijo :
′ 1
𝑓 (𝑥 + 𝛼𝑑) − 𝑓 (𝑥) < 𝜏𝛼 𝑓 (𝑥) · 𝑑, avec 𝜏 ∈ 0, ,
2
— Critère de Wolfe :
17
Short title of document Exemple numérique
※ Exemple numérique
Considérons la fonction suivante :
18
Short title of document Exemple numérique
𝑓 (𝑥) = 𝑥 4 − 3𝑥 3 + 2
Sa dérivée est :
𝑓 ′(𝑥) = 4𝑥 3 − 9𝑥 2
— 𝑥0 = 0.5
— 𝜖 = 10−3
— 𝑁 = 10
— 𝑐 = 10−4
— 𝛼0 = 1
Itération 0
On teste 𝛼 = 1 :
19
Short title of document Exemple numérique
Itération 1
𝑘 𝑥𝑘 𝑓 ′(𝑥 𝑘 ) 𝑑𝑘 𝛼𝑘 𝑥 𝑘+1 𝑓 (𝑥 𝑘 )
0 0.5 -1.75 1.75 1 2.25 1.9375
1 2.25 0 0 — — -6.55
𝑛
1Õ
𝑓 (x) = 𝑓𝑖 (x).
𝑛
𝑖=1
20
Short title of document Exemple numérique
𝑛
′ 1Õ ′
𝑓 (x) = 𝑓𝑖 (x).
𝑛
𝑖=1
x ← x − 𝜂 𝑓𝑖′(x),
E[ 𝑓𝑖′(x)] = 𝑓 ′(x).
21
Short title of document Exemple numérique
𝑦 =𝑤·𝑥+𝑏
𝑛
1Õ
𝐽(𝑤, 𝑏) = (𝑦 𝑖 − (𝑤𝑥 𝑖 + 𝑏))2
𝑛
𝑖=1
22
Short title of document Exemple numérique
Exécution de l’algorithme
23
Short title of document Exemple numérique
Conclusion
Étape 1 : Initialisation
- Initialisez les paramètres 𝑤 = 0 et 𝑏 = 0. - Choisissez un taux d’ap-
prentissage 𝜂 = 0.1.
Étape 2 : Première itération (choisir le premier point (𝑥1 , 𝑦1 ) = (1, 2))
𝑦ˆ1 = 𝑤 · 𝑥1 + 𝑏 = 0 · 1 + 0 = 0
𝜕
= −2 · 𝑥 1 · (𝑦1 − 𝑦ˆ1 ) = −2 · 1 · (2 − 0) = −4
𝜕𝑤
𝜕
= −2 · (𝑦1 − 𝑦ˆ1 ) = −2 · (2 − 0) = −4
𝜕𝑏
Mise à jour des paramètres :
𝜕
𝑤 ← 𝑤−𝜂· = 0 − 0.1 · (−4) = 0.4
𝜕𝑤
𝜕
𝑏 ← 𝑏−𝜂· = 0 − 0.1 · (−4) = 0.4
𝜕𝑏
Étape 3 : Deuxième itération (choisir le second point (𝑥2 , 𝑦2 ) = (2, 4))
24
Short title of document Exemple numérique
𝜕
= −2 · 𝑥2 · (𝑦2 − 𝑦ˆ2 ) = −2 · 2 · (4 − 1.2) = −11.2
𝜕𝑤
𝜕
= −2 · (𝑦2 − 𝑦ˆ2 ) = −2 · (4 − 1.2) = −5.6
𝜕𝑏
Mise à jour des paramètres :
𝜕
𝑤 ← 𝑤−𝜂· = 0.4 − 0.1 · (−11.2) = 1.52
𝜕𝑤
𝜕
𝑏 ← 𝑏−𝜂· = 0.4 − 0.1 · (−5.6) = 0.96
𝜕𝑏
Étape 4 : Troisième itération (choisir le troisième point (𝑥 3 , 𝑦3 ) = (3, 5))
𝜕
= −2 · 𝑥3 · (𝑦3 − 𝑦ˆ3 ) = −2 · 3 · (5 − 4.92) = −0.48
𝜕𝑤
𝜕
= −2 · (𝑦3 − 𝑦ˆ3 ) = −2 · (5 − 4.92) = −0.16
𝜕𝑏
Mise à jour des paramètres :
𝜕
𝑤 ← 𝑤−𝜂· = 1.52 − 0.1 · (−0.48) = 1.568
𝜕𝑤
𝜕
𝑏 ← 𝑏−𝜂· = 0.96 − 0.1 · (−0.16) = 0.976
𝜕𝑏
25
Short title of document Exemple numérique
Figure 1.6 – Régression linéaire avec l’algorithme de Descente de Gradient Stochastique (SGD).
La figure montre l’ajustement de la droite de régression aux données générées. Les points bleus
représentent les données réelles (𝑥 𝑖 , 𝑦 𝑖 ) et la ligne rouge est la prédiction de la régression calculée
par SGD.
𝑦pred = 𝑥 · 𝑤 + 𝑏
26
Short title of document Exemple numérique
𝑛
1Õ
MSE(𝑤, 𝑏) = (𝑦 𝑖 − 𝑦ˆ 𝑖 )2
𝑛
𝑖=1
Avec 𝑦ˆ 𝑖 = 𝑋𝑖 · 𝑤 + 𝑏.
La mise à jour des poids et du biais se fait selon les gradients de la
fonction de coût par rapport à 𝑤 et 𝑏 :
𝜕 2
MSE(𝑤, 𝑏) = 𝑋 𝑇 (𝑋 · 𝑤 + 𝑏 − 𝑦)
𝜕𝑤 𝑛
𝑛
𝜕 2Õ
MSE(𝑤, 𝑏) = (𝑋𝑖 · 𝑤 + 𝑏 − 𝑦 𝑖 )
𝜕𝑏 𝑛
𝑖=1
Les poids et le biais sont ensuite mis à jour à chaque itération de l’algo-
rithme SGD par :
𝜕
𝑤 := 𝑤 − 𝜂 ·MSE(𝑤, 𝑏)
𝜕𝑤
𝜕
𝑏 := 𝑏 − 𝜂 · MSE(𝑤, 𝑏)
𝜕𝑏
Où 𝜂 est le taux d’apprentissage.
L’algorithme 6 basé sur la Descente de Gradient Stochastique (SGD)
ajuste les paramètres de la régression linéaire à partir d’un ensemble de
données. La figure 1.6 montre les points de données (𝑥 𝑖 , 𝑦 𝑖 ) en bleu et la
droite de régression prédite en rouge. Le modèle est optimisé sur 1000
époques. Le tableau 1.3 résume les résultats obtenus, montrant la dimi-
nution de la perte MSE à chaque époque, ce qui indique la convergence
du modèle. Les poids 𝑤 du modèle sont également affichés après chaque
époque.
27
Short title of document Exemple numérique
1
Époque Perte (MSE) Poids (𝑤)
0 3.012 [1.23, -0.47, 2.06, 0.38, 0.52]
100 2.403 [0.89, -0.45, 1.89, 0.32, 0.45]
200 1.672 [0.72, -0.40, 1.50, 0.29, 0.40]
300 1.134 [0.65, -0.37, 1.31, 0.26, 0.36]
400 0.902 [0.61, -0.34, 1.19, 0.24, 0.33]
500 0.786 [0.58, -0.32, 1.13, 0.23, 0.31]
600 0.754 [0.57, -0.31, 1.09, 0.22, 0.30]
700 0.723 [0.56, -0.30, 1.05, 0.21, 0.29]
800 0.695 [0.55, -0.29, 1.02, 0.21, 0.28]
900 0.672 [0.54, -0.28, 0.99, 0.20, 0.27]
Table 1.3 – Résumé des résultats de l’entraînement du modèle avec SGD. Les poids sont mis à jour
à chaque époque et la perte (MSE) diminue à mesure que le modèle converge.
28
Short title of document Exemple numérique
Figure 1.7 – Un CNN est organisé en deux parties : l’extraction de l’information et l’analyse de
cette information (crédit : Lambert Rosique)
1. Convolution
ℎ−1 𝑤−1
Õ Õ
𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗) = 𝐼(𝑖 + 𝑚, 𝑗 + 𝑛) · 𝐾(𝑚, 𝑛)
𝑚=0 𝑛=0
où 𝐼(𝑖, 𝑗) est le pixel de l’image d’entrée à la position (𝑖, 𝑗), et 𝐾(𝑚, 𝑛) est
le poids du filtre à la position (𝑚, 𝑛).
2. Ajout de Biais
𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗) + 𝑏
29
Short title of document Exemple numérique
ReLU(𝑥) = max(0, 𝑥)
4. Pooling (Sous-échantillonnage)
5. Aplatissage (Flattening)
30
Short title of document Exemple numérique
𝑦 = Activation(𝑊 · 𝑥 + 𝑏)
7. Fonction de Perte
Pour entraîner le CNN, une fonction de perte est définie pour mesurer
la différence entre la sortie prédite et la sortie réelle. Pour la classification,
la cross-entropy est couramment utilisée :
𝐶
Õ
𝐿=− 𝑦 𝑖 log( 𝑦ˆ 𝑖 )
𝑖=1
31
Short title of document Exemple numérique
Table 1.4 – Tableau des différentes fonctions de perte et leurs applications courantes en apprentis-
sage machine.
𝑁
1 Õ
𝐿(𝑦, 𝑦)
ˆ = 𝑙 𝑖 , où
𝑁
Perte Huber (Huber 𝑖=1 Régression robuste (moins
Loss) sensible aux outliers)
(
2 (𝑦 𝑖 − 𝑦ˆ 𝑖 ) si |𝑦 𝑖 − 𝑦ˆ 𝑖 | ≤ 𝛿
1 2
𝑙𝑖 =
𝛿(|𝑦 𝑖 − 𝑦ˆ 𝑖 | − 21 𝛿) sinon
32
Short title of document Exemple numérique
𝑦 · 𝑦ˆ Apprentissage de simila-
Perte Cosine (Cosine
𝐿(𝑦, 𝑦)
ˆ =1− rité, modèles de recom-
Loss) ∥𝑦∥∥ 𝑦∥
ˆ
mandation
𝜕𝐿
𝑤 new = 𝑤old − 𝜂
𝜕𝑤
𝜕𝐿
où 𝜂 est le taux d’apprentissage et 𝜕𝑤
est le gradient de la perte par
rapport au poids 𝑤.
Table 1.5 – Tableau des différentes formules de mise à jours des poids et leurs application dans
l’apprentissage automatique.
Algorithme d’Opti-
Mise à Jour des Poids Domaine d’Application
misation
Descente de Gra- Problèmes de grande
dient Stochastique 𝑤 𝑡+1 = 𝑤 𝑡 − 𝜂∇𝐿(𝑤 𝑡 ) échelle, apprentissage
(SGD) profond
33
Short title of document Exemple numérique
Algorithme d’Opti-
Mise à Jour des Poids Domaine d’Application
misation
Apprentissage adaptatif,
AdaGrad (Adaptive 𝜂
𝑤 𝑡+1 = 𝑤 𝑡 − √ ∇𝐿(𝑤 𝑡 ) rareté des données (NLP,
Gradient) 𝐺𝑡 + 𝜖
vision par ordinateur)
𝑚𝑡 = 𝛽 1 𝑚𝑡−1 + (1 − 𝛽 1 )∇𝐿(𝑤 𝑡 ),
34
Short title of document Exemple numérique
Algorithme d’Opti-
Mise à Jour des Poids Domaine d’Application
misation
35