深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
极市平台
共 4083字,需浏览 9分钟
·
2021-02-28 23:07
![](https://filescdn.proginn.com/52d7971a5d449215aad351ba61e775d0/094430cbf2689cb5100953ab5636b946.webp)
极市导读
激活函数是神经网络模型重要的组成部分,本文作者Sukanya Bag从激活函数的数学原理出发,详解了十种激活函数的优缺点。>>加入极市CV技术交流群,走在计算机视觉的最前沿
![](https://filescdn.proginn.com/95dea026522234fc761348925d193edf/29ac85d5de440545afcb846460e6a53a.webp)
![](https://filescdn.proginn.com/49ec3ce8195660805039fe600860ed1e/e9838d002515476567fc4ad22e38c0d5.webp)
![](https://filescdn.proginn.com/839989cfa089e79dcdaea0f88ba658d4/58b99b07765005e9d4dc1600aa1079d0.webp)
1. Sigmoid激活函数
![](https://filescdn.proginn.com/cdc8ca168c11f13d4f036a101a87b8a9/3e07e3e8040723817ea3cc3afacd3dc4.webp)
![](https://filescdn.proginn.com/c4d19334dd84ef10d04534a732c25b22/197a0360508fe5fcf29295f3165d6a9b.webp)
Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化; 用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适; 梯度平滑,避免「跳跃」的输出值; 函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率; 明确的预测,即非常接近 1 或 0。
倾向于梯度消失; 函数输出不是以 0 为中心的,这会降低权重更新的效率; Sigmoid 函数执行指数运算,计算机运行得较慢。
2. Tanh / 双曲正切激活函数
![](https://filescdn.proginn.com/47decbbb66236ec21096cab83c5d59ac/ae37d6d1b4f18c2bfd088e8d4e3391e9.webp)
![](https://filescdn.proginn.com/4dbdde7c4aacaf78387ea477fcd3e627/176c4ce210ab7936a07823abbb6a944e.webp)
![](https://filescdn.proginn.com/c0da5690bbce5eadca8df16094273a52/f841e243c78101afa1e6768f112af46f.webp)
首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好; 在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。
3. ReLU激活函数
![](https://filescdn.proginn.com/fc95adb87a5b5996c8bf7cd0ccc332d1/ec051a6ac521b903f5f7082a309aad72.webp)
![](https://filescdn.proginn.com/ff3b8705c2a1d0d7a8419f0352db20ff/8ca8f0a1e174587da9068bf4501a877e.webp)
当输入为正时,不存在梯度饱和问题。 计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。
Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题; 我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。
4. Leaky ReLU
![](https://filescdn.proginn.com/9f8ec4b8e822631b645cf77661620657/34eb2b343da70073f91b5463a84c7846.webp)
![](https://filescdn.proginn.com/02cd2d68b88424160c77d5353e4fa571/2b050f68cdf9d2f3937eb967e0fd19c2.webp)
Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题; leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右; Leaky ReLU 的函数范围是(负无穷到正无穷)。
5. ELU
![](https://filescdn.proginn.com/445d8701b4911f9fd23ef3d10c17a36f/ccebfadbf6cf06999be9190f589f60a4.webp)
![](https://filescdn.proginn.com/32d5c26f5ad257a14eb7623f2440a83f/19e1656e7991451c1e2b20aff6d060af.webp)
没有 Dead ReLU 问题,输出的平均值接近 0,以 0 为中心; ELU 通过减少偏置偏移的影响,使正常梯度更接近于单位自然梯度,从而使均值向零加速学习; ELU 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息。
6. PReLU(Parametric ReLU)
![](https://filescdn.proginn.com/e769ad93efd62e5d4ebeae0a0f2ec1f5/1e8460465efbcdee878838f76fa96b27.webp)
![](https://filescdn.proginn.com/21c64a1291a795e9e7c4aac9bcd17db7/1ed3c6a7baff3d790de70d5c84fac0cf.webp)
如果 a_i= 0,则 f 变为 ReLU 如果 a_i> 0,则 f 变为 leaky ReLU 如果 a_i 是可学习的参数,则 f 变为 PReLU
在负值域,PReLU 的斜率较小,这也可以避免 Dead ReLU 问题。 与 ELU 相比,PReLU 在负值域是线性运算。尽管斜率很小,但不会趋于 0。
7. Softmax
![](https://filescdn.proginn.com/1faa1738d6f6abf8ca9cb52961eb9778/80137a6db367f13c1550854d358b6b27.webp)
![](https://filescdn.proginn.com/159885c4a72b00f75c58e91520c87b2e/60229c720d18498dafe455248afcbfd6.webp)
在零点不可微; 负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。
8. Swish
![](https://filescdn.proginn.com/0eabf5daa6bd01eb64aff10d594cf101/45c07fea30d646120e134e6719cca3b1.webp)
「无界性」有助于防止慢速训练期间,梯度逐渐接近 0 并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决); 导数恒 > 0; 平滑度在优化和泛化中起了重要作用。
9. Maxout
![](https://filescdn.proginn.com/537a3fc2d1f68adecddcc172500b39e4/4147f014d5e579594de0c86d85031ef3.webp)
![](https://filescdn.proginn.com/50e981501eeb24bcc1d271996d4480a4/7d151e94a900cae461e4ec8d53f526c2.webp)
![](https://filescdn.proginn.com/fda11e8165f93129e2568c50bdbd18fa/b9aab43d4aa4d467d9589d3803b9f386.webp)
![](https://filescdn.proginn.com/3d9acd5e7fe618cfeb3b2204dc58ad2c/0b177425956cc29ab1bde789807da504.webp)
![](https://filescdn.proginn.com/0f66135324e14d8d0e5d9f9f2103f348/a483409a2a2bdfc67f6e2484ab65174b.webp)
10. Softplus
![](https://filescdn.proginn.com/db194bda705155e66fcad459451415a3/64694a6168cc022fa3977894a28b235f.webp)
推荐阅读
2019-10-31
![](https://filescdn.proginn.com/f397906bd14cbd4f4ef35aa0cc587c29/ffbe91ac7ae9844dd5bb821bf1f5f46b.webp)
2019-07-27
![](https://filescdn.proginn.com/4fac164a7f8c5d8f51c5cc0452ec51df/7f0efc99461e668e9c3ca359f0fbeccb.webp)
2021-02-25
![](https://filescdn.proginn.com/9c6a493eb8029dce2d4b47334600d9a2/4c9f5127e046cee549014ae035ede742.webp)
![](https://filescdn.proginn.com/93be1217c6014c3b56aa76e4178e3206/98e027d3f8cb7df04d9b0c2c90669e7e.webp)
# CV技术社群邀请函 #
备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)
即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~
![](https://filescdn.proginn.com/37b4546edc1359ca20b38057e13b5038/d87232bbff4d1081833a44cd288f373b.webp)
评论