神经元——修正线性单元(ReLU)
修正线性单元(Rectified Linear Unit,ReLU)也叫rectifier函数,是目前深层神经网络中经常使用的激活函数。ReLU实际上是一个斜坡(ramp)函数,定义为
\begin{aligned}
\operatorname{ReLU}(x) &=\left\{\begin{array}{ll}
x & x \geq 0 \\
0 & x<0
\end{array}\right.\\
&=\max (0, x)
\end{aligned}
ReLU函数被认为有生物上的解释性,比如单侧抑制、宽兴奋边界(即兴奋程度也可以非常高)。在生物神经网络中,同时处于兴奋状态的神经元非常稀疏。人脑中在同一时刻大概只有
1 ∼ 4%
的神经元处于活跃状态。Sigmoid型激活函数会导致一个非稀疏的神经网络,而ReLU 却具有很好的稀疏性,大约50%的神经元会处于激活状态。
在优化方面,相比于Sigmoid型函数的两端饱和,ReLU函数为左饱和函数,且在
x > 0
时导数为1,在一定程度上缓解了神经网络的梯度消失问题,加速梯度下降的收敛速度。
优点: 采用ReLU的神经元只需要进行加、乘和比较的操作,计算上更加高效。
缺点: ReLU 函数的输出是非零中心化的,给后一层的神经网络引入偏置偏移,会影响梯度下降的效率。此外,ReLU神经元在训练时比较容易“死亡”。