作者: C3P00

  • 激活函数 SiLU 和 Swish 的区别

    SiLU(Sigmoid Linear Unit)和Swish是两种常用的激活函数,它们在神经网络中起到引入非线性的作用。下面是SiLU和Swish之间的区别:

    • 定义:
    • SiLU:SiLU是Sigmoid Linear Unit的缩写,它是输入数据和参数化Sigmoid函数输出的乘积。在大多数神经网络模型中,SiLU函数的参数”a”通常为1 [1]
    • Swish:Swish是一种数学函数,定义为输入数据和参数化Sigmoid函数输出的乘积。参数β可以是常数或可训练的参数,取决于模型。当β=1时,Swish函数等效于SiLU函数 [2]
    • 公式:
    • SiLU:SiLU函数的公式为SiLU(x) = x * sigmoid(x)。
    • Swish:Swish函数的公式为Swish(x) = x * sigmoid(βx),其中β是常数或可训练的参数。
    • 相似性:
    • SiLU和Swish都是通过将输入数据与Sigmoid函数的输出相乘来引入非线性。
    • 当β=1时,Swish函数与SiLU函数相同。
    • 区别:
    • 命名:SiLU是在2016年首次提出的,后来被重新发现并称为Swish [2]
    • 参数:SiLU函数的参数通常为1,而Swish函数的参数β可以是常数或可训练的参数。
    • 提出时间:SiLU在2016年被首次提出,而Swish在SiLU之后的一年左右被重新发现并提出,最初没有使用可训练的参数β [2]

    SiLU和Swish是两种常用的激活函数,它们在定义和公式上有一些相似之处,但也有一些区别,其中最主要的区别是Swish函数引入了可训练的参数β。


    Learn more:

    1. Activation functions in neural networks [Updated 2023]
    2. Swish function – Wikipedia
    3. The Swish Activation Function | Paperspace Blog
  • SiLu(Sigmoid Linear Unit)激活函数

    SiLu(Sigmoid Linear Unit)激活函数,也被称为Swish激活函数,是一种自适应激活函数,最早由Google Brain在2017年引入[2]。SiLu激活函数是Sigmoid和ReLU的改进版,具备无上界有下界、平滑、非单调的特性。

    SiLu激活函数的定义如下:
    f(x) = x * sigmoid(x)

    其中sigmoid(x)是标准的Sigmoid函数,它的值在0和1之间。SiLu函数的特点包括非线性、连续可导,并且在负无穷到正无穷的范围内都有定义[1]

    SiLu激活函数在深度神经网络中的效果优于ReLU,可以看作是平滑的ReLU激活函数。它既有ReLU激活函数的一些优点(例如能够缓解梯度消失问题),又能解决ReLU函数的一些缺点(例如ReLU函数不是零中心的,且在负数部分的梯度为零)。此外,SiLu函数还是平滑函数,这意味着它在整个定义域内都有导数,有利于优化[1]

    在YOLOv5等深度学习模型中,SiLu激活函数被广泛应用,取得了良好的效果[1]


    Learn more:

    1. SiLu激活函数解释_silu函数-CSDN博客
    2. [CV – Image Classification]图像分类之激活函数SiLU – YOLOv7使用的激活函数 – 知乎
    3. [杂记]激活函数SiLU和Swish的区别-CSDN博客
人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 804 | UV: 476
Last updated: 2025-05-16 10:05:09
沪ICP备2024052574号-1