vgg neural networks network lenet learning google example convolutional cnn machine-learning neural-network theano convolution

machine-learning - neural - lenet python



¿Cuál es el número de filtro en CNN? (2)

Actualmente estoy viendo la API de theano,

theano.tensor.nnet.conv2d(input, filters, input_shape=None, filter_shape=None, border_mode=''valid'', subsample=(1, 1), filter_flip=True, image_shape=None, **kwargs)

donde filter_shape es una tupla de (num_filter, num_channel, height, width) , estoy confundido acerca de esto porque ¿no es ese el número de filtro decidido por la zancada al deslizar la ventana del filtro en la imagen? ¿Cómo puedo especificar en el número de filtro de esta manera? Sería razonable para mí si se calcula por el paso del parámetro (si hay alguno).

Además, estoy confundido con el término mapa de características, ¿son las neuronas en cada capa? ¿Qué tal el tamaño del lote? ¿Cómo se correlacionan?


El número de filtros es el número de neuronas, ya que cada neurona realiza una convolución diferente en la entrada a la capa (más precisamente, los pesos de entrada de las neuronas forman núcleos de convolución).

Un mapa de características es el resultado de aplicar un filtro (por lo tanto, tiene tantos mapas de características como filtros), y su tamaño es el resultado del tamaño de la ventana / kernel de su filtro y zancada.

La siguiente imagen fue la mejor que pude encontrar para explicar el concepto a alto nivel: Tenga en cuenta que se aplican 2 filtros convolucionales diferentes a la imagen de entrada, lo que da como resultado 2 mapas de características diferentes (la salida de los filtros). Cada píxel de cada mapa de características es una salida de la capa convolucional.

Por ejemplo, si tiene imágenes de entrada 28x28 y una capa convolucional con 20 filtros 7x7 y paso 1, obtendrá 20 mapas de características 22x22 en la salida de esta capa. Tenga en cuenta que esto se presenta a la siguiente capa como un volumen con width = height = 22 y depth = num_channels = 20. Puede usar la misma representación para entrenar su CNN en imágenes RGB como las del conjunto de datos CIFAR10, que sería Volúmenes de 32x32x3 (la convolución se aplica solo a las 2 dimensiones espaciales).


El número de filtros es un hiperparámetro que puede ajustarse. El número de neuronas en una capa convolucional es igual al tamaño de la salida de la capa. En el caso de las imágenes, es el tamaño del mapa de características.