首页 > > > 3.4 神经网络为什么这么强
我们前面已经学习了神经网络的原理以及网络构成,并且知道了它是怎么训练的。那么这节,我们就说说神经网络到底为什么那么神奇,相比于传统的机器学习优势在哪里?
神经网络的优势
神经网络,尤其是深度神经网络之所有这么强主要是因为他能过通过大量的线性分类器和非线性函数的不同组合来完成一些线性模型不能解决的问题。
1、线性和非线性的组合
前面的文章我们已经提到过,一个神经网络是由大量的神经元连接而成的,而神经元又是由线性和非线性组件组合而成。线性组件就是每个神经元的前半部分的那个

,非线性的就是后面的那个非线性激励函数。之前我们已经介绍过Sigmoid、Tanh、ReLU三种常见的激励函数。那么非线性函数的优势是什么呢?简而言之一句话,引入激活函数是为了添加非线性因素,解决线性模型所不能解决的问题。
下面来具体说说如何理解,如下图所示,是一个线性模型的示意图,它可以划出一条线,把平面分开。

因此很容易,如果组合多个线性模型,自然可以获得更强的分类能力。可以理解为能分割出的图形长得更加“复杂”。


在上图中,最终输出的y可以用如下公式表示:

其中y1、y2、y3分别为单个线性模型的输出,w1、w2、w3分别为加和的权重。

但由上面的公式和图可以很明显的发现,最终输出的y与输入仍然是线性关系,只是函数关系更加复杂了。这个我们要怎么理解呢?可以看到下面的图:

左边的图是在一个线性模型的作用下出来的分割效果,而又右边的图则是在多个线性模型共同作用下出来的分割效果。看到了吗,其实就是用多条直接来分割,使得分类效果更加精准。虽然说可以用很多线性关系逼近非线性,这不是我们想要的最好的结果。我们希望可以获取到一个非线性关系,这样会大大提高分类能力。
因此聪明的数学家们自然而然的就想到了,在每一层计算完了之后,对输出的结果加一个激活函数,如下图中的σ()函数。

右图长得像S型的函数就是我们所定义的激活函数,它是非线性的。当将其扩展到多层后,如下所示,就形成了非线性的网络结构。

与之前没有加激活函数的多层线性模型相比,这里每个神经元输出都加上了激活函数,这样最终可以形成一个很复杂的函数模型。 而这个函数模型相比于刚刚那个线性的,表达能力更加强大了。我们看下面的对比图,


显然,运用这个非线性网络,我们就有可能训练得到更加平滑的分类面。因此,综上所述,为了提高网络的表达能力,最好的办法就是使用激活函数,使线性网络变成非线性的。
2、自动提取特征
有了非线性的拟合能力之后,深度神经网络的能力就有了比较显著的不同。在传统的机器学习里面,特征工程是一项非常重要的前置工作,也就是说人类在使用分类算法之前,首先要把大量的样本数据整理好,然后再仔细琢磨这些数据之间的关系,再提取其中有意义的数据维度,否则这些基于概率和空间距离的线性分类器是没法工作的。可以说,以前工程师80%的时间是花在了构造数据特征上。
然而在神经网络中,由于巨量的线性分类器的堆叠,以及卷积网络的使用,它对噪声的忍耐能力,对于多通道数据上投射出来的不同特征偏向的敏感程度会自动重视或者忽略。这样我们在处理的时候,人类所需要使用的技巧就没有那么高要求了,也就是我们通常所说的End-to-End的训练方式。这也就是深度学习在一定程度上门槛没那么高的原因,它不需要人再对数据的特征今天提取,那么对于处理某个行业内的应用时就不需要太多的行业经验和基础知识。
深度神经网络之所以强大正正是由于它引入了非线性因素,利用线性和非线性的组合使得模型有更加强大的识别能力和对噪声的容忍能力,这是一般线性分类器不可比拟的。正因如此,是基于深度学习的AI更吸引人,它在一定程度上降低了自动化应用的门槛,降低了成本,将不确定性居多的人力成本转化为了更为确定的硬件资源成本。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954080/viewspace-3166275/ ,如需转载,请注明出处,否则将追究法律责任。