Neural networks are biologically inspired programming paradigm which enables computer programs to learn from observational data, recognize patterns in the observational data, and provide desired output.
Neural networks are loosely modelled on the human brain and consists of thousands or millions of simple processing nodes that are densely interconnected.
Neural Networks are used for solving many practical problems across industries.
Some of the common application include Image recognition, Face recognition, Speech recognition, Natural Language Processing, Handwriting analysis, Medical diagnosis, Predictive analysis, Supply chain optimization, Self-driving vehicles, and more...
Perceptron is an artificial neurons that form the building blocks of a neural network.
Perceptrons take binary values x1,x2,x3,x4.... as inputs and produces a single binary output. Each input is given a weight w that conveys the importance of the input.
The binary output is determined based on the value of the cumulative sum of all inputs multiplied by corresponding weights (x1×w1 + x2×w2 + x3×w3 + ...). If the cumulative sum is greater than a pre-set threshold values then output is 0 else output is 1.
Formula
Output = 0 if ∑j xj×wj ⋜ threshold
Output = 1 if ∑j xj×wj > threshold
A neural network can consist of multiple layers of peceptrons, each layer acting on the output of the previous layer and making more complex decisions from the previous layer.
By tuning the weights and thresholds of a neural network the output can be refined and made more accurate.
Learning algorithms can automatically and continuously tune the weights and thresholds of a network of artificial neurons in response to external stimuli, without direct intervention by a programmer.
Sigmoid neuron is an artificial neuron in which small changes in their weights and thresholds cause only a small change in their output.
Sigmoid neurons take values between 0 and 1 as inputs and produces a single output whose value is between 0 and 1
The weights given to inputs also have a value between 0 and 1.
Perceptron | Sigmoid neuron |
---|---|
Input values are binary - 0 or 1 | Input values can be between 0 and 1 |
Output values is binary - 0 or 1 | Output value can be between 0 and 1 |
Weights and thresholds values are binary - 0 or 1 | Weights and thresholds values can be between 0 and 1 |
Since values are binary any change to a weight can lead to a big change in output (0 to 1, or 1 to 0) | Since values are between 0 and 1 small change to weight leads to a small change in output |
A neural network can consist of multiple layers of neurons, each layer acting on the output of the previous layer and making more complex decisions from the previous layer.
The first layer in a neural network is the input later and the last layer is the output layer. The layers between input layer and output layer are known as hidden layers.
By tuning the weights and thresholds the output of the neural network can be refined and made more accurate.
Learning algorithms can automatically and continuously tune the weights and thresholds of a network of artificial neurons in response to external stimuli, without direct intervention by a programmer.