While building a neural network, one key decision is selecting the Activation Function for both the hidden layer and the output layer. It is a mathematical function applied to the output of a neuron. It introduces non-linearity into the model, allowing the network to learn and represent complex patterns in the data. Without this non-linearity feature a neural network would behave like a linear regression model no matter how many layers it has.
Activation function decides whether a neuron should be activated by calculating the weighted sum of inputs and adding a bias term. This helps the model make complex decisions and predictions by introducing non-linearities to the output of each neuron.
Activation Functions in neural Networks Introducing Non-Linearity in Neural NetworkBefore diving into the activation function, you should have prior knowledge of the following topics: Neural Networks, Backpropagation
Non-linearity means that the relationship between input and output is not a straight line. In simple terms the output does not change proportionally with the input. A common choice is the ReLU function defined as \sigma(x) = \max(0, x) .
Imagine you want to classify apples and bananas based on their shape and color.
The inclusion of the ReLU activation function \sigma allows h_1 to introduce a non-linear decision boundary in the input space. This non-linearity enables the network to learn more complex patterns that are not possible with a purely linear model such as:
Neural networks consist of neurons that operate using weights, biases and activation functions.
In the learning process these weights and biases are updated based on the error produced at the output—a process known as backpropagation. Activation functions enable backpropagation by providing gradients that are essential for updating the weights and biases.
Without non-linearity even deep networks would be limited to solving only simple, linearly separable problems. Activation functions help neural networks to model highly complex data distributions and solve advanced deep learning tasks. Adding non-linear activation functions introduce flexibility and enable the network to learn more complex and abstract patterns from data.
Mathematical Proof of Need of Non-Linearity in Neural NetworksTo illustrate the need for non-linearity in neural networks with a specific example let's consider a network with two input nodes (i_1 \text{and } i_2) , a single hidden layer containing neurons h_1 \text{ and } h_2 and an output neuron (out).
We will use w_1, w_2 as weights connecting the inputs to the hidden neuron and w_5 as the weight connecting the hidden neuron to the output. We'll also include biases ( b_1 for the hidden neuron and b_2 for the output neuron) to complete the model.
The input to the hidden neuron h_1 is calculated as a weighted sum of the inputs plus a bias:
{h_1} = i_1.w_1 + i_2.w_3 + b_1
{h_2} = i_1.w_2 + i_2.w_4 + b_2
The output neuron is then a weighted sum of the hidden neuron's output plus a bias:
\text{output} = h_1.w_5 + h_2.w_6 + \text{bias}
Here, h_1 , h_2 \text{ and output} are linear expressions.
In order to add non-linearity, we will be using sigmoid activation function in the output layer:
\sigma(x) = \frac{1}{1+e^{-x}}
\text{final output} = \sigma(h_1.w_5 + h_2.w_6 + \text{bias})
\text{final output} = \frac{1}{1+e^{-(h_1.w_5+h_2.w_6 + \text{bias})}}
This gives the final output of the network after applying the sigmoid activation function in output layers, introducing the desired non-linearity.
Types of Activation Functions in Deep Learning 1. Linear Activation FunctionLinear Activation Function resembles straight line define by y=x. No matter how many layers the neural network contains if they all use linear activation functions the output is a linear combination of the input.
Linear activation functions are useful for specific tasks but must be combined with non-linear functions to enhance the neural network’s learning and predictive capabilities.
Linear Activation Function or Identity Function returns the input as the output 2. Non-Linear Activation Functions1. Sigmoid Function
Sigmoid Activation Function is characterized by 'S' shape. It is mathematically defined as A = \frac{1}{1 + e^{-x}} . This formula ensures a smooth and continuous output that is essential for gradient-based optimization methods.
2. Tanh Activation Function
Tanh function (hyperbolic tangent function) is a shifted version of the sigmoid, allowing it to stretch across the y-axis. It is defined as:
f(x) = \tanh(x) = \frac{2}{1 + e^{-2x}} - 1.
Alternatively, it can be expressed using the sigmoid function:
\tanh(x) = 2 \times \text{sigmoid}(2x) - 1
3. ReLU (Rectified Linear Unit) Function
ReLU activation is defined by A(x) = \max(0,x) , this means that if the input x is positive, ReLU returns x, if the input is negative, it returns 0.
1. Softmax Function
Softmax function is designed to handle multi-class classification problems. It transforms raw output scores from a neural network into probabilities. It works by squashing the output values of each class into the range of 0 to 1 while ensuring that the sum of all probabilities equals 1.
2. SoftPlus Function
Softplus function is defined mathematically as: A(x) = \log(1 + e^x) .
This equation ensures that the output is always positive and differentiable at all points which is an advantage over the traditional ReLU function.
The choice of activation function has a direct impact on the performance of a neural network in several ways:
Activation functions are the backbone of neural networks enabling them to capture non-linear relationships in data. From classic functions like Sigmoid and Tanh to modern variants like ReLU and Swish, each has its place in different types of neural networks. The key is to understand their behavior and choose the right one based on your model’s needs.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4