BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #25754同步于 2017/9/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

关于ReLU函数求教!!!!!

XZC
2017/9/14镜像同步9 回复
都说ReLU函数不是梯度饱和函数,但是在x<0的情况下,ReLU函数的梯度不是永远为0吗,这不是梯度饱和吗?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
jaegerstar机器人#1 · 2017/9/14
那是失活了,所以后面才会有leaky relu等一系列改进
XZC机器人#2 · 2017/9/14
我知道,前面梯度为1,后面梯度为0,那其实还是有梯度饱和的一部分的。其实我在想,为什么不搞一个函数前面梯度为1,后面梯度为-1? 【 在 jaegerstar 的大作中提到: 】 : 那是失活了,所以后面才会有leaky relu等一系列改进
PaperFan机器人#3 · 2017/9/14
那是ReLU的扩展,绝对值整流:g(z)=|z|。 【 在 XZC (力量) 的大作中提到: 】 : 我知道,前面梯度为1,后面梯度为0,那其实还是有梯度饱和的一部分的。其实我在想,为什么不搞一个函数前面梯度为1,后面梯度为-1?
coldmoon机器人#4 · 2017/9/15
楼主思考的不错,这是个定义问题。你的问题在 Bengio 的 ICML 2016 文章 Noisy Activation Functions 里已经给出了解答: 饱和被形式化定义为 硬饱和 和 软饱和。ReLU是左硬饱和,硬了;Sigmoid 那种是软饱和,软了。
XZC机器人#5 · 2017/9/15
算是找到答案了,解了我昨天的心中之惑,哈哈,谢谢你! 延伸一下,既然ReLU是存在硬饱和,理论上讲是和sigmoid一样的问题存在,可是在受欢迎程度上讲,似乎ReLU更好一些,不知道具体是缘何,难道就因为ReLU在右部分比较完美,而sigmoid在两端都不太完美造成的这种迥异? 【 在 coldmoon 的大作中提到: 】 : 楼主思考的不错,这是个定义问题。你的问题在 Bengio 的 ICML 2016 文章 Noisy Activation Functions 里已经给出了解答: : 饱和被形式化定义为 硬饱和 和 软饱和。ReLU是左硬饱和,硬了;Sigmoid 那种是软饱和,软了。
coldmoon机器人#6 · 2017/9/15
【 在 XZC 的大作中提到: 】 : 算是找到答案了,解了我昨天的心中之惑,哈哈,谢谢你! : 延伸一下,既然ReLU是存在硬饱和,理论上讲是和sigmoid一样的问题存在,可是在受欢迎程度上讲,似乎ReLU更好一些,不知道具体是缘何,难道就因为ReLU在右部分比较完美,而sigmoid在两端都不太完美造成的这种迥异? : 博客和论文里都能找到答案。主要是梯度消失问题,relu 可以以监督方式训练深层神经网络。 至于“梯度消失” 前面的谓语用什么,有的人用克服 和 解决,有的人用 降低 和 缓解。我倾向于后者。因为梯度更新不仅仅跟激活函数的形状有关系,也跟权重初始化有关系。sigmoid 借助初始化技术一样可以缓解梯度消失问题,见 bengio 的 《Understanding the difficulty of training deep feedforward neural networks》。反之,使用 relu 的网络在初始化不合理的情况下,一样无法训练更深层的网络,见 何凯明的 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》。所以个人认为单纯的说 relu 克服或解决梯度消失并不严禁,说降低或缓解更合适一些,例如 《Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)》里这段话:
XZC机器人#7 · 2017/9/15
大牛啊!从你截取的这段英文里,果然跟我想的一样,sigmoid函数是两头导数都快速收缩饱和,导致收敛越来越慢,而relu最起码在正半轴导数是不变的恒定速率收敛,这就是受欢迎的理由。谢谢! 【 在 coldmoon 的大作中提到: 】 : : 博客和论文里都能找到答案。主要是梯度消失问题,relu 可以以监督方式训练深层神经网络。 : 至于“梯度消失” 前面的谓语用什么,有的人用克服 和 解决,有的人用 降低 和 缓解。我倾向于后者。因为梯度更新不仅仅跟激活函数的形状有关系,也跟权重初始化有关系。sigmoid 借助初始化技术一样可以缓解梯度消失问题,见 bengio 的 《Understanding the difficulty of training deep feedforward neural networks》。反之,使用 relu 的网络在初始化不合理的情况下,一样无法训练更深层的网络,见 何凯明的 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》。所以个人认为单纯的说 relu 克服或解决梯度消失并不严禁,说降低或缓解更合适一些,例如 《Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)》里这段话: : ...................
nozomi机器人#8 · 2017/9/15
马克 通过『我邮2.0』发布
buptsoftware机器人#9 · 2017/9/16
学习了,谢谢. 【 在 coldmoon 的大作中提到: 】 : : 博客和论文里都能找到答案。主要是梯度消失问题,relu 可以以监督方式训练深层神经网络。 : 至于“梯度消失” 前面的谓语用什么,有的人用克服 和 解决,有的人用 降低 和 缓解。我倾向于后者。因为梯度更新不仅仅跟激活函数的形状有关系,也跟权重初始化有关系。sigmoid 借助初始化技术一样可以缓解梯度消失问题,见 bengio 的 《Understanding the difficulty of training deep feedforward neural networks》。反之,使用 relu 的网络在初始化不合理的情况下,一样无法训练更深层的网络,见 何凯明的 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》。所以个人认为单纯的说 relu 克服或解决梯度消失并不严禁,说降低或缓解更合适一些,例如 《Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)》里这段话: : ...................