J'ai une petite sous-question à cette question .
Je comprends que lors d'une rétropropagation à travers une couche de mise en commun maximale, le gradient est réacheminé de manière à ce que le neurone de la couche précédente qui a été sélectionné comme max reçoive tout le gradient. Ce dont je ne suis pas sûr à 100%, c'est de savoir comment le dégradé de la couche suivante est renvoyé vers la couche de regroupement.
La première question est donc de savoir si j'ai une couche de mise en commun connectée à une couche entièrement connectée - comme l'image ci-dessous.
Lors du calcul du gradient du "neurone" cyan de la couche de regroupement, dois-je additionner tous les gradients des neurones de la couche FC? Si c'est correct, alors chaque "neurone" de la couche de regroupement a le même gradient?
Par exemple, si le premier neurone de la couche FC a un gradient de 2, le second un gradient de 3 et le troisième un gradient de 6. Quels sont les gradients des "neurones" bleus et violets dans la couche de regroupement et pourquoi?
Et la deuxième question est de savoir quand la couche de mise en commun est connectée à une autre couche de convolution. Comment puis-je calculer le gradient? Voir l'exemple ci-dessous.
Pour le "neurone" le plus à droite de la couche de mise en commun (le vert décrit), je prends juste le gradient du neurone violet dans la couche conv suivante et le redirige, non?
Que diriez-vous du vert rempli? J'ai besoin de multiplier ensemble la première colonne de neurones dans la couche suivante à cause de la règle de chaîne? Ou dois-je les ajouter?
S'il vous plaît ne postez pas un tas d'équations et dites-moi que ma réponse est juste là parce que j'ai essayé d'envelopper ma tête autour des équations et je ne le comprends toujours pas parfaitement c'est pourquoi je pose cette question dans un simple façon.
Réponses:
Non. Cela dépend des poids et de la fonction d'activation. Et le plus généralement, les poids sont différents du premier neurone de la couche de regroupement à la couche FC comme de la deuxième couche de la couche de regroupement à la couche FC.
Donc, généralement, vous aurez une situation comme:
Cela signifie que le gradient par rapport à P_j est
Ce qui est différent pour j = 0 ou j = 1 car le W est différent.
Peu importe le type de couche auquel il est connecté. C'est toujours la même équation. Somme de tous les gradients de la couche suivante multipliée par la façon dont la sortie de ces neurones est affectée par le neurone de la couche précédente. La différence entre FC et Convolution est que dans FC tous les neurones de la couche suivante apporteront une contribution (même si peut-être petite) mais en convolution la plupart des neurones de la couche suivante ne sont pas du tout affectés par le neurone de la couche précédente, donc leur contribution est exactement nul.
Droite. De plus, le gradient de tout autre neurone sur cette couche de convolution qui prend en entrée le neurone le plus à droite de la couche de regroupement.
Ajoutez-les. En raison de la règle de la chaîne.
la source