La descente de gradient stochastique (SGD) est une méthode itérative d'optimisation d'une fonction objective qui a connu une évolution étonnante depuis les années 1950, notamment dans le contexte de l'apprentissage automatique. Cette méthode a été proposée à l'origine par Herbert Robbins et Sutton Monod en 1951. Son idée principale est d'approcher le gradient réel de l'ensemble de données en estimant un sous-ensemble de données sélectionné au hasard. Cette stratégie permet à SGD de réduire la charge de calcul et d'obtenir des itérations plus rapides lorsqu'il s'agit de problèmes d'optimisation de grande dimension.
"La descente de gradient stochastique constitue un moyen efficace de résoudre les problèmes d'optimisation sur des ensembles de données à grande échelle."
Dans l'estimation statistique et l'apprentissage automatique, le problème de la minimisation d'une fonction objectif restreinte est considéré comme une priorité absolue. Ces problèmes peuvent souvent être exprimés sous forme de somme, où chaque terme est associé à une observation dans l’ensemble de données. En statistique, de tels problèmes de minimisation surviennent dans les méthodes des moindres carrés et l'estimation du maximum de vraisemblance. Avec l’essor rapide de l’apprentissage profond aujourd’hui, la descente de gradient stochastique est devenue un outil important dans les algorithmes d’optimisation.
La principale caractéristique de la descente de gradient stochastique est qu'elle utilise un seul échantillon pour calculer le gradient à chaque mise à jour. Cela entraîne une réduction significative du coût de calcul nécessaire à l’exécution de chaque itération lorsque l’ensemble de données est très volumineux. Pour améliorer encore l'efficacité, des recherches ultérieures ont introduit le concept de descente de gradient en mini-lots, qui utilise plusieurs échantillons par mise à jour, exploitant ainsi les bibliothèques de vectorisation pour accélérer le calcul.
"Les méthodes mini-batch combinent l'efficacité de la descente de gradient stochastique avec la stabilité des méthodes batch."
Prenons l'exemple de la régression linéaire. En minimisant la différence entre la valeur prédite et la valeur réelle, les paramètres optimaux du modèle peuvent être obtenus. Ceci peut être réalisé grâce à la descente de gradient stochastique, où les paramètres doivent uniquement être mis à jour sur la base d'un point de données à la fois. Cela permet non seulement de traiter de grandes quantités de données, mais augmente également la vitesse de mise à jour des modèles.
La descente de gradient stochastique a connu plusieurs changements majeurs depuis les travaux initiaux de Robbins et Monod. En 1956, Jack Keefer et Jacob Wolfowitz ont publié un algorithme d'optimisation très similaire à la descente de gradient stochastique, tandis que Frank Rosenblatt a utilisé cette méthode pour optimiser son perceptron la même année. Avec la première description de l'algorithme de rétropropagation, SGD est largement utilisé pour l'optimisation des paramètres des réseaux neuronaux multicouches.
Dans les années 2010, des variantes de la descente de gradient stochastique ont émergé sans cesse, en particulier l'émergence de technologies qui ajustent automatiquement les taux d'apprentissage, telles qu'AdaGrad, RMSprop et Adam. Ces méthodes rendent SGD plus efficace dans la gestion des tâches d'apprentissage complexes. Aujourd'hui, la plupart des bibliothèques d'apprentissage automatique traditionnelles telles que TensorFlow et PyTorch contiennent des optimiseurs basés sur Adam, et ces optimiseurs sont devenus la pierre angulaire de l'apprentissage automatique moderne.
Jusqu'à présent, les applications de la descente de gradient stochastique se sont répandues dans de nombreux domaines, notamment la vision par ordinateur, la reconnaissance vocale et le traitement du langage naturel. Dans ces domaines, SGD est largement utilisé pour son efficacité et sa flexibilité, et est devenu un outil nécessaire à la formation de modèles de deep learning. Du passé à nos jours, la descente de gradient stochastique a non seulement changé la façon dont nous traitons le Big Data, mais a également ouvert la voie au développement de l’intelligence artificielle.
« La descente de gradient stochastique n'est pas seulement un progrès technologique, mais aussi un moteur important pour la réalisation d'un monde intelligent. »
Depuis les expériences préliminaires des années 1950 jusqu'à son application généralisée aujourd'hui, la descente de gradient stochastique a montré sa forte vitalité et sa grande adaptabilité.