一、介绍
AlexNet中使用了ReLU代替sigmoid激活函数,发现使用 ReLU 得到的SGD的收敛速度会比 sigmoid/tanh 快很多
二、作用
1.sigmoid与tanh有饱和区,ReLU在x>0时导数一直是1,因为梯度的连乘表达式包括各层激活函数的导数,以及各层的权重,ReLU解决了激活函数的导数问题,所以有助于缓解梯度消失,也能解决梯度爆 炸,从而加快训练速度。但因为表达式中还有各层的权重,所以ReLU没有彻底解决梯度消失问题。
2.无论是正向传播还是反向传播,计算量显著小于sigmoid和tanh
3.ReLU在RNN中也可以解决梯度消失和爆炸的问题,和LSTM有类似的效果
三、缺点
当x<0时,梯度是0,从而往下传播的梯度都是0.在学习率较大时,可能会有大量神经元“死掉”。解决方法是Leaky Relu,当x<0时,给一定的负梯度。
四、注意
输出均值不是0,是sigmoid的缺点,因为sigmoid有饱和区。但ReLU输出均值不是0,不是缺点,因为ReLU没有饱和区。