常用的激活函数汇总及可视化

1. Sigmoid 函数

  • 公式:
    Sigmoid ( x ) = 1 1 + e − x \text{Sigmoid}(x) = \frac{1}{1 + e^{-x}} Sigmoid(x)=1+ex1
  • 特点:输出范围在 (0, 1) 之间。适用于输出为概率的任务(如二分类)。缺点是当输入的绝对值很大时,梯度会变得非常小(梯度消失),影响模型的训练。

2. Tanh(双曲正切)函数

  • 公式:
    Tanh ( x ) = e x − e − x e x + e − x \text{Tanh}(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}} Tanh(x)=ex+exexex
  • 特点:输出范围在 (-1, 1) 之间。与 Sigmoid 函数相比,Tanh 在输入接近 0 时梯度较大,因此收敛速度更快。也会遇到梯度消失问题。

3. ReLU(Rectified Linear Unit)函数

  • 公式:
    ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x)
  • 特点:简单高效,计算速度快。输出范围在 [0, ∞) 之间。解决了梯度消失问题,但可能会遇到“死亡 ReLU”问题(某些神经元永远不会激活)。

4. Leaky ReLU 函数

  • 公式:
    Leaky ReLU ( x ) = { x if  x g t ; 0 α x if  x ≤ 0 \text{Leaky ReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases} Leaky ReLU(x)={xαxif xif x0gt;0
    其中, α \alpha α 是一个小的正数,通常取 0.01。
  • 特点:解决了“死亡 ReLU”问题,因为它允许负输入有一个小的负斜率。

5. Parametric ReLU (PReLU) 函数

  • 公式:
    PReLU ( x ) = { x if  x g t ; 0 α x if  x ≤ 0 \text{PReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases} PReLU(x)={xαxif xif x0gt;0
    其中, α \alpha α 是一个可以学习的参数。
  • 特点:是 Leaky ReLU 的推广,允许模型学习负斜率的值。

6. Exponential Linear Unit (ELU) 函数

  • 公式:
    ELU ( x ) = { x if  x g t ; 0 α ( e x − 1 ) if  x ≤ 0 \text{ELU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha(e^{x} - 1) & \text{if } x \leq 0 \end{cases} ELU(x)={xα(ex1)if xif x0gt;0
    其中, α \alpha α 通常取 1。
  • 特点:在 ReLU 基础上进行改进,使得负输入能够有较大的负输出,从而有助于中心化数据以更好地加速学习。

7. Swish 函数

  • 公式:
    Swish ( x ) = x ⋅ Sigmoid ( x ) \text{Swish}(x) = x \cdot \text{Sigmoid}(x) Swish(x)=xSigmoid(x)
  • 特点:是一种自门控激活函数,由 Google 提出。具有平滑的非线性,有助于缓解梯度消失问题,并且在某些任务上表现优于 ReLU。

8. Softmax 函数

  • 公式:
    Softmax ( x i ) = e x i ∑ j e x j \text{Softmax}(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} Softmax(xi)=jexjexi
  • 特点:通常用于多分类任务的输出层。将输入向量转化为概率分布。

9. GELU(Gaussian Error Linear Unit)函数

  • 公式:
    GELU ( x ) = x ⋅ Φ ( x ) \text{GELU}(x) = x \cdot \Phi(x) GELU(x)=xΦ(x)
    其中, Φ ( x ) \Phi(x) Φ(x) 是标准正态分布的累积分布函数。
  • 特点:是一种平滑的激活函数,近年来在 Transformer 等模型中得到广泛应用。
    这些激活函数各有优劣,选择适合的激活函数对于不同的任务和网络结构至关重要。ReLU 及其变种是当前最为常用的激活函数,但根据任务的需求,也可以考虑使用其他激活函数。

可视化
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值