Convolutional Neural Networks


title: Convolutional Neural Networks

Convolutional Neural Networks (ConvNets or CNNs) are a category of Neural Networks that have proven very effective in areas such as image recognition and classification. ConvNets have been successful in identifying faces, objects and traffic signs. ConvNets have been utilized extensively to power vision in robots and self driving cars.

Why Convolutional Neural Network

CNNs are biologically inspired models on how mammals visually perceive things. When we see something a layer of neurons are activated in our brain. The very same concept is working here too. The birth of CNN is inspired by Local connection, layering, spatial invariance. Compared to the similar size of feed forward neural network the CNN only require much fewer connections and parameters, hence they are easier to train and also the time consumption is less. CNN is effective for both the high level and low level features in dataset. Another important factor of CNN is the depth of the layers.

Pooling

Many effective CNN models add pooling layers between each convolution layer. A pooling layer subsamples the image in some way, effectively making the image “fuzzier” between convolution layers. One example is called “max pooling,” where you run a kernel (can be any size, 2×2 or 3×3 are common choices) over the input layer that only passes the highest value into the next layer. This destroys a lot of information, but reduces computational load and forces the CNN to learn more general relationships (translational invariance) as the number of parameters are reduced. Pooling layers do not have associated weights.

Suggested links :

E-Texts :

  • Intro to Machine Learning (http://ciml.info/)
  • Understanding Neural Networks (http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding-machine-learning-theory-algorithms.pdf)

This article needs improvement. You can help improve this article. You can also write similar articles and help the community.