M3-019M3: Deep Learning FoundationsActivation FunctionsMedium
Mastery:
Activation Functions: GELU 与 SiLU 的区别与联系?各自被哪些模型采用?
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 两者都是平滑非单调激活;GELU 用高斯 CDF 门控、SiLU 用 sigmoid 门控;BERT/GPT-2 用 GELU,LLaMA/PaLM 用 SiLU(SwiGLU)。
📌 Key Takeaways
- •两者都形如 x·门控(x),属'自门控'激活
- •GELU 精确式含 erf,工程用 tanh 近似
- •SiLU 更便宜(一次 sigmoid),被 SwiGLU 采用
📐 Mathematical Derivations
数学机理:两者都是<strong>自门控</strong>形式 f(x)=x·g(x),其中门控 g(x) 在负区趋于 0、正区趋于 1。<strong>GELU</strong>:g=Φ(x)(标准正态 CDF),等价于'以输入自身为权重的随机正则'——直觉是 x 越大越可能被保留;精确式含 erf 无法闭式求导友好,工程上用 tanh 近似 Φ(x)≈½[1+tanh(√(2/π)(x+0.044715x³))]。<strong>SiLU</strong>(又名 Swish-β=1):g=σ(x),即 Sigmoid 加权线性单元。<strong>两者关系</strong>:形状高度相似(都是非单调、下界约 −0.17、负区有小负梯度),实验上在多数任务上表现接近;<strong>关键差异</strong>在于 (a) SiLU 计算更便宜(一次 sigmoid vs erf 近似)、(b) GELU 的'高斯'解释更优雅、(c) 导数形式 SiLU 更简洁:d/dx[xσ(x)]=σ(x)+xσ(x)(1−σ(x))。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>模型采用史</strong>——GPT/BERT 系(GPT-1/2/3、BERT)用 GELU;GPT-2 的 tanh 近似成为事实标准;LLaMA/PaLM/Gemma 用 SiLU 门控的 SwiGLU;ViT 用 GELU。② <strong>为什么 LLaMA 选 SiLU</strong>——SwiGLU 消融(Shazeer 2020)显示门控变体优于单路 FFN,而 SiLU 门控在同参数量下与 GELU 门控相当但更快,且 LLaMA 追求推理效率故选 SiLU。③ <strong>非单调性的价值</strong>——两者在 x≈−1 附近有轻微'下凹'(负区),这种非单调性让网络能表达'小负输入被抑制但中等负输入保留'的复杂响应,是优于 ReLU 表达能力的关键;消融显示若强制单调(如只保留正区)性能下降。④ <strong>数值细节</strong>——GELU 的 tanh 近似在 |x|>6 时与精确式偏差仍很小;SiLU 需分段稳定实现(同 sigmoid)。⑤ <strong>融合与量化</strong>——两者都可被推理引擎融合;量化(INT8/INT4)时平滑激活比 ReLU 更难量化(无精确零点、分布连续),故 GPTQ/AWQ 常对激活做逐 token 动态量化以保留精度。⑥ <strong>选择建议</strong>——追极致速度且架构允许:SiLU(SwiGLU);要与预训练权重兼容:沿用原模型激活(BERT→GELU、LLaMA→SiLU),<strong>不可随意替换</strong>否则权重失配。
⚠️ Common Interview Pitfalls
- ✕微调时擅自把 GELU 换成 SiLU(预训练权重与新激活不匹配,性能崩塌)
- ✕以为 GELU 与 SiLU 只是名字不同(计算路径与数值行为有差异)
🎯 Interviewer Follow-ups
- ?为什么门控形式(x·σ(x))比单路激活更强?
- ?GELU 的 tanh 近似公式是什么?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.