Comment calculer le nombre de paramètres pour le réseau de neurones à convolution?

Je suis l'aide de Lasagne à créer un CNN pour la MNIST dataset. Je suis près à cet exemple: Les Réseaux de Neurones à convolution et l'Extraction de caractéristiques avec Python.

Le CNN de l'architecture, j'ai à l'heure actuelle, qui ne comprend pas tout de décrochage des couches, est:

NeuralNet(
    layers=[('input', layers.InputLayer),        # Input Layer
            ('conv2d1', layers.Conv2DLayer),     # Convolutional Layer
            ('maxpool1', layers.MaxPool2DLayer), # 2D Max Pooling Layer
            ('conv2d2', layers.Conv2DLayer),     # Convolutional Layer
            ('maxpool2', layers.MaxPool2DLayer), # 2D Max Pooling Layer
            ('dense', layers.DenseLayer),        # Fully connected layer
            ('output', layers.DenseLayer),       # Output Layer
            ],
    # input layer
    input_shape=(None, 1, 28, 28),

    # layer conv2d1
    conv2d1_num_filters=32,
    conv2d1_filter_size=(5, 5),
    conv2d1_nonlinearity=lasagne.nonlinearities.rectify,

    # layer maxpool1
    maxpool1_pool_size=(2, 2),

    # layer conv2d2
    conv2d2_num_filters=32,
    conv2d2_filter_size=(3, 3),
    conv2d2_nonlinearity=lasagne.nonlinearities.rectify,

    # layer maxpool2
    maxpool2_pool_size=(2, 2),


    # Fully Connected Layer
    dense_num_units=256,
    dense_nonlinearity=lasagne.nonlinearities.rectify,

   # output Layer
    output_nonlinearity=lasagne.nonlinearities.softmax,
    output_num_units=10,

    # optimization method params
    update= momentum,
    update_learning_rate=0.01,
    update_momentum=0.9,
    max_epochs=10,
    verbose=1,
    )

Ce sorties de la Couche suivante de l'Information:

  #  name      size
---  --------  --------
  0  input     1x28x28
  1  conv2d1   32x24x24
  2  maxpool1  32x12x12
  3  conv2d2   32x10x10
  4  maxpool2  32x5x5
  5  dense     256
  6  output    10

et renvoie le nombre de apprend paramètres 217,706

Je me demande comment ce nombre est calculé? J'ai lu un certain nombre de ressources, y compris ce StackOverflow est question, mais aucun clairement généralise le calcul.

Si possible, pouvez le calcul de la apprend paramètres par couche, être généralisée?

Par exemple, convolutifs couche: nombre de filtres x filtre de largeur x filtre de hauteur.

OriginalL'auteur Waddas | 2017-03-14