I am writing a neural network class and have come across two concepts I don't understand. Would anyone be able to tell me what the bias
and momentum
is and does
views:
54answers:
2Bias is a constant input given to neurons. e.g. in a normal feed forward network, you might have 2 input units, 2 hidden units and 1 output unit. a constant bias value (let's say 1) will go into the hidden and output units in addition to the input from the input units.
Momentum is the additional learning rate used at the beginning of learning to make learning faster. e.g. learning error is usually initially very large, so you start with high momentum and adjust weights more aggressively. later on during learning as your error decreases, momentum should also decrease so you learn more slowly but you'll be less likely to overshoot the target.
The bias allows the neuron to accept a wider range of input values. Momentum can be thought of as step size during the gradient decent.
In a typical node the bias and all the inputs from previous layer are weighted, summed, and then squashed to the output value. The squashing function is centered around zero and dramatically diminishes in sensitivity as the weighted sum becomes very positive or very negative. However, sometimes you want the sensitive part of the squashing to be at some region of the input other then right around zero. The bias input allows the learning algorithm to shift a node's response to accomplish that.
In addition to what Charles Ma described, momentum can also help carry the learning algorithm across a local minimum to find a better solution.