DEV Community

Cover image for ReLU Activation Function [with python code]
keshavs759
keshavs759

Posted on • Originally published at vidyasheela.com

ReLU Activation Function [with python code]



The rectified linear activation function (RELU) is a piecewise linear function that, if the input is positive say x, the output will be x. otherwise, it outputs zero.

 

The mathematical representation of ReLU function is,

ReLU

Also Read:

The coding logic for the ReLU function is simple,

if input_value > 0:
  return input_value
else:
  return 0

A simple python function to mimic a ReLU function is as follows,

def ReLU(x):
  data = [max(0,value) for value in x]
  return np.array(data, dtype=float)

 

The derivative of ReLU is,

derivative ReLU

A simple python function to mimic the derivative of ReLU function is as follows,

def der_ReLU(x):
  data = [1 if value>0 else 0 for value in x]
  return np.array(data, dtype=float)

 

ReLU is used widely nowadays, but it has some problems. let's say if we have input less than 0, then it outputs zero, and the neural network can't continue the backpropagation algorithm. This problem is commonly known as Dying ReLU. To get rid of this problem we use an improvised version of ReLU, called Leaky ReLU.

 

Python Code

 

import numpy as np
import matplotlib.pyplot as plt

# Rectified Linear Unit (ReLU)
def ReLU(x):
  data = [max(0,value) for value in x]
  return np.array(data, dtype=float)

# Derivative for ReLU
def der_ReLU(x):
  data = [1 if value>0 else 0 for value in x]
  return np.array(data, dtype=float)

# Generating data for Graph
x_data = np.linspace(-10,10,100)
y_data = ReLU(x_data)
dy_data = der_ReLU(x_data)

# Graph
plt.plot(x_data, y_data, x_data, dy_data)
plt.title('ReLU Activation Function & Derivative')
plt.legend(['ReLU','der_ReLU'])
plt.grid()
plt.show()

 

ReLU activation Function and Derivative

 

 

to read more about activation functions - link.

Discussion (0)