Convolutional Neural Network
A Convolutional Neural Network (CNN), also often called ConvNets, is a machine learning model that belongs to the field of deep learning. It works particularly well for big data especially for a large set of images. The main application field is therefore image classification where CNNs show remarkable good accuracy. The layers and patterns that connect its neurons are modeled after the organization of the animal visual cortex. It requires only small amounts of preprocessing since it learns features. This means less time must be spend on feature engineering activities before using a CNN in applications. The network architecture is trained with the backpropagation algorithm and gradient descent known from artificial neural networks but with small modifications for the different types of layers.
One disadvantage of deep learning methods such as CNNs is that they only deliver highly accurate classification results when they are trained with large enough data sets and corresponding labels. In other words using CNNs together with limited labeled data is problematic and often leads to extensive overfitting. CNNs implement a connectivity pattern that are similar like artificial neural networks but in contrast use several types of different layers. Such layers can be fully connected, but also a convolutional or pooling layer. Their key principles are local receptive fields, shared weights, feature maps, and pooling (or down/sub-sampling). These principles are optimized to take advantage of the spatial structure of the data that in turn is a key advantage of the CNN model. Applications of CNNs can be found in our article about deep learning applications.
More Information about a Convolutional Neural Network
We refer to the following video about this subject: