美!最常用的10个激活函数!
共 3564字,需浏览 8分钟
·
2021-08-20 17:10
![](https://filescdn.proginn.com/580396bfc142b8d2c786e4b74e7fec07/168d731a630303d13676b29d37ca398e.webp)
![](https://filescdn.proginn.com/882c3cf284a5e242bbd3c4bf4faaaf19/2bb3f33643f5ec20275fbc8228efffff.webp)
![](https://filescdn.proginn.com/14a0ed306c4418e2db142ff7ced51efc/d41ba8bb694ef0ae70d74af6a4f68df5.webp)
![](https://filescdn.proginn.com/0d7b71b1f1305c9007bb5e8d03367c17/23c6af82db4ad8542e140dba598551ea.webp)
![](https://filescdn.proginn.com/808757c180cef2613d6c39603ff60759/0bc47a36b47728eb69da74d4c7b9e2c7.webp)
![](https://filescdn.proginn.com/ab4b41592c69b5d42f99aaaad5718636/e711b99e08a91747ce656b984993cc98.webp)
![](https://filescdn.proginn.com/3b041191cb7a00d9078ab45ae0f91c7f/63f89b38015bcbdd1afb7161b34a2b4d.webp)
Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;
用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;
梯度平滑,避免「跳跃」的输出值;
函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率;
明确的预测,即非常接近 1 或 0。
倾向于梯度消失;
函数输出不是以 0 为中心的,这会降低权重更新的效率;
Sigmoid 函数执行指数运算,计算机运行得较慢。
![](https://filescdn.proginn.com/0b9b942a24d1df1a3d02371a5f0d087b/78c8cc416adcf3e68513ce247d13f580.webp)
![](https://filescdn.proginn.com/f8318cac283bcee3764443ec42452cab/54670c263df05aeac777b3669309f845.webp)
![](https://filescdn.proginn.com/d3311b838fa5a152147c37a43b94e13e/d8b120f68fd3911ba8bb1c1a269a6020.webp)
首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好;
在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。
![](https://filescdn.proginn.com/234069bd0162d2981b5edb5f5e3a8a49/783dacfd43838a6a724e1ba0b7507bee.webp)
![](https://filescdn.proginn.com/b7c5380eae874803b7e065d9cf01ddd1/33ed482a66339f2d3a6aaa4ba555cf32.webp)
当输入为正时,不存在梯度饱和问题。
计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。
Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;
我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。
![](https://filescdn.proginn.com/a46434632a82e0dfa7d45ad5076611c5/af76eaa1988999552ba3cd6e989333d6.webp)
![](https://filescdn.proginn.com/715464d354663be3b5ad9b465849aa5e/e8bc98070786de2e6a9e3634f478f1a0.webp)
Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;
leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;
Leaky ReLU 的函数范围是(负无穷到正无穷)。
![](https://filescdn.proginn.com/0461a7cbfff46e49f2c8cbcf835c9c2f/e388cbfaedd68304da5f00b5db07a7ad.webp)
![](https://filescdn.proginn.com/d2dab8b3e9728a4a5af7c40ba1301e00/c1a66455887e250b5a6f3bb10440d356.webp)
没有 Dead ReLU 问题,输出的平均值接近 0,以 0 为中心;
ELU 通过减少偏置偏移的影响,使正常梯度更接近于单位自然梯度,从而使均值向零加速学习;
ELU 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息。
![](https://filescdn.proginn.com/da5ae057e403933c44d332c48419b5d3/de2ad7a4d02a2bf4fd37415b438a89c7.webp)
![](https://filescdn.proginn.com/657ba6c367695bf99c0c30064582129a/5fbf64f9efdde4cff05e9bb38002602e.webp)
如果 a_i= 0,则 f 变为 ReLU
如果 a_i> 0,则 f 变为 leaky ReLU
如果 a_i 是可学习的参数,则 f 变为 PReLU
在负值域,PReLU 的斜率较小,这也可以避免 Dead ReLU 问题。
与 ELU 相比,PReLU 在负值域是线性运算。尽管斜率很小,但不会趋于 0。
![](https://filescdn.proginn.com/4a77142c140a1bbbbacd40eb2c6f3b53/65b06350216b9ac099fcc67ec3d57184.webp)
![](https://filescdn.proginn.com/afbf8ae049bfd27024d04c542b78d9e3/0d625d3886faaebc174c4d27938fd940.webp)
在零点不可微;
负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。
![](https://filescdn.proginn.com/5e48d9984c7d19d5f0fbe088cc53e1f2/b034d946a7adb2be33bb17db09278685.webp)
「无界性」有助于防止慢速训练期间,梯度逐渐接近 0 并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决);
导数恒 > 0;
平滑度在优化和泛化中起了重要作用。
![](https://filescdn.proginn.com/6ff0717a9bd0b6dd0418f64dadb26f54/5ace64a98203dbec48bf4cebcd40cc24.webp)
![](https://filescdn.proginn.com/7b6196fe66680a7163523c92bc04adc6/78eecba16f40f9b47eeff3c7be25033c.webp)
![](https://filescdn.proginn.com/64ced2526b94124a8b7199efa00afa6e/59ddd2b26c21642fdda1e6a4b91369f8.webp)
![](https://filescdn.proginn.com/36a40a50648db6a4b344ed48f2c46836/265c6af978058581ec3b8a7cd19d1bfe.webp)
![](https://filescdn.proginn.com/c7316bd44f4815e4cdfb42dfddd049eb/5d0c9c662622ef30f2a98133cd5a0b6f.webp)
![](https://filescdn.proginn.com/310dbceba7ce2df4392a0a32abb0c640/a208073a6506005b51b6a2024b2ef4c5.webp)
Softplus 函数类似于 ReLU 函数,但是相对较平滑,像 ReLU 一样是单侧抑制。它的接受范围很广:(0, + inf)。