- A convolutional neural network (CNN) shares weights across local regions of an image, which cuts computing cost.
- Fewer parameters mean a CNN needs less memory than a fully connected network for the same task.
- Because it uses the convolution operation, a CNN is less sensitive to local variations and to transformations like scaling and rotation.
- In a CNN only the last layer is fully connected; in a traditional neural network every neuron connects to every neuron in the next layer.
- A regular CNN has about 5-10 layers, while most modern CNN architectures have 30-100.
Why is a Convolutional Neural Network Important
Consider the examples below to better understand the important role of a convolution neural network.
Weight sharing
It uses local spatial coherence that provides the same weights to some of the edges. This sharing reduces the cost of computing. In situations where GPUs are low-power or not available, such sharing is particularly useful.
2. Memory Saving
The reduced number of parameters helps in memory saving. To recognize digits from the MNIST dataset, if we use a Convolutional neural network with just one hidden layer and ten nodes, we’d need a few hundred nodes. If we use a simple deep neural network, we would need a simple deep neural network with around 19,000 parameters.
3. Independent of local variations in Image
Let’s consider using headshot images of people to train our fully connected neural network to recognize faces. It may fail to recognize a full-body image if we test it on images that are not headshot images. But, since the convolutional neural network uses convolution operation, they are independent of local variations in the picture, making it more useful.
4. Independent of Transformations
Convolutional neural networks are more independent of geometrical transformations like Scaling, Rotation, etc.
What is an example of a Convolutional Neural Network?
Examples of convolutional neural networks in computer vision are face recognition and image classification.
Convolutional Neural Network vs. Other Technologies & Methodologies
Convolutional neural network vs. neural network
Traditional Artificial Neural Networks (ANN) and Convolutional Neural Network (CNN) differ in that only the last layer of a CNN is fully connected. In contrast, in ANN, each neuron is connected to every other neuron.
Convolutional neural network vs. fully connected
In Convolutional Neural Network (CNN) architectures, inputs are explicitly assumed to be images, which permits the encoding of specific properties into the model architecture. Fully connected neural networks consist of fully connected layers that connect each neuron in one layer to every neuron in the other layer.
Convolutional neural network vs. feedforward
Convolutional Neural Network (CNN) uses several layers of sparsely connected neurons for processing information (usually visual), whereas, in a feedforward network, there are no cycles.
Convolutional neural network vs. deep neural network
The only difference between Convolutional Neural Network and Deep Convolutional Neural Network is the number of layers. Deep learning models are called deeper when they have more layers. Deep Convolutional Neural Network is a Convolutional Neural Network with more layers. There are usually 5–10 layers in a regular Convolutional Neural Network, while most modern Convolutional Neural Network architectures have 30–100 layers.
Convolutional Neural Networks in H2O AI
H2O Driverless AI can pass word embeddings to CNN models for text, then use their cross-validated predictions as new features. CNN models for word embeddings in Driverless AI.