深度学习与传统机器学习的区别可以从以下6个方面来考虑。
1.数据依赖性:
在处理任务时,面对数据量比较小的问题,机器学习往往更容易胜任,而深度学习与机器学习的区别就在于,当数据量越大时,深度学习的性能会随着大量的数据而增加,而当数据量比较小时,深度学习由于无法进行充分的学习,在精确度上可能不如机器学习,此时,机器学习由于规则比较固定,因此性能会更优于深度学习。
2.硬件依赖性:
在深度学习的计算中,含有非常多的卷积、池化等操作,这些操作带来的是大量的矩阵运算,因此,深度学习对于良好硬件的依赖性非常高,强大的图形处理器(Graphic Processing Unit,GPU)可以高效地帮助深度学习处理矩阵运算,甚至可以说是使用深度学习工具的必备条件。而机器学习对于硬件的依赖性较低,不需要强大的服务器也可以顺利完成运行。
3.特征处理:
特征处理可以大大降低数据的复杂程度,同时使得算法更加准确。在传统的机器学习中,数据处理需要耗费大量的时间、人力以及物力,因为机器学习的特征标注往往需要专家先进行确定,然后再通过人工编码,标记为一种数据类型,这些类型可能是纹理、方向、位置等,但是,这个过程很容易由于失误而使得任务的准确性降低。对于深度学习,深度学习可以直接从数据里面抓取高层次的一些信息,而这些信息和低层次的颜色、形状等不同。在特征处理上的区别是传统机器学习和深度学习的又一主要区别之处,因此,深度学习不必像机器学习那样,为每个任务都建立一个新的特征提取器,可以先在较低层中得到输入的表面特征,再在较深层中得到输入的全局特征。
4.解决问题的方式:
在解决问题的时候,传统的机器学习算法往往是先把问题分割成为几部分,再一个个地解决问题,最后结合所有小问题的答案来获得最终的结果。比如说,在一个多分类的检测要求中,需要找出各物体的类型以及识别出各物体所在的位置,传统的机器学习首先将多分类任务拆解成两个小问题,第一个问题是对各个物体进行检测,检测出他们的具体位置在哪里,其会采取一个边界框,利用这个边界框对整张图片进行扫描,识别出物体存在的区域。第二个问题就是对检测到的物体进行识别并分类。 但是在深度学习中,其可以将多分类目标检测问题简化为一个端到端的识别任务,来直接检测出物体并识别出物体类型。
5.耗费时间:
深度学习对硬件依赖性高不仅是因为很多算法只有在高级别的GPU 上才能运行,还因为其训练时间也和硬件好坏息息相关。在大多数情况下,对一个深度学习的算法进行训练需要很长的时间,这是因为在深度学习中,网络的参数量很大,还有更多的卷积操作、反向传播等运算。与之相反的是,机器学习的训练时间相比较缩短了很多,大部分情况下仅仅需要耗费数秒至数小时的时间。 但是在测试过程中,两者所耗费的时间在大多数情况下相反。对于深度学习,由于在训练的时候耗费了大量的时间训练好了模型,因此在测试的时候,仅仅需要较少的时间就可以得出测试结果。而除了部分机器学习算法测试时间较短,大部分机器学习算法的测试时间会随着数据集的增大而大幅度增加。
6.可解释性:
可解释性是区分深度学习与传统机器学习的重要因素。对于深度学习,有时候无法知道它为什么会给出那样的检测结果。比如说为了提高老师们的阅卷的效率,采用深度学习来对文章进行评分,虽然最后发现,通过深度学习训练出来的模型对文章的给分的准确性很高,但是却无法找到深度学习这么给分的理由。原因在于对于较深层次的神经网络而言,其每一层都对应了相应的特征,但是由于层数太多而导致无法清楚其代表的具体是什么特征,因此也就无法对测试的结果进行解释,虽然可以找出到底是哪一个网络的节点被激活了,但是深度学习网络里面的规则仍然很难理解。相反,对于机器学习来说,每一个规则都是给出的,因此可以很好地明白模型的决策。