深度学习常见的激活函数及图像

记录下当前常见的激活函数,方便查询

目录

1.ReLU(Rectified Linear Unit)

2.Sigmoid

3.Tanh

4.Softmax

5.Leaky ReLU

6.PReLU(Parametric ReLU)

7.ELU(Exponential Linear Unit)

8.SiLU(Sigmoid Linear Unit)

9.Swish

10.GELU

11.Mish


激活函数分类举例
经典基础函数ReLU, Sigmoid, Tanh, Softmax
改进型函数Leaky ReLU, PReLU, ELU
新一代函数SiLU, Swish, GELU, Mish

1.ReLU(Rectified Linear Unit)

公式:

                                                          ReLU(x)=max(0,x)

函数图像:

特点:

  • x<=0时,左侧为 0;

  • x>0 时为一条斜率为 1 的直线。

2.Sigmoid

公式:

函数图像:

特点:

  • 输出范围在 (0,1)

  • 是一个 S 形曲线(S-curve)

  • 在 x=0 处输出为 0.5

  • 当 x过大或过小时梯度趋于 0,容易出现梯度消失问题

3.Tanh

公式:

也可以写作:

函数图像

特点:

特性描述
输出范围(−1,1)
零中心比 Sigmoid 更适合隐藏层
饱和区时梯度趋近于 0
平滑性S 形曲线,形状与 Sigmoid 相似,但上下对称

4.Softmax

公式:

  • 输出是一个概率分布:所有值在 (0,1)之间,且总和为 1。

  • 放大最大值对应的分量,其他变小。

图像:

我们不能像 ReLU 那样画一个函数图,因为 Softmax 是作用于向量的,所以我们通常画出多个输入值的 Softmax 输出分布

特点:

特性描述
输出范围所有值 ∈(0,1),并且总和为 1
应用场景多分类任务的输出层,结合交叉熵(Cross Entropy)使用
可解释性每个输出表示属于某一类的“概率”
饱和性在输入差异很大时,接近 one-hot 编码

5.Leaky ReLU

公式:

  • 其中 α 是一个很小的常数,通常取值如 0.01 或 0.1

  • 与 ReLU 相比,在 x≤0 区域不会完全为 0,有 "泄露" 的梯度

图像:

特点:

特性描述
避免“神经元死亡”ReLU 在负数区域的梯度为 0,可能使神经元永远无法激活,Leaky ReLU 通过保留一点梯度缓解这个问题。
 简单高效与 ReLU 类似的计算复杂度
 可微(分段可导)适合用于反向传播
参数化版本PReLU(可学习的 α) 是 Leaky ReLU 的推广

6.PReLU(Parametric ReLU)

公式:

其中 a 是一个可学习的参数,不是固定值(不像 Leaky ReLU 的 α 通常固定为 0.01 或 0.1)

图像:

特点:

特性描述
可学习参数a会通过梯度下降在训练中自动优化
提高模型灵活性可针对不同神经元或层自适应调整负区响应
避免神经元“死亡”问题保留负值的梯度传播通道
略增加模型复杂度增加参数量,需正则化防过拟合(尤其在较小数据集上)

7.ELU(Exponential Linear Unit)

公式:

其中 α 是一个超参数(常用 α=1.0),控制负半轴的弯曲程度。

图像:

特点:

特性描述
正区间线性与 ReLU 一样,当 x>0 时直接输出 x
负区间平滑渐近负常数相比 ReLU、Leaky ReLU,更平滑地处理负值,避免硬折断
零均值输出输出更接近 0 均值,有助于减小偏置偏移(bias shift)
可导 & 稳定梯度适合深层网络训练

8.SiLU(Sigmoid Linear Unit

公式:

  • σ(x) 是 Sigmoid 函数。

  • 也就是输入 x 乘以它自己的 sigmoid。

图像:

  • 正区间类似 ReLU;

  • 负区间输出为负值但非零,且有平滑曲线过渡

  • 在 x≈−1 附近存在一个微小的“下陷”;

  • 有助于梯度流动,训练效果通常优于 ReLU

特点:

特性描述
平滑且可导全局光滑连续,梯度稳定,有利于训练深层网络
非单调低于 0 的区域存在轻微“下陷”,有助于表达复杂关系
自门控机制输出受自身值控制,形成“自调节抑制”效果
常用于现代架构如 EfficientNet、Transformer 中的激活函数
PyTorch 中名称SiLUSwish,两者是等价的

9.Swish

Swish 是一个近年来表现优异的激活函数,由 Google Brain 团队提出,在一些深度网络(如 EfficientNet)中表现比 ReLU 更好。它与 SiLU 函数是等价的

公式:

  • 其中 σ(x) 是 Sigmoid 函数

  • Swish 会根据输入自动调节激活强度,属于一种“自门控激活函数”。

图像:

特点:

特性描述
 平滑可导适合用于深层网络的反向传播
 非单调提供更丰富的非线性表达能力(比 ReLU 更复杂)
 弱抑制负值不是简单地把负值截断为 0,而是保留一定负值
 零中心趋近输出值更接近 0 均值,有利于收敛
 自门控特性输出由自己控制(x⋅σ(x))

Swish 适合用在什么时候?

  • 训练较深网络时(如 Transformer、EfficientNet)

  • 对性能要求高时(Swish 通常略优于 ReLU)

  • 需要平滑激活函数时

10.GELU

目前非常流行并广泛用于 Transformer 模型(如 BERT、GPT)的激活函数 —— GELU(Gaussian Error Linear Unit,高斯误差线性单元)

GELU 将输入乘以高斯累积分布函数(非线性平滑):

其中 Φ(x) 是标准正态分布的累积分布函数(CDF):

简化后的近似版本(更常用):

图像:

使用近似公式

特点:

特性描述
 平滑且可导输出连续平滑,有利于梯度传播
 非单调更复杂非线性表达能力(比 ReLU 更强)
 高斯建模思想类似于对输入“做概率性保留”,在负区间并非直接清零
 大量用于 Transformer / BERT 等预训练模型中

11.Mish

Mish,它是由 Diganta Misra 提出的,在一些计算机视觉和自然语言处理任务中被证明优于 ReLU、Swish 等激活函数

公式:

也可以写成:

图像:

特点:

特性描述
 平滑连续类似于 Swish / GELU,全域可导
 非单调表达能力强,适合复杂函数建模
 零均值输出趋势有助于训练更深的网络
 负值保留和 GELU 类似,能缓解“神经元死亡”
 在许多任务上优于 ReLU、Swish

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值