在Gartner对多家工业企业进行的一项调查中,当被问及“目前正在进行的AI项目有多少?在未来一年、两年和三年中预期将进行多少项目?”时,多数企业表示AI集成是目前的优先任务,未来3年内开展的AI项目数量将是现在的10倍。但与此同时,团队技能和数据的可用性(合适范围和质量的数据),却成为企业在应用人工智能和机器学习技术时所面临的重大挑战,亟待解决。
MathWorks首席战略师Jim Tung在接受《电子工程专辑》采访时预测说,随着人工智能在工业应用中的快速发展,2020年将成为“AI驱动系统”年,以下五大人工智能趋势将促成以上预测。
MathWorks首席战略师Jim Tung
- 趋势一:劳动力技能和数据质量壁垒开始消弭
随着越来越多的工程师和科学家(不局限于数据科学家)参与到AI项目当中,他们带来了AI项目成功所必需的特定领域技能和知识。Jim Tung认为领域专家对AI项目的成功至关重要,因为他们能够利用自己的专长选择合适的数据,决定如何为AI建模准备数据,选择对于应用简化而有效的模型,通过评估结果判断模型是否合适,并能够识别在系统中可能出现的故障模式。
这些数据不局限于深度学习常用的图像数据,还包括时间序列数据、文本和雷达信号。因此如果能打出一套包括应用程序、自动标注工具、完备AI算法、预训练模型、参考设计在内的“组合拳”,将能够极大帮助用户加快高质量大型数据集的准备。而与之相对应的是,高质量数据越多,AI模型准确度高的可能性越大,成功概率也会越高。
考虑到很多人并不是AI方面的专家,应用程序会是帮助非AI领域专家高效使用相关技术的利器,Deep Network Designer、Classification Learner和Experiment Manager就是三个典型的应用程序,用户通过点击的方式,就能完成工作流当中的设计、分析等各个步骤。
例如在Deep Network Designer中,“访问预训练模型—导入导出网络—训练图像分类网络—生成MATLAB代码用于训练”,都是以按键点击的方式来执行的;Experiment Manager可以管理多组实验,记录参数并分析比较结果;Diagnostic Feature Designer可以实现信号的特征提取和特征排序任务的自动化,并生成MATLAB代码;Classification Learner具备超参数调优等高级功能,可以一键训练并比较多个模型。
最新的用户案例是复旦大学利用MATLAB来开发相应的数学模型,用于预测新冠肺炎的传染趋势,为中国的政府提供相应的公共措施方面的指导。MATLAB在这个项目当中的主要应用包括数据可视化和预处理、模型拟合和开发、参数调优、数值仿真和测试、应用程序开发、Web系统的模型部署。
- 趋势二:AI驱动系统的兴起使设计复杂度进一步提高
工程师们正积极将AI推广应用于各种系统,包括自动驾驶汽车、飞机引擎、工业厂房、风力发电机、以及其他所有涉及嵌入式系统、边缘计算和企业系统的领域。AI模型的行为对于这些复杂多域系统的整体性能具有重大影响,因此设计人员期望利用基于模型的设计方法,通过仿真、AI模型集成以及持续测试理解如何创建鲁棒的AI驱动系统。
在谈及将AI部署到边缘侧时有哪些要素是需要考虑的时候,Jim Tung表示,边缘侧的含义很丰富,基于Linux的服务器、工控系统、低端网关设备都可以看作是边缘侧设备,对这些系统编程是需要多种技术的,要提前思考;其次,AI大多用于处理传输到边缘的数据,需要将特殊的技术和协议进行标准化;第三点,算法开发者和负责边缘系统的系统工程师、嵌入式工程师或IT专家之间要有足够的默契;最后,必须确保网络安全,例如保护软件源代码的鲁棒性和安全性、进行威胁建模等。
- 趋势三:将AI部署到低功耗、低成本的嵌入式设备的过程日益简便
AI通常采用32位浮点运算,这在GPU、集群和数据中心等高性能计算系统中广为应用。但软件工具的最新发展已经开始支持采用不同级别定点运算的AI推理模型,这使得在低成本、低功耗嵌入式设备中部署AI成为可能,并为工程师在应用AI技术时提供了更多的选择,例如车辆及其他嵌入式工业应用中的低成本电子控制单元(ECU)。
将AI算法应用在不同的嵌入式处理器中,以往的工作模式通常是算法或模型开发者与程序员合作。如今,使用软件工具,特别是自动代码生成功能,可以在开发一次模型后,使用代码生成功能将其部署到各种不同的平台上,例如生成C++代码,或生成CUDA代码应用于NVIDIA GPU上,生成HDL代码用于FPGA上等等,一个来源,多个目标,全部自动实现。
但另一方面,将浮点运算转换为定点运算,并不能一蹴而就,要求对代码有很好的理解,以保证结果可预测并且可靠。在Deep Network Quantizer工具中,用户可以快速导入一个预训练好的模型,根据真实数据对模型进行校准,显示校准统计量及其精度范围,并对网络各层进行量化,或创建定点运算表达,最后进行验证。不仅是深度学习网络,Deep Network Quantizer还支持其他传统的机器学习算法的定点代码生成,例如决策树,支持向量机模型,这些模型的自动代码生成是可靠性和速度的关键。
- 趋势四:强化学习开始从游戏领域转向现实世界的工业应用领域
强化学习需要大量数据,通常通过虚拟模型产生,虚拟模型可以融入现实世界中难以模拟的条件。为了迎合这一趋势,通过MATLAB和Simulink当中的强化学习工具箱,用户可以对环境进行建模,利用GPU和云计算加速训练过程,通过仿真验证完成训练的策略。
下图是无人驾驶汽车的强化学习应用示意图。Simulink模型中包括车辆模型、软件控制器模型、感知算法模型,在强化学习部分,根据车载摄像头采集的图像仿真数据,车辆可智能识别车道,感知周围路况。
“现实世界中的工业用户确实是保守的。”在Jim Tung看来,工业企业不但要确定生产系统是鲁棒的,在面对包括AI在内的新技术时,还需要充分了解其优点和缺点。而在寻找新的商业模式方面,大多数企业都失败或者进展很慢,没有达到期望的结果。错误之一在于花了太多的时间、人力和成本为所需的数据构建IT基础设施,但到头来发现方向是错误的;错误之二在于一些企业尝试跃进式转变,反而流失了大量了解其现有商业模式的人才;错误之三在于企业内部不同的群体都从自己的角度推进数字化转型,导致转型只出现在企业内部的某一部分。
而那些能够成功进行数字转型的企业,往往是非常务实的。他们识别出一些特定项目,以此为起点进行管理,逐步递增,项目体量适当,既具有足够的挑战性,能产生投资回报,又不会风险过高,能够系统地使用工具、工作流和模型、以及来自各个部件和整个生命周期的数据,然后在此基础上完成下一个项目。
“AI工业应用成功最重要的要素在于充分地利用领域专家他们的经验积累,利用他们在创建、维护系统时积累的专业知识,同时结合数据科学和AI知识,可以是雇佣具有这方面技能的新人或者帮助领域专家提高他们在数据科学方面的技能。如果把这两个群体分开,尝试各自去解决问题,往往是没有办法成功的。” Jim Tung说。
- 趋势五:仿真可以降低成功采用AI所面临的主要壁垒
这里的壁垒指的是数据质量欠佳,包括范围和质量两个方面。比如合适情况下的数据不足,或者是即使有数据,但是很多数据是具有偏见性的且不均衡,某些状态数据很多,某些状态又太少。
对前者来说,仿真对于故障模式的数据合成或生成很重要。因为很多用户在做预测性维护的时候,缺少关于这些故障问题的数据,通过仿真合成故障数据,就不用在真实设备上诱发这些故障状态。对后者来说,保证领域专家的参与至关重要。因为数据科学家知道如何通过可视化、标准化的工具去采集和处理可用的数据,从而保证数据质量。