如果ReLU全部落在大于0的部分,相当于没有relu,相当于整个神经网络还只是一个线性的加权平均。但因为总有一部分relu结果落在负数,这部分特征就被舍弃。所以relu的作用之一就是检测特征是不是和任务相关的,这样就只保留了有用的特征,除掉无关特征,就完成了特征提取。
另一方面,如果使用sigmoid函数,当x的值非常大时,导数趋近于0,即“梯度消失”问题。根据链接法则,它之前的所有参数的导数,全部乘以这个接近0的数字,于是也全部接近于0,这就导致梯度过小,训练非常慢。但如果用relu,它的导数只有0或1,所以在反向传播过程中,避免了梯度消失问题。
最后,relu的计算非常简单,能够减小运算量。
没想到简简单单的一个ReLU,竟然有这么奇妙的作用。