大家好,我是小寒。
Sigmoid 激活函数
sigmoid 激活函数获取输入并将其压缩在 0 和 1 之间。输入越大,输出越接近 1,反之越小,输出趋向于 0。
它表示为
sigmoid 激活函数是输出为概率的问题中使用最广泛的函数之一。该函数的优点是:
- sigmoid 函数通常用于预测概率作为输出的模型。sigmoid 是此类问题的**选择,因为概率值介于 0 和 1 之间,与该函数的范围一致。
- 它既可微分又具有平滑的梯度,从其形状可以清楚地看出。
Sigmoid 激活函数的局限性:
梯度消失问题
sigmoid 函数的导数如下
从图形上来说,这可以表示为
从图中可以看出,梯度值在一定范围(-5.0 到 5.0)之间显着,并且随着进一步增大,图形变得更加平坦。这表明对于 > 5 或 < -5 的值,该函数将具有最小梯度并最终接近零。这就是神经网络停止学习的地方(梯度消失)。
Tanh/双曲激活函数
sigmoid 函数和双曲函数的区别在于后者的范围在-1到1之间。
它表示为
它的优点是
- 输出以零为中心,因此输出值可以轻松映射为强负值、中性值和强正值。
- 它通常用在神经网络的隐藏层中,因为它的值在 -1 到 1 的范围内,因此数据的平均值接近 0。这有助于使数据居中并使下一层的学习更容易。
双曲激活函数的局限性
梯度消失问题
tanh 函数的导数如下
从图形上来说,这可以表示为
显然,与 sigmoid 函数类似,双曲函数也面临着梯度消失的问题。除此之外,tanh 函数的导数比 sigmoid 函数更陡。
ReLU激活函数
ReLU 激活函数的主要特点是它不会同时激活所有神经元。如果转换的输出小于 0,神经元就会失活。
它表示为
ReLU激活函数的优点
- ReLU 函数在计算上比 sigmoid 和 tanh 函数更高效,因为只有部分神经元被激活。
- 由于函数的非线性、非饱和特性,梯度下降向损失函数全局最小值的收敛速度会加快。

ReLU 激活函数的局限性
ReLU 激活函数的导数如下
0 \ 0 & ext{if } x leq 0 end{cases} ‘ data-formula-type=‘block-equation’>
从图形上来说,这可以表示为
正如你所看到的,图的负数一侧使梯度值为 0。因此,某些神经元的权重和偏差在反向传播过程中不会更新。这会导致永远不会被激活的“死亡神经元”。所有负输入值立即变为 0,这会影响网络拟合和训练数据的能力。
Leaky ReLU
Leaky ReLU 通过为负输入引入一个小的正斜率来解决 Dying ReLU 问题。
它表示为
参数化 ReLU
参数化 ReLU 是 ReLU 激活函数的另一种修改,它解决了图左半部分梯度减小到 0 的挑战。该函数在函数的负输入上添加斜率,即参数 。参数 ReLU 中的反向传播涉及找出最合适的 值。
它表示为
参数化 ReLU 激活函数的局限性
由于我们引入了一个新的参数 ,神经元的输出可能会受到斜率参数的值以及反向传播期间值估计程度的影响。对于基于斜率值的不同问题,该函数的执行方式有所不同。
ELU
该激活函数也是 ReLU 激活函数的变体,其主要目标是修改函数负部分的斜率。与 Leaky ReLU 和 参数化 ReLU 不同,ELU 使用对数曲线来转换负值。
它表示为
ELU 的优点
-
ELU 逐渐平滑,直到输出为 ,而 ReLU 则很尖锐。
-
通过引入负值的对数曲线来消除死亡 ReLU 问题,从而帮助神经网络将权重和偏差引导到正确的路径上。
ELU 激活函数的局限性
- 由于指数运算而增加了计算时间。
-
反向传播不涉及 参数的学习。
-
梯度爆炸问题,与梯度消失问题相反,随着反向传播算法的进行,梯度不断增加。因此,梯度的乘法变得巨大,导致梯度下降发散。模型无法学习,导致不稳定。
ELU 激活函数的导数如下
从图形上来说,这可以表示为
福利一
注意:免费整理了100 个数据分析相关的 python 库(
还有精美的pdf版本
)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/157401.html