当前位置:   article > 正文

浅谈神经网络中常用的激活函数_relu函数的导数

relu函数的导数

激活函数总结


什么是激活函数?

激活函数对于神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。首先,数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。

激活函数


激活函数

1、Sigmoid函数

Sigmoid函数又叫Logistic函数,因为Sigmoid函数可以从Logistic回归中推导得到,同时也是Logistic回归模型指定的激活函数。Sigmoid函数的函数图如下,可以看到Sigmoid函数的取值范围为(0, 1)之间,因此它可以将网络的输出映射并压缩在这一范围内,因此可以非常方便计算概率。

图1 Sigmoid函数
图2 Sigmoid函数导数

Sigmoid公式及其导数

f ( x ) = σ ( x ) = 1 1 + e − x f(x)=\sigma(x)=\frac{1}{1+e^{-x}} f(x)=σ(x)=1+ex1

f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x))

Sigmoid作为激活函数的特点:

优点:平滑、易于求导。

缺点:

  1. 激活函数计算量大(在正向传播和反向传播中都包含幂运算和除法);
  2. 反向传播求误差梯度时,求导涉及除法;
  3. Sigmoid导数取值范围是[0, 0.25],由于神经网络反向传播时的“链式反应”,很容易就会出现梯度消失的情况。例如对于一个10层的网络, 根据 0.2 5 10 ≈ 0.000000954 0.25^{10}\approx0.000000954 0.25100.000000954,第10层的误差相对第一层卷积的参数 W 1 W_1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/647796
推荐阅读
相关标签
  

闽ICP备14008679号