Back to Topics

Activation Functions

Description

Activation functions are crucial components in deep learning models. They determine whether a neuron should be activated by introducing non-linearity into the output of a neuron. Without activation functions, neural networks would behave like simple linear models regardless of depth.

They help deep neural networks learn complex patterns, relationships, and hierarchies in data by enabling the network to approximate non-linear functions. Different activation functions are used for different purposes and layers within a network.

Key Insight

Without non-linear activation functions like ReLU or Sigmoid, a deep network would collapse into a simple linear model. The non-linearity allows deep networks to learn from errors and generalize well.

  • ReLU (Rectified Linear Unit): Most commonly used due to computational efficiency and sparse activation.
  • Sigmoid: Suitable for binary classification tasks but prone to vanishing gradient.
  • Tanh: Zero-centered but can also suffer from vanishing gradients.
  • Softmax: Often used in output layers for multi-class classification.
Activation Functions Graphs

Graphs of commonly used activation functions

Examples

Here is a comparison of various activation functions implemented using Keras:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation

model = Sequential()

# Using ReLU
model.add(Dense(64, input_dim=100))
model.add(Activation('relu'))

# Using Sigmoid
model.add(Dense(64))
model.add(Activation('sigmoid'))

# Using Tanh
model.add(Dense(64))
model.add(Activation('tanh'))

# Output Layer with Softmax
model.add(Dense(10))
model.add(Activation('softmax'))

model.summary()

This snippet demonstrates how to integrate different activation functions at different layers of a model.

Note

ReLU is generally preferred for hidden layers, while softmax or sigmoid is used in the output layer depending on the task.

Real-World Applications

Deep Neural Networks

Activation functions help networks learn non-linear decision boundaries in complex datasets like image or speech data.

Reinforcement Learning

Activation functions like ReLU and Leaky ReLU are used in policy networks for action prediction.

Financial Forecasting

Activation functions in RNNs and LSTMs model complex time-dependent behaviors like stock price movements.

Computer Vision

Functions like ReLU and variants are used to extract hierarchical features from images in CNNs.

Speech Recognition

Activation functions support audio signal transformations in acoustic modeling.

Resources

Video Tutorials

below is the video resource

PDFs

The following documents

Recommended Books

Interview Questions

What is the role of activation functions in neural networks?

Activation functions introduce non-linearity, enabling neural networks to learn complex functions. Without them, networks would only be able to represent linear functions regardless of depth.

What are the most commonly used activation functions?

  • ReLU (Rectified Linear Unit)
  • Sigmoid
  • Tanh
  • Softmax (for classification outputs)
  • Leaky ReLU (to handle ReLU's dying neuron issue)

Why is ReLU preferred over sigmoid and tanh?

ReLU is computationally efficient and does not saturate for positive values. It avoids the vanishing gradient problem which is common in sigmoid and tanh functions, especially in deep networks.

What is the vanishing gradient problem?

In deep networks, gradients of loss function shrink as they propagate backward through layers. This causes early layers to train very slowly or stop learning. Activation functions like sigmoid and tanh are prone to this issue.