激活函数汇总及各优缺点

激活函数汇总及各优缺点

文章目录

    • 激活函数汇总及各优缺点
    • 1. 什么是激活函数
    • 2. 激活函数作用
    • 3.激活函数特性
    • 4.常用激活函数
      • 4.1 sigmoid
      • 4.2 tanh
      • 4.3 ReLU,P-ReLU, Leaky-ReLU
      • 4.8 softmax函数
      • softmax函数和sigmoid异同

1. 什么是激活函数

如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数

激活函数汇总及各优缺点_第1张图片

2. 激活函数作用

如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。

如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

激活函数的主要作用是提供网络的非线性建模能力。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。

3.激活函数特性

可微性: 当优化方法是基于梯度的时候,这个性质是必须的。

单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。

输出值的范围: 当激活函数输出值是 有限 的时候,基于梯度的优化方法会更加 稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是 无限 的时候,模型的训练会更加高效,不过在这种情况小,一般需要更小的learning rate

从目前来看,常见的激活函数多是分段线性和具有指数形状的非线性函数

4.常用激活函数

4.1 sigmoid

激活函数汇总及各优缺点_第2张图片

sigmoid缺点:

  • (1)sigmod函数要进行指数运算,这个对于计算机来说是比较慢的
  • (2)当输入稍微远离了坐标原点,函数的梯度就变得很小了,几乎为零。反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练
  • (3)函数输出不是以0为中心的,这样会使权重更新效率降低。

4.2 tanh

激活函数汇总及各优缺点_第3张图片

tanh也是一种非常常见的激活函数。

tanh优缺点:

优点:与sigmoid相比,它的输出均值是0,使得其收敛速度要比sigmoid快,减少迭代次数。

缺点:tanh一样具有软饱和性,从而造成梯度消失,在两边一样有趋近于0的情况

4.3 ReLU,P-ReLU, Leaky-ReLU

激活函数汇总及各优缺点_第4张图片
激活函数汇总及各优缺点_第5张图片

这就是Leaky-ReLU, 而P-ReLU认为,αα也可以作为一个参数来学习,原文献建议初始化a为0.25,不采用正则。

ReLU 的优点:

Krizhevsky et al. 发现使用 ReLU 得到的 SGD 的收敛速度会比 sigmoid/tanh 快很多

ReLU 的缺点:

训练的时候很”脆弱”,很容易就”die”了
例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。

4.8 softmax函数

激活函数汇总及各优缺点_第6张图片

softmax函数和sigmoid异同

激活函数汇总及各优缺点_第7张图片
激活函数汇总及各优缺点_第8张图片

参考 https://www.iteye.com/blog/daizj-2422614

你可能感兴趣的:(深度学习)