Activation functions in Neural Networks (original) (raw)

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.

_Before diving into the activation function, you should have prior knowledge of the following topics:**Neural Networks****,** **Backpropagation

Activation-functions-in-Neural-Networks

Activation Functions in neural Networks

Introducing Non-Linearity in Neural Network

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.

Effect of Non-Linearity

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:

Why is Non-Linearity Important in Neural Networks?

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 Networks

To 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.

  1. **Input Layer: Two inputs i_1 and i_2​.
  2. **Hidden Layer: Two neuron h_1​ and h_2
  3. **Output Layer: One output neuron.

NeuralNetwok

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 Function

Linear 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

Linear Activation Function or Identity Function returns the input as the output

2. Non-Linear Activation Functions

**1. 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.

Sigmoid-Activation-Function

Sigmoid or Logistic Activation Function Graph

**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

Tanh-Activation-Function

Tanh Activation Function

**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.

relu-activation-function

ReLU Activation Function

3. **Exponential Linear Units

**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.

softmax

Softmax Activation Function

**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.

softplus

Softplus Activation Function

Impact of Activation Functions on Model Performance

The choice of activation function has a direct impact on the performance of a neural network in several ways:

  1. **Convergence Speed: Functions like ReLU allow faster training by avoiding the vanishing gradient problem while Sigmoid and Tanh can slow down convergence in deep networks.
  2. **Gradient Flow: Activation functions like ReLU ensure better gradient flow, helping deeper layers learn effectively. In contrast Sigmoid can lead to small gradients, hindering learning in deep layers.
  3. **Model Complexity: Activation functions like Softmax allow the model to handle complex multi-class problems, whereas simpler functions like ReLU or Leaky ReLU are used for basic layers.

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.