首页 > 编程知识 正文

采用非线性的激励机制,正弦函数激励的线性非时变渐稳定的电路

时间:2023-05-05 07:45:14 阅读:189869 作者:4603

一、什么是激励函数? 首先要理解神经网络的基本模型。

单神经元模型如下图所示。

神经网络中的每个神经元节点接收前一层神经元的输出值作为本神经元的输入值,并将输入值传递到下一层。 输入层的神经元节点将输入属性值直接传递到下一层(隐藏层或输出层)。 在多层神经网络中,上层节点的输出与下层节点的输入之间存在着称为激活函数(也称为激励函数)的函数关系。

2 )我们知道为什么在神经网络中引入非线性激励函数深度学习的理论基础是神经网络。 在单层神经网络(感知机)中,输入和输出的计算关系如下图所示。

输入和输出是线性关系,可以看到添加多个神经元后的计算公式也类似,如下图所示

这种模型只能处理简单的线性数据,而非线性数据很难有效处理。 也可以组合多个不同的线性表示,如下图所示,但这更加复杂和不灵活。

那么,通过在神经网络中加入非线性激励函数,神经网络有可能学习光滑的曲线,实现非线性数据的处理。 如下图所示。

因此,激励函数在神经网络中的作用一般是将多个线性输入转换为非线性关系。 如果不使用激励函数,神经网络的每一层只需要进行线性变换,即使是多层输入叠加后也还是线性变换通过激励函数引入非线性元件后,确定为神经网络的表示能力更强

在不使用激励函数(实际上激励函数相当于()=)的情况下,各层节点的输入为上层输出的线性函数,很容易验证。 不管有多少神经网络,输出都是输入的线性组合,具有与无隐藏层相同的效果。 这种情况是最原始的感知机(Perceptron )。 http://www.)。 由于这些原因,我们决定引入非线性函数作为激励函数。 这样,深层神经网络的表达能力更强。 (可以接近几乎任何函数,而不是输入的线性组合。 )

三.深度学习中常用的非线性激励函数

3.1 sigmoid函数

这应该是神经网络中最常用的激励函数,将实数压缩在0到1之间,如果输入的数字非常大,结果接近1,如果输入非常大的负数,则得到接近0的结果。 在早期的神经网络中使用得非常多。 因为网络的逼近能力就相当有限(0:几乎没有激活,1 :完全激活)。 但是,近年来在深度学习的应用中很少能看到它的身影。 因为http://www.Sina.com/。 当神经网络层数较多时,每层激励函数采用sigmoid函数会产生梯度方差问题。 利用反向传播更新参数时,由于乘以其导数,所以会变小很多。 输入较大或较小的数(例如,输入100时,经过Sigmoid函数,结果接近1,梯度接近0 ),产生饱和效应,神经元变为死亡状态。

3.2 tanh函数

tanh函数及其导数的几何图像如下图所示。

tanh读作Hyperbolic Tangent,解决了Sigmoid函数的zero不是centered输出的问题,但梯度消失问题和幂运算问题仍然存在。

3.3 ReLU函数Relu函数的解析表达式:

Relu函数及其导数的图像如下图所示。

ReLU函数不是全区间都能推导出来的,但是如上图所示,可以取sub-gradient。 ReLU虽然简单,但是近年来的重要成果,具有以下明显优点。

1 )梯度消失问题的解决(在正区间) )计算速度非常快,只需判断输入是否大于0.3 )收敛速度远远快于sigmoid和tanh,为什么要引入Relu呢? 使用sigmoid等函数计算激活函数时(指数运算)计算量大,通过反向传播求误差梯度时,导出与除法有关,计算量相对较多,而使用Relu激活函数则可以大幅节约整个过程的计算量。 对于深层网络,如果sigmoid函数反向传播,很容易出现坡度消失的情况。 (当sigmoid接近饱和区域时,转换太慢,导数变为0,信息丢失,深层网络训练无法完成。 Relu通过使部分神经元输出为0,引起网络稀疏,减少参数的相互依赖关系,缓解了过拟合问题的发生(以及一些hlt的生物解释balabala )。 ReLU也存在几个需要特别注意的问题:1) ReLU的输出不是零均值化/中心化(zerocentered )与Dead ReLU Problem是指部分神经元永远不激活,对应参数永远不更新两个主要原因是这种情况可能导致:(1)非常不幸的参数初始化。 这种情况很少见() learning rate过高,训练中参数更新过大,不幸导致网络处于此状态。 解决方案是可以采用Xavier的初始化方法,避免将learning rate设置得太大,以及使用adagrad等自动调节learning rate的算法。 尽管存在这两个问题,ReLU仍然是目前最常用的激活函数,建议在构建人工神经网络时优先尝试!

3.4 Leaky ReLU函数的函数表达式:

洛杉矶

ky Relu函数及其导数的图像如下图所示:
(注意左半边直线斜率非常接近0,所以看起来像是平的。α=0.01看起来就是这样的。)
人们为了解决Dead ReLU Problem,提出了将ReLU的前半段设为αx而非0,通常α=0.01。另外一种直观的想法是基于参数的方法,即ParametricReLU:f(x)=max(αx,x),其中α可由反向传播算法算出来。理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当中,并没有完全证明Leaky ReLU总是好于ReLU。

参考:

1、https://blog.csdn.net/tyhj_sf/article/details/79932893
2、https://blog.csdn.net/rogerchen1983/article/details/79380567
3、小象学院课程

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。