Let’s start with Wikipedia: In deep learning, a convolutional neural network (CNN, or ConvNet) is a class of deep neural network, most commonly applied to analyze visual imagery.
The name “convolutional neural network” indicates that the network employs a mathematical operation called convolution. The convolutional networks are a specialized type of neural networks that use convolution in place of general matrix multiplication in at least one of their layers.
Representation of the matrix multiplication in one layer:
A convolutional neural network processes data that has a grid-like arrangement then extracts important features. One huge advantage of using CNNs is that you don’t need to do a lot of pre-processing on images.
A basic clasiffication of CNNs is by number of dimensions:
- 1 Dimension: the CNN kernel moves in one direction. 1D CNNs are usually used on time-series data.
- 2 Dimensions: the CNN kernel moves in two directions. You’ll see these used with image labelling and processing. These are the more common ones.
- 3 Dimensions: the kernel moves in three directions. These CNNs are used on images as CT scans and MRIs.
Some links to remind
- Microscope, from OpenAI: https://microscope.openai.com/models
- DeepDream is a computer vision program created by Google engineer Alexander Mordvintsev that uses a convolutional neural network to find and enhance patterns in images: https://deepdreamgenerator.com/