Le problème est:
Dérivez le gradient par rapport à la couche d'entrée pour un réseau neuronal à couche cachée unique en utilisant sigmoïde pour l'entrée -> caché, softmax pour caché -> la sortie, avec une perte d'entropie croisée.
Je peux passer la majeure partie de la dérivation en utilisant la règle de chaîne, mais je ne suis pas sûr de savoir comment les "chaîner" ensemble.
Définir quelques notations
, est une fonction sigmoïde
,
, est la fonction softmax
, est un véritable vecteur à chaud
Ensuite, selon la règle de la chaîne,
Les gradients individuels sont:
Nous devons maintenant enchaîner les définitions. En simple variable, c'est facile, nous multiplions simplement tout ensemble. Dans les vecteurs, je ne sais pas s'il faut utiliser la multiplication par élément ou la multiplication matricielle.
Où est la multiplication élémentaire des vecteurs, et est une multiplication matricielle. Cette combinaison d'opérations est la seule façon dont je pourrais sembler les enchaîner pour obtenir un vecteur de dimension , que je sais que doit être.
Ma question est: quel est le moyen de principe pour moi de déterminer quel opérateur utiliser? Je suis particulièrement confus par la nécessité de l'élément par élément entre et .
Merci!