常用激活函数总结

一、激活函数是什么?

简单来说,激活函数是在人工神经网络的神经元上运行的函数,负责对神经元的加权输入进行非线性变换后输出。

核心价值在于引入非线性:如果没有激活函数(或使用线性激活函数),无论神经网络有多少层,最终都等价于一个线性变换,无法拟合复杂的非线性问题。正是激活函数的存在,赋予了神经网络强大的表达能力。


二、Sigmoid

数学公式

值域

(0, 1)

函数图像特征

呈平滑的S形曲线(S型生长曲线),在x=0处取值0.5,当x趋向+∞时趋近于1,当x趋向−∞时趋近于0。

优点

  1. 输出可解释为概率:值域在(0,1)之间,非常适合表示概率,因此常作为二分类输出层的激活函数

  2. 平滑且可导:处处连续可微,数学性质好,便于梯度下降优化

  3. 单调性:函数严格单调,输入越大输出越大,符合直觉

缺点

  1. 梯度消失问题:当输入绝对值较大时(如x>5或x<−5),函数进入饱和区,导数趋近于0。在深层网络中,多个饱和区导数相乘会导致梯度逐层衰减,靠近输入层的权重几乎无法更新

  2. 非零中心:输出全部为正数,这会导致在反向传播时,所有参数的梯度符号相同,使权重更新呈现"Z字形"路径,降低收敛效率

  3. 计算开销大:涉及指数运算,相比ReLU等简单操作更耗时

适用场景

  • 二分类问题的输出层(如判断是否为垃圾邮件)

  • 现代深度网络中已很少用于隐藏层,被ReLU等更高效的激活函数取代


三、Tanh(双曲正切)

数学公式

值域

(-1, 1)

函数图像特征

与Sigmoid形状相似,同样是S形曲线,但关于原点对称(零中心),在x=0处取值为0。

优点

  1. 零中心输出:均值为0,有助于数据居中,避免Sigmoid中梯度同向更新的问题,优化效率更高

  2. 平滑可导:与Sigmoid一样具有优良的数学性质

  3. 梯度幅值更大:在x=0附近的导数(最大为1)大于Sigmoid(最大为0.25),早期梯度信号更强

缺点

  1. 同样存在梯度消失问题:在输入饱和区(绝对值较大时),梯度趋近于0,深层网络中仍会面临梯度衰减

  2. 计算开销大:同样涉及指数运算

适用场景

  • 作为隐藏层激活函数(早期常用,现已被ReLU系列取代)

  • 在部分RNN/LSTM中仍会使用,因为其零中心特性有助于缓解循环网络中的优化问题


四、ReLU(修正线性单元)

数学公式

值域

[0, +∞)

函数图像特征

在x<0时恒为0,在x>0时是一条斜率为1的射线,在原点处不可导(但实际实现中通常取左导数或右导数)。

优点

  1. 计算极其高效:只需比较大小和取最大值,不涉及指数运算,计算速度远快于Sigmoid/Tanh

  2. 有效缓解梯度消失:在正区间(x>0)梯度恒为1,信号可以无损传播,使得深层网络的训练成为可能

  3. 加速收敛:相比Sigmoid/Tanh,ReLU的收敛速度通常快约6倍

  4. 稀疏激活性:负值被置为0,使神经元输出具有稀疏性(约50%神经元被抑制),有助于减少过拟合,产生更紧凑的特征表示

缺点

  1. 非零中心:输出均为非负数,可能导致梯度更新效率降低

  2. Dead ReLU问题(神经元死亡):当输入落入负区间时,梯度为0,且权重不再更新。一旦神经元"死亡",它将永远保持不激活状态。常见原因包括:学习率过大导致权重大幅更新、初始化不佳、以及大量输入为负

适用场景

  • 隐藏层的绝对首选:绝大多数现代卷积神经网络(CNN)和全连接网络都默认使用ReLU

  • 初学者可以遵循"不确定用什么,就先上ReLU"的原则


五、Softmax

数学公式

其中K为类别总数。

值域

(0, 1),且所有类别的输出总和为1

核心特点

Softmax是唯一一个专用于输出层、不作为隐藏层使用的激活函数。它将一个K维实值向量"压缩"为一个K维概率分布向量:

  • 每个元素在(0,1)之间

  • 所有元素之和为1

  • 保持了原始输入的大小顺序(即输入越大,输出概率越大)

优点

  1. 输出具有明确的概率解释,可直接用于多分类任务的决策

  2. 指数运算放大了差异:较大的输入值在指数放大后占比更高,使概率分布更"尖锐",有利于明确分类

  3. 处处可导,便于与交叉熵损失函数配合进行梯度计算

缺点

  1. 当某个输入远大于其他输入时,输出概率会极度接近1,容易导致梯度极小

  2. 计算涉及指数求和,当类别数K很大时开销较高(大规模分类场景中常使用分层Softmax或负采样来优化)

适用场景

  • 多分类问题的输出层(如图像识别中的10分类、1000分类)

  • 注意:二分类问题输出层通常用Sigmoid而非Softmax(二者在二分类情况下等效,但Sigmoid计算更轻量)


六、四大激活函数速查对比表

激活函数 数学表达式 值域 是否零中心 是否存在梯度消失 计算成本 主要用途
Sigmoid 1/(1+e−x) (0, 1) ✅ 严重 二分类输出层
Tanh (ex−e−x)/(ex+e−x) (-1, 1) ✅ 严重 隐藏层(已少用)
ReLU max⁡(0,x) [0, +∞) ❌(正区) 极低 隐藏层默认首选
Softmax exi/∑exj (0,1),和为1 中高 多分类输出层

七、总结

  • 隐藏层 → ReLU(如果遇到神经元死亡,再考虑换Leaky ReLU或ELU)

  • 二分类输出 → Sigmoid

  • 多分类输出 → Softmax

  • 回归输出 → 线性层(无激活函数)

相关推荐
MartinYeung51 小时前
[论文学习]PrivacyLens:评估语言模型在行动中的隐私规范意识
人工智能·学习·语言模型
ForDreamMusk1 小时前
批量归一化
人工智能·算法·机器学习
牧濑红莉1 小时前
零基础认识大语言模型(LLM)工作原理(2.Token 到底是什么?)
人工智能·语言模型·chatgpt
AImoon11.12 小时前
客易云关注“人工智能+”行动深化,智能经济新形态写入政府工作报告
人工智能
IT_陈寒2 小时前
Redis的KEYS命令把我搞崩溃了,改用SCAN才活过来
前端·人工智能·后端
Earth explosion2 小时前
大规模向量库的索引选型与查询性能调优:Milvus 实战指南
人工智能·milvus·ai智能体
2601_955759622 小时前
code0 gemini-2.5-pro 企业实战:数据分析团队怎样更快产出报告
大数据·人工智能·数据分析
Ivanqhz2 小时前
刚体的自由度
人工智能·算法
ZZZMMM.zip2 小时前
数据侦探社-数据趋势分析的HarmonyOS开发实践
人工智能·华为·harmonyos·鸿蒙·鸿蒙系统