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:
正文完