Qu'est-ce que la descente en gradient ? Le guide essentiel pour les développeurs

Qu'est-ce que la descente en gradient ? Le guide essentiel pour les développeurs
Qu'est-ce que la descente en gradient ?
La descente de gradient est en effet l'un des algorithmes d'optimisation les plus utilisés dans l'apprentissage profond et la formation de modèles d'apprentissage automatique. Grâce à des ajustements itératifs des paramètres du modèle, la descente de gradient vise à minimiser la fonction de coût, en atteignant la valeur optimale. Ce processus itératif permet au modèle de s'améliorer progressivement en apprenant de chaque mise à jour des paramètres. L'algorithme continue d'ajuster les paramètres jusqu'à ce que la fonction converge vers un point d'erreur minimale, ce qui facilite l'affinement des performances du modèle.
Types de descente de gradient
Trois types de descente de gradient sont utilisés dans la formation des réseaux neuronaux : par lots, stochastique et par mini-lots.
Descente de gradient par lots
La [descente de gradient par lots] (https://zilliz.com/glossary/batch-gradient-descent) doit d'abord évaluer tous les échantillons de formation et calculer les erreurs cumulées avant de modifier le modèle.
Il s'agit d'une méthode efficace d'apprentissage des modèles en raison de la précision du processus. Néanmoins, elle peut entraîner un temps de calcul plus long pour les grands ensembles de données. Supposons que nous ayons un million d'échantillons à évaluer ; la descente de gradient par lots exécutera un million d'époques pour trouver l'erreur dans chaque échantillon, après quoi elle les additionnera et utilisera la dérivée pour ajuster le modèle. Cette opération prend beaucoup de temps.
Descente de gradient stochastique
Contrairement à la descente de gradient par lots, la descente de gradient stochastique évalue chaque échantillon d'apprentissage un par un et ajuste immédiatement le modèle plutôt que d'attendre la somme de l'erreur totale.
La descente de gradient stochastique nécessite moins de mémoire que la descente de gradient par lots puisqu'elle n'a besoin de garder en mémoire qu'un seul échantillon à la fois. Elle permet de mieux sortir des minima locaux grâce à ses nombreuses mises à jour. Cependant, la descente de gradient par lots est plus efficace pour l'apprentissage car elle prend en compte toutes les données en une seule fois.
Descente de gradient par mini-lots
La descente de gradient par mini-lots crée un équilibre entre la descente de gradient par lots et la descente de gradient stochastique en combinant les deux concepts. Elle divise l'ensemble de données d'apprentissage en lots plus petits, ce qui lui permet d'effectuer des mises à jour sur chaque lot en une seule fois. Grâce à l'efficacité de calcul de la descente de gradient par lots et à la vitesse de la descente de gradient stochastique, vous pouvez tirer le meilleur parti de vos échantillons d'apprentissage.
Rôle de la descente de gradient dans l'apprentissage automatique
La descente de gradient joue un rôle important dans l'apprentissage automatique, en particulier dans l'entraînement des modèles d'apprentissage automatique pour déterminer les valeurs optimales de leurs fonctions de perte. Il s'agit d'un algorithme qui fonctionne par ajustement itératif d'un ensemble donné de paramètres (biais/poids) nécessitant une optimisation. Cette technique vise à affiner continuellement ces paramètres afin de trouver la meilleure valeur ou la valeur optimale au sein de la fonction.
En utilisant la descente de gradient, les modèles ML améliorent leur précision de prédiction à chaque itération d'ajustement des paramètres. Par conséquent, ce processus itératif vise à minimiser la disparité entre les résultats prédits et les résultats réels, ce qui permet au modèle d'assimiler de nouveaux modèles.
Comment fonctionne l'algorithme de descente de gradient ?
En termes techniques, la descente de gradient est une technique d'optimisation qui permet de trouver le minimum local ou global d'une [fonction de coût] (https://www.simplilearn.com/tutorials/machine-learning-tutorial/cost-function-in-machine-learning). La logique mathématique qui sous-tend la descente de gradient consiste à modifier le paramètre dans une direction qui réduit la valeur de la fonction en fonction du paramètre initial et de la pente.
La descente de gradient est un algorithme de formation très puissant qui peut être appliqué à l'apprentissage profond et à diverses logiques d'apprentissage automatique, telles que les réseaux neuronaux, la régression linéaire et la régression logistique. En optimisant les ensembles de données à l'aide d'un cadre à haut rendement, la descente de gradient renvoie le coût le plus bas d'une fonction.
Maintenant, la question est de savoir comment la descente de gradient va savoir dans quelle direction aller (pente), quel pas doit-elle faire à chaque itération (taux d'apprentissage), et quand va-t-elle arrêter d'apprendre (minimum local ou global) ?
Explication pas à pas
Paramètre initial: Disons, par exemple, que vous êtes à la recherche d'une maison et que vous voulez savoir combien coûteront toutes les maisons qui vous intéressent. Pour obtenir une fourchette de prix, vous devez tenir compte des éléments suivants : le quartier où se trouvent les maisons, la taille des maisons, etc. En analysant tous ces paramètres, vous devriez obtenir une estimation de prix qui vous permettra de vous rapprocher des prix réels. Après avoir prédit une fourchette de prix, la descente de gradient optimise le prix prédit pour obtenir le prix réel. Dans les modèles d'apprentissage automatique, le prix n'est pas un paramètre, mais des poids ou des biais.
**Maintenant que nous avons un paramètre initial, le prix prédit, nous devons définir une fonction de coût que nous pouvons utiliser pour mesurer l'erreur entre notre valeur initiale et la valeur réelle ou attendue. L'objectif de la fonction de coût est de quantifier la qualité ou la faiblesse d'une prédiction par rapport à sa valeur définie, ce qui permet au modèle d'ajuster continuellement ses paramètres jusqu'à ce qu'il atteigne le point d'erreur le plus bas.
**La pente ou le gradient indique la trajectoire et l'ampleur de l'orientation de la fonction de coût à partir de la position actuelle. Elle pointe dans la direction où l'augmentation de la fonction de coût est la plus significative.
NP = OP - SS
SS = taux d'apprentissage x pente
La formule d'optimisation en descente de gradient
Mathématiquement, la formule pour réaliser la descente de gradient est NP = OP - SS. NP est le nouveau paramètre, OP est l'ancien paramètre et SS est la taille du pas ou le taux d'apprentissage x la pente. Le taux d'apprentissage est la taille du pas nécessaire pour que la descente de gradient se déplace dans la direction du minimum local. Par exemple, si vous vous rendez à pied au travail depuis votre domicile et que vous êtes en retard, vous ferez des pas plus grands parce que vous essayez d'arriver à temps au travail, mais dès que vous commencez à approcher de votre bureau, la taille de votre pas diminue parce que vous êtes presque arrivé à votre destination (minimum local). Ce sont ces pas que représente le taux d'apprentissage.
Défis de la descente de gradient
Bien qu'elle soit l'un des algorithmes d'optimisation les plus puissants, la descente de gradient présente quelques difficultés qui peuvent entraver ses performances. En voici quelques-uns :
- Minimum local: La descente de gradient a tendance à confondre le minimum local avec le minimum global, en particulier dans le cas où vous avez plus d'un pic ou d'un point de selle. Normalement, la descente de gradient arrête l'apprentissage lorsque la fonction de coût est à son minimum ou à zéro. Cependant, lorsqu'il s'agit d'une pente avec un point de selle continu, la descente de gradient doit converger vers le [minimum global plutôt que le minimum local] (https://vitalflux.com/local-global-maxima-minima-explained-examples/).
- Un gradient qui s'évanouit est dû au fait que le gradient est trop petit. Au fur et à mesure que le gradient rétropropage, il devient plus petit, ce qui entraîne un processus d'apprentissage plus lent pour le gradient. Lorsque cela continue à se produire, les paramètres de poids se mettent à jour et deviennent progressivement insignifiants, entraînant finalement l'arrêt de l'apprentissage de la descente de gradient, ce que l'on appelle un gradient de disparition.
- Gradient explosif:** Un gradient explosif, en revanche, se produit lorsque le gradient est trop important, ce qui rend le modèle instable. Dans le cas d'un gradient explosif, vous pouvez utiliser une technique de réduction de la dimensionnalité, qui permet de minimiser la complexité du modèle.
Foire aux questions
Que signifie la descente de gradient en IA ?
En termes simples, la descente de gradient est un algorithme qui minimise une fonction de coût en optimisant ses paramètres. Il est utilisé pour former des modèles [d'apprentissage automatique] (https://www.ibm.com/topics/machine-learning) et des réseaux neuronaux afin de réduire le taux d'erreur dans leur ensemble de données en itérant continuellement leurs paramètres jusqu'à ce qu'ils atteignent le point de convergence.
Chaque formation commence par une supposition aléatoire, après quoi la descente de gradient prend cette supposition et l'optimise en modifiant continuellement son paramètre par rapport aux dérivés, jusqu'à ce qu'elle atteigne le point d'erreur le plus bas ou une fonction de coût réduite.
La descente de gradient est-elle utile ?
Malgré certains défis, la descente de gradient reste l'un des algorithmes d'optimisation les plus efficaces pour l'apprentissage profond et la formation de modèles. Bien que la descente de gradient possède plusieurs qualités favorables en tant qu'algorithme d'optimisation, sa pertinence peut varier en fonction du contexte et du problème en question. Voici quelques-uns des avantages de la descente de gradient :
- Efficacité
- Acceptation
- Polyvalence
- Parallélisme
- Fiabilité
- Facilité de calcul
- Qu'est-ce que la descente en gradient ?
- Types de descente de gradient
- Rôle de la descente de gradient dans l'apprentissage automatique
- Comment fonctionne l'algorithme de descente de gradient ?
- Explication pas à pas
- La formule d'optimisation en descente de gradient
- Défis de la descente de gradient
- Foire aux questions
Contenu
Commencez gratuitement, évoluez facilement
Essayez la base de données vectorielle entièrement managée conçue pour vos applications GenAI.
Essayer Zilliz Cloud gratuitement