Dans le contexte des réseaux de neurones, quelle est la différence entre le taux d'apprentissage et la perte de poids?
Dans le contexte des réseaux de neurones, quelle est la différence entre le taux d'apprentissage et la perte de poids?
Réponses:
Le taux d'apprentissage est un paramètre qui détermine dans quelle mesure une étape de mise à jour influence la valeur actuelle des poids. Alors que la diminution du poids est un terme supplémentaire dans la règle de mise à jour du poids, les poids décroissent de manière exponentielle jusqu'à zéro, si aucune autre mise à jour n'est planifiée.
Supposons donc que nous ayons une fonction de coût ou d'erreur à minimiser. La descente de gradient nous dit de modifier les poids dans la direction de la descente la plus raide dans : où est le taux d’apprentissage, et s’il est grand, vous aurez une modification conséquente des poids (en général, il ne devrait pas être trop grand, sinon vous dépassez le minimum local dans votre fonction de coût).
Afin de limiter efficacement le nombre de paramètres libres dans votre modèle afin d'éviter les surajustements, il est possible de régulariser la fonction de coût. Une méthode simple consiste à introduire un précédent gaussien avec une moyenne nulle sur les poids, ce qui revient à changer la fonction de coût en . En pratique, cela pénalise les gros poids et limite efficacement la liberté de votre modèle. Le paramètre de régularisation détermine le compromis entre le coût initial et la pénalisation de poids importants.
En appliquant une descente de gradient à cette nouvelle fonction de coût, nous obtenons: Le nouveau terme provenant de la régularisation provoque la décroissance du poids proportionnellement à sa taille.
Outre la réponse de @ mrig (+1), pour de nombreuses applications pratiques des réseaux de neurones, il est préférable d’utiliser un algorithme d’optimisation plus avancé, tel que Levenberg-Marquardt (réseaux de petite et moyenne taille) ou de descente à gradient conjugué à l’échelle (moyenne à grande). réseaux), car ils seront beaucoup plus rapides et qu’il n’est pas nécessaire de définir le taux d’apprentissage (les deux algorithmes adaptent essentiellement le taux d’apprentissage en utilisant la courbure et le gradient). Tout paquet ou bibliothèque de réseau neuronal convenable aura l’implémentation de l’une de ces méthodes, tout paquet qui ne l’est pas est probablement obsolète. J'utilise la librairie NETLAB pour MATLAB, un excellent kit.
Je termes simples:
learning_rate: il contrôle la rapidité ou la lenteur avec laquelle un modèle de réseau neuronal apprend un problème.
ref: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/
wight_decay: C'est une technique de régularisation utilisée pour éviter les surajustements .
ref: https://metacademy.org/graphs/concepts/weight_decay_neural_networks