人类一直试图让机器具有智能,也就是人工智能(Artificial Intelligence)。从上世纪 50 年代,人工智能的发展经历了“推理期”,通过赋予机器逻辑推理能力使机器获得智能,当时的 AI 程序能够证明一些著名的数学定理,但由于机器缺乏知识,远不能实现真正的智能。因此,70 年代,人工智能的发展进入“知识期”,即将人类的知识总结出来教给机器,使机器获得智能。在这一时期,大量的专家系统问世,在很多领域取得大量成果,但由于人类知识量巨大,故出现“知识工程瓶颈”。无论是“推理期”还是“知识期”,机器都是按照人类设定的规则和总结的知识运作,永远无法超越其创造者,其次人力成本太高。于是,一些学者就想到,如果机器能够自我学习问题不就迎刃而解了吗!机器学习(Machine Learning)方法应运而生,人工智能进入“机器学习时期”。“机器学习时期”也分为三个阶段,80 年代,连接主义较为流行,代表工作有感知机(Perceptron)和神经网络(Neural Network)。90 年代,统计学习方法开始占据主流舞台,代表性方法有支持向量机(Support Vector Machine),进入 21 世纪,深度神经网络被提出,连接主义卷土从来,随着数据量和计算能力的不断提升,以深度学习(Deep Learning)为基础的诸多 AI 应用逐渐成熟。
所以,人工智能是追求目标,机器学习是实现手段,深度学习是其中一种方法。
在过去几年中,深度学习已成为大多数 AI 类型问题的首选技术,掩盖了经典的机器学习。其中明显的原因是深度学习已经在包括言语、自然语言、视觉和玩游戏在内的各种各样的任务中多次表现出优异的表现。然而,尽管深度学习具有如此高的性能,但使用经典的机器学习和一些特定的情况下,使用线性回归或决策树而不是大型深度网络会更好。 我们将比较深度学习与传统的机器学习技术。在这样做的过程中,我们将找出两种技术的优点和缺点,以及它们在哪里,如何获得最佳的使用。
不需要特征工程:经典的 ML 算法通常需要复杂的特征工程。首先在数据集上执行深度探索性数据分析,然后做一个简单的降低维数的处理。最后,必须仔细选择最佳功能以传递给 ML 算法。当使用深度网络时,不需要这样做,因为只需将数据直接传递到网络,通常就可以实现良好的性能。这完全消除了整个过程的大型和具有挑战性的特征工程阶段。适应性强,易于转换:与传统的 ML 算法相比,深度学习技术可以更容易地适应不同的领域和应用。首先,迁移学习使得预先训练的深度网络适用于同一领域内的不同应用程序是有效的。例如,在计算机视觉中,预先训练的图像分类网络通常用作对象检测和分割网络的特征提取前端。将这些预先训练的网络用作前端,可以减轻整个模型的训练,并且通常有助于在更短的时间内实现更高的性能。此外,不同领域使用的深度学习的基本思想和技术往往是相当可转换的。例如,一旦了解了语音识别领域的基础深度学习理论,那么学习如何将深度网络应用于自然语言处理并不是太具有挑战性,因为基准知识非常相似。对于经典 ML 来说,情况并非如此,因为构建高性能 ML 模型需要特定领域和特定应用的 ML 技术和特征工程。对于不同的领域和应用而言,经典 ML 的知识库是非常不同的,并且通常需要在每个单独的区域内进行广泛的专业研究。
经典机器学习》深度学习
对小数据更好:为了实现高性能,深层网络需要非常大的数据集。之前提到的预先训练过的网络在 120 万张图像上进行了训练。对于许多应用来说,这样的大数据集并不容易获得,并且花费昂贵且耗时。对于较小的数据集,传统的 ML 算法通常优于深度网络。财务和计算都便宜:深度网络需要高端 GPU 在大量数据的合理时间内进行训练。这些 GPU 非常昂贵,但是如果没有他们训练深层网络来实现高性能,这在实际上并不可行。要有效使用这样的高端 GPU,还需要快速的 CPU、SSD 存储以及快速和大容量的 RAM。传统的 ML 算法只需要一个体面的 CPU 就可以训练得很好,而不需要最好的硬件。由于它们在计算上并不昂贵,因此可以更快地迭代,并在更短的时间内尝试许多不同的技术。更容易理解:由于传统 ML 中涉及直接特征工程,这些算法很容易解释和理解。此外,调整超参数并更改模型设计更加简单,因为我们对数据和底层算法都有了更全面的了解。另一方面,深层网络是“黑匣子”型,即使现在研究人员也不能完全了解深层网络的“内部”。由于缺乏理论基础、超参数和网络设计也是一个相当大的挑战。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !