山西省煤炭基本建设局网站,建设公司加盟,北京微网站建设,开发者社区激活函数介绍#xff08;一#xff09; 1 引言2 常用激活函数介绍2.1 Sigmoid激活函数2.2 Tanh激活函数2.3 ReLU激活函数2.4 Leaky ReLU激活函数2.5 Parametric ReLU#xff08;PReLU#xff09;激活函数2.6 Swish激活函数 3. 总结 介绍的激活函数都在目录中有所展示#… 激活函数介绍一 1 引言2 常用激活函数介绍2.1 Sigmoid激活函数2.2 Tanh激活函数2.3 ReLU激活函数2.4 Leaky ReLU激活函数2.5 Parametric ReLUPReLU激活函数2.6 Swish激活函数 3. 总结 介绍的激活函数都在目录中有所展示如果找不到你想查看的激活函数请去这里寻找激活函数介绍二 1 引言
激活函数是神经网络模型重要的组成部分。在神经网络模型中激活函数提供了非线性建模能力不带激活函数的感知元是线性的进而帮助网络学习数据中的复杂模式。
2 常用激活函数介绍
2.1 Sigmoid激活函数
Sigmoid激活函数将输入值压缩到0到1之间的范围公式和数学图片分别如下所示 f ( x ) 1 / ( 1 e − x ) f(x) 1 / (1 e^{-x}) f(x)1/(1e−x)Sigmoid函数在早期的神经网络中广泛使用。然而它有一些问题如梯度消失和梯度爆炸导致在深层网络中训练困难因此现在使用较少。 当前更多的是用于二分类中。
2.2 Tanh激活函数
Tanh激活函数是Sigmoid的改进版将输入值映射到一个范围在-1到1之间的值公式和数学图像分别如下所示 f ( x ) ( 2 / ( 1 e − 2 x ) ) − 1 f(x) (2 / (1 e^{-2x})) - 1 f(x)(2/(1e−2x))−1相较于Sigmoid激活函数Tanh激活函数的输出范围更广因此在某些情况下它能带来更好的表现。然而类似于SigmoidTanh仍然存在梯度消失问题特别是对于较深的神经网络。 当前更多的是用于类似于LSTM网络结构的后面。
2.3 ReLU激活函数
ReLURectified Linear Unit是目前使用最广泛的激活函数之一。ReLU函数在输入为正数时直接输出输入值而在输入为负数时输出为0公式和数学图像分别如下所示 f ( x ) m a x ( 0 , x ) f(x) max(0, x) f(x)max(0,x)相比于Sigmoid和TanhReLU的梯度更大且在深层网络中具有较快的训练速度。然而ReLU也存在一个问题当输入为负数时梯度为0导致对应的神经元无法更新权重这被称为神经元死亡问题。 当前在各种任务下广泛使用不包括多分类任务。
2.4 Leaky ReLU激活函数
为了解决ReLU的神经元死亡问题Leaky ReLU引入了一个小的斜率通常为0.01来保证在输入为负数时仍然有梯度。Leaky ReLU函数的定义和数学图像分别如下所示 f ( x ) m a x ( a x , x ) f(x) max(ax, x) f(x)max(ax,x)其中a是一个小于1的常数。这使得Leaky ReLU在某些场景下表现更好但对于a的选择需要小心过大的值可能导致函数失去非线性特性。 当前已没有特定使用情况同等情况下PReLU 和Swish 激活函数可能会有更好的表现。
2.5 Parametric ReLUPReLU激活函数
Parametric ReLU是Leaky ReLU的扩展版本它允许斜率参数a成为可学习的参数这样网络可以自动调整斜率。这一特性使得Parametric ReLU更加适应不同的数据分布和任务减少了手动调整的需求。
2.6 Swish激活函数
Swish激活函数在近年来被提出它是一个平滑的激活函数。Swish函数在输入为正数时与ReLU相似在输入为负数时逐渐趋近于0。Swish函数的表现相对于ReLU在一些情况下更好但在某些场景下可能受到影响因此使用时需谨慎权衡。函数公式和数学图像分别如下所示 f ( x ) x ⋅ s i g m o i d ( β x ) f(x)x⋅sigmoid(βx) f(x)x⋅sigmoid(βx) 其中 β β β 是一个常量或一个可学习的参数。 β 1 β 1 β1 f ( x ) x ⋅ s i g m o i d ( x ) f(x)x⋅sigmoid(x) f(x)x⋅sigmoid(x)相当于Sigmoid-weighted Linear Unit (SiL) β 0 β 0 β0Swish 变成了缩放线性函数 f ( x ) x / 2 f(x) x/2 f(x)x/2 β → ∞ β → ∞ β→∞sigmoid 分量接近 0-1 函数因此 Swish 变得像 ReLU 函数
3. 总结
到此使用 激活函数介绍一 已经介绍完毕了 如果有什么疑问欢迎在评论区提出对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出后续会对其进行添加
如果觉得这篇文章对你有用记得点赞、收藏并分享给你的小伙伴们哦。