本文介绍10种常见的激活函数。所有的激活函数都有一个特征,非线性,这是作为激活函数的必要条件。
1、relu函数
Relu激活函数的解析式out = max(0, x),Relu函数及其导数的图像如下图所示:
Relu激活函数优点: 当输入 x<0 时,输出为 0,当 x> 0 时,输出为 x。它的输出取值是(0, x)。该激活函数使网络更快速地收敛。它不会饱和,即它可以对抗梯度消失问题。由于使用了简单的阈值化(thresholding),ReLU 计算效率很高。
2、sigmoid函数
sigmoid激活函数图像如下,它的输出取值是(0, 1)。其缺点是在输入值较大和较小时,梯度都会接近于0导致梯度消失问题;另一方面,sigmoid的运算过程也更加耗时。
3、tanh函数
tanh函数的图像与sigmoid十分相似,它的输出取值是(-1, 1),也具有同样的缺点,梯度消失,计算复杂。
4、Leaky Relu函数
该函数将relu的负区域也设成有梯度的斜线。输出取值为(0.1x,x)。
5、celu激活函数
激活函数公式与图像如下所示。
6、elu激活函数
激活函数公式与图像如下所示。
7、gelu激活函数
激活函数公式与图像如下所示。
8、glu激活函数
激活函数公式如下所示。
9、hardsigmoid激活层。
sigmoid的分段线性逼近激活函数,速度比sigmoid快。公式与图像如下所示:
10、hardtanh激活函数
公式与图像如下所示: