一起走进常见的激活函数
【摘要】 一、一些常见激活函数对比激活函数数学公式输出范围核心作用主要缺点典型应用场景Sigmoidf(x)=1+e−x1(0, 1)将输入压缩为概率值,适合二分类输出层梯度消失(输入极大/极小时梯度接近0);输出非零均值,影响收敛二分类输出层Tanhf(x)=ex+e−xex−e−x(-1, 1)零均值输出加速收敛;比Sig...
一、一些常见激活函数对比
激活函数 | 数学公式 | 输出范围 | 核心作用 | 主要缺点 | 典型应用场景 |
---|---|---|---|---|---|
Sigmoid | (0, 1) | 将输入压缩为概率值,适合二分类输出层 | 梯度消失(输入极大/极小时梯度接近0);输出非零均值,影响收敛 | 二分类输出层 | |
Tanh | (-1, 1) | 零均值输出加速收敛;比Sigmoid梯度更强 | 梯度消失(绝对值较大时梯度饱和);计算成本高 | RNN/LSTM隐藏层;需对称输出的场景 | |
ReLU | [0, +∞) | 缓解梯度消失(正区间梯度恒为1);计算高效;稀疏激活降低复杂度 | 负输入导致“死神经元”;输出非零中心化 | CNN隐藏层(主流选择) | |
Leaky ReLU | (-∞, +∞) | 缓解ReLU死区问题(负区间引入小斜率α≈0.01) | 超参数α需手动设定,敏感且不稳定 | 替代ReLU解决死神经元问题 | |
PReLU | (-∞, +∞) | 负区间斜率α可学习,自适应调整 | 增加过拟合风险;训练复杂度略高 | 深层CNN;需更高精度的场景 | |
ELU | (-α, +∞) | 负区间平滑过渡,避免死神经元;输出接近零均值 | 指数计算开销大 | 对稳定性要求高的深层网络 | |
Softmax | (0, 1) | 多分类输出归一化为概率分布(和为1) | 梯度爆炸/消失风险 | 多分类输出层 |
二、详细说明与作用分析
-
Sigmoid
- 作用:将输入压缩到(0,1),适合表示概率(如二分类输出)。
- 问题:梯度消失严重,且输出均值非零,导致后续层输入偏移,影响收敛效率。
-
Tanh
- 作用:输出以0为中心,加速收敛;梯度比Sigmoid更陡峭(最大梯度为1),缓解梯度消失。
- 问题:深层网络中梯度饱和仍存在,且指数运算计算成本较高。
-
ReLU
- 作用:
- 正区间梯度为1,彻底解决梯度消失问题;
- 计算仅需阈值判断,效率极高;
- 稀疏激活(约50%神经元关闭)提升特征选择性。
- 问题:负输入导致神经元永久死亡(梯度为0),尤其在高学习率时显著。
- 作用:
-
ReLU变体(Leaky ReLU/PReLU/ELU)
- 改进思路:负区间保留微弱信号,避免神经元死亡:
- Leaky ReLU:固定小斜率(α=0.01)缓解死区,但需手动调参;
- PReLU:α作为可学习参数,自适应优化(如ResNet中α≈0.25);
- ELU:负区间平滑指数曲线,输出均值接近0,提升稳定性。
- 改进思路:负区间保留微弱信号,避免神经元死亡:
-
Softmax
- 作用:将多分类的原始输出(Logits)转化为概率分布,支持交叉熵损失计算。
- 局限:仅用于输出层,隐藏层使用会导致特征表达受限。
三、选择建议
-
隐藏层:
- 首选ReLU:计算高效,性能稳定(需配合He初始化及Batch Normalization);
- 深层网络/稳定性要求高:尝试ELU或PReLU。
-
输出层:
- 二分类:Sigmoid;
- 多分类:Softmax。
-
循环网络(RNN/LSTM):
- Tanh:零中心输出维持时间序列梯度稳定性。
四、总结一下下
激活函数的核心价值在于打破线性限制,使CNN能拟合复杂函数。ReLU因其高效性成为隐藏层主流,但需警惕“死神经元”;其变体(PReLU/ELU)通过改进负区间提升鲁棒性。Sigmoid和Softmax专用于概率输出,而Tanh在需要对称输出的场景仍有优势。实际选择需结合网络深度、数据特性及计算资源综合权衡。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)