《深度学习:主流框架和编程实战》——1.1.2 传统机器学习与深度学习的对比
1.1.2 传统机器学习与深度学习的对比
传统机器学习与深度学习在理论与应用上都存在差异,下面将分别从数据依赖、硬件支持、特征工程、问题解决方案、执行时间以及可解释性这六个方面对传统机器学习与深度学习的差别进行比较。
数据依赖:深度学习和传统机器学习最重要的区别是前者的性能随着数据量的增加而增强。如果数据很少,深度学习算法性能并不好,这是因为深度学习算法需要通过大量数据才能很好地理解其中蕴含的模式。在这种情况下,使用人工指定规则的传统机器学习占据上风。
硬件支持:深度学习算法严重依赖于高端机,而传统机器学习在低端机上就可以运行。因为深度学习需要进行大量矩阵乘法操作,而GPU可以有效优化这些操作,所以GPU成为其中必不可少的一部分。
特征工程:特征工程将领域知识输入特征提取器,降低数据复杂度,使数据中的模式对学习算法更加明显,并得到更优秀的结果。从时间和专业性方面讲,这个过程开销很大。在机器学习中,大多数使用的特征都是由专家指定或根据先验知识来确定每个数据域和数据类型。比如,特征可以是像素值、形状、纹理、位置、方向。大多数传统机器学习方法的性能依赖于识别和抽取这些特征的准确度。
问题解决方案:当使用传统机器学习方法解决问题时,经常采取化整为零,分别解决,再合并结果的求解策略。而深度学习主张端到端的模型,即输入训练数据,直接输出最终结果,让网络自己学习如何提取关键特征。如图1-1所示为传统机器学习和深度学习对比流程图。
图1-1 传统机器学习和深度学习对比流程图
执行时间:深度学习需要进行很长时间的训练,因为深度学习中很多参数都需要进行远超正常水平的时间训练,如ResNet大概需要两周时间从零开始完成训练,而机器学习只需要从几秒到几小时不等的训练时间。测试所需要的时间就完全相反,深度学习算法运行只需要很少的时间。
可解释性:假定使用深度学习给文章自动评分,会发现性能很不错,并且接近人类评分水准,但它不能解释为什么给出这样的分数。在运行过程中可以发现深度神经网络的哪些节点被激活,但不知道这些神经元是对什么进行建模以及每层在干什么,所以无法解释结果。另一方面,机器学习算法如决策树按照规则明确解释每一步做出选择的原因,因此像决策树和线性/逻辑回归这类算法由于可解释性良好,在工业界应用很广泛。
- 点赞
- 收藏
- 关注作者
评论(0)