网站诊断方法,网站建设利益,如何选择网站制作公司,企业网站策划怎么样一、激活函数的简介与由来
激活函数#xff1a;是用来加入非线性因素的#xff0c;解决线性模型所不能解决的问题。
线性函数的组合解决的问题太有限了#xff0c;碰到非线性问题就束手无策了。如下图。 通过激活函数映射之后#xff0c;可以输出非线性函数。
最后再通过…一、激活函数的简介与由来
激活函数是用来加入非线性因素的解决线性模型所不能解决的问题。
线性函数的组合解决的问题太有限了碰到非线性问题就束手无策了。如下图。 通过激活函数映射之后可以输出非线性函数。
最后再通过最优化损失函数的做法我们能够学习到不断学习靠近能够正确分类三角形和圆形点的曲线 。
二、激活函数的种类
1.Sigmoid函数 它能够把输入的连续实值变换为0和1之间的输出特别的如果是非常大的负数那么输出就是0如果是非常大的正数输出就是1.
缺点
梯度从后向前传播时每传递一层梯度值都会减小为原来的0.25倍如果神经网络隐层特别多那么梯度在穿过多层后将变得非常小接近于0即出现梯度消失现象。其解析式中含有幂运算计算机求解时相对来讲比较耗时。对于规模比较大的深度网络这会较大地增加训练时间。Sigmoid 的 output 不是0均值即zero-centered。 2.tanh函数 它解决了Sigmoid函数的不是zero-centered输出问题然而梯度消失gradient vanishing的问题和幂运算的问题仍然存在。 3.Relu函数
Relumax(0,x) ReLU函数其实就是一个取最大值函数.
解决了gradient vanishing问题 (在正区间)计算速度非常快只需要判断输入是否大于0收敛速度远快于sigmoid和tanh。
缺点
ReLU的输出不是zero-centered。指的是某些神经元可能永远不会被激活导致相应的参数永远不能被更新。 4.Leaky ReLU函数PReLU
f(x)max(αx,x) Leaky ReLU有ReLU的所有优点外加不会有Dead ReLU问题但是在实际操作当中并没有完全证明Leaky ReLU总是好于ReLU。 5.Mish函数
f(x) x・tanh(ς(x))其中 ς(x) ln(1e^x)是一个softmax激活函数和。 在YOLOv4中使用Mish函数的原因是它的低成本和它的平滑、非单调、上无界、有下界等特点与其他常用函数如ReLU和Swish相比提高了它的性能。
类似的Swish函数yolov5使用的激活函数 Mish函数优点 无上界有有界无上界是任何激活函数都需要的特性因为它避免了导致训练速度急剧下降的梯度饱和。因此加快训练过程。无下界属性有助于实现强正则化效果(适当的拟合模型)。(Mish的这个性质类似于ReLU和Swish的性质其范围是[≈0.31∞))。 非单调函数这种性质有助于保持小的负值从而稳定网络梯度流。大多数常用的激活函数如ReLU [f(x) max(0, x)] Leaky ReLU [f(x) max(0, x) 1]由于其差分为0不能保持负值因此大多数神经元没有得到更新。 无穷阶连续性和光滑性Mish是光滑函数具有较好的泛化能力和结果的有效优化能力可以提高结果的质量。在图中可以看到ReLU和Mish之间的一个随机初始化的神经网络在宏观平滑度上的剧烈变化。然而在Swish和Mish的情况下宏观上或多或少还是相似的。 计算量较大但是效果更好与ReLU相比它的计算比较贵但在深度神经网络中显示了比ReLU更好的结果。 自门控此属性受到Swish函数的启发其中标量输入被提供给gate。它优于像ReLU这样的点式激活函数后者只接受单个标量输入而不需要更改网络参数。
在YOLOv4中使用了Mish函数 CSPDarknet53的组合尽管代价有点高但它极大地提高了检测的准确性。