2

Mon équipe a passé par l'exemple MNIST de Caffe et a été capable de localiser/spécifier le nombre de neurones/filtres dans certaines couches du réseau de neurones (comme la convolution couche) qui est référencée par un paramètre appelé num_output. Cependant, les couches de regroupement ne semblent pas spécifier le nombre de sorties qu'elles ont/nous pouvons ajuster. Existe-t-il un moyen de localiser ces informations afin que je puisse être capable de savoir combien de neurones existent dans chaque couche du réseau de neurones exemple MNIST?Comment localiser/sépcifier la taille des couches de pool dans Caffe

De plus, la première couche de convolution a num_output = 20 et la seconde couche de convolution a num_output = 50. Comment ce saut de profondeur de couche est-il effectué? Je suppose que c'est à cause des couches de regroupement entre les couches de convolution 1 et 2 mais encore une fois je ne comprends pas combien de filtres les couches de regroupement ont.

Merci d'avance!

Répondre

3

Vous devez comprendre que la couche de regroupement est un type spécial de couche dont le but principal est de diminuer la dimensionnalité de la sortie de la couche convolutionnelle.

La sortie des couches de regroupement est fonction de ses paramètres - taille du noyau, pad et stride, ainsi que de la taille de la sortie d'une couche convolutionnelle. Avec largeur W et la hauteur H du noyau, des tampons Ph, Pw, et des progrès Sh, Sw il produit un signal de sortie à partir d'une couche de convolution d'une taille Wc x Hc x Dc qui présente:

  1. Width = (Wc + 2 * Pc - W)/Sw + 1
  2. Height = (Hc + 2 * Ph - H)/Sh + 1
  3. Depth = Dc

Vous pouvez lire une explication détaillée des paramètres here et des détails de l'opération de mise en commun here.

+0

Donc la couche de regroupement prend en compte ses paramètres et les dimensions de la couche de convolution avant elle et les utilise pour spécifier ses propres dimensions, oui? Mais si la couche de regroupement diminue la dimensionnalité de la sortie convolutive, comment se fait-il que le réseau passe de la couche de convolution1 (taille 20) -> couche de regroupement -> couche de convolution2 (taille 50)? Merci. – Her

+0

Num_out est le nombre de filtres. Il peut être défini sur un nombre arbitraire. Le concepteur d'un réseau l'a mis à 50 et c'est la raison pour laquelle la taille est comme elle est :) –

+0

Okay. Je comprends beaucoup mieux maintenant. Je vous remercie! – Her