Soy bastante nuevo en las redes neuronales, pero entiendo bastante bien el álgebra lineal y las matemáticas de la convolución.
Estoy tratando de entender el código de ejemplo que encuentro en varios lugares de la red para entrenar un NN convolucional Keras con datos MNIST para reconocer dígitos. Mi expectativa sería que cuando creara una capa convolucional, tendría que especificar un filtro o conjunto de filtros para aplicar a la entrada. Pero las tres muestras que he encontrado crean una capa convolucional como esta:
model.add(Convolution2D(nb_filter = 32, nb_row = 3, nb_col = 3,
border_mode='valid',
input_shape=input_shape))
Esto parece estar aplicando un total de 32 filtros 3x3 a las imágenes procesadas por la CNN. ¿Pero qué son esos filtros? ¿Cómo los describiría matemáticamente? La documentación de Keras no es de ayuda.
Gracias por adelantado,