深度学习_神经网络激活函数

🚀 激活函数全解析:从基础到高阶


🧩 一、激活函数的核心作用回顾

激活函数的作用是:

  • 引入非线性 → 使神经网络能拟合复杂映射
  • 控制梯度传播 → 避免梯度爆炸或消失
  • 影响训练速度、收敛性与性能

⚙️ 二、基础激活函数

1️⃣ Sigmoid 激活函数

定义公式

σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}σ(x)=1+e−x1
输出范围: (0,1)(0, 1)(0,1)

导数公式

σ′(x)=σ(x)⋅(1−σ(x))\sigma'(x) = \sigma(x) \cdot (1 - \sigma(x))σ′(x)=σ(x)⋅(1−σ(x))

最大导数值出现在 x=0x=0x=0,此时:
σ′(0)=0.25\sigma'(0) = 0.25σ′(0)=0.25

特点与理解
  • 将输入"压缩"到 (0,1)(0, 1)(0,1),像是概率映射器
  • 中间区域(约 −2∼2-2 \sim 2−2∼2)变化最显著,两侧快速进入饱和区
优缺点
优点 缺点
平滑可导,输出连续 容易梯度消失 (导数 ≤0.25\le 0.25≤0.25)
输出有界,便于概率建模 输出非零均值 (>0)(>0)(>0),会造成梯度偏移
常用于输出层(二分类) 不适合深层网络(梯度衰减严重)
应用场景
  • 二分类输出层(如 logistic 回归、二分类神经网络)
  • 中间层中几乎被 ReLU 完全替代

2️⃣ Softmax 激活函数

定义公式

对于一个向量 z=[z1,z2,...,zk]\mathbf{z} = [z_1, z_2, \ldots, z_k]z=[z1,z2,...,zk],第 iii 个分量的 Softmax 输出为:
Softmax(zi)=ezi∑j=1kezj\text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{k} e^{z_j}}Softmax(zi)=∑j=1kezjezi

特征与性质
  • 将实数向量映射为一个概率分布 (所有分量相加 =1= 1=1)
  • 强调最大值,使得模型学会"选择"
  • 对数稳定版本 (避免数值溢出):
    Softmax(zi)=ezi−max⁡(z)∑jezj−max⁡(z)\text{Softmax}(z_i) = \frac{e^{z_i - \max(\mathbf{z})}}{\sum_j e^{z_j - \max(\mathbf{z})}}Softmax(zi)=∑jezj−max(z)ezi−max(z)
优缺点
优点 缺点
输出概率分布,便于多分类 对大值敏感,可能过度"确定"
可与交叉熵自然结合 容易数值溢出(需 log⁡-sum-exp⁡\log\text{-sum}\text{-}\explog-sum-exp 稳定化)
应用场景
  • 多分类输出层
  • NLP 模型的 注意力机制 中的 attention weights\text{attention weights}attention weights

3️⃣ ReLU(Rectified Linear Unit)

定义公式

ReLU(x)=max⁡(0,x)\text{ReLU}(x) = \max(0, x)ReLU(x)=max(0,x)
导数:
ReLU′(x)={1,x>00,x≤0\text{ReLU}'(x) = \begin{cases} 1, & x > 0 \\ 0, & x \leq 0 \end{cases}ReLU′(x)={1,0,x>0x≤0

特点
  • 保留正值,抑制负值
  • 计算简单,只有比较和赋值操作
  • 稀疏激活(很多神经元输出 000)
优缺点
优点 缺点
计算高效,收敛快 负区间梯度为 000,易导致"神经元死亡"
缓解梯度消失问题 不可导点在 000(但影响可忽略)
保持非线性 输出非零均值(有偏移)
应用场景
  • 几乎所有深度网络(CNN、MLP、Transformer)
  • 特别是卷积层后的默认选择

4️⃣ Leaky ReLU(带泄露的 ReLU)

为了解决 ReLU "死亡"问题,提出了 Leaky ReLU。

定义公式

LeakyReLU(x)={x,x>0αx,x≤0\text{LeakyReLU}(x) = \begin{cases} x, & x > 0 \\ \alpha x, & x \leq 0 \end{cases}LeakyReLU(x)={x,αx,x>0x≤0

其中 α\alphaα 通常取 0.010.010.01 或一个小的正值。

导数

LeakyReLU′(x)={1,x>0α,x≤0\text{LeakyReLU}'(x) = \begin{cases} 1, & x > 0 \\ \alpha, & x \leq 0 \end{cases}LeakyReLU′(x)={1,α,x>0x≤0

特点与优缺点
优点 缺点
避免神经元死亡 (负梯度不会为 000) α\alphaα 需调参
简单高效,梯度连续 若 α\alphaα 太大,会破坏稀疏性
应用场景
  • 深层 CNN
  • 对训练稳定性要求高的场景
  • GANs(生成对抗网络)中广泛使用

⚙️ 三、高阶激活函数

1️⃣ GELU(Gaussian Error Linear Unit)

GELU 激活函数通过将输入 xxx 乘以标准正态分布的累积分布函数 Φ(x)\Phi(x)Φ(x) 来实现"概率门控"。

定义公式

GELU(x)=x⋅Φ(x)\text{GELU}(x) = x \cdot \Phi(x)GELU(x)=x⋅Φ(x)

其中 Φ(x)\Phi(x)Φ(x) 是标准正态分布的累积分布函数(CDF):
Φ(x)=12[1+erf(x2)]\Phi(x) = \frac{1}{2}\left[1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right]Φ(x)=21[1+erf(2 x)]

📘 近似形式(方便计算):
GELU(x)≈0.5x[1+tanh⁡(2π(x+0.044715x3))]\text{GELU}(x) \approx 0.5x \left[1 + \tanh\left(\sqrt{\frac{2}{\pi}} (x + 0.044715x^3)\right)\right]GELU(x)≈0.5x[1+tanh(π2 (x+0.044715x3))]

直观理解

ReLU 是简单地将负数"砍掉";GELU 则是按概率"软裁剪":

  • 当 xxx 越大,Φ(x)\Phi(x)Φ(x) 越接近 111(输出接近 xxx)
  • 当 xxx 越小,Φ(x)\Phi(x)Φ(x) 越接近 000(输出接近 000)

因此,它提供了一个平滑的、概率驱动的非线性变换。

公式曲线对比
函数 特征 是否平滑 是否非线性
ReLU\text{ReLU}ReLU max⁡(0,x)\max(0, x)max(0,x) 否(拐点不光滑)
GELU\text{GELU}GELU x⋅Φ(x)x \cdot \Phi(x)x⋅Φ(x) ✅ 是 ✅ 是

📈 GELU\text{GELU}GELU 比 ReLU\text{ReLU}ReLU 平滑得多,因此在反向传播时梯度不会突变。

优缺点
优点 缺点
平滑可导,梯度传播更稳定 计算量比 ReLU\text{ReLU}ReLU 大(涉及 tanh⁡\tanhtanh / erf\text{erf}erf)
对小输入保留部分信息(不完全"砍掉") 理论分析复杂
在 BERT、Transformer 中显著提升效果
典型应用场景
  • BERT / GPT / Transformer 系列 默认使用 GELU\text{GELU}GELU
  • Vision Transformer (ViT)
  • 任何希望提升模型平滑性与表达能力的深层网络

2️⃣ Swish 激活函数

Swish 是一种"自门控"激活函数,由 Google 提出,并在 EfficientNet\text{EfficientNet}EfficientNet 中得到广泛应用。

定义公式

Swish(x)=x⋅σ(βx)\text{Swish}(x) = x \cdot \sigma(\beta x)Swish(x)=x⋅σ(βx)

其中 σ(x)\sigma(x)σ(x) 是 Sigmoid 函数:
σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}σ(x)=1+e−x1

若 β=1\beta = 1β=1,则简写为:
Swish(x)=x⋅σ(x)\text{Swish}(x) = x \cdot \sigma(x)Swish(x)=x⋅σ(x)

直观理解

Swish\text{Swish}Swish 的行为也是由自身输入 xxx 决定的:

  • 小输入 会被抑制(因为 σ(x)\sigma(x)σ(x) 小于 0.50.50.5)
  • 大输入 接近线性输出(因为 σ(x)→1\sigma(x) \to 1σ(x)→1)
  • 中间区域平滑过渡
特点与优势
特性 描述
平滑且非单调 比 ReLU\text{ReLU}ReLU 更柔和,对小负值也保留部分信息
自适应门控机制 输出由自身决定,具有轻微"记忆"特征
可微分 反向传播时梯度连续稳定
优缺点
优点 缺点
连续可导,梯度稳定 计算量大于 ReLU\text{ReLU}ReLU
对负值保留部分激活 理论解释相对复杂
实验性能强于 ReLU\text{ReLU}ReLU(如 EfficientNet\text{EfficientNet}EfficientNet)
应用场景
  • EfficientNet\text{EfficientNet}EfficientNet、MobileNetV3\text{MobileNetV3}MobileNetV3
  • Transformer 变体
  • 深层或轻量网络中需要平滑激活的场景

🔬 四、GELU vs Swish 对比总结

特性 GELU\text{GELU}GELU Swish\text{Swish}Swish
定义 x⋅Φ(x)x \cdot \Phi(x)x⋅Φ(x) x⋅σ(x)x \cdot \sigma(x)x⋅σ(x)
平滑性 ✅ 高 ✅ 高
计算复杂度 较高 (erf/tanh⁡\text{erf}/\tanherf/tanh) 中等 (sigmoid\text{sigmoid}sigmoid)
理论基础 源于概率论(正态分布) 经验发现
单调性 非单调 非单调
应用 Transformer、BERT EfficientNet、MobileNetV3
性能 稍优于 Swish\text{Swish}Swish 稍低但计算更快

📊 五、激活函数对比总结表

激活函数 公式 输出范围 导数范围 优点 缺点 常用场景
Sigmoid 1/(1+e−x)1/(1+e^{-x})1/(1+e−x) (0,1)(0,1)(0,1) (0,0.25](0, 0.25](0,0.25] 平滑,概率输出 梯度消失 二分类输出层
Softmax ezi/∑ezje^{z_i} / \sum e^{z_j}ezi/∑ezj (0,1),∑=1(0,1), \sum=1(0,1),∑=1 --- 概率分布 数值不稳定 多分类输出层
ReLU max⁡(0,x)\max(0,x)max(0,x) [0,∞)[0,\infty)[0,∞) {0,1}\{0,1\}{0,1} 高效不饱和 死亡神经元 主流 CNN\text{CNN}CNN 激活
Leaky ReLU x (x>0),αx (x≤0)x\ (x>0), \alpha x\ (x\leq 0)x (x>0),αx (x≤0) (−∞,∞)(-\infty,\infty)(−∞,∞) {α,1}\{\alpha,1\}{α,1} 防死区 需调 α\alphaα GAN、CNN
Swish x⋅σ(x)x \cdot \sigma(x)x⋅σ(x) (−∞,∞)(-\infty,\infty)(−∞,∞) --- 平滑梯度稳定 EfficientNet\text{EfficientNet}EfficientNet
GELU x⋅Φ(x)x \cdot \Phi(x)x⋅Φ(x) (−∞,∞)(-\infty,\infty)(−∞,∞) --- 平滑表现最优 复杂 Transformer\text{Transformer}Transformer

💡 六、形象口诀总结

🔹 Sigmoid :压成概率线

🔹 Softmax :多选一概率

🔹 ReLU :负的砍掉

🔹 Leaky ReLU :留一点负梯度

🔹 Swish :小负留一线

🔹 GELU :概率来决定

🔹 Soft 平滑不突变,梯度流得远


🎯 七、选择指南

基础选择原则:

  • 输出层:分类用 Sigmoid/Softmax,回归用线性
  • 隐藏层:ReLU 系列是默认起点
  • 高级场景:Transformer 用 GELU,轻量网络考虑 Swish
  • 问题网络:梯度消失尝试 Leaky ReLU,不稳定尝试 Swish/GELU

现代推荐:

  • 默认选择:ReLU(简单高效)
  • 进阶选择:GELU(Transformer 系列)
  • 轻量网络:Swish(EfficientNet 系列)
  • 特殊场景:Leaky ReLU(GANs、深层 CNN)
相关推荐
陈天伟教授1 小时前
人工智能技术- 语音语言- 03 ChatGPT 对话、写诗、写小说
人工智能·chatgpt
llilian_161 小时前
智能数字式毫秒计在实际生活场景中的应用 数字式毫秒计 智能毫秒计
大数据·网络·人工智能
打码人的日常分享2 小时前
基于信创体系政务服务信息化建设方案(PPT)
大数据·服务器·人工智能·信息可视化·架构·政务
硬汉嵌入式2 小时前
专为 MATLAB 优化的 AI 助手MATLAB Copilot
人工智能·matlab·copilot
北京盛世宏博3 小时前
如何利用技术手段来甄选一套档案馆库房安全温湿度监控系统
服务器·网络·人工智能·选择·档案温湿度
搞科研的小刘选手3 小时前
【EI稳定】检索第六届大数据经济与信息化管理国际学术会议(BDEIM 2025)
大数据·人工智能·经济
半吊子全栈工匠3 小时前
软件产品的10个UI设计技巧及AI 辅助
人工智能·ui
机器之心3 小时前
真机RL!最强VLA模型π*0.6来了,机器人在办公室开起咖啡厅
人工智能·openai
机器之心4 小时前
马斯克Grok 4.1低调发布!通用能力碾压其他一切模型
人工智能·openai