激活函数对比大全

激活函数的作用

激活函数为神经网络引入非线性,使模型能够学习复杂模式。不同激活函数在梯度传播、计算效率、输出范围等方面存在差异,直接影响训练效果。

常见激活函数对比

Sigmoid
  • 公式 :
    ( \sigma(x) = \frac{1}{1 + e^{-x}} )
  • 优点 :
    输出范围在(0,1),适合二分类问题的输出层。
  • 缺点 :
    易导致梯度消失(梯度在反向传播时趋近于0);计算量较大。
Tanh
  • 公式 :
    ( \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} )
  • 优点 :
    输出范围(-1,1),中心对称,梯度收敛比Sigmoid更快。
  • 缺点 :
    仍存在梯度消失问题。
ReLU (Rectified Linear Unit)
  • 公式 :
    ( \text{ReLU}(x) = \max(0, x) )
  • 优点 :
    计算高效;缓解梯度消失(正区间梯度恒为1)。
  • 缺点 :
    "神经元死亡"问题(负区间梯度为0,部分神经元可能永久失效)。
Leaky ReLU
  • 公式 :
    ( \text{LeakyReLU}(x) = \begin{cases} x & \text{if } x \geq 0 \ \alpha x & \text{if } x < 0 \end{cases} )
    (通常 ( \alpha = 0.01 ))
  • 优点 :
    解决ReLU的"神经元死亡"问题,负区间引入微小梯度。
  • 缺点 :
    需要手动调整 ( \alpha ) 超参数。
ELU (Exponential Linear Unit)
  • 公式 :
    ( \text{ELU}(x) = \begin{cases} x & \text{if } x \geq 0 \ \alpha(e^x - 1) & \text{if } x < 0 \end{cases} )
  • 优点 :
    负区间平滑收敛,缓解梯度消失;输出均值接近0,加速训练。
  • 缺点 :
    计算复杂度较高(涉及指数运算)。
Swish
  • 公式 :
    ( \text{Swish}(x) = x \cdot \sigma(\beta x) )
    (( \sigma )为Sigmoid函数,( \beta )可学习或固定)
  • 优点 :
    平滑非单调,实验显示在深层网络中表现优于ReLU。
  • 缺点 :
    计算量较大(包含Sigmoid运算)。

选择建议

  • 隐藏层: 优先使用ReLU或其变体(Leaky ReLU、ELU),平衡效率与性能。
  • 输出层 :
    • 二分类:Sigmoid
    • 多分类:Softmax
    • 回归:线性激活(无激活函数)或Tanh(输出需归一化时)。
  • 实验调优: 深层网络可尝试Swish或GELU(高斯误差线性单元)。

梯度对比示例

以反向传播为例:

  • ReLU梯度 :
    ( \frac{d}{dx}\text{ReLU}(x) = \begin{cases} 1 & \text{if } x > 0 \ 0 & \text{if } x \leq 0 \end{cases} )
  • Tanh梯度 :
    ( \frac{d}{dx}\tanh(x) = 1 - \tanh^2(x) )

通过对比可见,ReLU在正区间的梯度稳定性更优,而Tanh的梯度随输入变化剧烈。

相关推荐
饼干哥哥4 天前
开源Skills|搭建亚马逊动态关键词库系统,每天抓SSS级机会词
人工智能·深度学习·数据分析
武子康6 天前
调查研究-191 SenseVoice 不只是 ASR:把语音从“转文字“升级成“理解状态“
人工智能·深度学习·openai
武子康7 天前
调查研究-189 Kronos 调研:金融 K 线基础模型,是真突破,还是量化圈的新玩具?
人工智能·深度学习·openai
xiao5kou4chang6kai413 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
renhongxia113 天前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC13 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
β添砖java13 天前
深度学习(22)网络中的网络NiN
人工智能·深度学习
Kobebryant-Manba13 天前
深度学习时候d2l报错和使用问题
人工智能·深度学习
zhangfeng113313 天前
deepspeed zero3 结合 llamafactory 微调 ,save_only_model: true 导致保存时候出错
开发语言·python·深度学习
大模型最新论文速读13 天前
06-16 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理