下载此文档

2020年神经网络激活函数.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。S形函数 (SigmoidFunction)该函数的导函数:双极S形函数该函数的导函数:S形函数与双极S形函数的图像如下:双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。由于S形函数与双极S形函数都是可导的(导函数是连续函数),因此适合用在BP神经网络中。(BP算法要求激活函数可导)双曲正切函数该函数的导函数:ReLu(Rectified Linear Units)函数ReLU:g(x)=max(0,x)该函数的导函数:g(x)'=0或1RELU取代sigmoid和tanh函数的原因是在求解梯度下降时RELU的速度更快,在大数集下会节省训练的时间在这里指出sigmoid和tanh是饱和非线性函数,而RELU是非饱和非线性函数。PRELU激活函数PReLU(ParametricRectifiedLinearUnit),顾名思义:带参数的ReLU。二者的定义和区别如下图: 如果ai=0,那么PReLU退化为ReLU;如果ai是一个很小的固定值(如ai=),则PReLU退化为LeakyReLU(LReLU)。有实验证明,与ReLU相比,LReLU对最终的结果几乎没什么影响。激活函数通常有如下一些性质:非线性: 当激活函数是线性的时候,一个两层的神经网络就能够逼近基本上所有的函数了。但是,如果激活函数是恒等激活函数的时候(即f(x)=x),就不满足这个性质了,而且如果MLP使用的是恒等激活函数,那么其实整个网络跟单层神经网络是等价的。可微性: 当优化方法是基于梯度的时候,这个性质是必须的。单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。f(x)≈x: 当激活函数满足这个性质的时候,如果参数的初始化是random的很小的值,那么神经网络的训练将会很高效;如果不满足这个性质,那么就需要很用心的去设置初始值。输出值的范围: 当激活函数输出值是 有限 的时候,基于梯度的优化方法会更加 稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是 无限 的时候,模型的训练会更加高效,不过在这种情况小,,不过近年来,用它的人越来越少了。主要是因为它的一些 缺点:Sigmoidssaturateandkillgradients. (saturate这个词怎么翻译?饱和?)sigmoid有一个非常致命的缺点,当输入非常大或者非常小的时候(saturation),这些神经元的梯度是接近于0的,从图中能够看出梯度的趋势。所以,你需要特别注意参数的初始值来尽量避免saturation的情况。如果你的初始值很大的话,大部分神经元可能都会处在saturation的状态而把gradientkill掉,这会导致网络变的很难学****Sigmoid的output不是0均值. 这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。 产生的一个结果就是:如果数据进入神经元的时候是正的(. x>0 elementwisein f=wTx+b),那么 w 计算出的梯度也会始终都是正的。当然了,如果你是按batch去训练,那么那个batch可能得到不同的信号,所以这个问题还是能够缓解一下的。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的killgradients问题相比还是要好很多的。tanhtanh是上图中的右图,能够看出,tanh跟sigmoid还是很像的,实际上,tanh是sigmoid的变形: tanh(x)=2sigmoid(2x)−1与sigmoid不同的是,tanh是0均值的。因此,实际应用中,tanh会比sigmoid更好(毕竟去粗取精了嘛)。ReLU近年来,ReLU变的越来越受欢迎。它的数学表达式如下: f(x)=max(0,x)很显然,从图左能够看出,输入信号<0时,输出都是0,>0 的情况下,输出等于输入。w 是二维的情况下,使用ReLU之后的效果如下:ReLU的优点:Krizhevskyetal. 发现使用ReLU得到的SGD的收敛速度会比sigmoid/tanh快很多(看右图)。有人说这是因为它是linear,而且non-saturating相比于sigmoid/tanh,ReLU只需要一个阈值就能够得到激活值,而不用去算一大堆复杂的运算。ReLU的缺点: 当然ReLU也有缺点,就是训练的时候很”脆弱”,很容易就”die”?举个例子:一个非常大的梯度流过一个ReLU神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了。如果这个情况发生了,那么这个神经元的梯度就永远都会

2020年神经网络激活函数 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
最近更新