激活函数 SiLU 和 Swish 的区别

270次阅读
没有评论

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
正文完
 
评论(没有评论)