Pas encore de compte ?
La descente de gradient stochastique est considéré comme une approximation stochastique de l'optimisation de descente de gradient, puisqu'il remplace le gradient réel par une estimation de celui-ci.
La descente de gradient stochastique est devenue une méthode d'optimisation importante dans l'apprentissage automatique.
Le mot stochastique désigne un système ou un processus lié à une probabilité aléatoire.
Dans le Stochastic Gradient Descent, certains échantillons sont sélectionnés au hasard au lieu de l'ensemble des données pour chaque itération.
Le Stochastic Gradient Descent n'utilise qu'un seul échantillon.
Implémentation de descente de gradient stochastique, SGD avec momentum, Adagrad, RMSprop, Adam, optimiseur Adamax à partir de zéro
Relation entre les différents algorithmiques
Tous ces algorithmes sont développés les uns à partir des autres ou combinés pour obtenir un fonctionnement optimal.
Descente de gradient
En mathématiques, la descente de gradient (également souvent appelée descente la plus raide) est un algorithme d'optimisation itératif du premier ordre permettant de trouver un minimum local d'une fonction différentiable. L'idée est de faire des pas répétés dans la direction opposée du gradient (ou du gradient approximatif) de la fonction au point actuel car c'est la direction de la descente la plus raide.
La dimension des flèches ci-dessous dépend de la variable du taux d'apprentissage.
SGD(Descente de gradient stochastique)
Descente de gradient stochastique, quelques échantillons sont sélectionnés au hasard au lieu de l'ensemble de données complet pour chaque itération. opérations de calcul de descente de gradient sur tous les ensembles de données. Le problème survient lorsque les données sont si volumineuses (par exemple, 200 millions de données). Ce problème est résolu par Stochastic Gradient Descent. Dans SGD, il n'utilise qu'un seul échantillon, c'est-à-dire une taille de lot de un, pour effectuer chaque itération. dans SGD, on trouve le gradient de la fonction de coût d'un seul exemple à chaque itération au lieu de la somme du gradient de la fonction de coût de tous les exemples.
SGD est généralement plus bruyant que la descente de gradient typique.
SGD avec momentum
SGD avec Momentum est une méthode d'optimisation stochastique qui ajoute un terme de momentum à la descente de gradient stochastique régulière
Une valeur typique est de 0,9. Le nom de l'élan vient d'une analogie avec la physique, comme une balle accélérant sur une pente. Dans le cas des mises à jour de poids, nous pouvons considérer les poids comme une particule voyageant à travers l'espace des paramètres qui subit une accélération à partir du gradient de la perte. mais pourquoi l'élan ? En fait, SGD avec momentum est la méthode qui aide à accélérer les vecteurs de gradients dans les bonnes directions, conduisant ainsi à une convergence plus rapide.
Adagrad
Adagrad nous permet de donner plus d'importance aux mises à jour de paramètres qui ont des caractéristiques associées qui sont rares, ou plus généralement, de donner plus d'importance aux mises à jour de paramètres qui ont expérimenté un enregistrement de gradients relativement plus faibles.
Adagrad nous permet de donner plus d'importance aux mises à jour de paramètres qui ont des caractéristiques associées qui sont rares, ou plus généralement, de donner plus d'importance aux mises à jour de paramètres qui ont expérimenté un enregistrement de gradients relativement plus faibles.Il existe une légère variation d'AdaGrad appelée RMSProp (Root Mean Squared Propagation) qui résout le problème d'AdaGrad. Avec RMSProp, nous gardons toujours la somme cumulée des gradients au carré, mais au lieu de laisser cette somme croître continuellement tout au long de la formation, nous laissons cette somme décroître. Algorithmes d'optimisation en Deep Learning.
RMSprop
Il existe une légère variation d'AdaGrad appelée RMSProp (Root Mean Squared Propagation) qui résout le problème d'AdaGrad. Avec RMSProp, nous gardons toujours la somme cumulée des gradients au carré, mais au lieu de laisser cette somme croître continuellement tout au long de la formation, nous laissons cette somme décroître. Algorithmes d'optimisation en Deep Learning.
L'étape de mise à jour dans le cas de RMSProp ressemble à celle d'AdaGrad où nous divisons le gradient actuel par la somme des gradients au carré pour avoir cette belle propriété d'accélérer le mouvement le long d'une dimension et de ralentir le mouvement le long de l'autre dimension. Le taux d'apprentissage RMSprop est toujours manuel car la valeur suggérée n'est pas toujours appropriée pour chaque tâche.
Adam
L'estimation adaptative du moment (Adam) est une autre méthode qui calcule les taux d'apprentissage adaptatifs pour chaque paramètre. En plus de stocker une moyenne en décroissance exponentielle des gradients au carré passés vt comme Adadelta et RMSprop, Adam conserve également une moyenne en décroissance exponentielle des gradients passés mt, similaire à l'élan.
Adam est l'optimiseur le plus courant dans les modèles d'apprentissage profond car :
1.Nécessite peu d'espace mémoire
2. Bon pour les objectifs non stationnaires
3. Fonctionne bien sur les problèmes avec des gradients bruyants ou clairsemés
4. Fonctionne bien avec de grands ensembles de données et de grands paramètres
Adamax
Adamax est une variante d'Adam basée sur la norme de l'infini.
Comparaison
Gradient-descent-optimizer-variations
Copyright (c) 2022 Mohamadreza Khanmohamadi
Implémentation de différents algorithmes d'optimisation de descente de gradient stochastique
Cliquez sur l'image
neural-net-gradient-optimization - GitHub
Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !
Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License