Je sais que la descente de gradient stochastique a un comportement aléatoire, mais je ne sais pas pourquoi.
Y a-t-il une explication à ce sujet?
Je sais que la descente de gradient stochastique a un comportement aléatoire, mais je ne sais pas pourquoi.
Y a-t-il une explication à ce sujet?
Réponses:
L'algorithme de gradient stochastique (SG) se comporte comme un algorithme de recuit simulé (SA), où le taux d'apprentissage du SG est lié à la température de SA. Le caractère aléatoire ou le bruit introduit par SG permet d'échapper aux minima locaux pour atteindre un meilleur minimum. Bien sûr, cela dépend de la vitesse à laquelle vous diminuez le taux d'apprentissage. Lisez la section 4.2, de Stochastic Gradient Learning in Neural Networks (pdf) , où elle est expliquée plus en détail.
En descente de gradient stochastique, les paramètres sont estimés pour chaque observation, par opposition à l'ensemble de l'échantillon en descente de gradient régulière (descente de gradient par lots). C'est ce qui lui donne beaucoup d'aléatoire. Le chemin de la descente du gradient stochastique erre sur plus d'endroits, et est donc plus susceptible de «sauter» d'un minimum local et de trouver un minimum global (Remarque *). Cependant, la descente de gradient stochastique peut toujours rester bloquée dans le minimum local.
Remarque: Il est courant de maintenir le taux d'apprentissage constant, dans ce cas, la descente de gradient stochastique ne converge pas; il erre juste autour du même point. Cependant, si le taux d'apprentissage diminue avec le temps, par exemple, il est inversement lié au nombre d'itérations, la descente du gradient stochastique convergerait.
Comme cela a déjà été mentionné dans les réponses précédentes, la descente de gradient stochastique a une surface d'erreur beaucoup plus bruyante puisque vous évaluez chaque échantillon de manière itérative. Pendant que vous faites un pas vers le minimum global dans la descente de gradient par lots à chaque époque (passez sur l'ensemble d'entraînement), les étapes individuelles de votre gradient de descente de gradient stochastique ne doivent pas toujours pointer vers le minimum global selon l'échantillon évalué.
Pour visualiser cela à l'aide d'un exemple en deux dimensions, voici quelques figures et dessins de la classe d'apprentissage automatique d'Andrew Ng.
Première descente de gradient:
Deuxièmement, la descente du gradient stochastique:
Le cercle rouge dans la figure inférieure illustrera que la descente de gradient stochastique "continuera à se mettre à jour" quelque part dans la zone autour du minimum global si vous utilisez un taux d'apprentissage constant.
Voici donc quelques conseils pratiques si vous utilisez la descente de gradient stochastique:
1) mélangez l'ensemble d'entraînement avant chaque époque (ou itération dans la variante "standard")
2) utiliser un taux d'apprentissage adaptatif pour "recuire" plus près du minimum global
for
fais une boucle dans l'ensemble mélangé