深度学习最常用的10个激活函数!
共 6638字,需浏览 14分钟
· 2021-06-28
![](https://filescdn.proginn.com/251ac6700dec8b95206095ff2ac2ffae/94d34b44649bb95fdce37b3c62d23fe6.webp)
![](https://filescdn.proginn.com/91fa73f39b70a6e06522622295d61832/ad048ecac4473afe9b91c048f18f6102.webp)
![](https://filescdn.proginn.com/04cae8c474e8ebd6ef26d8ca5fd91407/507a6a7e94600f71a63a1d286ef61865.webp)
![](https://filescdn.proginn.com/0d0bfb7665f92ccefe776fac4a3d0341/10f39d3c57a8fe83f9b70d15349e213c.webp)
![](https://filescdn.proginn.com/15fffb4f20ff13f22ac8943f7e48a8e3/519f7c842d77769aee52dc7f28edf787.webp)
![](https://filescdn.proginn.com/b986a175a4952be4e63895bccc7ae817/aa58b46c4ac69a8c64072f69fd54e73a.webp)
![](https://filescdn.proginn.com/ddcfcad01eff318c9d703752bda70061/27b55c5128bf2475c1a64106d0f08fab.webp)
Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;
用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;
梯度平滑,避免「跳跃」的输出值;
函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率;
明确的预测,即非常接近 1 或 0。
倾向于梯度消失;
函数输出不是以 0 为中心的,这会降低权重更新的效率;
Sigmoid 函数执行指数运算,计算机运行得较慢。
![](https://filescdn.proginn.com/be669d451e7bd1a9b0dc52b386e88b40/1830a0df763166c87e6a3b17a0f8ebbf.webp)
![](https://filescdn.proginn.com/acea7104ca2ac792efb1250960ff24a8/74b0a74423363f51d1bdf3c30e3486e8.webp)
![](https://filescdn.proginn.com/033eb9a1f954f4f426e4b65ff9c9bf8a/602d793b0a76b68b258e96a40180c89f.webp)
首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好;
在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。
![](https://filescdn.proginn.com/9e434b8673631a95b1f5bfa4afada45c/75f51d461ae83f52702d4d982d542393.webp)
![](https://filescdn.proginn.com/2b536728969d1d4416e42be82453aade/1c0779d2110e1f49849aa14efb87e636.webp)
当输入为正时,不存在梯度饱和问题。
计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。
Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;
我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。
![](https://filescdn.proginn.com/a2dd4e0563fbc02031ae8410f7c1d6be/8c3fd749e77c87b059e548f63f3f9ba5.webp)
![](https://filescdn.proginn.com/987aa1d7cf642287b4a836271efc0370/3a92e749f345260300efe5fbddc57da4.webp)
Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;
leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;
Leaky ReLU 的函数范围是(负无穷到正无穷)。
![](https://filescdn.proginn.com/d1169539400dd92e89f056fcf4a924e1/7d375844a2f407fd220dad288e3b6392.webp)
![](https://filescdn.proginn.com/198f600ee9efba6c41ea1cb41f22b9b3/c01ff1afa34576c585edbcb49684b23d.webp)
没有 Dead ReLU 问题,输出的平均值接近 0,以 0 为中心;
ELU 通过减少偏置偏移的影响,使正常梯度更接近于单位自然梯度,从而使均值向零加速学习;
ELU 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息。
![](https://filescdn.proginn.com/10dcaf30b1b6fa25a40ad2d459fa7ca4/cd5b59590d9bf2facba434e120976455.webp)
![](https://filescdn.proginn.com/a43028338d492be07a71fdd5a7bb22be/0b5835f52d00cc28aca3d31762464129.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/920664423807b641134497c1dbb6f3f3/fd564e5b3c0173789b5d9c608a5ba5e1.webp)
![](https://filescdn.proginn.com/13981439f600c917deb4ca4bca8d86b2/a01042706474afaf05227dffd8fc0c21.webp)
在零点不可微;
负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。
![](https://filescdn.proginn.com/0ed9cf663ac3c1e518777ad4d82396e3/44fca2e9844b5f9e25964bfe0d401014.webp)
「无界性」有助于防止慢速训练期间,梯度逐渐接近 0 并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决);
导数恒 > 0;
平滑度在优化和泛化中起了重要作用。
![](https://filescdn.proginn.com/77536e2dc25634d79c5d9beb70682b5c/b96bcd9907e739311223c6363891db87.webp)
![](https://filescdn.proginn.com/6ca54a9d25ecd9a18ddba2a953d43088/d03a442500f5159966971b4cb9c2c2c3.webp)
![](https://filescdn.proginn.com/6b218a40092bd95bb6874d4523664ce3/a59d6eb8083096c7712ee9b7ae88574a.webp)
![](https://filescdn.proginn.com/a4a3582d45048322ea9925866ba338a9/06906b01698ebcfd9d28f785db7fd26e.webp)
![](https://filescdn.proginn.com/adbb8234b59d8d777080307bd5d07661/da60cb6e061a006a9aaf116b1811a0e7.webp)
![](https://filescdn.proginn.com/ae0442e0ffe8dd8a98ae8efbc150f6d3/4a0b04a115101351b8bf5f89d915679c.webp)
Softplus 函数类似于 ReLU 函数,但是相对较平滑,像 ReLU 一样是单侧抑制。它的接受范围很广:(0, + inf)。
—版权声明—
作者丨Sukanya Bag 编译 | 机器之心
仅用于学术分享,版权属于原作者。
若有侵权,请联系微信号:yiyang-sy 删除或修改!