Utilisation du gradient dans la mise à jour du poids et du biais dans le réseau neuronal
Pourquoi utilisons-nous le gradient de la fonction de perte pour mettre à jour le poids et le biais d'un réseau de neurones?
par exemple:
new_weight = old_weight - learning_rate * gradient
En d'autres termes, comment le gradient nous aide-t-il à mettre à jour correctement le poids et le biais.
C'est une simplification grossière: le gradient est un dérivé multidimensionnel compacté en une "structure unique". Le dérivé vous indique où est un changement local. Le dégradé vous indique où il y a des changements locaux dans toutes les dimensions que vous envisagez.
Prenons le cas tridimensionnel: notre monde. Image que vous escaladez une colline. Supposons que votre vue soit limitée à 3 mètres pour votre position. Votre objectif est d'atteindre le sommet.
Vous partez d'un point et vous regardez autour de vous. Comme vous voyez à 3 mètres de votre position dans votre direction, vous choisissez d'aller là où vous voyez que la pente est plus raide. L'action de regarder autour de vous consiste à calculer le gradient et à corriger votre vitesse.
Dans votre équation, rappelez-vous que c'est un exemple grossier, vous dites "Euh, la première fois que j'ai vérifié ma direction était de 124 degrés, maintenant, en regardant le gradient, ma direction devrait être de 10 degrés. Quelle direction dois-je prendre maintenant".
L' learning rate
équation ou votre équation est un coefficient que vous pouvez interpréter comme «frottement» ou «confiance»: vous ne voulez pas changer votre direction de 114 degrés d'un seul coup, vous voulez plutôt changer par rapport à l'ampleur du nouveau mesure. Vous détectez que la nouvelle direction doit être inférieure de 114 degrés (124-10) à la direction actuelle. Ainsi, si votre taux d'apprentissage est faible, votre nouvelle direction aura moins d'impact que dans le cas où le taux d'apprentissage est plus élevé.
Cet exemple est généralisé sur plusieurs dimensions.