深度学习入门与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 为什么深度学习会兴起

深度学习和神经网络之前的基础技术理念已经存在大概几十年了,为什么它们现在才突然流行起来呢?

画一个图,在水平轴上绘制出所有任务的数据量,而在垂直轴上,画出机器学习算法的性能,如图1-6所示。比如准确率体现在垃圾邮件过滤或者广告点击预测,或者是神经网络在自动驾驶汽车时判断位置的准确性,根据图像可以发现,如果将一个传统机器学习算法的性能画出来,则作为数据量的一个函数可能得到一个弯曲的线,它的性能一开始在增加,但是一段变化后它的性能就会变得平坦,这是因为过去十年社会里的数据量相对较少。

数字化社会的来临使得现在的数据量都非常巨大,比如在计算机网站上、手机软件上都能创建数据。相机、加速仪被配置到手机里,使其收集到了越来越多的数据。仅仅在过去的20年里,收集到的数据的规模远超过去的总和。

图1-6 传统机器学习算法性能

如果训练一个小型的神经网络,那么这个性能可能会像图1-7中曲线表示的那样;如果训练一个稍微大一点的神经网络,比如说一个中等规模的神经网络(见图1-7),那么它在某些数据上的性能也会更好一些;如果训练一个非常大的神经网络,则它就会变成图1-7中对应的曲线那样,并且保持变得越来越好。因此可以注意到两点,如果想获得较高的性能体现,那么有两个条件需要完成,第一个是需要训练一个规模足够大的神经网络,以发挥数据规模量巨大的优点,另外需要能画到x轴的这个位置,所以会需要很多的数据。因此经常说规模一直在推动深度学习的进步,这里的规模指的是神经网络的规模和大规模的数据。

在这个小的训练集中,各种算法的优先级事实上定义的也不是很明确,所以如果没有大量的训练集,那么效果取决于特征提取能力,这将决定最终的性能。假设有些人训练出了一个SVM(支持向量机)表现得更接近正确特征,然而有些人训练的规模大一些,可能在小的训练集中SVM算法可以做得更好。各种算法之间的优先级并不是定义的很明确,最终的性能更多地取决于在用特征提取方面的能力以及算法处理方面的一些细节,只是在某些大数据的训练集规模非常庞大,也就是m会非常大时,能更加持续地看到更大的由神经网络控制的其他方法。

图1-7 不同规模的神经网络模型性能

所以可以这么说,在深度学习萌芽的初期,数据的规模以及计算量局限于训练一个特别大的神经网络的能力。但是渐渐地,尤其是在最近这几年,算法方面出现了极大的创新。许多算法方面的创新使得神经网络运行得更快。这帮助了神经网络的实验人员和有关项目的研究人员在深度学习的工作中迭代得更快,使得整个深度学习的研究社群变得繁荣。这些力量目前也正在不断地奏效,使得深度学习越来越好。并且社会正在有越来越多的数据、硬件,以及更快的网络连接。在接下来的这些年它会变得越来越好。