I am learning CNN with TensorFlow and Python.
I do not understand the connection between layer $\ell$ and layer $\ell+1$. For example, for the input image and the first layer, it is easy as there is only one input, and hence there is as many feature maps as filters, and each filter gets to be 'multiplied' by the input image. The resulting feature map is of size ((input_size - filter_size + 2*padding) / stride) + 1
.
A similar question and answer clearly responds to his particular example: How are filters and activation maps connected in Convolutional Neural Networks?
But in general I still don't understand. When we build a CNN, for example:
model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=input_shape))
model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))
How does TensorFlow make the connection between 32 features map to the next feature map? Typically I would think that with 64 filters and 32 feature maps from the previous layer we would get 64*32 feature maps in the next layer (all features are connected to each filter). But I think that above code will result in 64 feature maps.