电子说
深度学习已成为大多数AI问题的首选技术,使得经典机器学习相形见绌。但是,尽管深度学习有很好的性能,经典机器学习方法仍有一些优势,而且在一些特定情况下最好使用经典机器学习方法,例如线性回归或决策树,而不是使用一个大型深度网络。本文将对比深度学习和经典机器学习,分别介绍这两种技术的优缺点。
近年来,深度学习已成为大多数AI问题的首选技术,使得经典机器学习相形见绌。原因很明显,深度学习在语音、自然语言、视觉和游戏等许多任务上都表现出卓越的性能。然而,尽管深度学习具有如此好的性能,经典机器学习方法仍有一些优势,而且在一些特定情况下最好使用经典机器学习方法,例如线性回归或决策树,而不是使用一个大型深度网络。
本文将对比深度学习和经典机器学习,分别介绍这两种技术的优缺点以及它们在哪些问题/如何得到最佳使用。
深度学习优于经典机器学习
一流的性能:在许多领域,深度网络已经取得了远远超过经典ML方法的精度,包括语音、自然语言、视觉、游戏等。在许多任务中,经典的ML方法甚至无法与深度学习比较。例如,下图显示了ImageNet数据集上不同方法的图像分类精度;蓝色表示经典ML方法,红色表示深度卷积神经网络(CNN)方法。深度学习方法的分类错误率远远低于经典ML方法。
用数据进行有效的扩展:与经典ML算法相比,如果有更多的数据,深度网络可以更好地扩展。下图是一个简单的例子。很多时候,用深度网络来提高准确性的最佳建议就是使用更多的数据!但使用经典ML算法时,这种快速简单的方法几乎没有效果,通常需要更复杂的方法来提高精度。
不需要特征工程:经典的ML算法通常需要复杂的特性工程。通常,需要先在数据集上执行探索性数据分析。然后,可以降低维度以便于处理。最后,必须仔细选择最佳的特征,以传递给ML算法。在使用深度学习时,不需要这样的特征工程,因为只需将数据直接传递给网络,通常就可以立即实现良好的性能。这完全消除了整个过程中繁重而且很有挑战性的特征工程阶段。
适应性强,易于迁移:与经典的ML算法相比,深度学习技术可以更容易地适应不同的领域和应用。首先,迁移学习可以使预训练的深度网络对同一领域的不同应用生效。例如,在计算机视觉中,预训练的图像分类网络通常用作目标检测和分割网络的特征提取前端。将这些预训练的网络作为前端,可以简化整个模型的训练,并且通常有助于在更短的时间内实现更高的性能。
此外,不同领域使用深度学习的基本思想和技术往往是可以转移的。例如,一旦了解了语音识别领域的深度学习基础理论,那么学习如何将深度网络应用于自然语言处理就不太困难了,因为两者所需的基础知识非常相似。但对于经典ML来说,情况并非如此,因为构建高性能ML模型需要特定领域和特定应用的ML技术和特征工程。对于不同的领域和应用,经典ML的知识基础是非常不同的,并且往往需要在每个单独的领域进行广泛的专门研究。
经典机器学习优于深度学习
在小数据上能更好地工作:为了实现高性能,深度学习需要非常大的数据集。之前提到的预训练的网络在120万张图像上进行了训练。对于许多应用来说,这样大的数据集是不容易获得的,花费昂贵而且耗时。对于较小的数据集,经典的ML算法通常优于深度学习。
财务和计算上都更便宜:有大量的数据,又需要在合理时间内训练完,深度学习要求使用高端GPU。这些GPU非常昂贵,但是如果没有它们,就很难实现高性能的深度网络。要有效地使用这样的高端GPU,还需要一个快速的CPU、SSD存储、快速而且容量大的RAM。经典的ML算法只需要一个像样的CPU就可以训练得很好,并不需要最好的硬件。因为它们的计算成本不高,因此可以在较短的时间里更快地迭代,并尝试多种不同的技术。
更容易解释:由于经典ML涉及直接的特征工程,这些算法很容易解释和理解。此外,由于我们对数据和底层算法有了更深入的了解,调参和更改模型设计也更简单。另一方面,深层学习是一个“黑盒子”,即使是现在,研究人员也不能完全了解深层网络的“内部”。由于缺乏理论基础,超参数和网络设计也是一个很大的挑战。
全部0条评论
快来发表一下你的评论吧 !