Sou bastante novo em redes neurais, mas entendo a álgebra linear e a matemática da convolução de maneira bastante decente.
Estou tentando entender o código de exemplo que encontro em vários locais da rede para treinar um NN convolucional Keras com dados MNIST para reconhecer dígitos. Minha expectativa seria que, ao criar uma camada convolucional, eu tivesse que especificar um filtro ou conjunto de filtros para aplicar à entrada. Mas as três amostras que encontrei criam uma camada convolucional como esta:
model.add(Convolution2D(nb_filter = 32, nb_row = 3, nb_col = 3,
border_mode='valid',
input_shape=input_shape))
Parece estar aplicando um total de 32 filtros 3x3 às imagens processadas pela CNN. Mas o que são esses filtros? Como eu os descreveria matematicamente? A documentação do keras não ajuda.
Desde já, obrigado,