ReLU:优于Sigmoid的**函数
ReLU:优于Sigmoid的**函数
在进行机器学习时,第一个接触到的**函数一定是Sigmoid函数。所谓**函数,是一种将输出改变为非线性的使得模型功能性更强的应用手段。而Sigmoid函数作为新人面孔中出现最频繁的**函数,可谓是占尽了风头。但Sigmoid**函数任然具有他的局限性,这要从他的数学性质说起:
从函数形式上来看,sigmoid函数为指数型函数,这无疑会加大其计算量
从函数性质上看,sigmoid函数反向传播时,容易出现梯度消失的情况,原因是两端(饱和区域)的导数趋近于零,变化太慢
从图像上看,无论怎样改变加权参数,拐点始终在x=0处,可能会不满足训练集的要求
这种时候就需要一个更强大,更能满足需求的**函数ReLU(The Rectified Linear Unit)修正线性单元登场辣:
由图像可知,在x=0处,函数是不可导的。在x>0时,导数为1,x<0时,导数为0,故没有sigmoid函数的因导数接近于0而出现的梯度消失现象,从而解决深层网络的收敛问题。同时,也因为此性质,ReLU更容易优化,不会过多丢失信息,也因此成为了现在使用的主流**函数。
但要注意一点的是,对于ReLU函数,需要调整它的学习率(一般情况小一点比较好),否则可能出现数据无法**的现象