工程师越来越多地寻求将AI集成到他们的项目中,以提高其成果,并保持领先于职业的数字曲线。为了成功整合AI,工程师应确保他们确切地了解AI首先是什么,以及它如何适应当前的工作流程。它可能并不像他们最初相信的那样简单。
在这个问答中,电子设计高级编辑Bill Wong与Johanna Pingel进行了交谈,产品营销经理数学工作关于工程师如何将AI集成到他们的项目中,以及如何最终使用它来优化完整的工作流程。
您如何从工程角度定义AI?
当工程师讨论AI时,他们通常专注于AI楷模,但是人工智能更多。这是一个经常不断的术语,描述了机器学习支持的操作策略。用工程术语来说,“ AI”的概念实际上跨越了工作流程中的四个步骤:数据准备,建模,仿真和测试以及部署。
将AI纳入工作流程时,哪个步骤或步骤最重要?
每个步骤都很重要。对于工程师来说,要记住这一点至关重要,因为他们经常希望大部分时间在第二步上花费大部分时间 - 开发和微调的AI模型。
虽然建模无疑是该过程的关键部分,但它既不是集成之旅的开始也不是结束。如果实施AI实施的任何步骤最重要,那是第一个,即数据准备。至关重要的是要尽早发现问题并知道工作流的哪些部分要重点取得最佳结果。
当然,最重要的步骤将取决于特定的应用程序。但是如有疑问,请从数据开始。
在将AI纳入其工作流程之前,工程师还应该考虑什么?
工程师应认识到其现有知识的价值。在开发AI工作流程时,许多人认为他们缺乏将AI纳入项目所需的技能,这是不可能的。他们对要解决的问题有固有的了解,并访问数据准备和建模工具,这些工具可以帮助他们利用专业知识,即使他们不是AI专家。
他们还应该记住,AI只是一个更大的系统中的一部分,所有部分都必须共同努力以实现其成功。
引导我们完成四个步骤,以开发完整的AI驱动工作流程。每个步骤在成功地将AI纳入项目中扮演什么角色?
如前所述,第一步,数据准备,可以说是最重要的。通常,当深度学习模型无法按照期望的方式工作时,工程师专注于第二阶段 - 对模型进行调整,调整参数并实施多次培训迭代。他们未能意识到要有效,需要对AI模型进行健壮,准确的数据培训。如果工程师给模型少了,他们将不会从结果中获得任何见解,并且可能花费数小时试图了解为什么模型不起作用。
取而代之的是,通过专注于他们为模型的数据,更好地为工程师提供服务。预处理数据并确保正确标记的数据有助于确保模型能够理解数据。
例如,建筑设备制造商的工程师毛虫可以访问其机械范围内使用的大量现场数据,但认识到大量数据可以干扰其模型的有效性。为了简化该过程,毛毛虫使用MATLAB自动将数据标记并将数据集成到他们的机器学习模型中,从而从其现场机械中获得更多有希望的见解。该过程是可扩展的,使卡特彼勒的工程师可以自由地将其领域专业知识应用于公司的AI模型,而不会强迫他们成为AI专家。
一旦准备好数据,工作流程的下一步(即建模)有多重要?
假设数据准备阶段已经完成,则建模阶段工程师的目标是创建一个能够根据数据做出智能决策的准确,可靠的模型。这也是工程师应决定应采取哪种形式的阶段,无论是机器学习,例如支持向量机(SVM)还是决策树,诸如神经网络之类的深度学习或两者的组合;选择哪种选项为其应用和业务需求带来最佳结果。
对于工程师而言,重要的是要直接访问多个工作流程算法,例如分类,预测和回归。除了提供更多选项外,这还使他们可以通过更广泛的社区开发的预建模型来测试自己的想法,并有可能将其用作起点。
对于工程师来说,记住AI建模是工作流程中的迭代步骤也至关重要。他们必须跟踪整个过程中所做的任何更改,因为它可以帮助他们确定提高模型准确性并创建可重现结果的参数。
现在我们已经准备好数据并设置了一个模型,模拟和测试在哪里?
此步骤是验证AI模型正常运行的关键,更重要的是,在将其部署在现实世界中之前,请与其他系统有效合作。工程师必须记住,AI模型是较大系统的一部分,并且必须与该系统的所有其他材料一起使用。考虑一个自动驾驶模型:工程师不仅必须设计一个感知系统,以进行对象检测,例如停车标志,其他汽车和行人,而且还必须将其与其他系统集成在一起,例如控件,路径计划和本地化才能有效。
测试阶段实质上是工程师确保开发的模型准确的机会,并且使用诸如虚拟工具(例如Simulink。
在此阶段,工程师应提出问题,以确保他们的模型将以应有的方式做出回应,无论情况如何。模型的总体准确性是什么?在每种情况下,模型是否按预期执行?该模型是否涵盖所有边缘案例?
通过通过模拟测试准确性,工程师可以在所有预期的用例下验证其模型的可靠性,从而避免耗费昂贵的重新设计,这些重新设计一旦部署了模型,这些款项都会耗尽金钱和时间。
因此,我们终于准备好部署我们的模型。AI在最后一步中扮演什么角色?
部署阶段不再与该模型有关,该模型现已验证是从准备好数据中处理和提取准确的见解,而是关于它应用于应用的硬件和所使用的语言。例如,模型可以直接在GPU上运行,并且自动生成高度优化的CUDA代码可以消除经常通过手动翻译引入GPU的编码错误。
工程师应在整个过程中牢记此阶段,以确保他们最终与项目指定的硬件环境兼容实施的模型,该模型的范围从云到台式服务器,再到FPGA。
在这里,正确的工具也可以使此阶段更加容易。能够在所有情况下生成最终代码的灵活软件使工程师能够在多个环境中部署模型,而无需强制重写原始代码。