Besides, why do we use convolutions?
Convolutions are a set of layers that go before the neural network architecture. The convolution layers are used to help the computer determine features that could be missed in simply flattening an image into its pixel values. The convolution layers are typically split into two sections, convolutions and pooling.
One may also ask, why are CNNs used for images? CNNs are used for image classification and recognition because of its high accuracy. The CNN follows a hierarchical model which works on building a network, like a funnel, and finally gives out a fully-connected layer where all the neurons are connected to each other and the output is processed.
Secondly, why we use CNN for images rather than fully connected layers?
CNNs are trained to identify and extract the best features from the images for the problem at hand. That is their main strength. The latter layers of a CNN are fully connected because of their strength as a classifier. So these two architectures aren't competing though as you may think as CNNs incorporate FC layers.
Why are convolutional neural networks better for images?
The main advantage of CNN compared to its predecessors is that it automatically detects the important features without any human supervision. For example, given many pictures of cats and dogs, it can learn the key features for each class by itself.
