深度学习中的一些激活函数

0.引言

激活函数的作用没啥说的,就是在神经元的线性计算之后进行的一个非线性映射。通过下面这个图就可以了解到。本文仅对几个激活函数进行梳理对比,只作为速查和备忘,而不讲解具体原理。

  1. sigmoid
  2. tanh
  3. ReLU
  4. Leaky ReLU

请先到原文https://zhuanlan.zhihu.com/p/25110450看看,我只是简单摘录了一些内容过来,

深度学习中的一些激活函数_第1张图片
(图来自https://zhuanlan.zhihu.com/p/25110450,知乎,夏飞,Google软件工程师)

这里先对Sigmoid,Tanh,ReLU,Leaky ReLU.

1. Sigmoid函数

深度学习中的一些激活函数_第2张图片
sigmoid.png


优点:
1.Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。
2.导函数具有较好的数学性质,求导容易。

缺点:

  1. 容易出现gradient vanishing
  2. 函数输出并不是zero-centered,会导致收敛速度变慢
  3. 幂运算相对来讲比较耗时

2. Tanh函数

深度学习中的一些激活函数_第3张图片
tanh.png


优点:

  1. 解决了zero-centered的输出问题,可以提高收敛速度
    缺点:
    1.gradient vanishing的问题
    2.幂运算的问题仍然存在

3. ReLU函数

深度学习中的一些激活函数_第4张图片
relu.png


优点:
1.解决了gradient vanishing问题 (在正区间)
2.没有sigmoid和tanh的指数运算,计算速度非常快,只需要判断输入是否大于0
3.收敛速度远快于sigmoid和tanh
缺点:
1.随着训练的进行,可能会出现神经元死亡,权重无法更新的情况。神经元的梯度从这一时刻开始将永远是0。

4. Leaky ReLU函数

深度学习中的一些激活函数_第5张图片
leakyrelu.png


优点:
1.解决了神经元不可逆死亡的问题
缺点:
1.理论可解释性不强,在实践中不见得效果好于经典ReLU

本文参考:

https://zhuanlan.zhihu.com/p/25110450
https://blog.csdn.net/piaodexin/article/details/77162766

你可能感兴趣的:(深度学习中的一些激活函数)