跳至主要内容

深度学习(DL)与机器学习(ML):对比指南

在本教程中,您将了解人工智能(AI)的概览,并深入了解机器学习(ML)与深度学习之间的差异。
· 14分钟 阅读

使用 AI 探索

无论您是立志成为数据科学家,还是只是对人工智能的最新进展感兴趣,您很可能听过“机器学习”和“深度学习”等术语。但它们究竟意味着什么?它们之间又有何区别?在本文中,我们将比较机器学习与深度学习,梳理这两个关键领域的相似点、差异、应用场景和优势。

什么是人工智能?

我们有一份详尽的AI 新手速成指南,更深入地探讨了这一主题。不过,先做个快速入门:人工智能(AI)是计算机科学的一个领域,旨在创建能够执行通常需要人类智能才能完成任务的智能系统。这包括自然语言识别、模式识别以及为解决复杂问题而进行决策等。

我们可以把 AI 看作是一组工具,用来让计算机表现得更“聪明”,并实现任务自动化。人工智能的应用包括自动驾驶汽车、推荐系统和语音助手。

正如我们将看到的,“机器学习”和“深度学习”等术语,都是更广泛机器学习领域中的方面。您可以查看我们关于人工智能与机器学习之区别的指南,以更深入了解该主题。

什么是机器学习?

与 AI 一样,我们也有一份专门指南介绍什么是机器学习。简而言之,机器学习(ML)是实现人工智能的一种方式;实质上,它是 AI 广阔领域中的一个专门分支,而 AI 又是计算机科学的一个分支。

借助机器学习,我们可以开发无需显式编程即可学习的算法。这些算法包括:

  • 决策树
  • 朴素贝叶斯
  • 随机森林
  • 支持向量机
  • K 近邻
  • K 均值聚类
  • 高斯混合模型
  • 隐马尔可夫模型

那么,计算机如何自动学习呢?

关键在于数据。您提供带有各种属性或特征的数据,供算法分析与理解。算法会基于所给数据创建决策边界,从而进行预测或分类。当算法处理并理解了数据——本质上完成了训练——您就可以进入测试阶段。在这里,您向算法输入新的数据点,它将在无需进一步编程的情况下给出结果。示例:

假设您想预测房价。您有一个包含 1000 套房屋信息的数据集,其中包括价格和房间数量——这些就是您的特征。您的任务是将这些特征输入某个算法,例如决策树算法,使其学会房间数量与房价之间的关系。

在这种情况下,您输入房间数量,算法就会预测房价。比如在测试阶段,如果您输入“3”间房,算法应能根据从训练数据中学习到的“房间数量与房价关系”准确预测相应的房价。

什么是深度学习?

深度学习是机器学习的一个子类,专注于为计算机构建一种学习流程,使其能够识别模式并做出决策,就像人类那样。比如,如果我们教计算机区分不同动物,我们会从更简单的基础概念(如腿的数量)开始,逐步引入更复杂的概念(如栖息地和行为)。

在机器学习领域,深度学习以使用具有三层或更多层的神经网络而著称。这些多层神经网络试图模拟人脑的学习方式,使计算机能够分析并从海量数据中学习。单层网络可以做出初步预测,但随着我们增加更多层,网络就能理解更复杂的模式和关系,从而提升预测准确度。

深度学习本质上是一种复杂的多层过滤器。我们将原始、无结构的数据输入到顶部,它会穿过神经网络的各层,在每一层被进一步提炼与分析。最终在底部输出的是连贯、结构化的信息或精确的“预测”。

这一过程擅长解读具有多层抽象的数据,因此在图像与语音识别、自然语言处理以及博弈策略制定等任务中不可或缺。它是众多创新的支柱,从我们手机上的虚拟助手到自动驾驶汽车的发展,皆由此驱动。

Italian Trulli
浅层神经网络(来源)

如上图所示,这个浅层神经网络包含多个层:

  • 输入层。 输入可以是图像的像素,或一段时间序列数据。
  • 隐藏层。通常称为权重,这些权重会在神经网络训练过程中被学习到
  • 输出层。 最终一层会对您输入到网络中的数据给出预测。

因此,神经网络是一个近似函数,网络试图学习隐藏层中的参数(权重),这些权重与输入相乘后,能够给出接近期望输出的预测结果。

深度学习就是在输入层和输出层之间堆叠多个这样的隐藏层,因此得名“深度”学习。

深度学习 vs 机器学习:关键相似点与差异

工作原理

如前所述,深度学习是机器学习的一个专门子集,利用多层的人工神经网络来分析数据并做出智能决策。它更深入地进行数据分析,因此称为“深度”,能够提供更细致、更复杂的洞察。与之相对,机器学习(包含深度学习)着重于开发能够从数据中学习并据此进行预测或决策的算法,所采用的方法多种多样,并不局限于神经网络。

特征提取

深度学习能够从原始数据中自主提取有意义的特征。在此语境中,“特征”是被观测现象的某个可度量属性或特性。深度学习不依赖手工编写的特征提取方法,如局部二值模式或梯度直方图等这些对原始数据的预定义摘要方式。相反,它会从简单特征开始,逐步学习更复杂的表示,进而习得完成任务所需的最有用特征。另一方面,传统机器学习往往依赖这类手工特征,并需要精心的特征工程才能达到最佳表现。

Italian Trulli
深度学习网络按层学习到的特征(来源)

数据依赖性

深度学习模型“食量”很大;数据越丰富,表现越好。相比之下,许多机器学习算法在较小的数据集上也能给出令人满意的结果。当数据可用性受限时,这一点对于有志成为数据科学家的人在方法选择上尤为重要。

Italian Trulli
数据量(x 轴)与性能(y 轴)关系图

从上图可以看到,随着数据增加,深度学习算法的性能会持续提升;而传统机器学习算法的性能在一段时间后即使继续增加数据也几乎趋于饱和。

计算能力

由于涉及大量数据与深层网络(神经网络层数),深度学习需要先进的计算能力,通常由图形处理器(GPU)提供。传统机器学习算法往往可以用标准的中央处理器(CPU)运行,对数据科学初学者而言更易上手。

训练与推理时间

训练一个深度学习网络可能相当耗时,甚至长达数月。“训练”是指通过喂入数据来教会模型做出准确预测的过程。“推理时间”即模型训练完成后做出预测所需的时间,由于模型复杂度较高,深度学习的推理时间也可能较长。相比之下,传统机器学习算法通常训练更快,推理时间也各不相同。

问题求解方式

在机器学习中,求解问题通常需要把问题拆分成多个部分,并对每个部分应用特定算法。比如,识别图像中的物体可能先要找到物体,再用算法识别它们。深度学习中,网络会同时学会执行这两类任务,因而提供更一体化、整体性的解决方案。

行业应用

机器学习算法因其可解释性而被广泛应用于各行各业。然而,尽管深度学习模型在某些任务上表现更优,但由于其“黑箱”特性,在需要模型具备较高可解释性的场景(如医疗或金融)中,往往不那么受青睐。

输出

机器学习通常输出数值、得分或类别;而深度学习能够产生包括文本和语音在内的多样化输出,在自然语言处理和语音识别等领域提供更具通用性的解决方案。

标准机器学习(ML)深度学习(DL)
工作原理专注于开发能够从数据中学习并据此进行预测或决策的算法。ML 的专门子集,采用多层人工神经网络分析数据并做出智能决策,更深入地进行数据分析。
特征提取常依赖手工设计的特征,需要精心工程以获得最佳表现。可从原始数据中自主提取有意义的特征,并逐步学习完成任务所需的最有用特征。
数据依赖性即使在较小数据集上也能获得令人满意的结果。需要大量数据,在获取大型数据集时表现更佳。
计算能力通常可用标准中央处理器(CPU)执行。需要先进的计算能力,通常由图形处理器(GPU)提供。
训练与推理时间训练通常更快,推理时间不等。训练可能非常耗时,甚至达数月;由于模型复杂,推理时间也可能较长。
问题求解方式将问题拆分为多个部分,并为每部分应用特定算法求解。网络可同时学习并执行多项任务,提供更一体化、整体的解决方案。
行业应用因可解释性广泛部署。适用于需要模型可解释性的场景。在某些任务上表现更优,但因“黑箱”特性,在需高可解释性的场景中不太可取。
输出通常输出数值、得分或分类结果。可产生包括文本和语音在内的多样化输出。

机器学习 vs 深度学习:最佳应用场景

机器学习与深度学习是众多不同领域应用的基石,每种方法都有其独特的需求与挑战。下面通过示例更详细地说明何时使用各自方法:

1. 医疗领域

  • 应用场景。癌细胞检测、脑部 MRI 图像修复、基因打印。
  • 选择。机器学习与深度学习皆可。
  • 原因。机器学习适于分析结构化数据,可基于病历进行诊断预测。深度学习擅长图像与语音识别,非常适合解读医学影像,并通过患者语音模式进行神经系统评估。

2. 文档分析

  • 应用场景。历史文档图像超分辨率、文档图像中文本分割。
  • 选择。深度学习。
  • 原因。深度学习模型,尤其是卷积神经网络(CNN),擅长处理图像数据,能够从历史文档中提取复杂的模式与特征,适用于图像超分辨率和文本分割等任务。

3. 银行业

  • 应用场景。股票预测与财务决策。
  • 选择。机器学习。
  • 原因。回归模型、决策树等机器学习模型擅长分析数值型、结构化数据,适用于预测股价并支持财务决策流程。

4. 自然语言处理(NLP)

  • 应用场景。推荐系统(如 Netflix 基于用户兴趣推荐影片)、情感分析、照片打标。
  • 选择。机器学习与深度学习皆可。
  • 原因。机器学习在分析用户行为与偏好、用于推荐系统方面效果良好;而深度学习在理解与生成自然语言、用于情感分析等任务上更为强大。

5. 信息检索

  • 应用场景。搜索引擎,包括文本搜索与图像搜索,如 Google、Amazon、Facebook、LinkedIn 等所使用的系统。
  • 选择。机器学习与深度学习皆可。
  • 原因。机器学习算法能够高效处理搜索引擎中的查询;而深度学习模型,尤其是 CNN,在图像识别与分析方面能力突出,能增强搜索引擎的图像搜索能力。

决策标准:

在决定使用机器学习还是深度学习时,请考虑以下方面:

  • 数据可用性。 深度学习需要海量数据;若数据集较小,机器学习可能更合适。
  • 计算资源。深度学习模型需要高算力,通常由 GPU 提供。若资源有限,能在 CPU 上运行的机器学习模型可能更可行。
  • 任务复杂度。对于较简单的任务和结构化数据,机器学习模型通常足够;对于涉及图像或自然语言等非结构化数据的复杂任务,深度学习更为适用。
  • 可解释性。在需要了解模型决策过程的场景中,机器学习模型的可解释性优于深度学习模型的“黑箱”特性。

通过了解机器学习和深度学习在不同情境下的优势与局限,有志于数据科学的人士可以在特定需求与约束下做出更明智的技术选型。

结论

在本指南中,我们梳理了机器学习(ML)与深度学习(DL)这两个人工智能(AI)关键子领域的复杂图景。我们探讨了它们的基础概念、各自的显著特征,以及在当今技术驱动世界中的多种应用。从理解算法的细微差别,到辨析在医学、自然语言处理等不同领域中的最佳应用场景,我们力求为踏入 AI 领域的爱好者提供清晰而有益的指引。

本文只是对广阔且不断演进的 AI 世界的一瞥。学习与探索之旅仍然漫长,尚有无数细节与侧面等待您的发掘。若您希望更进一步、拓展知识面,我们强烈推荐继续学习我们的Python 深度学习技能路径。

常见问题

我该如何在项目中选择使用深度学习模型还是传统机器学习模型?

在深度学习与传统机器学习模型之间进行选择取决于多个因素,包括数据可用性、计算资源、任务复杂度以及对决策可解释性的需求。对于较简单的任务或数据稀缺的情况,传统机器学习模型可能更合适。深度学习模型更适用于涉及大量数据或需要复杂模式识别的任务。

机器学习和深度学习能在一个项目中同时使用吗?

可以。在同一个项目中结合使用机器学习与深度学习,以发挥各自优势。例如,一个项目可以使用机器学习模型进行数据预处理与特征工程,同时在同一流水线中使用深度学习模型处理复杂的模式识别任务。这种混合方法能够在某些问题上优化性能与效率。

从事深度学习与机器学习需要哪些技能?

从事深度学习与机器学习工作通常需要扎实的数学基础(尤其是统计学、微积分与线性代数)、编程能力(Python 最常见,因其拥有丰富的数据科学生态),以及对机器学习与深度学习模型背后算法与原理的良好理解。通过项目实践或参与研究也非常重要并受到重视。

机器学习或深度学习模型会有偏见吗?如何应对?

会的。若训练数据本身存在偏见,机器学习和深度学习模型都可能表现出偏见,从而导致不公平或歧视性的结果。解决偏见需要精心策划训练数据,确保其具有代表性与多样性,定期测试模型输出的偏见,并采用算法公平性等技术来缓解已发现的偏见。

神经网络层在深度学习中的意义是什么?

神经网络中的各层使深度学习模型能够学习不同抽象层次的特征。例如,在图像识别中,初始层可能学习边缘等基础特征,而更深的层则能识别形状或特定物体等更复杂的模式。这种分层学习过程使深度学习模型能够以高精度处理非常复杂的任务。

数据增强在提升深度学习模型中起什么作用?

数据增强是一种通过对现有数据应用随机变换(如旋转、缩放、裁剪)来增加训练集多样性的技术。这有助于防止过拟合,并提高模型从训练数据推广到新的、未见数据的能力。它在深度学习模型需要多样化样本的领域尤其有用。

主题