Question

Je travaille sur CNN, et j'ai quelques doutes. Supposons que je ne veux qu'une seule carte de fonction, pour faciliter les choses. Et supposons que mon image est en niveaux de gris, pour rendre les choses encore plus facile. Alors, disons que mon image est (32,32) --grayscale, donc juste un canal et on n'a pas besoin de l'écrire explicitement, et mon filtre est (3,3) --again, une carte de fonction, je ne dérangera pas à écrire 1. Je comprends cela la carte à une couche (30,30).

Combien de paramètres aurai-je? Si je comprends bien, je vais avoir 9 poids et un parti pris, donc un total de 10, parce que nous Mappez chaque (3,3) sous-région en utilisant les mêmes poids. Rétropropagation déterminera les meilleures valeurs pour les poids et cela me donnera une carte de fonction ou un filtre.

Jusqu'à présent, si bon. Ce que je ne comprends pas comment le travail de formation? Je dois garder les mêmes poids et biais lors du déplacement sur l'image (c'est pourquoi je ne dispose que de 10 paramètres), mais ne les changements quand je fais rétropropagation? Comment puis-je appliquer rétropropagation et conserver les mêmes valeurs pour les poids, quelle que soit la sous-région, ils sont appliqués à?

Était-ce utile?

La solution

Vous avez raison, il y a seulement 10 params dans votre exemple.

Pour déterminer les gradients, vous suffit d'ajouter toutes les deltas de rétropropagation à chaque endroit - à savoir que vous exécutez rétropropagation 30x30 = 900 fois, pour chaque position du noyau 3x3 est utilisé, pour chaque exemple dans votre lot (ou juste pour un exemple si vous utilisez la plus simple onine algorithme du gradient stochastique), et pour chaque position d'ajouter ces valeurs delta dans un tampon de taille appropriée (10 valeurs de deltas de poids, ou 9 valeurs de deltas d'activation précédents de la couche). Vous finirez avec un ensemble de deltas sommées correspondant à votre seul filtre 3x3 (plus un terme de polarisation delta). Vous appliquez ensuite la version résumée mettre à jour les poids de votre seul filtre + biais.

Notez ceci est une règle générale, vous pouvez appliquer à chaque fois que des sources de gradient multiples de rétropropagation peuvent être appliqués à tous les paramètres - ils ont juste ajouter. Cela se produit dans RNNs aussi, ou dans une structure où vous pouvez définir une fonction objective pour les neurones non-sortie.

Licencié sous: CC-BY-SA avec attribution
scroll top