dmrookie's Studio.

基础简介2.激活函数

字数统计: 5.1k阅读时长: 21 min
2026/06/16
loading

1. 何为激活函数

1.1 定义与核心角色

激活函数是神经网络中引入非线性的核心组件,本质是将神经元的加权输入总和映射到特定输出范围。在多层神经网络中,若没有激活函数,无论网络多深,其整体表达仍等价于单一线性变换,无法拟合复杂的非线性模式。对于神经网络中的神经元 ii,其输出为 ai=f(∑jwijxj+bi)a_i = f(\sum_{j} w_{ij} x_j + b_i),其中 f(⋅)f(\cdot) 为激活函数,wijw_{ij} 为权重,bib_i 为偏置。激活函数决定了神经元的输出强度、信息传递方式以及模型的表达能力。

why_activation_nonlinear.png

1.2 理想激活函数的特性

理想的激活函数应具备:非线性(确保多层网络能逼近任意复杂函数)、可微性(在绝大多数区间内可导,便于梯度下降优化)、计算效率(函数及其导数的计算应尽可能简单)、零中心化(输出均值接近零,有助于加速收敛)以及缓解梯度消失的能力(导数能保持在合理范围内,确保底层权重能得到有效更新)。其中非线性和梯度消失缓解最为关键。

1.3 发展历史脉络

激活函数的演进反映了深度学习解决训练稳定性与效率的历程。第一阶段(1980s-2000s)以Sigmoid、Tanh为代表,受生物神经元启发,输出有界,但存在严重的梯度消失问题。第二阶段(2010-2015)以ReLU、Leaky ReLU、ELU为代表,ReLU通过简单的阈值操作解决了正区间的梯度消失,开启了深度学习时代。第三阶段(2017-2020)以Swish/SiLU、GELU为代表,利用平滑的非单调曲线取代硬性截断。第四阶段(2020-至今)以GLU、SwiGLU、GeGLU为代表,引入动态门控机制,使模型能自适应调节信息流,成为现代大语言模型的核心组件。


2. 激活函数在前向传播与反向传播中的影响机制

2.1 前向传播中的非线性映射

在前向传播过程中,激活函数通过非线性映射增强了模型的特征提取能力。对于第 ll 层,有 z[l]=W[l]a[l−1]+b[l]z^{[l]} = W^{[l]} a^{[l-1]} + b^{[l]},a[l]=f[l](z[l])a^{[l]} = f^{[l]}(z^{[l]})。ReLU通过将负值置零产生稀疏激活,约50%神经元输出为0,增强特征区分度;Sigmoid/Tanh将输入压缩到有界区间,产生饱和效应;Swish的平滑非单调映射保留负值区域的弱信号;GLU/SwiGLU通过门控路径对主路径进行加权,实现细粒度的信息过滤。

2.2 反向传播中的梯度传递机制

在反向传播中,激活函数的导数直接参与链式法则计算。对于 LL 层网络,损失函数 L\mathcal{L} 对第 ll 层权重的梯度为 ∂L∂W[l]=∂L∂a[L]⋅∏k=l+1L(∂a[k]∂z[k]⋅W[k])⋅∂z[l]∂W[l]\frac{\partial \mathcal{L}}{\partial W^{[l]}} = \frac{\partial \mathcal{L}}{\partial a^{[L]}} \cdot \prod_{k=l+1}^{L} (\frac{\partial a^{[k]}}{\partial z^{[k]}} \cdot W^{[k]}) \cdot \frac{\partial z^{[l]}}{\partial W^{[l]}},其中 ∂a[k]∂z[k]=f′[k](z[k])\frac{\partial a^{[k]}}{\partial z^{[k]}} = f'^{[k]}(z^{[k]}) 为激活函数的导数。

梯度消失问题是指当激活函数导数的最大值小于1时,多层连乘后梯度会呈指数级衰减。例如,若所有层使用Sigmoid激活函数(导数最大值0.25),10层网络的梯度上界约为 10−710^{-7},导致底层权重几乎不更新。Sigmoid、Tanh、ReLU、Leaky ReLU、Swish的10层网络梯度衰减分别为约 10−710^{-7}、约1、1(正区间)、1、约2.6,风险依次降低。

非零中心化问题同样值得关注。若激活函数输出始终为正(如Sigmoid、ReLU),则后一层神经元的输入均大于零。对于第 l+1l+1 层的权重梯度:

∂L∂wij[l+1]=∂L∂zi[l+1]⋅aj[l]\frac{\partial \mathcal{L}}{\partial w_{ij}^{[l+1]}} = \frac{\partial \mathcal{L}}{\partial z_i^{[l+1]}} \cdot a_j^{[l]}

若 aj[l]>0a_j^{[l]} > 0 恒成立,则所有 ∂L∂wij[l+1]\frac{\partial \mathcal{L}}{\partial w_{ij}^{[l+1]}} 的符号由 ∂L∂zi[l+1]\frac{\partial \mathcal{L}}{\partial z_i^{[l+1]}} 决定,导致权重更新方向一致,要么同增要么同减。优化路径会呈锯齿状,收敛速度降低。解决方法包括使用零中心化激活函数(Tanh、ELU)或使用Batch Normalization强制零中心化。

image.png


3. 八种激活函数逐一深度分析

3.1 Sigmoid

Sigmoid.png 数学表达式:f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}

导数公式:f′(x)=f(x)(1−f(x))f'(x) = f(x)(1-f(x)),导数最大值为0.25(在 x=0x=0 处)。

核心特点:输出范围 (0,1)(0, 1),双向软饱和,非零中心化,计算复杂度高(含指数运算),梯度消失风险极高。

前后向传播:在前向传播时,将任意实数映射到 (0,1)(0,1),产生概率化输出;在 ∣x∣|x| 较大时产生饱和效应。在反向传播时,梯度在饱和区(∣x∣>3|x| > 3)接近0,严重阻碍深层权重更新。

优点:输出可直接解释为概率值;平滑可微,处处连续;有界输出便于数值稳定性控制。

缺点:梯度消失严重;非零中心化导致优化效率低;计算开销大。

适用场景:二分类任务的输出层、注意力机制中的门控信号、LSTM/GRU中的门控单元。不适用于深层网络的隐藏层。


3.2 Tanh

Tanh.png

数学表达式:f(x)=tanh⁡(x)=ex−e−xex+e−xf(x) = \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}

导数公式:f′(x)=1−(tanh⁡(x))2f'(x) = 1 - (\tanh(x))^2,导数最大值为1.0(在 x=0x=0 处)。

与Sigmoid的关系:tanh⁡(x)=2σ(2x)−1\tanh(x) = 2\sigma(2x) - 1,是Sigmoid的缩放平移版本。

核心特点:输出范围 (−1,1)(-1, 1),双向软饱和,零中心化,计算复杂度高,梯度消失风险高。

前后向传播:在前向传播时,将输入映射到 (−1,1)(-1,1),保持数据零中心化;在反向传播时,梯度在 ∣x∣>2|x| > 2 时快速衰减,但优于Sigmoid。

优点:零中心化,优化效率优于Sigmoid;导数更大;输出范围对称于原点。

缺点:饱和区导数趋于0;计算开销大。

适用场景:RNN/LSTM的隐藏层激活、需要零中心化输出的场景。不适用于极深层网络。


3.3 ReLU

ReLU.png

数学表达式:f(x)=max⁡(0,x)f(x) = \max(0, x)

导数公式:f′(x)={1if x>00if x≤0f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ 0 & \text{if } x \leq 0 \end{cases}

核心特点:输出范围 [0,+∞)[0, +\infty),单侧饱和(负区间),非零中心化,计算复杂度极低(仅阈值比较),正区间无梯度消失。

前后向传播:在前向传播时产生稀疏激活模式;在反向传播时,正区间梯度流畅通无阻(梯度=1),负区间梯度完全截断(梯度=0),可能导致部分神经元永久失活。

优点:计算极快;正区间无梯度消失;稀疏激活提升计算效率和特征区分度;训练速度快。

缺点:Dead ReLU问题(大梯度可能导致神经元永久输出0);非零中心化;负区间信息完全丢失。

适用场景:CNN隐藏层(ImageNet等视觉任务的标准选择)、传统MLP网络、计算资源受限的场景。需谨慎设置学习率。


3.4 Leaky ReLU

Leaky_ReLU.png

数学表达式:f(x)={xif x>0αxif x≤0f(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases},通常 α=0.01\alpha = 0.01。

导数公式:f′(x)={1if x>0αif x≤0f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ \alpha & \text{if } x \leq 0 \end{cases}

核心特点:输出范围 (−∞,+∞)(-\infty, +\infty),无饱和,非零中心化,计算复杂度低(增加一次乘法),梯度消失风险极低。

前后向传播:在前向传播时,负值不完全截断,保留弱信号;在反向传播时,负区间梯度 =α= \alpha,确保所有神经元可更新。

优点:解决Dead ReLU问题;计算开销低;负区间保留微弱信息流。

缺点:α\alpha 作为超参数需要调优;性能提升不如ELU稳定。

适用场景:深层网络、GAN生成器网络、需要负值信息的任务。

变体:PReLU将 α\alpha 设为可学习参数,通过反向传播自动优化。


3.5 ELU

ELU.png

数学表达式:f(x)={xif x>0α(ex−1)if x≤0f(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha(e^x - 1) & \text{if } x \leq 0 \end{cases},通常 α=1.0\alpha = 1.0。

导数公式:f′(x)={1if x>0αexif x≤0f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ \alpha e^x & \text{if } x \leq 0 \end{cases}

核心特点:输出范围 [−α,+∞)[-\alpha, +\infty),左侧饱和,输出均值接近0(近似零中心化),计算复杂度中(含指数运算),梯度消失风险极低。

前后向传播:在前向传播时,负值平滑饱和而非硬截断;在反向传播时,负区间梯度在 x→−∞x \to -\infty 时趋于0但比ReLU平滑。

优点:输出均值接近0(类似BatchNorm效果);在 x=0x=0 处一阶导数连续(当 α=1\alpha=1 时);抗噪声鲁棒性强;平滑性优于ReLU。

缺点:含指数运算,计算量大于ReLU;α\alpha 需要调整。

适用场景:对噪声敏感的任务、需要零中心化但不想用BatchNorm的场景、深层网络。


3.6 Swish (SiLU)

Swish_SiLU.png

数学表达式:f(x)=x⋅σ(βx)=x1+e−βxf(x) = x \cdot \sigma(\beta x) = \frac{x}{1 + e^{-\beta x}},当 β=1\beta = 1 时称为SiLU。

导数公式(β=1\beta=1):f′(x)=σ(x)+x⋅σ(x)(1−σ(x))f'(x) = \sigma(x) + x \cdot \sigma(x)(1-\sigma(x)),导数最大值约为1.1(在 x≈1.5x \approx 1.5 处)。

核心特点:输出范围约 [−0.278,+∞)[-0.278, +\infty),无饱和,非零中心化,计算复杂度中(含Sigmoid运算),梯度消失风险极低。

前后向传播:在前向传播时,自适应调节信号强度,负值不完全抑制;在反向传播时,梯度最大值约1.1,略大于1有助于深层梯度流动。

核心创新:自门控(利用输入自身产生门控信号)、非单调性(在 x≈−1.278x \approx -1.278 处有最小值约 −0.278-0.278)、C∞C^\infty 连续可微。

优点:平滑性优于ReLU;非单调性允许捕捉复杂特征模式;在深层网络中性能优于ReLU;导数略大于1有助于梯度流动。

缺点:计算量高于ReLU;非零中心化。

适用场景:EfficientNet等现代CNN架构、Mamba/Jamba等状态空间模型、需要平滑激活的深层网络。


3.7 GLU

GLU_简化.png

数学表达式:GLU(x,W,V,b,c)=σ(xW+b)⊗(xV+c)\text{GLU}(x, W, V, b, c) = \sigma(xW + b) \otimes (xV + c),其中 ⊗\otimes 表示逐元素乘法。

架构原理:采用双路径架构,值路径 xV+cxV + c 产生特征,门控路径 σ(xW+b)\sigma(xW + b) 决定信息通过量。

核心特点:输出范围 (−∞,+∞)(-\infty, +\infty),无饱和,需要两组权重矩阵,计算复杂度较高。

优点:动态门控过滤信息;增强语义捕捉能力;信息流可控。

缺点:需要两组权重矩阵,参数量翻倍;计算开销大。

适用场景:语言建模任务、需要动态信息过滤的场景。


3.8 SwiGLU

SwiGLU_简化.png

数学表达式:SwiGLU(x,W,V)=Swish(xW)⊗(xV)\text{SwiGLU}(x, W, V) = \text{Swish}(xW) \otimes (xV)

FFN完整结构:FFNSwiGLU(x,W,V,W2)=(Swish(xW)⊗(xV))W2\text{FFN}_{\text{SwiGLU}}(x, W, V, W_2) = (\text{Swish}(xW) \otimes (xV)) W_2

工程实践:实际应用中采用三个权重矩阵(WW、VV、W2W_2),为保持参数量不变,隐藏层维度通常从 4d4d 缩减为 8d3\frac{8d}{3}。

核心特点:输出范围 (−∞,+∞)(-\infty, +\infty),无饱和,参数量为3个权重矩阵(需2/3维度缩减补偿),计算复杂度较高(约为标准FFN的1.5倍)。

前后向传播:在前向传播时,门控路径动态调节信息通过量,实现细粒度的特征选择;在反向传播时,梯度同时流经两条路径,门控机制提供额外的梯度通道。

核心创新:结合Swish的平滑性(C∞C^\infty 连续可微)与GLU的门控机制(动态信息过滤)。

优点:困惑度降低5-8%(相比GELU);训练稳定性极佳;在Transformer架构中表现卓越。

缺点:需要三个权重矩阵;计算量约为标准FFN的1.5倍。

适用场景:现代大语言模型(LLaMA、PaLM、DeepSeek、Mistral等)、Transformer的FFN层。

2/3宽度法则:SwiGLU的隐藏层维度设置已成为2024年后LLM设计的行业标准。传统FFN为 d→4d→dd \to 4d \to d(参数量 8d28d^2),SwiGLU FFN为 d→8d3→dd \to \frac{8d}{3} \to d(参数量 16d23×1.5=8d2\frac{16d^2}{3} \times 1.5 = 8d^2),实际应用中会向硬件友好数对齐。


4. 激活函数综合对比分析

4.1 核心特点对比总表

函数名称 数学表达式 导数最大值 输出范围 饱和性 零中心化 计算复杂度 梯度消失风险
Sigmoid 11+e−x\frac{1}{1+e^{-x}} 0.25 (0,1)(0,1) 双向饱和 ❌ 高 ⚠️⚠️⚠️ 极高
Tanh tanh⁡(x)\tanh(x) 1.0 (−1,1)(-1,1) 双向饱和 ✅ 高 ⚠️⚠️ 高
ReLU max⁡(0,x)\max(0,x) 1.0 [0,+∞)[0,+\infty) 单侧饱和 ❌ 极低 ✅ 低(正区间)
Leaky ReLU max⁡(αx,x)\max(\alpha x, x) 1.0 (−∞,+∞)(-\infty,+\infty) 无饱和 ❌ 低 ✅✅ 极低
ELU xx or α(ex−1)\alpha(e^x-1) 1.0 [−α,+∞)[-\alpha,+\infty) 左侧饱和 ✅ 接近 中 ✅✅ 极低
Swish xσ(x)x\sigma(x) ~1.1 [−0.278,+∞)[-0.278,+\infty) 无饱和 ❌ 中 ✅✅ 极低
SwiGLU Swish(xW)⊗xV\text{Swish}(xW) \otimes xV - (−∞,+∞)(-\infty,+\infty) 无饱和 ❌ 较高 ✅✅ 极低

4.2 优缺点对比总表

函数名称 主要优点 主要缺点
Sigmoid 概率解释性强,适合二分类输出;平滑可微,处处连续 梯度消失严重;非零中心化;计算含指数运算
Tanh 零中心化,收敛优于Sigmoid;导数最大值为1 仍存在梯度消失;计算含指数运算
ReLU 计算极快(仅阈值比较);正区间无梯度消失;产生稀疏激活 Dead ReLU问题;非零中心化
Leaky ReLU 解决Dead ReLU问题;负区间保留微小梯度;计算高效 α\alpha为超参数难调优;效果不稳定
ELU 均值接近零(类似BatchNorm);零点处平滑(C1C^1);抗噪声鲁棒性强 含指数运算计算量较大;α\alpha需要调整
Swish (SiLU) 平滑C∞C^\infty可微;非单调允许复杂特征;自门控机制 计算量高于ReLU(含Sigmoid);非零中心化
GLU 动态门控过滤信息;增强语义捕捉能力 需要两组权重矩阵;参数量翻倍
SwiGLU 结合Swish平滑性与GLU门控;困惑度降低5-8%;训练稳定性极佳 需三个权重矩阵(需2/3维度缩减补偿);实现复杂度高

4.3 适用场景推荐

应用场景 推荐激活函数 理由
二分类输出层 Sigmoid 输出(0,1)(0,1)可直接解释为概率
多分类输出层 Softmax 将输出归一化为概率分布
CNN隐藏层 ReLU / Swish ReLU计算极快,Swish在深层CNN中精度更高
RNN / LSTM隐藏层 Tanh 零中心化有助于循环结构中的梯度传递
传统MLP ReLU / Leaky ReLU 简单高效,Leaky ReLU可避免神经元死亡
Transformer FFN层 SwiGLU / GeGLU 门控机制显著提升Transformer表达能力
现代大语言模型 (LLM) SwiGLU LLaMA/PaLM/DeepSeek验证的行业标准
状态空间模型 (SSM) SiLU (Swish) Mamba/Jamba等架构的标准选择
计算资源受限场景 ReLU 计算复杂度最低,适合边缘设备
噪声敏感任务 ELU 左侧饱和提供噪声鲁棒性,均值接近零

4.4 计算复杂度排序

从低到高:ReLU(仅阈值比较,最快)→ Leaky ReLU(增加一次乘法)→ Tanh(双曲函数运算)→ ELU(指数运算)→ Sigmoid/Swish(Sigmoid运算)→ SwiGLU(双路径计算与逐元素相乘,最复杂)。

4.5 梯度消失风险排序

从高到低:Sigmoid(导数最大值0.25,深层网络梯度呈指数衰减)→ Tanh(导数最大值1.0,但饱和区仍会梯度消失)→ ELU(负区间饱和,但正区间梯度恒为1)→ ReLU/Leaky ReLU/Swish/SwiGLU(正区间梯度≥1,风险极低)。


5. 2024-2025现代深度学习应用趋势

5.1 从单一激活到门控机制的范式转移

激活函数已从单一非线性映射转向门控线性单元(GLU)范式。传统FFN架构为 x → Linear → ReLU/GELU → Linear → output,数学表达为 FFNtraditional(x)=W2⋅ReLU(W1x+b1)+b2\text{FFN}_{\text{traditional}}(x) = W_2 \cdot \text{ReLU}(W_1 x + b_1) + b_2。门控FFN架构为 x → 分两路 → [Swish(xW)] ⊗ [xV] → Linear → output,数学表达为 FFNgated(x)=W2⋅(Swish(xW)⊗(xV))\text{FFN}_{\text{gated}}(x) = W_2 \cdot (\text{Swish}(xW) \otimes (xV))。

门控机制的优势在于:细粒度信息调节(每个隐藏维度独立决定"让多少信息通过")、动态特征选择(门控信号根据输入内容自适应调整)、增强表达能力(从粗粒度非线性变换到细粒度信息调节的跃升)、训练稳定性(双路径梯度流缓解梯度消失)。

5.2 主流模型激活函数选择参考

模型系列 激活函数 发布时间 备注
BERT / GPT-2 / GPT-3 GELU 2018-2020 早期Transformer标准配置
LLaMA 1/2/3 SwiGLU 2023-2024 Meta开源LLM标杆
PaLM / PaLM 2 / Gemini SwiGLU 2022-2024 Google旗舰大模型
Gemma / Gemma 2 GeGLU 2024 Google轻量级/中量级模型
DeepSeek-V3 / R1 SwiGLU 2024-2025 中国顶级开源模型
Mistral / Mixtral SwiGLU 2023-2024 欧洲开源模型标杆
Mamba / Jamba SiLU (Swish) 2023-2024 状态空间模型 (SSM)
EfficientNet Swish 2019 高效计算机视觉模型

关键观察:2018-2020年GELU统治Transformer架构;2020-2023年SwiGLU逐步取代GELU;2024-2025年SwiGLU成为LLM的行业标准。


6. 参考文献

[1] Shazeer, N. (2020). GLU Variants Improve Transformer. arXiv:2002.05202. https://arxiv.org/abs/2002.05202

[2] Ramachandran, P., Zoph, B., & Le, Q. V. (2017). Swish: A Self-Gated Activation Function. arXiv:1710.05941. https://arxiv.org/abs/1710.05941

[3] Dauphin, Y. N., Fan, A., Auli, M., & Grangier, D. (2017). Language Modeling with Gated Convolutional Networks. arXiv:1612.08083. https://arxiv.org/abs/1612.08083

[4] Clevert, D.-A., Unterthiner, T., & Hochreiter, S. (2015). Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs). arXiv:1511.07289. https://arxiv.org/abs/1511.07289

[5] Nair, V., & Hinton, G. E. (2010). Rectified Linear Units Improve Restricted Boltzmann Machines. ICML 2010. https://www.cs.toronto.edu/~fritz/absps/reluICML.pdf

CATALOG
  1. 1. 1. 何为激活函数
    1. 1.1. 1.1 定义与核心角色
    2. 1.2. 1.2 理想激活函数的特性
    3. 1.3. 1.3 发展历史脉络
  2. 2. 2. 激活函数在前向传播与反向传播中的影响机制
    1. 2.1. 2.1 前向传播中的非线性映射
    2. 2.2. 2.2 反向传播中的梯度传递机制
  3. 3. 3. 八种激活函数逐一深度分析
    1. 3.1. 3.1 Sigmoid
    2. 3.2. 3.2 Tanh
    3. 3.3. 3.3 ReLU
    4. 3.4. 3.4 Leaky ReLU
    5. 3.5. 3.5 ELU
    6. 3.6. 3.6 Swish (SiLU)
    7. 3.7. 3.7 GLU
    8. 3.8. 3.8 SwiGLU
  4. 4. 4. 激活函数综合对比分析
    1. 4.1. 4.1 核心特点对比总表
    2. 4.2. 4.2 优缺点对比总表
    3. 4.3. 4.3 适用场景推荐
    4. 4.4. 4.4 计算复杂度排序
    5. 4.5. 4.5 梯度消失风险排序
  5. 5. 5. 2024-2025现代深度学习应用趋势
    1. 5.1. 5.1 从单一激活到门控机制的范式转移
    2. 5.2. 5.2 主流模型激活函数选择参考
  6. 6. 6. 参考文献