J'essaie d'ajouter une couche softmax à un réseau de neurones formé à la rétropropagation, alors j'essaie de calculer son gradient.
La sortie softmax est oùest le nombre de neurones de sortie.
Si je le dérive alors je reçois
Similaire à la régression logistique. Cependant, cela est faux car ma vérification de gradient numérique échoue.
Qu'est-ce que je fais mal? Je pensais que je devais aussi calculer les dérivées croisées (ie ) mais je ne suis pas sûr de savoir comment faire cela et garder la même dimension que le dégradé pour qu'il puisse être utilisé dans le processus de propagation arrière.