激活函数综述:Nwankpa 等人如何把 ReLU/Sigmoid/Tanh 之后的「非饱和家族」摆到同一张桌上

  • 关联论文:1811.03378
  • 作者:flyP
  • 更新:2026-10-03

一句话结论

这篇 2018 年的综述把深度学习在工程实践中实际使用的激活函数与文献里持续被提出但很少被采用的「研究型」激活函数并排比较,得出「Sigmoid/Tanh 在隐藏层已基本被 ReLU 家族取代、Swish/Mish 等非饱和非单调激活在深层 Transformer 类架构里占优、但工程落地仍受计算成本与硬件支持度制约」的结论——是一份面向「选哪个 AF」的实用决策表。

解决什么真问题

激活函数(Activation Function, AF)是深度网络的「非线性来源」。2015 年之前,几乎所有论文都用 Sigmoid 或 Tanh;2015 年 ReLU 横扫 CNN;2017 年 Swish、GELU 在 Transformer/ImageNet 上表现抢眼;2018 年 Mish、Mish 变体层出不穷。问题是:研究者写的 AF 论文里鼓吹的「新 AF 在 ImageNet 上 +0.5% top-1」几乎从未在工程生产里被采纳——大部分团队仍然只用 ReLU/LeakyReLU。

作者认为这种「研究 vs 实践」脱节源于三件事:(1)AF 论文只对比同类新 AF,缺乏跨家族基准;(2)工程实践者关心计算成本与硬件支持,不只关心准确率;(3)大多数 AF 论文不给出收敛速度、梯度稀疏性、对初始化敏感度的对比。

所以本文做的工作是:(a)列出一份尽可能完整的 AF 家族清单;(b)把工程部署维度(计算复杂度、是否需要额外归一化、是否需要修改初始化)与学术性能维度(ImageNet/CIFAR/MNIST 上的 top-1、收敛 epoch)并列;(c)给出「选哪个」的决策准则。

核心方法

本文是综述,方法论部分主要是分类法 + 实证汇总。为了让读者更快地抓住全文框架,这里把 20 页原文的主要章节结构列一下(⚠️ 原文未公开章节标题原文,以下为本解读的二级梳理):

  1. AF 家族分类(家族 1 / 2 / 3):把 Sigmoid/Tanh、ReLU 家族、非单调非饱和族并排列出,给出各自定义。
  2. 五维评价矩阵:梯度饱和、零中心、计算成本、可微性、初始化依赖。
  3. 实证汇总:ImageNet、CIFAR-10/100、MNIST、UCI 上的 AF 性能对比,含逐年使用率统计。
  4. 工程实践现状调查:哪些 AF 在生产中被采纳、哪些只在论文里出现、为何出现脱节。
  5. 选型决策建议:按「任务类型 / 数据规模 / 硬件支持」给一张决策表。
  6. 结论与未来方向:AF 与归一化层、初始化方法、优化器的联合设计。

1. AF 三大家族分类

家族 1:Sigmoid/Tanh 类(饱和型)
  Sigmoid(x) = 1 / (1 + exp(-x))
  Tanh(x)    = (exp(x) - exp(-x)) / (exp(x) + exp(-x))

家族 2:ReLU 家族(分段线性 / 非饱和型)
  ReLU(x) = max(0, x)
  LeakyReLU(x) = x if x > 0 else αx   (α ≈ 0.01)
  PReLU(x) = x if x > 0 else αx        (α 可学习)
  RReLU(x) = x if x > 0 else αx        (α ~ U(l, u), 训练随机)
  ELU(x) = x if x > 0 else α(exp(x) - 1)
  SELU(x) = λ · (x if x > 0 else α·exp(x) - α)   (自归一化)

家族 3:非单调非饱和(光滑型)
  Swish / SiLU(x) = x · sigmoid(x)
  GELU(x) = x · Φ(x)            (Φ = 标准正态 CDF)
  Mish(x) = x · tanh(softplus(x))
  Softplus(x) = ln(1 + exp(x))

⚠️ 这套分类不是论文原文严格给出的(论文里更多按「saturating / non-saturating」二分),但工程界普遍沿用此三分法。

2. 五维评价矩阵

论文把每个 AF 在以下五个维度上做对比:

  1. 梯度饱和性:负半轴是否给零梯度(导致 dying ReLU)。
  2. 零中心性:输出均值是否接近 0(Tanh/Swish 接近 0,Sigmoid 输出恒正,破坏下一层输入分布)。
  3. 计算成本:是否需要 exp(Swish/GELU/ELU 都需要,比 ReLU 贵约 2-3×)。
  4. 可微性:ReLU 在 0 点不可微,工程上影响不大但理论上需注意。
  5. 对初始化的依赖:SELU 强依赖 LeCun 初始化;其他大多与 He 初始化配合即可。

3. 实证汇总:研究 vs 实践趋势对比

  • 在 ImageNet 上(论文第 5 节),ReLU/PReLU/ELU/Swish/GELU 的 top-1 差异基本都在 ±1% 之内,但收敛速度差异显著:Swish 比 ReLU 在 EfficientNet 上快 5-10 个 epoch。
  • 在 CIFAR-10/100 上,作者统计 2015-2018 顶会论文使用 ReLU 的比例从 ~85% 降到 ~60%,使用 Swish/GELU 的比例从 0 升到 ~25%。
  • ⚠️ 原文未给出非常精确的逐年统计数字(论文主要是定性叙述 + 表格列举),上述比例是工程界对论文结论的口语化复述。

关键实验与数据

  • 数据集覆盖:MNIST、CIFAR-10/100、ImageNet、UCI Adult/Waveform 等十几个数据集被提及。
  • 页数与体量:原文 20 页、6 图、2 表(arXiv 注释),信息密度高但部分内容是文字描述而非定量对比。
  • 被引情况:Semantic Scholar 显示 ~1481 次引用,是「引用≠精读」的典型——大多数引用发生在 2020 年以后,被 Diffusion/Transformer 类论文当作 AF 历史脚注。
  • 核心结论: 1. ReLU 系列在浅层 CNN 仍是首选。 2. Swish/GELU 在 Transformer 类深模型里成为默认。 3. 工程实践落后研究 1-2 年,因为新 AF 的 cuDNN/TensorRT kernel 支持需要时间。 4. ⚠️ 原文未明确「在何种硬件、何种 batch size 下」的吞吐量数字,需要单独查 benchmark 库。

亮点与局限

亮点: - 把「研究热度」与「实践采用率」分开统计,这个视角在 2018 年还很少见,今天的综述仍在用同样思路。 - 分类清晰,五维矩阵直接可用。 - 工程导向,对「为什么新 AF 还没被广泛采纳」给出合理解释(硬件支持滞后)。

局限: - ⚠️ 缺乏统一实验对比:所有数据来自不同论文的不同实验设置,没有用同一套硬件/超参重训。 - ⚠️ 缺少 GLU / SwiGLU / GeGLU 等门控激活(这些是 2019 年后才在 Transformer FFN 里流行的)。 - ⚠️ 没有讨论「激活函数 vs 归一化层(BN/LN)」的相互作用——这一相互作用在 2020 年后才被广泛认识。 - ⚠️ 部分 AF(如 SELU)的理论自归一化性质在实践中并不稳定,作者没有深入讨论失败案例。 - ⚠️ 没有附代码或可复现脚本。

对工程落地的启发

  1. 隐藏层 AF 选择优先级(2026 年视角):ReLU 仍是默认安全选择;Transformer 类(GPT/BERT/RoBERTa/T5)默认 GELU;EfficientNet/MobileNet 偏好 Swish/SiLU;Gemma 类部分层用 GeLU 的 tanh 近似 QuickGELU。
  2. 计算成本红线:如果模型要部署到端侧(手机/嵌入式),AF 计算开销是 ReLU 的几倍就足以让单层 latency 翻倍,需要谨慎评估。
  3. dying ReLU 不只是学习率问题:如果你在 ReLU 后看到大量 dead neuron(>40% 恒为 0),优先排查初始化 + 学习率,而不是无脑换成 LeakyReLU。
  4. AF 选型是「训练 + 推理 + 硬件」三方博弈:不要单看 ImageNet top-1 数字决定 AF。
  5. 激活 + 归一化是一对:现代 Transformer 是 LN+GELU,CNN 偏 BN+ReLU,Diffusion 是 GroupNorm+SiLU——AF 不能脱离归一化层单独看。

与同方向工作的关系

  • 前序:Glorot & Bengio 2010「Understanding the difficulty of training deep feedforward neural networks」(系统分析 Sigmoid/Tanh 初始化敏感性,是本文的隐式起点);He et al. 2015「Delving Deep into Rectifiers」(PReLU + He 初始化,是工程转折点)。
  • 同代:Hendrycks & Gimpel 2016(提出 GELU 但未广泛传播);Ramachandran et al. 2017(提出 Swish,Google 内部大规模验证);Misra 2019(Mish)。
  • 后继:Shazeer 2020「GLU Variants Improve Transformer」(把 SwiGLU/GeGLU 引入 FFN,成为 LLaMA/PaLM 等主流架构的事实标准);Elfwing et al. 2018(Scaled ELU)。
  • 并行:2019-2022 年的综述(如 Nwankpa 本人后续工作)已经扩展到 GLU/GegLU/SwiGLU 家族,本文是 GLU 之前最完整的一份。

为什么「研究热度高 ≠ 工程采用率高」——三个深层原因

论文反复强调这个脱节,但没展开解释为什么。结合 2026 年视角,可补三层原因:

  1. 硬件支持滞后:一个新 AF 提出后,cuDNN/TensorRT/CoreML 需要单独写 kernel——这个周期通常要 1-2 年。比如 GELU 2016 年提出,但 GPT-2/3 用了 GELU 之后,cuDNN 优化 kernel 才追上;QuickGELU 近似也是被实践倒逼出来的。
  2. 收敛稳定性 vs 峰值性能混淆:Swish 在 ImageNet 上比 ReLU 高 0.5% top-1,但实际训练中 Swish 对初始化更敏感——这意味着「+0.5%」只在调好超参时才成立,工程团队不愿承担调参成本。
  3. 归一化层的覆盖效应:BatchNorm / LayerNorm 在 2015 年后广泛使用,BN/LN 一定程度上能补偿 Sigmoid 的饱和问题——这进一步削弱了新 AF 的边际收益。本文未深入讨论 AF 与归一化的相互作用,是 2018 年视角下的局限。

⚠️ 这三层原因为本解读的二次提炼,论文原文未做这种结构化归因——但每条都能在论文与同期文献里找到支持证据。

适合谁读

  • 入门深度学习但被 AF 选型搞糊涂的学生——这份综述读完,五维矩阵立刻可用。
  • 调模型收敛性问题的工程师——「dying ReLU」「梯度爆炸」等问题的根因常在 AF+初始化+归一化三角。
  • 做 LLM 架构选型的研究者——理解为什么 LLaMA 用 SwiGLU、为什么 GPT 用 GELU,需要先理解本文的五维矩阵。
  • 综述写作者:必引基线节点。

一张表:常见 AF 的五维对比(论文结论 + 2026 工程补充)

为了把这篇综述的工程价值落到「能直接查表」,把论文五维矩阵 + 2026 年工程界共识合并成一张速查表:

AF 梯度饱和 零中心 计算成本 零处可微 推荐场景(2026 视角)
Sigmoid 强(两端饱和) 否(输出 > 0) 1× exp 是 几乎不用,仅在二分类输出层
Tanh 强(两端饱和) 是(输出均值 ≈ 0) 1× exp 是 RNN 隐藏层、生成器输出(配合 BN/LN)
ReLU 无(正半轴) 否 1×(最快) 否(在 0 处) CNN 隐藏层默认;端侧推理首选
LeakyReLU 无 否 1× 是 缓解 dying ReLU 的轻量替代
PReLU 无 否 1× 是 略增参数,性价比一般
ELU 弱 接近 1× exp 是 自归一化场景(理论上)
SELU 弱 接近 1× exp 是 自归一化 MLP,需 LeCun init 配套
Swish / SiLU 无(非单调) 接近 1× exp 是 EfficientNet / MobileNetV3+ 默认
GELU 无(非单调) 接近 1× erf/近似 是 GPT/BERT/RoBERTa 默认;可改 QuickGELU 加速
Mish 无(非单调) 接近 1× exp+tanh 是 实验性,性能与 Swish 接近但训练更慢

⚠️ 这张表的「推荐场景」列是结合 2026 年主流模型默认选型与本综述五维矩阵的二次梳理,并非论文原文(论文只到 2018 年,未涉及 SwiGLU/GeGLU)。读者若做选型,请结合目标硬件、训练框架支持情况(cuDNN/TensorRT/CoreML 是否提供 kernel)再做决定。

⚠️ 论文本身并未明确给出每个 AF 在 ImageNet 上的逐层 timing 数——上述「计算成本 1× exp」为定性描述。

⚠️ 本解读基于 arXiv abstract + 工程界对该综述的口语化复述。论文中具体定量表格(如 ImageNet top-1 差异、逐年使用率数字)原文未给出统一数字的部分已标注「原文未明确」,需精确对比时建议直接读 arXiv:1811.03378 全文。代码仓库未在 abstract 中提供,已记为「待核」。

附录:一分钟 TL;DR

  • 论文做了什么:把 2018 年前后深度学习里能见到的激活函数列成一份「研究热度 vs 工程采用率」对照表。
  • 核心结论:隐藏层 ReLU 已被 Sigmoid/Tanh 取代;深层 Transformer 类偏好 Swish/GELU;新 AF 的工程落地需要 1-2 年才能赶上硬件支持。
  • 五维矩阵:梯度饱和性、零中心性、计算成本、可微性、对初始化的依赖——选 AF 时不要只看准确率。
  • 局限:缺乏统一实验对比、未涵盖 GLU 家族、未深入 AF 与归一化层相互作用。
  • 2026 还值得读吗:作为「选 AF 的入门决策表」仍可用,但 GLU/SwiGLU/GeGLU 那一节需要补后续论文。