摄影网站建设的功能有哪些,郑州seo网站排名优化公司,如何在720云网站做全景视频下载,建立自己的网站怎么样做一、引言
常用的激活函数如下#xff1a; 1、Sigmoid函数 2、Tanh函数 3、ReLU函数 4、ELU函数 5、PReLU函数 6、Leaky ReLU函数 7、Maxout函数 8、Mish函数
二、激活函数的定义 多层神经网络中#xff0c;上层节点的输出和下层节点的输入之间具有一个函数关系#xff0c;…一、引言
常用的激活函数如下 1、Sigmoid函数 2、Tanh函数 3、ReLU函数 4、ELU函数 5、PReLU函数 6、Leaky ReLU函数 7、Maxout函数 8、Mish函数
二、激活函数的定义 多层神经网络中上层节点的输出和下层节点的输入之间具有一个函数关系这个函数称为激活函数Activation Function。
三、激活函数的作用
一句话总结为了提高模型的表达能力。 激活函数能让中间输出多样化从而能够处理更复杂的问题。如果不使用激活函数那么每一层的输出都是上一层输入的线性函数最后的输出也只是最开始输入数据的线性组合而已。而激活函数可以给神经元引入非线性因素当加入到多层神经网络时就可以让神经网络拟合任何线性函数或非线性函数从而使得网络可以适合更多的非线性问题而不仅仅是线性问题。 激活函数被定义为一个几乎处处可微的函数。
四、饱和的概念
当函数满足limx→∞f′(x)0\ lim_{x\to\infty}f(x)0 limx→∞f′(x)0时称为右饱和 当函数满足limx→−∞f′(x)0\ lim_{x\to-\infty}f(x)0 limx→−∞f′(x)0时称为左饱和 当f(x)\ f(x) f(x)同时满足左饱和和右饱和时称为饱和
在饱和定义的基础上如果存在常数C1\ C1 C1当xC1\ x C1 xC1时恒满足f′(x)0\ f(x)0 f′(x)0称为右硬饱和同样如果存在常数C2\ C2 C2当xC2\ x C2 xC2时恒满足f′(x)0\ f(x)0 f′(x)0称为左硬饱和
相对的只有当x\ x x趋于极值时f′(x)0\ f(x)0 f′(x)0则称为软饱和。
五、常用的激活函数
1、Sigmod函数
Sigmoid 是常用的非线性的激活函数它的数学形式如下 f(x)11e−x\ f(x) \frac{1}{1e^{-x}} f(x)1e−x1
Sigmoid的几何图像如下 特点 它能够把输入的连续实值映射为0和1之间的输出特别的如果是非常大的负数输出就是0如果是非常大的正数输出就是1。 优点 1单调递增容易优化 2求导容易。 缺点 1Sigmod函数是软饱和容易产生梯度消失 2求导收敛速度慢 3幂运算导致训练耗时。
Sigmod函数导数如下 f′(x)f(x)(1−f(x))\ f(x)f(x)(1-f(x)) f′(x)f(x)(1−f(x))
导数的集合图像
2、Tanh函数
tanh函数为双切正切函数过00点数学形式如下
f′(x)sinh(x)cosh(x)1−e−2x1e−2xex−e−xexe−xe2x−1e2x12Sigmod(x)−1\ f(x)\frac{sinh(x)}{cosh(x)}\frac{1-e^{-2x}}{1e^{-2x}}\frac{e^x-e^{-x}}{e^xe^{-x}}\frac{e^{2x}-1}{e^{2x}1}2Sigmod(x)-1 f′(x)cosh(x)sinh(x)1e−2x1−e−2xexe−xex−e−xe2x1e2x−12Sigmod(x)−1
tanh函数及其导数的几何图像如下图
tanh读作Hyperbolic Tangent它解决了Sigmoid函数的不是零均值zero-centered输出的问题。然而梯度消失gradient vanishing的问题和幂运算导致的耗时问题仍然存在。 优点 1收敛速度相比Sigmod快 缺点 1未能解决梯度消失的问题
3、ReLU函数
ReLU函数的数学形式如下 f(x)max(0,x){0,x≤0x,x0\ f(x)max(0,x)\begin{cases} 0,x\leq0\\ x,x0 \end{cases} f(x)max(0,x){0,x,x≤0x0
ReLU函数及其导数的几何图像如下图 优点 1收敛速度快与Sigmod函数和Tanh函数 2有效缓解了梯度消失问题在正区间 3训练耗时优于Sigmod函数和Tanh函数 4对神经网络可以使用稀疏表达 缺点 1在训练过程中容易出现神经元死亡Dead ReLU Problem之后梯度永远为0。 产生该问题的原因有两点 1非常不幸的参数初始化这种情况比较少见 2学习率learning rate太大导致在训练过程中参数更新幅度太大不幸使网络进入这种状态。解决方法是可以采用Xavier初始化方法以及避免将学习率设置太大或使用adagrad等自动调节学习率的优化算法。
4、ELU函数
ELU函数Exponential Linear Units的数学形式如下 f(x)max(α(ex−1),x){x,x0α(ex−1),x≤0\ f(x)max(\alpha(e^x-1),x)\begin{cases} x, x0 \\ \alpha(e^x-1),x\le0\end{cases} f(x)max(α(ex−1),x){x,α(ex−1),x0x≤0 其中α\ \alpha α是可学习的参数。
ELU函数及其导数的几何图像如下图 优点 1ELU是为解决ReLU存在的问题而提出显然ELU有ReLU的基本所有优点并可以消除ReLU中神经元死亡问题在输入为负数时具有一定输出而且这部分输出具有一定的抗干扰能力。 缺点 1幂运算增加了训练耗时。
5、PReLU函数
PReLU函数的数学形式如下 f(x)max(αx,x){x,x0αx,x≤0\ f(x)max(\alpha x,x)\begin{cases} x, x0 \\ \alpha x,x\le0\end{cases} f(x)max(αx,x){x,αx,x0x≤0 其中α\ \alpha α是可学习的参数。
优点 1相比于ELU函数PReLU函数在负数区域是线性的斜率虽小但不会趋于0因为没有了幂运算训练速度也会快一些。
6、Leaky ReLU函数
Leaky ReLU函数的数学形式如下 f(x)max(0.01x,x){x,x00.01x,x≤0\ f(x)max(0.01 x,x)\begin{cases} x, x0 \\ 0.01 x,x\le0\end{cases} f(x)max(0.01x,x){x,0.01x,x0x≤0
Leaky ReLU函数及其导数的几何图像如下图 相比于PReLU函数当α\ \alpha α为0.01时PReLU函数就变成了Leaky ReLU函数了。
7、Maxout函数
待更新
8、Mish函数
Leaky ReLU函数的数学形式如下 f(x)x∗tanh(ln(1ex))\ f(x)x*tanh(ln^{(1e^x)}) f(x)x∗tanh(ln(1ex))
Mish函数及其导数的几何图像如下图 这与另一个被称为Swish函数的激活函数非常相似Swish函数的数学形式如下 f(x)x∗Sigmoid(x)\ f(x)x*Sigmoid(x) f(x)x∗Sigmoid(x)
Mish函数及其导数的几何图像如下图
Mish函数是YOLOv4中使用的激活函数原因是它的低成本和它的平滑、非单调、上无界、有下界等特点。
Mish函数的性能详细说明如下 1无上界有下界无上界是任何激活函数都需要的特性因为它避免了导致训练速度急剧下降的梯度饱和可加快训练过程。有下界属性有助于实现强正则化效果适当的拟合模型Mish的这个性质类似于ReLU和Swish的性质其范围是(≈0.31,∞]\ (\approx0.31,\infty] (≈0.31,∞]) 2非单调函数这种性质有助于保持小的负值从而稳定网络梯度流。大多数常用的激活函数如ReLU、 Leaky ReLU由于其差分为0不能保持负值因此大多数神经元没有得到更新 3无穷阶连续性和光滑性Mish是光滑函数具有较好的泛化能力和结果的有效优化能力可以提高结果的质量。在图中可以看到ReLU和Mish之间的一个随机初始化的神经网络在宏观平滑度上的剧烈变化。然而在Swish和Mish的情况下宏观上或多或少还是相似的 4计算量较大但是效果更好与ReLU相比它的计算量比较大但在深度神经网络中显示了比ReLU更好的结果。 5自门控此属性受到Swish函数的启发其中标量输入被提供给gate。它优于像ReLU这样的点式激活函数后者只接受单个标量输入而不需要更改网络参数。
参考资料
1、常用激活函数激励函数理解与总结 2、YOLOv4 中的 Mish 激活函数
声明
本博客的目的仅为学习交流和记录谢谢大家的浏览。