ReLu及其变体如何解决非线性问题

我们知道线性方程可以做到,将一个平面划分成两个:
ReLu及其变体如何解决非线性问题_第1张图片
ReLu及其变体如何解决非线性问题_第2张图片
线性函数 − 5 − 2 ∗ x + y -5-2*x +y 52x+y将一个平面分为两部分,使用Relu后,分类边界不再是横穿x-y位置的直线。将x轴以下的部分切掉,从而得到上面右侧图中所示的角度区域。
ReLu及其变体如何解决非线性问题_第3张图片
我们加入了四个relu函数,最终的输出是通过应用一个线性模型将所有这些角区域加到一起来构建的,看起来就像是平面折叠了一样。下面显示了这样一个输出决策区域的示例:ReLu及其变体如何解决非线性问题_第4张图片
现在可以想象构建一个有20 ~ 30 Relus的网络,并得到如下所示的分类边界:
ReLu及其变体如何解决非线性问题_第5张图片

所以虽然ReLu函数在大于0和小于0的区域分别都为线性函数,但是把他们放在一起的时候就是非线性函数:
ReLu及其变体如何解决非线性问题_第6张图片
对于浅层的机器学习,比如经典的三层神经网络,用它作为激活函数的话,那表现出来的性质肯定是线性的。但是在深度学习里,少则几十,多则上千的隐藏层,虽然,单独的隐藏层是线性的,但是很多的隐藏层表现出来的就是非线性的。线性和非线性,举个简单的例子,一条曲线无限分段,每段就趋向直线,反过来,很多这样的直线就可以拟合曲线。类似,大规模的神经网络,包含很多这样的线性基本组件,自然也可以拟合复杂的非线性情况。

参考paper

你可能感兴趣的:(机器学习)