1.5 深度学习的优势
深度学习之所以强大,主要原因有两个:一是不用提取特征,二是处理线性不可分数据的能力强。
1.不用提取特征
在传统的分类算法中,提取特征是一个非常重要的前期工作,人们要亲自从大量数据样本中整理出特征,以便分类算法后续使用。否则这些基于概率和基于空间距离的线性分类器是没办法工作的。然而在神经网络中,由于大量线性分类器的堆叠及卷积的使用,它对噪声的忍耐能力、对多通道数据上投射出来的不同特征的敏感程度非常高。这样人们就不需要进行特征提取工作,只需简单地将待处理的数据和期望输入神经网络,由神经网络来完成特征提取。这也就是我们通常所说的End-to-End的训练方式,这种方式通常需要样本数量极多。
2.处理线性不可分数据的能力强
神经网络还有一个神奇之处,那就是它采用线性分类器的堆叠把线性不可分的问题变得可分。神经网络的每个神经元都是一个线性分类器,所以神经网络能通过线性分类器的组合解决线性不可分问题。
下面来看一个简单的例子。
在二维空间中有一个不规则的四边形(如图1.22所示),可以看出,只用一条线(一个线性分类器)进行分类,并保证其一侧是这个四边形内所有的点(称为“类别1”),另一侧是其他的点(称为“类别0”),是不可能的,因为不管怎么画,一条线都解决不了问题。那么我们画4条线来解决。
图1.22 不规则的四边形
我们用图1.23中的4条线把它围起来,也就是只有同时满足4条线分类标准才能得到我们想要的分类,每条线的表达式都形如f(x)=wx+b。因此,每个神经元节点表达式的前半部分f(x)=wx+b就是一个线性分类器模型,而后这些模型做集合中的“相交”操作就可以得到我们想要的分类了。
图1.23 同时满足4条线的分类标准
一个神经网络中的神经元可以有很多层,每层可以有很多个神经元,整个神经网络可以有几千甚至几万个神经元。那么在这种情况下,我们几乎可以描绘出任意线性不可分模型。当然,这里用一个简单的二维向量来进行示意,在真正的应用场景中,这些向量通常有几十万个维度,神经网络的层数也会非常深,这就是深度学习。
随着维度的增加、深度的加深,神经网络所能描述的分类器的复杂程度也会增加,所以传统分类问题中无法通过简单线性分类器和非线性分类器处理的复杂学习场景(如图形、视频、音频等)就能够通过海量分类器的叠加来实现。此外,在引入激励函数后,神经网络还可以直接处理线性不可分问题,这就使神经网络更加强大。
但同时也要说明,有人可能会认为深度学习在任何情况下都比传统算法表现更好,实际上并不是这样的,有时传统算法只需要很少的训练样本(几百个或上千),但具有非常好的解释特性,能够清晰地解释处理的是什么特征,以及任何一个指标值大小变化的意义。而深度学习可能需要数以万计的样本来做训练才能达到同样的效果,所以,千万不要盲目相信深度学习的能力,毕竟“尺有所短,寸有所长”。