Posted in : Neural Networks
Neural Network - The Perceptron
A neural network is basically a realization of a non-linear mapping from to
where and are respectively the dimension of the input and the output space (dimension of the realtive vectors).
The Perceptron
An artificial neuron (AN) implements a non-linear mapping from ususally to or , depending on the activation function used. That is, e.g.
An AN receives a vector of input signals, either from the environment or from other ANs. To each input signal is associated a weight that strengthen or deplete the input signal. The AN computes the net input signal, and uses an activation function to compute the output signal, , given the net input. The strenght of the output signal is further influenced by a treshold value, , also referred to as the bias
Calculating the Net Input Signal
The net input signal to an AN is usually computed as the weighted sum of all the input signals
Activation Functions
The function receives the net input signal and the bias, and determines the output of the neuron. Different types of activation functions can be used. The most common used are:
-
Linear fuction
where is the slope of the function.
-
Step function
The step function produce two scalar output values, or . Usually they assume the values and , or and .
-
Sigmoid function
The sigmoid fucntion is a continuous function that lies in the range . The parameter controls the stepness of the function.
-
Hyperbolic tangent
or also approximated as
The output of the hyperbolic tangent is in the range .
-
Gaussian function
where is the mean and is the standard deviation of the Gaussian distribution.
AN Geometry
Single neurons can be used to realize linearly separable functions without any error. Linear separability means that the neuron can separate the space of -dimensional input vectors yielding an above-threshold response from those having a below-threshold response by an -dimensional hyperplane. The hyperplane separates the input vectors for which grom the input vectors for which .
Given the input signal and a value for , the weights values , can easily be calculated by solving
where is the matrix of input patterns as given in the truth tables. !!!!images!!!
An example of linear function that is not linearly saparable is the XOR. A single perceptron cannot implement this function. To be able to learn functions that are not linearly separable we need to use a layered NN of several neurons.
Artificial Neuron Learning
For very simple problem is easy to find by hand some values for and such that the AN yields the desired output. But we want to find an automated approach that allows us to determine these values also in cases where no prior knowledge about the target output exists. Here comes to help the learning paradigm. Basically a learning algorithm adjusts the weight and the bias values until several criteria are satisfied.
There are three main types of learning:
- Supervised learning
- Unsupervised learning
- Reinforcement learning: the aim is to reward the neuron for good performance and to penalize the neuron for bad performance.