激活函数总结(第一篇)

105 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

总结:此文为12月更文计划第一天第一篇。

激活函数总结

image.png

为什么需要激活函数,改为 selu 后,可以缓解梯度消失。

激活函数(Activation Function)是一种添加到人工神经网络中的函数。

1.sigmoid函数

在什么情况下适合使用Sigmoid 激活函数呢?

Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1。

用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适。

比如计算概率:90%? 或者80%?以上,就可以使用sigmoid激活函数来进行。

缺点:效果最差的的一个激活函数,运行很慢,有梯度消失的可能性。

2.tanh函数

tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势

tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好。

在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。

tanh与sigmoid函数之间的比较:

image.png

3.Relu函数

当输入为正时,不存在梯度饱和问题。

计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。

ReLU 问:输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零。

我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。

4. Leaky ReLU

它是一种专门设计用于解决 Dead ReLU 问题的激活函数。

Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;

leak 有助于扩大 ReLU 函数的范围。

5. ELU

ELU 的提出也解决了 ReLU 的问题。与 ReLU 相比,ELU 有负值,这会使激活的平均值接近零。均值激活接近于零可以使学习更快,因为它们使梯度更接近自然梯度。

image.png