激活函数ReLu、sigmoid、tanh的区别

激活函数ReLu、sigmoid、tanh的区别

三种常见的非线性激活函数有:relu、sigmoid、tanh
对应的公式分别为:

  • ReLu:y = max(0, x) ∀ y ∈ ( 0 , 无 穷 ) \quad\forall y\in\mathbb (0,无穷) y(0,)
  • sigmoid:y = 1/(1 + e-x) ∀ y ∈ ( 0 , 1 ) \quad\forall y\in\mathbb (0,1) y(0,1)
  • tanh: y = (ex - e-x)/(ex + e-x) b ∀ y ∈ ( − 1 , 1 ) \quad\forall y\in\mathbb (-1,1) y(1,1)

使用场景:
1、在输出层,一般会使用sigmoid函数,因为一般期望的输出结果概率在0~1之间,如二分类,sigmoid可作为输出层的激活函数
2、在隐藏层,tanh函数优于sigmoid函数。因为其取值范围介于-1 ~ 1之间,有类似数据中心化的效果。
3、但实际应用中,tanh和sigmoid会在端值趋于饱和,造成训练速度减慢,故一般的深层网络的激活函数默认大多采用relu函数,也可以前面几层使用relu函数,后面几层使用sigmoid函数。

你可能感兴趣的:(激活函数ReLu、sigmoid、tanh的区别)