Maison >Périphériques technologiques >IA >Introduction aux optimiseurs d'apprentissage automatique - discussion sur les types et applications d'optimiseurs courants
L'optimiseur est un algorithme d'optimisation utilisé pour trouver des valeurs de paramètres qui minimisent l'erreur afin d'améliorer la précision du modèle. En apprentissage automatique, un optimiseur trouve la meilleure solution à un problème donné en minimisant ou en maximisant une fonction de coût.
Dans différents modèles d'algorithmes, il existe de nombreux types d'optimiseurs différents, chacun avec ses propres avantages et inconvénients. Les optimiseurs les plus courants sont la descente de gradient, la descente de gradient stochastique, la descente de gradient stochastique avec impulsion, la descente de gradient adaptative et la racine carrée moyenne. Chaque optimiseur dispose de paramètres réglables qui peuvent être ajustés pour améliorer les performances.
Decente de gradient (GD)
La descente de gradient est un algorithme d'optimisation de premier ordre de base qui s'appuie sur la dérivée de premier ordre de la fonction de perte. Il recherche la valeur de la fonction de coût minimum en mettant à jour les poids de l'algorithme d'apprentissage et trouve les valeurs de paramètres les plus appropriées correspondant au minimum global. Grâce à la rétropropagation, la perte est transmise d'une couche à l'autre et les paramètres du modèle sont ajustés en fonction de la perte pour minimiser la fonction de perte.
Il s'agit de l'un des optimiseurs les plus anciens et les plus couramment utilisés dans les réseaux de neurones et il est le mieux adapté aux situations où les données sont organisées d'une manière qui présente un problème d'optimisation convexe.
L'algorithme de descente de gradient est très simple à mettre en œuvre, mais il y a un risque de rester coincé dans un minimum local, c'est-à-dire qu'il ne convergera pas vers le minimum.
Descente de gradient stochastique (SGD)
En tant qu'extension de l'algorithme de descente de gradient, la descente de gradient stochastique surmonte certaines des lacunes de l'algorithme de descente de gradient. Dans la descente de gradient stochastique, au lieu d'obtenir l'intégralité de l'ensemble de données à chaque itération, des lots de données sont sélectionnés de manière aléatoire, ce qui signifie que seul un petit nombre d'échantillons est prélevé de l'ensemble de données.
Par conséquent, l'algorithme de descente de gradient stochastique nécessite plus d'itérations pour atteindre le minimum local. Plus le nombre d’itérations augmente, plus le temps de calcul global augmente. Mais même après avoir augmenté le nombre d’itérations, le coût de calcul reste inférieur à celui de l’optimiseur de descente de gradient.
Descente de gradient stochastique avec élan
De ce qui précède, nous savons que le chemin emprunté par la descente de gradient stochastique sera plus bruyant que la descente de gradient et que le temps de calcul sera plus long. Pour surmonter ce problème, nous utilisons la descente de gradient stochastique avec un algorithme de moment.
Le rôle de l'élan est d'aider la fonction de perte à converger plus rapidement. Cependant, vous devez vous rappeler lorsque vous utilisez cet algorithme que le taux d'apprentissage diminue avec une dynamique élevée.
Descente de gradient adaptative (Adagrad)
L'algorithme de descente de gradient adaptatif est légèrement différent des autres algorithmes de descente de gradient. En effet, l'algorithme utilise un taux d'apprentissage différent à chaque itération. Le taux d'apprentissage change en fonction des différences de paramètres lors de l'entraînement. Plus le changement de paramètre est important, plus le changement du taux d'apprentissage est faible.
L'avantage de l'utilisation de la descente de gradient adaptative est qu'elle élimine le besoin de modifier manuellement le taux d'apprentissage, atteindra la convergence plus rapidement et la descente de gradient adaptative sera plus fiable que l'algorithme de descente de gradient et ses variantes.
Mais l'optimiseur adaptatif de descente de gradient réduira de manière monotone le taux d'apprentissage, ce qui rendra le taux d'apprentissage très faible. En raison du faible taux d’apprentissage, le modèle ne peut pas obtenir davantage d’améliorations, ce qui affecte en fin de compte la précision du modèle.
Root Mean Square (RMS Prop) Optimizer
RMS Prop est l'un des optimiseurs populaires parmi les passionnés d'apprentissage en profondeur. Bien qu’il n’ait pas été officiellement publié, il est toujours bien connu dans la communauté. La racine carrée moyenne est également considérée comme une amélioration par rapport aux optimiseurs adaptatifs de descente de gradient, car elle réduit le taux d'apprentissage décroissant de manière monotone.
L'algorithme quadratique moyen se concentre principalement sur l'accélération du processus d'optimisation en réduisant le nombre d'évaluations de fonctions pour atteindre un minimum local. Cet algorithme conserve une moyenne mobile des carrés des gradients pour chaque poids et divise les gradients par la racine carrée du carré moyen.
Comparé à l'algorithme de descente de gradient, cet algorithme converge rapidement et nécessite moins d'ajustements. Le problème avec l'optimiseur quadratique moyen est que le taux d'apprentissage doit être défini manuellement et ses valeurs recommandées ne s'appliquent pas à toutes les applications.
Adam optimiseur
Le nom Adam vient de l'estimation adaptative du moment. Cet algorithme d'optimisation est une extension supplémentaire de la descente de gradient stochastique et est utilisé pour mettre à jour les pondérations du réseau pendant la formation. Au lieu de maintenir un taux d'apprentissage unique grâce à un entraînement par descente de gradient stochastique, l'optimiseur Adam met à jour le taux d'apprentissage de chaque poids de réseau individuellement.
L'optimiseur Adam hérite des caractéristiques des algorithmes adaptatifs de descente de gradient et de racine quadratique moyenne. L'algorithme est facile à mettre en œuvre, a une durée d'exécution plus rapide, nécessite peu de mémoire et nécessite moins d'ajustements que les autres algorithmes d'optimisation.
Ceux-ci ci-dessus sont quelques-uns des optimiseurs largement utilisés dans les tâches d'apprentissage automatique. Chaque optimiseur a ses avantages et ses inconvénients, il est donc crucial de comprendre les exigences de la tâche et le type de données à traiter pour choisir un optimiseur et y parvenir. d'excellents résultats sont importants.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!