Ch06 神经网络基础

激活函数 (Activation Functions)

概述

激活函数(Activation Function)是神经网络中引入非线性的关键组件。如果没有激活函数,无论网络有多少层,整个模型都等价于一个线性变换(因为线性变换的复合仍是线性变换),无法拟合复杂的非线性函数。激活函数为每个神经元引入非线性变换,使神经网络具备通用近似能力(Universal Approximation Theorem)。激活函数的选择直接影响训练效率、梯度流动和模型性能。

为什么需要非线性

考虑一个 层的前馈网络,如果每层都是纯线性变换:

则整个网络等价于一个单层线性变换:

无论多少层,都只能表示线性函数。激活函数 打破了这种线性:

主流的激活函数一览

经典激活函数

激活函数公式输出范围导数可微性
Sigmoid(0, 1)处处可微
Tanh(-1, 1)处处可微
ReLU[0, +)0 或 1x=0 不可微
Leaky ReLU, =0.01(-, +) 或 1x=0 不可微
PReLU, 可学习(-, +) 或 1x=0 不可微
ELU if else (-, +)1 或 处处可微
SELU ELU(), 自归一化(-, +)缩放后的 ELU 导数处处可微
GELU(-0.17, +)处处可微
Swish / SiLU(-0.28, +)处处可微
Mish(-0.31, +)较复杂处处可微

专业激活函数

激活函数公式概要特点主要应用
Softmax输出概率分布,归一化多分类输出层
SoftplusReLU 的平滑近似极少使用
Maxout分段线性,通用近似少量早期工作
SwiGLU门控变体,LLaMA 使用现代 LLM (LLaMA)
ReGLUGLU 门控 + ReLU部分 Transformer
GeGLUGLU 门控 + GELU部分 Transformer

激活函数选择指南

按架构选择

架构推荐激活函数原因
CNN (ResNet 系)ReLU简单高效,梯度流动好
CNN (EfficientNet 系)Swish / SiLU平滑非单调,NAS 发现
Transformer (BERT, GPT-2)GELU平滑,训练稳定,BERT 验证
Transformer (LLaMA 系)SwiGLU门控变体,LLaMA 验证优秀
RNN / LSTMTanh + Sigmoid门控机制需要 [-1,1] 或 (0,1)
GAN 生成器Leaky ReLU避免死亡神经元,保持梯度
GAN 判别器Leaky ReLU同上
输出层(二分类)Sigmoid输出 (0,1) 概率
输出层(多分类)Softmax输出概率分布
输出层(回归)无 / Linear无界输出

按任务选择

任务隐藏层推荐说明
图像分类ReLU / Swish成熟稳定
目标检测ReLU / SiLUYOLO 系列用 SiLU
语义分割ReLU标准选择
文本分类GELUBERT 系标配
文本生成GELU / SwiGLUGPT 用 GELU,LLaMA 用 SwiGLU
语音识别GELU / ReLU取决于架构
强化学习ReLU / Tanh简单稳定

激活函数的进化史

年代阶段代表特点
1940s-1980s早期Step, Sigmoid, Tanh生物学启发,易饱和
2010ReLU 革命ReLU简单有效,解决梯度消失,开启深度学习
2015ReLU 改进Leaky ReLU, PReLU, ELU解决死亡神经元
2016-2017平滑非单调GELU, Swish处处可微,非单调,Transformer 标配
2020-2023门控变体SwiGLU, GeGLU门控 + 激活的组合,LLM 新标准
2024-2026自适应动态激活、可学习激活输入依赖的激活行为

2026 年趋势

  1. SwiGLU 成为 LLM 标配:LLaMA-3, Qwen-2.5, DeepSeek-V3 均使用 SwiGLU
  2. GELU 在视觉 Transformer 中仍主流:ViT, DINO, SAM 等
  3. 激活函数与量化:低精度推理(INT4/INT8)下激活函数的选择和校准
  4. 动态激活函数:根据输入特征自适应选择激活行为

相关笔记

来源

关联11

知识图谱

局部图谱 · 点节点跳转