ReLU
整流线性单元(ReLU),全称Rectified linear unit,是现代神经网络中最常用的激活函数,大多数前馈神经网络都默认使用该激活函数。
函数表达式
f ( x ) = m a x { 0 , x } f(x)=max\{0,x\} f(x)=max{0,x}
当 x < 0 x<0 x<0时,函数值为0;当 x > 0 x>0 x>0时,函数值为 f ( x ) = x f(x)=x f(x)=x
函数图像
函数特性
在现阶段的使用过程中,依然是ReLU激活函数效果最好。我们可以这样去理解ReLU的作用:当 x > 0 x>0 x>0时,这时候函数值是与 x x x正相关的,我们希望当检测特征信号越强时,得到的结果越强;而当 x x x为负值时,说明该特征对结果有负面影响,我们不需要负面信号,那么所有信号结果都转化为0。
优点:
- ReLU收敛速度相较于logistic和Tanh要快很多
- ReLU运算速度较快,因为其是线性函数,计算复杂度低,不需要进行指数、对数等运算
- ReLU不容易过拟合,因为其 x < 0 x<0 x<0的部分函数值为0,可以使参数更加稀疏(因为部分参数直接转化为0),从而减小参数之间的依存关系
- ReLU不会出现梯度消失的问题,因为其在 x > 0 x>0 x>0时梯度恒为1
缺点:
- ReLU在 x < 0 x<0 x<0部分直接为0,可能导致屏蔽特征过多而导致无法学习到有效特征。这一现象也被称为dead relu,即神经元坏死。只要神经元梯度为0,其之后梯度将一直为0,导致参数不会再被更新。