返回 深度学习 思维导图
中文·English
🧠 深度学习ID: activation-functions

激活函数演进

Activation Functions
🎯核心定义
激活函数演进是深度学习非线性来源的主线。Sigmoid 将输出压缩到 (0,1)(0,1): σ(x)=11+ex\sigma(x)=\frac{1}{1+e^{-x}},导数 σ(x)=σ(x)(1σ(x))=σ(1σ)\sigma'(x)=\sigma(x)(1-\sigma(x))=\sigma(1-\sigma),峰值仅 0.250.25,且两端饱和——深层连乘下梯度必然消失;Tanh 零中心、导数峰值为 1,仍两端饱和。ReLU: ReLU(x)=max(0,x)\text{ReLU}(x)=\max(0,x),正区间导数恒为 1,一举解决梯度消失,但负区间梯度为 0 造成 Dead ReLU;LeakyReLU 以 0.01x0.01x 修补。GELU 以标准正态 CDF Φ(x)\Phi(x) 作概率权重: Φ(x)x+(1Φ(x))0.5x\Phi(x)x+(1-\Phi(x))0.5x(常用近似 xσ(1.702x)x\sigma(1.702x)),平滑无硬截断,是 BERT/GPT 系列标配。SwiGLU 把门控思想引入 FFN: xσ(xWg)(xWu)x\sigma(xW_g)\otimes(xW_u),LLaMA/Mistral 等现代 LLM 用它替换 ReLU。
📌核心概述
对比表 — Sigmoid: 输出 (0,1)(0,1)、导数峰值 0.250.25,两端饱和梯度消失;Tanh: 零中心、导数峰值 11,两端饱和;ReLU: 正区间导数 11、负区间 00,Dead ReLU;LeakyReLU: 负区间斜率 0.010.01,基本缓解;GELU: xΦ(x)x\Phi(x),处处可导、无硬截断;SwiGLU: xσ(xWg)(xWu)x\sigma(xW_g)\otimes(xW_u),门控乘积,FFN 表达力更强。
💡使用场景
面试必问“为什么深层网络不用 Sigmoid?”、“GPT 为什么用 GELU/SwiGLU?”;高频考点包括 σ=σ(1σ)\sigma'=\sigma(1-\sigma) 的导数推导、各激活的饱和区间与导数范围对比、Dead ReLU 的成因与缓解,以及 FFN 激活函数从 ReLU → GELU → SwiGLU 的演进动机。
解决的核心痛点
解决深层网络的梯度消失与表达力不足——Sigmoid 导数峰值 0.25,连乘 50 层信号衰减到约 0.25500.25^{50},训练几乎停滞;ReLU 正区间导数恒 1 让梯度可长距离回传;GELU/Swish 的平滑可微性改善优化;SwiGLU 门控在同参数量下表达力更强,LLaMA 报告中 SwiGLU 相对 ReLU 基线困惑度更低且训练更稳。
🎯5 个高频面试考点 (Exam Points)
1
白板推导 Sigmoid 导数 σ(x)=σ(x)(1σ(x))\sigma'(x)=\sigma(x)(1-\sigma(x)),并解释为什么深层网络用 Sigmoid 必然梯度消失(导数峰值仅 0.25)?
2
ReLU 相比 Sigmoid 解决了什么?Dead ReLU 的成因与缓解手段(LeakyReLU、偏置初始化)各是什么?
3
写出 GELU 公式 Φ(x)x+(1Φ(x))0.5x\Phi(x)x+(1-\Phi(x))0.5x 并说明性质;为什么 BERT/GPT 用 GELU 而不用 ReLU?
4
SwiGLU 公式 xσ(xWg)(xWu)x\sigma(xW_g)\otimes(xW_u) 的门控机制?为什么 LLaMA/Mistral 的 FFN 用 SwiGLU?
5
对比 Sigmoid/Tanh/ReLU/GELU 的导数范围与饱和/死亡问题;为什么激活输出最好零中心?
更新于 2026-08-12
🎯
检验攻克程度:针对「激活函数演进」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
下一个知识点梯度消失/爆炸

🔗 更多 深度学习 知识点卡片

Adam/AdamWAutograd 动态图BatchNorm 批归一化经典 CNN 演进