网站大量收购闲置独家精品文档,联系QQ:2885784924

神经网络激活函数.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . 激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。 S形函数?( Sigmoid Function ) 该函数的导函数: 双极S形函数 该函数的导函数: S形函数与双极S形函数的图像如下: 双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。   由于S形函数与双极S形函数都是可导的(导函数是连续函数),因此适合用在BP神经网络中。(BP \o 算法与数据结构知识库 算法要求激活函数可导) 双曲正切函数 该函数的导函数: ReLu(Rectified?Linear?Units)函数 ReLU: g(x)=max(0,x) 该函数的导函数: g(x)=0或1 RELU取代sigmoid 和tanh函数的原因是在求解梯度下降时RELU的速度更快,在大数集下会节省训练的时间 在这里指出sigmoid和tanh是饱和非线性函数,而RELU是非饱和非线性函数。 PRELU激活函数 PReLU(Parametric Rectified Linear Unit), 顾名思义:带参数的ReLU。二者的定义和区别如下图:? 如果ai=0,那么PReLU退化为ReLU;如果ai是一个很小的固定值(如ai=0.01),则PReLU退化为Leaky ReLU(LReLU)。 有实验证明,与ReLU相比,LReLU对最终的结果几乎没什么影响。 激活函数通常有如下一些性质: 非线性:?当激活函数是线性的时候,一个两层的神经网络就可以逼近基本上所有的函数了。但是,如果激活函数是恒等激活函数的时候(即f(x)=x),就不满足这个性质了,而且如果MLP使用的是恒等激活函数,那么其实整个网络跟单层神经网络是等价的。 可微性:?当优化方法是基于梯度的时候,这个性质是必须的。 单调性:?当激活函数是单调的时候,单层网络能够保证是凸函数。 f(x)≈x:?当激活函数满足这个性质的时候,如果参数的初始化是random的很小的值,那么神经网络的训练将会很高效;如果不满足这个性质,那么就需要很用心的去设置初始值。 输出值的范围:?当激活函数输出值是?有限?的时候,基于梯度的优化方法会更加?稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是?无限?的时候,模型的训练会更加高效,不过在这种情况小,一般需要更小的learning rate. Sigmoid sigmoid 函数曾经被使用的很多,不过近年来,用它的人越来越少了。主要是因为它的一些?缺点: Sigmoids saturate and kill gradients.?(saturate 这个词怎么翻译?饱和?)sigmoid 有一个非常致命的缺点,当输入非常大或者非常小的时候(saturation),这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。所以,你需要尤其注意参数的初始值来尽量避免saturation的情况。如果你的初始值很大的话,大部分神经元可能都会处在saturation的状态而把gradient kill掉,这会导致网络变的很难学习。 Sigmoid 的 output 不是0均值.?这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。?产生的一个结果就是:如果数据进入神经元的时候是正的(e.g.?x0?elementwise in?f=wTx+b),那么?w?计算出的梯度也会始终都是正的。当然了,如果你是按batch去训练,那么那个batch可能得到不同的信号,所以这个问题还是可以缓解一下的。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的 kill gradients 问题相比还是要好很多的。 tanh tanh 是上图中的右图,可以看出,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 的优点: Krizhevsky et al.?发现使用 ReLU 得到的SGD的收敛速度会比 sigmoid/tanh 快很多(看右图)。有人说这是因为它是linear,而且 non-saturating 相比于 sigmoid/tanh,ReLU 只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。 ReLU 的缺点:?

文档评论(0)

hkfgmny + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档