M3-013M3: Deep Learning FoundationsActivation FunctionsEasy
Mastery:

Activation Functions: 比较 Sigmoid、Tanh、ReLU 的优缺点。

📐 Mathematical Definition
σ′(x)≤0.25;ReLU′(x)=1[x>0]\sigma'(x)\le0.25;\qquad \mathrm{ReLU}'(x)=\mathbb 1[x>0]
⚡ Executive Summary
Core Concept: Sigmoid/Tanh 饱和导致梯度消失且非零中心;ReLU 不饱和、计算快,但有死亡问题。

📌 Key Takeaways

  • •
    Sigmoid 输出非零中心 → 梯度方向锯齿
  • •
    ReLU 稀疏激活

📐 Mathematical Derivations

三者的数学性质与后果:① <strong>Sigmoid</strong> σ(x)=1/(1+e⁻ˣ)——输出 (0,1)、导数 σ'=σ(1−σ)≤0.25。缺点:(a) <strong>梯度消失</strong>(导数上界 0.25,多层连乘指数衰减);(b) <strong>非零中心</strong>(输出恒正,导致某层权重的梯度符号一致,使参数更新呈'锯齿形'路径,收敛慢);(c) 含 exp 计算较贵。② <strong>Tanh</strong>——输出 (−1,1)、零中心(优于 sigmoid)、导数 ≤1 但仍饱和(大 |x| 时梯度趋于 0)。③ <strong>ReLU</strong> max(0,x)——(a) 正区间导数恒为 1(不饱和,缓解梯度消失);(b) 计算极快(只需比较);(c) <strong>稀疏激活</strong>(负半区输出 0,约一半神经元不激活,提升效率与表示稀疏性)。缺点:(a) <strong>死亡 ReLU</strong>(负区间梯度为 0,若某神经元的输入恒负则永久失活);(b) <strong>非零中心</strong>(输出 ≥0,与 sigmoid 同样的问题,但影响较小);(c) 负区间信息完全丢弃(无负值响应)。<strong>非零中心为何拖慢收敛</strong>:若某层输出全正,则该层权重的梯度都同号(如都为 w 的梯度 ∝ x·δ,x 全正则梯度符号由 δ 决定,同一 batch 内 δ 可能同号),导致更新只能'同时增大或同时减小',无法独立调整——表现为锯齿形路径。

🏭 Production Trade-offs

实践建议与选择:① <strong>现代默认</strong>——隐藏层用 <strong>ReLU 家族</strong>(ReLU/LeakyReLU/GELU/SiLU);Transformer 用 <strong>GELU/SiLU</strong>(平滑,见下题);输出层按任务选(二分类 sigmoid、多分类 softmax、回归线性)。② <strong>死亡 ReLU 的缓解</strong>——(a) <strong>LeakyReLU</strong>(负区间给小的负斜率,如 0.01,梯度不为 0);(b) <strong>ELU</strong>(负区间指数衰减,输出接近零中心,但含 exp 较贵);(c) <strong>GELU/SiLU</strong>(平滑且负区间有小梯度);(d) 减小学习率、用 BN/LN、合理初始化。③ <strong>为什么 ReLU 仍被广泛使用</strong>——简单、快、实验上效果好;但现代深层网络(尤其 Transformer)倾向平滑激活。④ <strong>与初始化的配套</strong>——ReLU 需 Kaiming 初始化(见上题);Sigmoid/Tanh 需 Xavier。⑤ <strong>其他选择</strong>——<strong>Mish</strong>(平滑非单调)、<strong>GELU</strong>(BERT/GPT 标配)、<strong>SiLU/Swish</strong>(LLaMA FFN 门控用)、<strong>Squared ReLU</strong>(某些视觉模型)。⑥ <strong>实践建议</strong>——不要过度纠结激活函数的选择(影响通常小于学习率/初始化/架构);先在 ReLU 与 GELU 之间试,若无明显差异就固定。
⚠️ Common Interview Pitfalls
  • ✕
    在深层网络用 sigmoid/tanh 而不配归一化(梯度消失)
  • ✕
    用大学习率 + ReLU 而不检查死亡神经元比例
🎯 Interviewer Follow-ups
  • ?
    为什么非零中心会拖慢收敛?
  • ?
    ReLU 的死亡问题怎么解?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM3-012: Weight Initialization: 什么是 μP(最大更新参数化)?它解决什么问题。📋Back to BankNext →M3-014: Activation Functions: 解释 dying ReLU,以及 LeakyReLU/ELU/GELU 如何缓解。