Je suis confronté à un problème lié à la recherche du gradient de la fonction de perte d'entropie croisée par rapport au paramètre où:
Où, et est une entrée vectorielle.
De plus, est un vecteur chaud de la classe correcte et est la prédiction pour chaque classe utilisant la fonction softmax.
Par conséquent, par exemple, ayons et
Pour trouver la dérivée partielle
En prenant à partir de là pour chaque les gradients partiels individuels seront
Mais ce n'est pas vrai parce que les gradients devraient en fait être 0 pour toutes les autres lignes, sauf pour la 4ème ligne, car nous avons utilisé la propriété du vecteur chaud. Le gradient réel doit donc être
Et donc les gradients pour tout devraient être
Mais ce n'est pas égal à . Il ne faut donc pas appeler le gradient de la fonction d'entropie croisée une différence vectorielle entre prédite et originale.
Quelqu'un peut-il clarifier cela?
MISE À JOUR: correction de ma dérivation
Où, et est une entrée vectorielle.
De plus, est un vecteur chaud de la classe correcte et est la prédiction pour chaque classe utilisant la fonction softmax.
MISE À JOUR: Suppression de l'index de et Par conséquent, par exemple, permet d'avoir et
MISE À JOUR: Correction de la prise du dérivé wrt il ne devrait être que wrt . Pour trouver la dérivée partielle
En prenant à partir de là pour chaque les gradients partiels individuels seront
Ce qui précède se produit parce que Et, En prenant la dérivée partielle de wrt nous obtenons:
ÉTAPE PRINCIPALE: Le fait que et rend le vecteur qui complète la preuve.
la source
Ce qui suit est le même contenu que l'édition, mais dans un format étape par étape (pour moi) légèrement plus clair:
Nous essayons de prouver que:
donné
et
Nous savons que pour et , donc:yj=0 j≠k yk=1
Utilisez le fait que et pour , montrer que.∂θk∂θk=1 ∂θk∂θq=0 q≠k
Pour la deuxième partie, nous écrivons la dérivée pour chaque élément individuel de et utilisons la règle de chaîne pour obtenir:θ
Par conséquent,
la source