深度学习——神经网络中的activation

更新时间:2023-06-09 10:24:38 阅读: 评论:0

深度学习——神经⽹络中的activation
神经⽹络中有个词叫做 activation——激活函数
现假设⼀神经⽹络N,其中w为权值参数,x为输⼊,b为偏置。神经⽹络中上层的信号  wx+b 在作为下层的输⼊ 之前,需要 使⽤ 激活函数激活。
蛋黄莲蓉月饼why?从两个⾓度解释
练习课教案A:如果不⽤激活函数(其实相当于激活函数是f(x) = x),在这种情况下你每⼀层输出都是上层输⼊的线性函数,很容易验证,⽆论你神经⽹络有多少层,输出都是输⼊的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知
机(Perceptron)了。引⼊⾮线性函数作为激活函数,这样深层神经⽹络就有意义了(不再是输⼊的线性组合,可以逼近任意函数)。
B : 在⽹络N中,并不是所有的上⼀层信号都可以激活下⼀层,如果所有的上⼀层信号都可以激活下⼀层,那么这⼀层相当于什么都没有做。因此需要选择⼀些信号激活下⼀层的神经元。如何表⽰激活呢?就是当activation function的输出结果是0,就代表抑制;是1,就代表激活。adcenter
Q2:为什么引⼊Relu呢?
第⼀,采⽤sigmoid等函数,算激活函数时(指数运算),计算量⼤,反向传播求误差梯度时,求导涉及除法,计算量相对⼤,⽽采⽤Relu激活函数,整个过程的计算量节省很多。
第⼆,对于深层⽹络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失,参见
十二指溃疡答案的第三点),从⽽⽆法完成深层⽹络的训练。
实习单位指导教师评语>百慕大三角第三,Relu会使⼀部分神经元的输出为0,这样就造成了⽹络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发⽣(以及⼀些⼈的⽣物解释balabala)。
当然现在也有⼀些对relu的改进,⽐如prelu,random relu等,在不同的数据集上会有⼀些训练速度上或者准确率上的改进,具体的⼤家可以找相关的paper看。
多加⼀句,现在主流的做法,会多做⼀步batch normalization,尽可能保证每⼀层⽹络的输⼊具有相同的分布[1]。⽽最新的paper[2],他们在加⼊bypass connection之后,发现改变batch normalization的位置会有更好的效果。⼤家有兴趣可以看下。
[1] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.
世界文学
[2] He, Kaiming, et al. "Identity Mappings in Deep Residual Networks." arXiv preprint arXiv:1603.05027 (2016).
>心灵的感悟

本文发布于:2023-06-09 10:24:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/910425.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   情况   神经   计算
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图