A convolutional neural network (CNN, ConvNet) is a special kind of neural network that has been applied to a variety of pattern recognition problems, such as computer vision, speech recognition and others.
The architecture of a CNN is designed to take advantage of the 2D structure of an input image or other 2D input such as a speech signal. Unlike a regular neural network, CNN is comprised of one or more convolutional layers and then followed by one or more fully connected layers as in a standard multilayer neural network.
A convolutional neural network can perform the following operations:
- Rectification (ReLU)
- Pooling or Sub Sampling - reduction of the dimensionality of each feature and retaining the most important information
- Classification (Fully Connected Layer) to yield final class output
Best Practices for Convolutional Neural NetworksApplied to Visual Document Analysis
Patrice Y. Simard, Dave Steinkraus and John C. Platt
Ian Goodfellow, Yoshua Bengio, Aaron Courville
Going Deeper with Convolutions
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich
Gradient-Based Learning Applied to Document Recognition
Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner
ImageNet Classification with Deep Convolutional Neural Networks
Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton