Hi guys,
I'm trying to "go deeper" on CNN, I understood how the filters are computed, the proposite of pooling, normalization, RELU, and dropout layers. I execute a forward pass of backpropagation on the hand step-by-step on a classic fully connected layer, it's fine. But one thing I not understood until now, how FC layer choose the features for use from convolutional layer?
I'm try to formulate more specifically:
Suppose which i feed my network with one RGB image of size 86x86 for training the network, for simplify i'm using mini-batch of 1 image, after compute the convolution and pooling layers is the FC layer and here is my doubt:
The top shape of my convolution layer is: 1 256 3 3 and I feed the first FC layer with this and the num_output of FC layer is 160, I know which this output of my convolution would be flattened into a array of size 1*256*3*3 = 2304. So I don't understand of how the FC layer choose the features inside a array size of 2304 and feed the output of FC layer which have the size of 160?
And my next FC layer have this same output, what will happen now?
Finally I've my last FC layer with a number of class which would be computed by Softmax.
Somebody can help me?