请在 下方输入 要搜索的题目:

请问人工神经网络中为什么ReLu要好过于tanh和sigmoid function?

请问人工神经网络中为什么ReLu要好过于tanh和sigmoid function?

发布时间:2025-12-02 14:01:47
推荐参考答案 ( 由 题搜搜 官方老师解答 )
答案:

先看sigmoid、tanh和RelU的函数图:

ba77e9d25070871ea6ea28e378875172

第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法和指数运算,计算量相对大,而采用Relu激活函数,整个过程的计算量节 省很多。

 

第二,对于深层网络, sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),这种现象 称为饱和,从而无法完成深层网络的训练。而ReLU就不会有饱和倾向,不会有特别小的梯 度出现。


第三, Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的 相互依存关系,缓解了过拟合问题的发生(以及一些人的生物解释balabala )。当然现在也 有一些对relu的改进,比如prelu,random relu等,在不同的数据集上会有一些训练速度上 或者准确率上的改进,具体的大家可以找相关的paper看。

 

多加一句,现在主流的做法,会多做一步batch normalization,尽可能保证每一层网络的 输入具有相同的分布1]。而最新的paper2],他们在加入bypass connection之后,发现改 变batch normalization的位置会有更好的效果。大家有兴趣可以看下。

登录 - 搜搜题库网
立即注册
注册 - 搜搜题库网
立即登录