-
In deep learning, a convolutional neural network (CNN, or ConvNet) is a class of deep neural networks, most commonly applied to analyzing visual imagery.
-
They are also known as shift invariant or space invariant artificial neural networks (SIANN), based on their shared-weights architecture and translation invariance characteristics.
-
They have applications in image and video recognition, recommender systems, image classification, medical image analysis, natural language processing,and financial time series.
-
CNNs are regularized versions of multilayer perceptrons.
-
Multilayer perceptrons usually mean fully connected networks, that is, each neuron in one layer is connected to all neurons in the next layer.
-
The "fully-connectedness" of these networks makes them prone to overfitting data.
-
Typical ways of regularization include adding some form of magnitude measurement of weights to the loss function.
-
CNNs take a different approach towards regularization: they take advantage of the hierarchical pattern in data and assemble more complex patterns using smaller and simpler patterns.
-
Therefore, on the scale of connectedness and complexity, CNNs are on the lower extreme.
-
Convolutional networks were inspired by biological processes in that the connectivity pattern between neurons resembles the organization of the animal visual cortex.
-
Individual cortical neurons respond to stimuli only in a restricted region of the visual field known as the receptive field.
-
The receptive fields of different neurons partially overlap such that they cover the entire visual field.
-
CNNs use relatively little pre-processing compared to other image classification algorithms.
-
This means that the network learns the filters that in traditional algorithms were hand-engineered.
-
This independence from prior knowledge and human effort in feature design is a major advantage.