Neural Network and Convolutional Neural Network

Original article was published on Artificial Intelligence on Medium

Neural Network and Convolutional Neural Network

Neural Network:

-Neural networks are a set of algorithms, based off of the human brain and are designed to recognize patterns.

-Neural networks help us cluster and classify.

-They help to group unlabeled data according to similarities among the example inputs, and they classify data when they have a labelled dataset to train on.

-Deep learning is the name we use for “stacked neural networks”; that is, networks composed of several layers.

-The layers are made of nodes where the computation happens.

-A node layer is a row of those neuron-like switches that turn on or off as the input is fed through the net.

– Each layer’s output is simultaneously the subsequent layer’s input, starting from an initial input layer receiving your data.

– Traditional neural networks use a fully-connected architecture

-But a fully connected architecture is inefficient when it comes to processing data such as images as an average image has many pixels which would mean that a traditional neural network will generate millions of parameters which then might lead to overfitting,

-it would also make the model very intensive computationally and it may be difficult to interpret results, debug or tune the model to improve its performance

-As a solution to this, we use Convolutional Neural Networks

Convolutional Neural Networks (CNN):

-Convolute means coiling up or compressing it or reducing it down.

-Unlike a fully connected neural network, in a Convolutional Neural Network (CNN) the neurons in one layer don’t connect to all the neurons in the next layer.

-In CNN the model does not look the entire data at the same time it processes it one part at a time and joins the data later accordingly

-In CNN we use multiple filters to slice through the data, map them one by one and learn different portions of the input data.

-A filter is a concatenation of multiple kernels. A kernel is a matrix of weights which are multiplied with the input to extract relevant features.

-Each filter is used to detect a separate feature in the data and map accordingly.