鉴于科学的快速发展和演变,了解使用哪些人工智能技术来推进项目可能具有挑战性。本文概述了机器学习和深度学习之间的区别,以及如何确定何时应用它们。
定义:机器学习与深度学习
在机器学习和深度学习中,工程师都使用 MATLAB 等软件工具,使计算机能够通过从示例数据集中学习来识别数据的趋势和特征。在机器学习的情况下,训练数据用于构建模型,计算机可以使用该模型对测试数据以及最终的真实数据进行分类。传统上,此工作流程中的一个重要步骤是开发特征——从原始数据派生的附加指标——这有助于模型更加准确。
深度学习是机器学习的一个子集,工程师和科学家跳过了创建特征的手动步骤。相反,数据被输入深度学习算法,它会自动学习哪些特征对确定输出最有用。
机器学习:人工智能的一个分支,工程师和科学家在其中手动选择数据中的特征并训练模型。常见的机器学习算法包括决策树、支持向量机、神经网络和集成方法。
深度学习: 机器学习的一个分支,松散地模仿人脑的神经通路,算法自动学习哪些特征是有用的。常见的深度学习算法包括卷积神经网络 (CNN)、递归神经网络和深度 Q 网络。
项目简介
机器学习通常用于涉及预测输出或发现趋势的项目。在这些示例中,使用有限的数据体来帮助机器学习模式,这些模式以后可以用来对新的输入数据做出正确的判断。机器学习中使用的常用算法包括线性回归、决策树、支持向量机 (SVM)、朴素贝叶斯、判别分析、神经网络和集成方法。
深度学习更为复杂,通常用于涉及对图像进行分类、识别图像中的对象以及增强图像和信号的项目。在这些情况下,可以应用深度神经网络,因为它们旨在从空间和时间组织的数据(例如图像和信号)中自动提取特征。深度学习中常用的算法包括卷积神经网络 (CNN)、循环神经网络 (RNN) 和强化学习(深度 Q 网络)。
如果您需要更快的结果,机器学习算法可能更可取。它们的训练速度更快,并且需要更少的计算能力。特征和观察的数量将是影响训练时间的关键因素。应用机器学习的工程师应该将大部分时间用于开发和评估功能以提高模型的准确性。
深度学习模型需要时间来训练。预训练网络和公共数据集可以通过迁移学习缩短训练时间,但有时实施起来可能很复杂。一般来说,深度学习算法可能需要一分钟到几周的时间来训练,具体取决于你的硬件和计算能力。应用深度学习的工程师应该将大部分时间花在训练模型和修改深度神经网络的架构上。
选择机器学习与深度学习的考虑因素
数据注意事项
了解可用数据集有助于确定机器学习还是深度学习应该应用于给定任务。
通常,当可用的结构化数据更有限时,会使用机器学习。大多数机器学习算法旨在将模型训练为表格数据(组织成独立的行和列)。如果数据是非表格的,可以应用机器学习,但它确实需要一些数据处理——即传感器数据可以通过使用常用统计指标(均值、中值、标准差、偏度、峰度等),然后与传统的机器学习技术一起使用。
深度学习通常需要大量的训练数据来确保网络很可能具有数千万个参数并且不会过度拟合训练数据。卷积神经网络旨在对图像数据进行操作,尽管它们也可以通过对信号执行时频计算(例如频谱图)来用于传感器数据。LSTM(长短期记忆)网络等循环神经网络旨在对信号和文本等顺序数据进行操作。
可用硬件和部署
确定应该应用哪种人工智能方法也取决于可用的硬件。
机器学习算法需要较少的计算能力。例如,台式机 CPU 足以训练这些模型。
对于深度学习模型,由于更高的内存和计算要求,通常需要专门的硬件。专用硬件也是合适的,因为在深度神经网络中执行的操作(例如卷积)非常适合 GPU 的并行架构。
深度学习模型需要大量的计算能力。如果 GPU 可用,或者是否有时间在 CPU 上运行训练(这将花费更长的时间),则应考虑它们。
由于与获取 GPU 相关的高成本,在集群或云上训练深度学习模型已在深度学习中流行起来。此选项允许多个研究人员共享硬件。
部署到嵌入式 GPU 也很受欢迎,因为它可以在部署的环境中提供快速的推理速度。GPU Coder 支持从 MATLAB 中的深度学习模型生成代码,该模型利用来自 Intel、NVIDIA和 Arm 的优化库。借助适用于 NVIDIA GPU 的GPU Coder Support Package,您可以交叉编译和部署生成的 CUDA 代码,作为嵌入式 GPU 上的独立应用程序。
不断发展的科学指南
虽然总会有反复试验,但上述内容可以帮助指导决策并加快机器学习和深度学习新手和科学家的整体设计过程。通过了解机器学习和深度学习之间的差异、了解项目的最终应用以及考虑数据和硬件可用性,设计团队将更快地了解哪种方法最适合各自的项目。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !