工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。
面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。
那么,对工程师而言,AI 意味着什么?
人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。
但经历了最初几个项目后,工程师很快会意识到,AI 不仅仅是建模,它实际上涵盖一整套步骤,包括数据准备、建模、仿真和测试以及部署。
图 1.工程师实现 AI 驱动的完整工作流的四个步骤
使用机器学习和深度学习的工程师通常要花大量时间开发和微调 AI 模型。
建模的确是工作流中的一个重要步骤,但工作流并不止于模型。要在实践中成功实现 AI,关键是提前发现问题,了解在工作流的哪些方面重点投入时间和资源才能实现最佳结果。
这些步骤往往不是那么直接。
在深入研究完整工作流之前,还需要考虑以下两个事项:
1. AI 通常只是一个较大的系统中较小的组成部分,它必须能够在各种场景下正常地与最终产品的其他所有组成部分协同工作,包括其他传感器和算法,例如控制、信号处理和传感器融合。
2. 在此场景下,工程师已掌握实现 AI 集成所需的技能。他们对问题已具备充分的了解,在数据准备和设计模型工具的帮助下,即便并非 AI 专家,也能充分运用已有的专业知识。
◆ ◆ ◆ ◆
AI 驱动的工作流
现在,我们可以深入探讨实现 AI 驱动的完整工作流的四个步骤,更好地了解每个步骤在项目 AI 集成中发挥的关键作用。
步骤 1:数据准备
数据准备可以说是 AI 工作流中的首要步骤:没有准确可靠的数据输入来训练模型,项目失败的可能性会大大增加。如果工程师为模型提供的是“坏”数据,他们就无法获得深度结果,而且可能需要花大量时间来寻找模型失败的原因。
要训练模型,应该首先尽量收集经过清理且已标注的数据。这也可能是此工作流中最耗时的一个步骤。如果深度学习模型效果不如预期,人们往往会关注如何改进模型:调整参数、微调模型以及执行多次训练迭代。
然而,对工程师来说,更可取的做法是将重点放在输入的数据上:在将数据导入模型之前,先进行数据预处理,保证数据的准确标注,从而确保模型能够理解数据。
来自工程机械设备公司卡特彼勒的示例反映了数据准备的重要性。该公司从各类机械设备中收集了大量现场数据。这样的海量数据对准确进行 AI 建模十分必要,但庞大的数据规模可能让数据清理和标注过程异常耗时。
为了精简流程,卡特彼勒采用自动标注并集成 MATLAB,快速提炼出经过清理的已标注数据来输入机器学习模型,从而根据现场机械数据提供更有价值的深度信息。这一过程具备可扩展性,并让用户得以灵活运用自己的专业知识,而无需成为 AI 领域的专家。
步骤 2:AI 建模
清理并正确标注数据后,即进入工作流的建模阶段,在此阶段会将数据作为输入,然后模型基于这些数据进行学习。
建模阶段成功的标志是创建准确稳健的模型,该模型可以基于数据作出明智决策。
在建模阶段,为得到最为准确、稳健的结果,工程师会将深度学习、机器学习或两者结合纳入工作流。在这个阶段,无论是选择深度学习模型(神经网络)还是机器学习模型(SVM、决策树等),很重要的一点是能够直接获取 AI 工作流所用的多种算法,如分类、预测和回归。您可能还希望从更为广大的社区获取社区开发的各种预置模型,将其用作起点或作为比较。
MATLAB 和 Simulink 等灵活的工具为工程师提供了迭代环境中所需的支持。尽管算法和预置模型可作为良好的开端,但这还不是全部。借助示例,工程师可以学习如何运用这些算法,并找到解决其具体问题的最佳方法,而 MATLAB 提供了数百个这样的 AI 建模示例,涵盖多个领域。
在整个工作流中,AI 建模是一个迭代步骤,工程师必须在此步骤全程跟踪他们对模型所做的更改。使用试验管理器等工具跟踪变更和记录训练迭代至关重要:这有助于解释那些促成最准确模型的参数,并产生可重现的结果。
步骤 3:仿真和测试
AI 模型是一个较大系统的组成部分,必须与系统中的其他各个部分协同工作。
以自动驾驶场景为例:您不仅要有检测目标(行人、车辆、停车标志)的感知系统,该系统还必须与其他系统相集成,以进行定位、路径规划、控制等。
在将 AI 模型部署到实际应用之前,需要通过仿真和准确性测试来验证模型本身是否正常工作,能否与其他系统良好地协同工作。 要在部署前实现上述程度的准确性和稳健性,工程师必须确保模型在任何情况下都能以预期方式作出响应。在此阶段应提出的问题包括:
模型的整体准确度如何?
模型在每种场景下的表现是否符合预期?
模型是否已涵盖各种边缘情形?
如果成功对模型预期会遇到的各种情形进行了仿真和测试,并且验证了模型能够按目标执行,就能建立对模型的信任。借助 Simulink 等工具,工程师可以验证模型能否适当处理所有预期用例,从而避免了重新设计,节省了资金和时间。
步骤 4:部署
在做好部署准备后,下一步是确定目标硬件,换言之,以最终实现模型所用的语言来准备模型。
此步骤通常要求设计工程师共享已准备好实现的模型,以将该模型纳入指定的硬件环境。
指定的硬件环境可以是桌面、云端甚至 FPGA,而 MATLAB 可以处理各种场景下的最终代码生成。借助这些灵活的工具,工程师可轻松将模型部署到各种环境,而无需重写原始代码。
以直接将模型部署到 GPU 为例:自动代码生成消除了手动转换可能引入的编码错误,并可生成高度优化的 CUDA 代码,支持在 GPU 上高效运行。
免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLP、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。 下面是部分截图,加我免费领取
目录
一、人工智能免费视频课程和项目
二、人工智能必读书籍
三、人工智能论文合集
四、机器学习+计算机视觉基础算法教程
最后,我想说的是,自学人工智能并不是一件难事。只要我们有一个正确的学习方法和学习态度,并且坚持不懈地学习下去,就一定能够掌握这个领域的知识和技术。让我们一起抓住机遇,迎接未来!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以点击链接领取
二维码详情