Convolutional Neural Networks are a special kind of multi-layer neural networks.
Like almost every other neural networks they are trained with a version of the back-propagation algorithm.
Convolutional Neural Networks are designed to recognize visual patterns directly from pixel images with minimal preprocessing.
Shared weights: all neurons in a feature share the same weights.
In this way all neurons detect the same feature at different positions.
Reduce the number of free parameters in the input image.