Notes on Backward Algorithm and Gradient Descent Algorithm in Neural Networks
Forward Algorithm Review
The forward algorithm calculates the output of a neural network from the input layer to the output layer.
In a multilayer perceptron, each layer is fully connected to the next layer.
Each neuron calculates its output based on the inputs it receives, weights, and bias applied with an activation function.
Backward Algorithm
The backward algorithm allows for the calculation of gradients of the loss function concerning the weights by propagating the error back through the network.
It utilizes the derivatives calculated during the forward pass to update weights.
It follows the principle that knowing the output layer error enables the calculation of hidden layer errors recursively.
Purpose of Backward Algorithm
To minimize the error by adjusting the weights in the neural network, facilitating the learning process.
Allows for weight updates via the chain rule of derivatives, taking the error from the output layer back through to the input layer.
Gradient Descent Algorithm
Gradient descent is the optimization method used to update the weights of the neural network after training on input/output pairs.
The primary aim is to minimize the loss function, typically by adjusting weights in the opposite direction of the gradient.
The update rule for weights is given by:
Where:
( Delta w ): Change in weight
( eta ): Learning rate
( frac{partial E}/{partial w} ): Derivative of the error with respect to the weight
Importance of Learning Rate ((eta))
The learning rate controls how much to change the weights during training.
A large learning rate may cause overshoot of the minimum error.
A small learning rate converges slowly and may get stuck in local minima.
It is essential to tune the learning rate for optimal performance.
Update Equations for Weights
For weights in the output layer:
w{kj} = w{kj} + Delta w_{kj}For weights in the hidden layer:
w{ji} = w{ji} + Delta w_{ji}Where the changes ( Delta w ) are calculated using the errors propagated back from the output layer.
Error Backpropagation
The error for each neuron in the output layer is calculated as:
Where ( dk ) is the desired output and ( yk ) is the output after applying the activation function.
To propagate the error back through the network:
Calculate the error term for each layer, using:
Where ( \phi'(vk) ) is the derivative of the activation function at the output layer and ( Ek ) is the error at that neuron.
Updating Weights Using Errors
After calculating ( \Delta ), update the weights:
For output layer:
For hidden layers:
Where ( x_i ) is the input to the hidden layer neuron.
Conclusion
The backward algorithm and gradient descent work together in neural networks to ensure that the model learns correctly from the errors to produce accurate predictions.
The iterative process of forward propagation followed by backward propagation allows for efficient learning of weights in a neural network.
Note: The mathematical expressions provided in this note should be verified for mathematical accuracy and formatted correctly as per notation standards in mathematical texts, particularly when resolved in a LaTeX-compatible format for publications or presentations.