机器学习与深度学习:主要差异解释
已发表: 2024-11-20虽然机器学习和深度学习经常互换使用,但它们指的是人工智能的两个子领域。它们代表了不同(但相关)的数据分析方法;深度学习是机器学习的一个子集。它们之间的区别很重要,并且在就技术主题进行交流时变得尤其重要——例如在评估数据分析工具和服务、决定采用哪种方法来解决数据问题或与工程师和领域专家进行深入对话时。
目录:
- 什么是机器学习?
- 什么是深度学习?
- 机器学习与深度学习
- 机器学习和深度学习的应用
- 机器学习和深度学习的好处
- 机器学习和深度学习的挑战
- 结论
什么是机器学习?
机器学习 (ML) 是人工智能 (AI) 的一个子集。该名称指的是机器(通常是计算机或计算机组合)应用自动数学和统计技术从数据中发现或学习模式的所有系统。
机器学习旨在构建智能且独立的系统。这意味着它将学习模式并从数据中改进模式,旨在减少硬编码组件并减少人机交互。机器学习领域自 20 世纪 60 年代以来就已存在,从那时起就开发和研究了大量算法和技术。
机器学习的类型
许多不同类型的系统都符合 ML 的资格。这些是最常见的:
- 无监督学习模型使用非结构化数据,很少或没有人工指导。
- 监督学习模型需要指导并依赖于人类输入,例如包括数据格式和结构的输入。
- 半监督模型接收少量结构化数据的指导,然后使用来自该数据的见解来提高其对更大的非结构化数据池的准确性。
- 强化模型通过与环境交互来学习做出决策。这些模型采取行动,接收积极或消极的反馈,然后调整行为以实现预期目标。
- 自监督模型使用原始的非结构化数据创建自己的标签。
什么是深度学习?
机器学习的最新进展主要来自机器学习的一个专门子集,即深度学习。深度学习是指在称为深度神经网络的神经网络子集之上实现的机器学习系统子集。深度神经网络是大型的、高度互连的神经网络,并且具有许多层神经元可用于处理。
深度学习网络的类型
与其他先进的机器学习技术一样,深度学习系统可以以监督或无监督的方式学习。它们可以仅使用一种或两种或多种先进神经网络架构的组合来构建。一些网络,例如前馈神经网络 (FNN),仅在神经元层之间沿一个方向移动数据。相比之下,其他神经网络(例如循环神经网络(RNN))可能会形成内部循环,并且作为副作用,表现得好像它们具有记忆一样。
卷积神经网络 (CNN) 等高级架构决定了部分数据在 NN 输入中重复的方式和时间。这给出了有关网络应在数据中的何处寻找关系的提示。
可以串联开发多个神经网络,每个子网络专门研究问题空间的一个子集。例如,生成对抗网络(GAN)倾向于训练试图相互竞争的模型(一个伪造本应属于数据集的新数据,另一个训练以检测欺诈),并且两塔架构协作学习关于数据集的两个深度互连但又截然不同的部分。
在构建深度学习系统时,更复杂的架构组合也通常一起使用。这些架构可以使用专门的神经元结构(例如变压器和整流器单元)进行扩展,或者用于模拟、实现和增强其他机器学习系统(例如决策树)。
机器学习与深度学习:主要区别
深度学习是机器学习的一个子集,具有一些特定的约束和优势。机器学习是一个通用术语,涵盖了分析数据和检测数据模式的更广泛的选择和权衡。该表突出显示了差异。您将在下面找到更多详细信息。
机器学习(ML) | 深度学习(DL) | |
灵活性 | 一般的;人工智能的一个子集,包含从数据中学习的各种技术,并具有许多实施选项。 | 专门用神经网络实现;机器学习的一个专门子集,专注于深层、多层神经网络以及非常适合它们的技术。 |
人类参与 | 涵盖全方位的算法,从处理结构化数据并需要大量人工预处理的算法到可以完全独立运行的算法。 | 通常应用于极大的数据集。模型主要处理非结构化数据,对人类处理和管理的依赖性较低。 |
范围 | 范围更广,包括线性回归、决策树和聚类等传统算法。 | ML 中的关注范围较窄,专门处理大规模数据和复杂任务。 |
技术基础知识 | 采用决策树、支持向量机和集成方法等多种算法。 | 利用具有多层的深度神经网络和专门用于神经网络的技术,例如强化学习和反向传播。 |
应用领域 | 可以使用算法和计算机自动检测数据模式的任何和所有应用领域。 | 专门用于依赖大量非结构化数据的复杂模式识别的任务,例如通用文本和图像分析、现实世界问题解决和生成任务。 |
可解释性 | 可以以人类易于理解和解释的方式构建。已经被研究了更长时间并具有众所周知的特性。 | 通常非常准确,但采取的行动对于人类来说更难以遵循和解释。 |
示例 | 垃圾邮件检测、推荐系统、客户细分。 | 自动驾驶汽车、虚拟助手(例如 Siri)、面部识别系统。 |
深度学习依赖于大数据集
深度学习技术通常依赖于访问极大的数据集,而当可用数据很少或没有时,机器学习系统可能会很有用。此外,如果有熟练且专业的人类输入,机器学习可以比任何深度学习系统更明确地利用它。
一般来说,机器学习系统涵盖更广泛的技术,并且具有更灵活的实施范围。深度学习专门关注适合处理大型数据集的技术,例如深度神经网络及其支持算法。
ML 可以更容易优化和理解
机器学习的范围更加广泛,涵盖了许多传统且经过充分研究的数据处理方法,例如决策树、聚类和多种回归方法。经过数十年的研究,其中许多方法都具有众所周知的内置性能和其他权衡。
它们提供比依赖神经网络的深度学习系统更灵活的实现,并且可以更具资源效率和成本效率。深度学习通常需要大量资源,并且成本处于高端。
深度学习更强大,不那么一般
深度学习系统最适合范围和焦点较窄的应用程序,例如,存在大量可用相关数据的问题、有足够的时间进行神经网络的长时间训练,以及当执行的准确性优先于跟踪能力时系统正在做什么以及为什么这样做。
机器学习系统可以应用于机器可以自动查找和应用数据模式的各种问题,包括可用数据较少的问题、系统易于人类理解的问题以及高精度不太相关的问题。
机器学习和深度学习的应用
基于机器学习的深度学习系统和应用程序不断嵌入到我们生活的越来越多的方面。下面是一些众所周知的例子。
垃圾邮件检测
最早的大规模机器学习应用之一是检测和过滤垃圾邮件。该问题是应用机器学习的理想问题。
电子邮件数量巨大,并且具有明确的结构。将不需要的电子邮件标记为垃圾邮件很容易,因此创建标记为“垃圾邮件”或“火腿”(火腿与垃圾邮件相反)的电子邮件的大型数据集并不困难。可以在此数据的基础上轻松构建分类系统,然后用于快速过滤互联网规模的垃圾邮件。
垃圾邮件检测就是深度学习系统(尚)不像更传统的机器学习技术那样适合解决问题的一个例子。尽管有了显着的改进,但让深度学习系统跟上垃圾邮件最新进展所需的时间和成本还不值得其更高的准确性。一般来说,深度学习系统可用于优化 ML 管道,大规模垃圾邮件检测 ML 训练系统可以为此目的集成它们。
推荐系统
电子商务商店、媒体流服务和在线市场只是依赖于就用户应该在哪里花钱提出建议的服务的一些示例。推荐系统是非常适合机器学习的问题的另一个典型示例。
当用户消费媒体并在线购买时,底层系统可以建立具有明确信号的大型数据集(用户消费与用户未消费)。深度学习和更传统的机器学习技术都可以应用于这个问题;大规模推荐系统使用两种算法类型的巧妙组合。
寻路和自动驾驶汽车
基于众所周知的路线查找技术(例如 Dijkstra 算法和 A* 算法)构建的传统无监督 ML 算法最适合查找路线图上两点之间的最佳路径。这些算法可以提前研究地图、交通和其他数据,发现模式,根据现实条件实时调整,并且工作得相当好。
然而,当汽车在两点之间实际导航时,要处理的信息量和复杂性对于任何传统的机器学习技术来说都太高了。自动驾驶系统几乎完全是用深度学习技术构建的。
机器学习和深度学习的好处
如果使用得当,机器学习和专业深度学习系统将带来变革。它们可以增强人类专家的能力,使他们的产出更快、更有影响力、更便宜、更高质量,或者是上述所有特征的组合。
通过 ML 提高速度、规模和成本
机器学习系统可以取代专家的部分或全部工作和流程,减少完成任务所需的时间和注意力。因此,他们的工作可以比以前更大规模地应用。
例如,评估 MRI 扫描是否存在异常的技术人员团队可能每人每小时能够评估 6 次扫描,或者每周大约 200 次。如果同一个团队专注于训练一组机器学习算法来完成分析中最常规的部分,那么这些算法可以每周评估数千次 MRI 扫描,而成本只是其中的一小部分。
通过深度学习提高影响力和质量
当深度学习系统应用于非常适合解决的问题时,它们可以增强包含机器学习的系统并提高其整体质量和影响力。
继续上面的例子,深度学习系统可能适用于具有足够大的 MRI 扫描量的情况。如果扫描量足够,并且在投入足够的时间和资源来构建深度学习系统之后,他们可能会比专家做得更好,以识别他们接受过培训的少数异常情况。
然后可以大规模部署这些系统,以实现最大影响,以可忽略不计的成本处理单个 MRI 扫描。 MRI 技术人员和其他专家的分析可以增强深度学习系统针对异常或例外情况的输出,从而实现更高的综合质量。
机器学习和深度学习的挑战
虽然许多类型的工作都可以从应用机器学习或深度学习中受益匪浅,但将此类人工智能整合到系统中可能很困难。以下是一些最常见的挑战和障碍。
成本和准确性之间的权衡
更大、更昂贵的计算机系统可以更快、更大规模地运行更先进的机器学习和深度学习算法。因此,在系统上花费的资金和硬件的有效性以及雇用更多有才华的专家来组装系统之间需要进行权衡。有效利用机器学习和深度学习系统中的有限资源需要非常小心。
对大数据集的依赖
一般来说,机器学习,特别是深度学习,依赖于在训练阶段访问不断更新的大型数据集。算法的好坏取决于它们所训练的数据的质量和数量。有效管理大型数据集非常困难,并且需要时间和聪明才智才能将机器学习最有效地应用于给定数据集。
准确性和清晰度之间的权衡
深度学习系统可以被训练得极其准确,比使用同等参数构建的其他机器学习系统要准确得多。准确性是有代价的;这些系统大规模地处理数据并使用人类在实际时间范围内无法理解的先进算法。
更传统的机器学习算法已经被研究了更长时间,具有更好定义的特征,并且可以以人类易于理解的方式工作。任何机器学习和深度学习实施都必须在准确性和清晰度之间找到理想的平衡点。
技术偏差和方差之间的权衡
随着机器学习系统的算法复杂性、专用于训练的资源以及用于训练的数据量的增加,它们可以越来越多地了解训练数据的属性。这种现象称为(技术)偏差;当极端偏见的系统看到与他们训练的数据相似的数据时,它们会非常准确。
高偏差通常是以方差过低为代价的——系统不会对与训练中看到的数据有很大不同的新数据做出太大反应。低偏差和低方差的理想系统很难构建。对于更好地研究和更成熟的传统机器学习算法来说,为特定应用找到偏差和方差之间的正确平衡更容易。使用更复杂的深度学习算法可能很难实现。
结论
深度学习系统是机器学习的一个专门子集,它利用深度、多层神经网络来解决大型数据集的复杂问题。虽然它们提供卓越的准确性和处理能力,但它们也有一些缺点,例如可解释性降低、对大量数据的依赖以及有限的优化灵活性。
相比之下,传统的机器学习方法通常更具成本效益、更易于部署,并提供更透明和可预测的结果。它们也更容易针对特定任务进行微调。这两种方法都有明显的优点和缺点,了解它们的应用和局限性对于在现实场景中有效实施至关重要。