Optimiseurs : gradient, moment, Adam
Trois optimiseurs partent du même point sur une surface à deux variables. Comparez leurs trajectoires sur les lignes de niveau : zigzag, élan, pas adaptatif.
Choisissez une fonction, un point de départ et un taux d’apprentissage, puis regardez le point descendre la pente : convergence, oscillations, divergence, minimums locaux.
Calcul de l’itération k = 0
| k | xk | f(xk) | f′(xk) |
|---|---|---|---|
| 0 | 2,5 | 6,25 | 5 |
| 1 | 2 | 4 | 4 |
| 2 | 1,6 | 2,56 | 3,2 |
| 3 | 1,28 | 1,6384 | 2,56 |
| 4 | 1,024 | 1,048576 | 2,048 |
| 5 | 0,8192 | 0,671089 | 1,6384 |
| 6 | 0,65536 | 0,429497 | 1,31072 |
| 7 | 0,524288 | 0,274878 | 1,048576 |
| 8 | 0,41943 | 0,175922 | 0,838861 |
| 9 | 0,335544 | 0,11259 | 0,671089 |
| 10 | 0,268435 | 0,072058 | 0,536871 |
| 11 | 0,214748 | 0,046117 | 0,429497 |
| 12 | 0,171799 | 0,029515 | 0,343597 |
| 13 | 0,137439 | 0,018889 | 0,274878 |
| 14 | 0,109951 | 0,012089 | 0,219902 |
| 15 | 0,087961 | 0,007737 | 0,175922 |
| 16 | 0,070369 | 0,004952 | 0,140737 |
| 17 | 0,056295 | 0,003169 | 0,11259 |
| 18 | 0,045036 | 0,002028 | 0,090072 |
| 19 | 0,036029 | 0,001298 | 0,072058 |
| 20 | 0,028823 | 0,000831 | 0,057646 |
| 21 | 0,023058 | 0,000532 | 0,046117 |
| 22 | 0,018447 | 0,00034 | 0,036893 |
| 23 | 0,014757 | 0,000218 | 0,029515 |
| 24 | 0,011806 | 0,000139 | 0,023612 |
| 25 | 0,009445 | 8,92·10^−5 | 0,018889 |
| 26 | 0,007556 | 5,71·10^−5 | 0,015112 |
| 27 | 0,006045 | 3,65·10^−5 | 0,012089 |
| 28 | 0,004836 | 2,34·10^−5 | 0,009671 |
| 29 | 0,003869 | 1,5·10^−5 | 0,007737 |
| 30 | 0,003095 | 9,58·10^−6 | 0,00619 |
| 31 | 0,002476 | 6,13·10^−6 | 0,004952 |
| 32 | 0,001981 | 3,92·10^−6 | 0,003961 |
| 33 | 0,001585 | 2,51·10^−6 | 0,003169 |
| 34 | 0,001268 | 1,61·10^−6 | 0,002535 |
| 35 | 0,001014 | 1,03·10^−6 | 0,002028 |
| 36 | 0,000811 | 6,58·10^−7 | 0,001623 |
| 37 | 0,000649 | 4,21·10^−7 | 0,001298 |
| 38 | 0,000519 | 2,7·10^−7 | 0,001038 |
| 39 | 0,000415 | 1,73·10^−7 | 0,000831 |
| 40 | 0,000332 | 1,1·10^−7 | 0,000665 |
La descente de gradient cherche un minimum d'une fonction en répétant un geste très simple : mesurer la pente, puis faire un pas dans la direction qui descend.
Dans un réseau de neurones, devient le vecteur de tous les poids et la fonction de perte, mais la règle reste la même, appliquée à chaque coordonnée.
Prenons , dont la dérivée vaut . La mise à jour devient :
À chaque itération, est multiplié par le même facteur . Tout le comportement se lit dans ce facteur :
| Taux | Facteur | Comportement |
|---|---|---|
| convergence régulière, du même côté | ||
| minimum atteint en un seul pas | ||
| oscillations amorties autour du minimum | ||
| oscillation perpétuelle, sans progrès | ||
| divergence : chaque pas éloigne du minimum |
Plus généralement, pour une fonction de courbure (ici ), la descente est stable tant que . C'est pourquoi un même taux peut convenir à une fonction et faire diverger une autre.
La descente « pure » est sensible à la courbure : dans une vallée étroite, elle zigzague. Les variantes avec moment et Adam corrigent ce défaut en gardant la mémoire des pentes passées ; elles sont comparées dans la démonstration des optimiseurs.
Trois optimiseurs partent du même point sur une surface à deux variables. Comparez leurs trajectoires sur les lignes de niveau : zigzag, élan, pas adaptatif.
Affectation, mise à jour, affectation… Suivez les centres jusqu’à la convergence, et découvrez les cas où K-Means se trompe : mauvais départ, groupes étirés, anneaux.
Déplacez les points et regardez la droite des moindres carrés suivre. Puis apprenez la même droite par descente de gradient et comparez.