ReLU是线性的函数,但是,这类激活函数主要用在深度学习里。相对于浅层的机器学习,比如经典的三层神经网络,用它作为激活函数的话,那表现出来的性质肯定是线性的。但是在深度学习里,少则几十,多则上千的隐藏层,虽然,单独的隐藏层是线性的,但是很多的隐藏层表现出来的就是非线性的。这么说吧,一条直线,是线性的,但是曲线可以看成什么,是由很多微小的线段组成的。如果你学过高等数学里的微积分的话,用“微元法”的思想,就可以想明白了。至于为什么说它好,是从相比sigmoid这类函数而言,像sigmoid函数,把定义在正无穷到负无穷上的点,映射到0到1之间,当隐藏层很多的时候,往往在网络训练的过程中,接近输出层的隐藏层权值矩阵很快就会收敛,但是远离输出层的那些却很难收敛,原因就是sigmoid函数在后向传递loss的时候,loss经过sigmoid函数,一次次地进行了衰减,导致那些层的权值调整很小,而无法达到拟合。最后,当隐藏层增加越多,深度学习的效果就越差。这是早期研究深度学习的一个瓶颈
relu是分段线性函数
最新推荐文章于 2024-06-27 04:02:34 发布