1
$\begingroup$

when we feed the CNN images of cats in different lighting conditions or colors, Is it the job of the conv layers to learn the different representations(lighting conditions and colors) and map them to one final representation(in the last conv layer) or Is it the job of the fully connected layers to receive those different representations(from the last conv layer) and map them to the label "cat"?
And What would be the case if the CNN has no fully connected layers like SqueezeNet?
I am not talking about objects' spatial translation.

$\endgroup$
0

1 Answer 1

1
$\begingroup$

That is learned by the kernels aka filters of the CNN itself. Values of kernels (matrix) are tuned via backpropagation.

You are right on

Is it the job of the fully connected layers to receive those different representations(from the last conv layer) and map them to the label "cat"

Layers earlier in the network output a different representation than what they take as input, it is differed by the max/avg pooling operator which normalized the subtle invariances in multiple images of same images.

Now further downstream layers take on the job of learning a different set of kernel that might learn cat vs dogs based on edges etc and then again do their max/avg pool and pass it down further.

Now when these representations reach fully connected layer, that is where who is who information is retained.

CNN are taken as feature extractors (kernels) while FC takes the job of estimator/classifier.

Sorry, with so many networks I lost track and have not looked much in SqueezeNets.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.