人工智能,不止于模型:四步实现完整工作流

AI通常只是一个较大的系统中较小的组成部分,它必须能够在各种场景下正常地与最终产品的其他所有组成部分协同工作,包括其他传感器和算法,例如控制、信号处理和传感器融合。

作者:Johanna Pingel,MathWorks产品经理,主要负责机器学习和深度学习应用,致力于让AI更实用、更有趣、更可行。她于2013年加入公司,擅长MATLAB图像处理和计算机视觉应用。

工程师越来越多地致力于将人工智能(AI)集成到自己的项目和应用中,同时不断着力提升自己的AI技能。

面对AI问题,工程师首先要了解什么是AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。

在Google中搜索“什么是AI?”会得到数百万条结果,包括不同程度的技术和相关信息。

那么,对工程师而言,AI意味着什么?

人们对AI的关注主要集中在AI模型上,受此影响,工程师会迅速投入AI建模的研究。

但经历了最初几个项目后,工程师很快会意识到,AI不仅仅是建模,它实际上涵盖一整套步骤,包括数据准备、建模、仿真和测试以及部署。

1.png

图1.工程师实现AI驱动的完整工作流的四个步骤。©1984–2020 The MathWorks,Inc.

使用机器学习和深度学习的工程师通常要花大量时间开发和微调AI模型。

建模的确是工作流中的一个重要步骤,但工作流并不止于模型。

要在实践中成功实现AI,关键是提前发现问题,了解在工作流的哪些方面重点投入时间和资源才能实现最佳结果。

这些步骤往往不是那么直接。

在深入研究完整工作流之前,还需要考虑以下两个事项:

1.AI通常只是一个较大的系统中较小的组成部分,它必须能够在各种场景下正常地与最终产品的其他所有组成部分协同工作,包括其他传感器和算法,例如控制、信号处理和传感器融合。

2.在此场景下,工程师已掌握实现AI集成所需的技能。他们对问题已具备充分的了解,在数据准备和设计模型工具的帮助下,即便并非AI专家,也能充分运用已有的专业知识。

AI驱动的工作流

现在,我们可以深入探讨实现AI驱动的完整工作流的四个步骤,更好地了解每个步骤在项目AI集成中发挥的关键作用。

步骤1:数据准备

数据准备可以说是AI工作流中的首要步骤:没有准确可靠的数据输入来训练模型,项目失败的可能性会大大增加。

如果工程师为模型提供的是“坏”数据,他们就无法获得深度结果,而且可能需要花大量时间来寻找模型失败的原因。

要训练模型,应该首先尽量收集经过清理且已标注的数据。这也可能是此工作流中最耗时的一个步骤。

如果深度学习模型效果不如预期,人们往往会关注如何改进模型:调整参数、微调模型以及执行多次训练迭代。

然而,对工程师来说,更可取的做法是将重点放在输入的数据上:在将数据导入模型之前,先进行数据预处理,保证数据的准确标注,从而确保模型能够理解数据。

来自工程机械设备公司卡特彼勒的示例反映了数据准备的重要性。该公司从各类机械设备中收集了大量现场数据。这样的海量数据对准确进行AI建模十分必要,但庞大的数据规模可能让数据清理和标注过程异常耗时。

为了精简流程,卡特彼勒采用自动标注并集成MATLAB,快速提炼出经过清理的已标注数据来输入机器学习模型,从而根据现场机械数据提供更有价值的深度信息。

这一过程具备可扩展性,并让用户得以灵活运用自己的专业知识,而无需成为AI领域的专家。

观看这个视频,了解卡特彼勒是如何有效地利用庞大的数据:

https://ww2.mathworks.cn/videos/big-data-data-analytics-and-machine-deep-learning-infrastructure-at-caterpillar-1497292968613.html

2.png

步骤2:AI建模

清理并正确标注数据后,即进入工作流的建模阶段,在此阶段会将数据作为输入,然后模型基于这些数据进行学习。

建模阶段成功的标志是创建准确稳健的模型,该模型可以基于数据作出明智决策。

在建模阶段,为得到最为准确、稳健的结果,工程师会将深度学习、机器学习或两者结合纳入工作流。

在这个阶段,无论是选择深度学习模型(神经网络)还是机器学习模型(SVM、决策树等),很重要的一点是能够直接获取AI工作流所用的多种算法,如分类、预测和回归。您可能还希望从更为广大的社区获取社区开发的各种预置模型,将其用作起点或作为比较。

MATLAB和Simulink等灵活的工具为工程师提供了迭代环境中所需的支持。尽管算法和预置模型可作为良好的开端,但这还不是全部。

借助示例,工程师可以学习如何运用这些算法,并找到解决其具体问题的最佳方法,而MATLAB提供了数百个这样的AI建模示例,涵盖多个领域。

在整个工作流中,AI建模是一个迭代步骤,工程师必须在此步骤全程跟踪他们对模型所做的更改。

使用试验管理器等工具跟踪变更和记录训练迭代至关重要:这有助于解释那些促成最准确模型的参数,并产生可重现的结果。

步骤3:仿真和测试

AI模型是一个较大系统的组成部分,必须与系统中的其他各个部分协同工作。

以自动驾驶场景为例:您不仅要有检测目标(行人、车辆、停车标志)的感知系统,该系统还必须与其他系统相集成,以进行定位、路径规划、控制等。

在将AI模型部署到实际应用之前,需要通过仿真和准确性测试来验证模型本身是否正常工作,能否与其他系统良好地协同工作。

要在部署前实现上述程度的准确性和稳健性,工程师必须确保模型在任何情况下都能以预期方式作出响应。在此阶段应提出的问题包括:

模型的整体准确度如何?

模型在每种场景下的表现是否符合预期?

模型是否已涵盖各种边缘情形?

如果成功对模型预期会遇到的各种情形进行了仿真和测试,并且验证了模型能够按目标执行,就能建立对模型的信任。

借助Simulink等工具,工程师可以验证模型能否适当处理所有预期用例,从而避免了重新设计,节省了资金和时间。

3.jpg

步骤4:部署

在做好部署准备后,下一步是确定目标硬件,换言之,以最终实现模型所用的语言来准备模型。此步骤通常要求设计工程师共享已准备好实现的模型,以将该模型纳入指定的硬件环境。

指定的硬件环境可以是桌面、云端甚至FPGA,而MATLAB可以处理各种场景下的最终代码生成。借助这些灵活的工具,工程师可轻松将模型部署到各种环境,而无需重写原始代码。

以直接将模型部署到GPU为例:自动代码生成消除了手动转换可能引入的编码错误,并可生成高度优化的CUDA代码,支持在GPU上高效运行。

强强联合

工程师无需成为数据科学家乃至AI专家,即可成功运用AI。

要帮助工程师做好准备、构建AI模型、最终实现项目成功,这些资源都至关重要:专为工程师和科学家打造的工具、将AI集成到工作流的函数和App,以及解答AI集成相关问题的专家。

这有助于工程师最大程度地发挥其才能:在专注于优势领域的同时,他们能够基于自己的专长运用适当的资源,将AI纳入业务版图。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论