激活函数
sigmoid
1、软饱和激活函数
2、硬饱和激活函数,即:f’(x)=0,当 |x| > c,其中 c 为常数
优点
1、其饱和性虽然会导致梯度消失
2、用于概率输出,常见于二分类问题
3、它在物理意义上最为接近生物神经元
缺点
1 梯度消失问题
- 误差不断向底层传递的过程中,f′(zl)会呈指数倍增加,而其值域为(0, 0.25],所以梯度越往后传递值越小,最终导致权重无法正常更新
- 由于 sigmoid 的导数f′(zl)区间为(0, 0.25],所以其极易落入饱和区,导致梯度非常小,权重接近不变,无法正常更新
2 sigmoid的输出并不是均值为0的,所有输出数据的大于0,会增加梯度的不稳定性
3 当输出接近饱和或剧烈变化时,对输出范围的这种缩减往往会带来一些不利影响
tanH
tanh(x)=2sigmoid(2x)-1,也具有软饱和性。
优点
- Tanh outputs are zero-centered,把输入映射到(-1, 1)区间
- tanh 网络的收敛速度要比sigmoid快,因为 tanh 的输出均值比 sigmoid 更接近 0,SGD会更接近 natural gradient[4](一种二次优化技术),从而降低所需的迭代次数。
缺点
- 虽然 tanh 的导数f′(zl)区间为(0, 1],但仍然会导致梯度消失问题
ReLU
优点
- 比 sigmoid/tanh 收敛的更快(6x)
- 其导数在其权重和(z) 大于 0 的时候为 1,从而误差可以很好的传播,权重可以正常更新
缺点
- 其导数在其权重和(z) 小于 0 的时候为 0,会导致梯度值为0,从而权重无法正常更新
- 输出具有偏移现象,即输出均值恒大于零
- 当使用了较大的学习速率时,易受到饱和的神经元的影响。