Bonne lecture sur Génie 360 !

La méthode de descente de gradient expliquée simplement

Philosophie de la méthode

Supposons que l’on se trouve à un endroit de ce paysage et que l’on cherche à atteindre le point le plus bas. Si l’on ne peut pas observer l’ensemble du paysage, on peut avancer pas à pas. Une bonne stratégie consiste à se déplacer dans la direction où la pente descend le plus. En poursuivant dans cette direction, on peut espérer atteindre le minimum.

Il est toutefois essentiel de bien choisir la longueur du pas. Si le pas est trop grand, on risque de dépasser le minimum et devoir revenir en arrière. Si le pas est trop petit, il faudra un très grand nombre d’étapes pour y parvenir.

Example pratique

Imaginons que l’on souhaite minimiser une fonction de deux variables, \(f(\theta_1, \theta_2) = \theta_1^2 + \theta_2^2\), c’est-à-dire trouver le couple \((\theta_1, \theta_2)\) pour lequel la fonction f atteint son minimum. Étant donné que cette fonction est toujours positive ou nulle, il semble évident que le point (0, 0) correspond au minimum. Le graphique de cette fonction confirme d’ailleurs que le point le plus bas se situe à cette position.

Mais supposons que l’on ne connaisse pas à l’avance ce minimum, et que l’on souhaite le déterminer à l’aide d’un algorithme numérique. Dans ce cas, l’algorithme de descente de gradient peut être utilisé. Cet algorithme consiste à suivre la direction opposée au gradient — c’est-à-dire la direction de la plus forte descente — afin de se rapprocher progressivement du minimum. Voici comment il fonctionne :

  1. Initialisation : On choisit un point de départ arbitraire, c’est-à-dire une valeur initiale pour \( (\theta_ 1, \theta_2)\).
  2. Calcul du gradient : On calcule le gradient de la fonction en ce point. Pour une fonction de deux variables f(\theta_1, \theta_2), le gradient est donné par : $$\nabla f(\theta_1, \theta_2) = \left( \frac{\partial f}{\partial \theta_1}, \frac{\partial f}{\partial \theta_2} \right)$$. Ce vecteur indique la direction de la plus forte augmentation de la fonction.
  3. Mise à jour des paramètres : On effectue un pas dans la direction opposée au gradient, car l’objectif est de diminuer la fonction. Ce pas est pondéré par un paramètre appelé taux d’apprentissage (learning rate), noté souvent \alpha.

$$\theta’= \theta – \alpha \cdot \nabla f$$

Répétition : On répète ce processus jusqu’à ce que la variation devienne négligeable ou qu’un certain nombre d’itérations soit atteint.

Le tableau ci-dessous illustre l’évolution des paramètres \(\theta_1\) et \(\theta_2\) au fil des itérations de la descente de gradient, appliquée à la fonction \(f(\theta_1, \theta_2) = \theta_1^2 + \theta_2^2\). Le taux d’apprentissage utilisé dans cet exemple est \(\alpha = 0.1\), ce qui signifie que l’algorithme ajuste les paramètres à chaque itération en avançant de 10 % dans la direction opposée au gradient. À chaque étape, les valeurs de \(\theta\) diminuent progressivement, ce qui entraîne une réduction de la valeur de la fonction f, signe que l’on s’approche du minimum. Les deux dernières colonnes montrent les dérivées partielles (le gradient) par rapport à \(\theta_1\) et \(\theta_2\). Ces dérivées deviennent de plus en plus petites à chaque itération, confirmant que la pente de la surface s’aplatit à mesure que l’on descend. Autrement dit, plus on se rapproche du minimum, plus le gradient s’atténue, ce qui ralentit naturellement le mouvement de l’algorithme. Ce comportement est caractéristique de la descente de gradient : elle commence par de grands pas et ralentit progressivement à l’approche de l’optimum.

Itération\(\theta_1\)\(\theta_2\)\(f(\theta)\)\(\frac{\partial f}{\partial \theta_1}\)\(\frac{\partial f}{\partial \theta_2}\)
07.00007.000098.000014.000014.0000
15.60005.600062.720011.200011.2000
24.48004.480040.14088.96008.9600
33.58403.584025.69017.16807.1680
42.86722.867216.44175.73445.7344
52.29382.293810.52274.58754.5875
200.26450.26450.13990.52900.5290
300.07130.07130.01020.14260.1426
400.01920.01920.00070.03850.0385
500.00520.00520.00010.01040.0104

Comment le taux d’apprentissage influence la descente de gradient

Dans le cas où l’on utilise un taux d’apprentissage \(\alpha=0.1\), on observe qu’en 50 itérations, l’algorithme parvient déjà très près du minimum (0, 0). Pour comparer, examinons maintenant ce qui se passe lorsqu’on utilise plutôt \(\alpha=0.001\) et \(\alpha=0.75\).

Cas \(\alpha=0.001\)

Lorsque le taux d’apprentissage est fixé à \(\alpha = 0.001\), la descente de gradient progresse de manière très lente. Les premières itérations montrent une réduction presque imperceptible de la fonction \(f(\theta_1, \theta_2)\), malgré des gradients encore significatifs. Après 50 itérations, les paramètres \(\theta_1​\) et \(\theta_2\)​ ont à peine diminué, et la valeur de la fonction reste encore loin de zéro. Ce comportement illustre bien l’un des effets d’un taux d’apprentissage trop faible : l’algorithme nécessite un grand nombre d’itérations pour s’approcher du minimum. Bien qu’il peut aussi garantir une certaine stabilité, un tel choix ralentit considérablement la convergence.

Itération\(\theta_1\)\(\theta_2\)\(f(\theta)\)\(\frac{\partial f}{\partial \theta_1}\)\(\frac{\partial f}{\partial \theta_2}\)
07.07.098.014.014.0
16.9866.98697.60813.97213.972
26.9726.97297.21813.94413.944
36.9586.95896.82913.91613.916
486.3586.35880.86412.71712.717
496.3456.34580.54112.69112.691
506.3336.33380.21912.66612.666

Cas \(\alpha=0.75\)

Avec un taux d’apprentissage élevé de \(\alpha = 0.75\), la descente de gradient converge très rapidement vers le minimum. Dès la première itération, on observe une réduction drastique de la valeur de la fonction, passant de 98 à 24,5, et les paramètres \(\theta_1\)​ et \(\theta_2\) diminuent par un facteur de deux à chaque étape. En moins de dix itérations, l’algorithme atteint des valeurs très proches de zéro, et le gradient devient quasiment nul. Toutefois, dans d’autres cas, un tel taux pourrait entraîner des instabilités et rendre la convergence vers le minimum recherché plus difficile.

Itération\(\theta_1\)\(\theta_2\)\(f(\theta)\)\(\frac{\partial f}{\partial \theta_1}\)\(\frac{\partial f}{\partial \theta_2}\)
07.07.098.014.014.0
1-3.5-3.524.5-7.0-7.0
21.751.756.1253.53.5
3-0.875-0.8751.53125-1.75-1.75
482.48E-142.48E-141.23E-274.97E-144.97E-14
49-1.24E-14-1.24E-143.09E-28-2.48E-14-2.48E-14
506.21E-156.21E-157.73E-291.24E-141.24E-14

En résumé, la valeur de \(\alpha\) influence directement la vitesse à laquelle l’algorithme de descente de gradient s’approche du minimum. Le graphique ci-dessous illustre cet impact : un petit \(\alpha\) ralentit considérablement la convergence, tandis qu’un \(\alpha\) plus élevé permet une diminution rapide de la fonction dès les premières itérations. Il convient toutefois de noter qu’un \(\alpha\) trop grand peut entraîner des instabilités et empêcher l’algorithme de converger vers le minimum recherché. Cela souligne l’importance de bien choisir ce paramètre afin de trouver un équilibre entre efficacité et stabilité dans le processus d’optimisation.

Conclusion

À travers un exemple simple et visuel, nous avons découvert le fonctionnement de la descente de gradient : une méthode qui permet de minimiser une fonction en suivant, à chaque étape, la direction opposée à celle de la plus forte pente. En partant d’un point éloigné du minimum, l’algorithme ajuste progressivement les paramètres pour s’en rapprocher. Cet exemple met également en lumière l’importance du taux d’apprentissage \(\alpha\), qui détermine à la fois la vitesse et la stabilité de la convergence. Lorsqu’il est trop faible, l’algorithme progresse lentement ; s’il est trop élevé, il peut devenir instable. Il est cependant intéressant de noter que plus on s’approche du minimum, plus le gradient devient petit, ce qui réduit naturellement l’amplitude des mises à jour. Cela explique pourquoi, dans certains cas simples, un taux d’apprentissage élevé peut rester efficace sans provoquer de divergence. Cet unique exemple montre qu’il est possible de s’approcher d’une solution optimale à force de pas bien orientés, même sans connaître à l’avance la position exacte du minimum.

Une réponse à “La méthode de descente de gradient expliquée simplement”

Laisser un commentaire

En savoir plus sur Génie 360

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Poursuivre la lecture