
迈斯沃克软件(MathWorks)公司首席战略师Jim Tung先生
虽然疫情笼罩着全球,为全球经济蒙上了巨大的不确定性,但是迈斯沃克软件(MathWorks)公司首席战略师Jim Tung先生却认为:“2020年将成为“ AI驱动系统”年。其中,“系统”是关键词。”
随着人工智能在多种工业应用当中的快速发展,Jim认为有五大人工智能领域的趋势,将促成这一预测的实现:
第一个趋势:现有的劳动力技能与数据范围和质量之间的壁垒开始消弭;
第二个趋势:AI驱动系统将兴起,将增加设计复杂度方面的挑战,但这些设计挑战将通过技术得到解决,例如通过基于模型的设计;
第三:将AI部署到低功耗、低成本的嵌入式设备的过程日益简便,这开拓了AI技术的应用领域。除此之外,高性能计算中心和IT中心常常用于支持销售和市场营销活动,工业应用则需要将AI技术部署到嵌入式系统中;
第四:AI技术的强化学习能力,早期主要应用于游戏产业—在线游戏,现在则以非常实际的方式,逐步向工业应用转移;
第五:仿真将成为降低成功使用AI技术所面临的数据质量壁垒的主要方式。
具体来说,第一个趋势:现有劳动力技能和数据范围和质量的壁垒可以解决。Jim引用Gartner的一项调查研究,这项面向多家工业领域企业的研究显示:目前正在进行的AI项目虽然较少,但预计未来3年,AI项目数量将增长10倍。同时,在应用人工智能和机器学习技术时所面临的挑战方面,Gartner的调查发现首要的两个壁垒是:团队技能以及数据的可用性,即合适范围和质量的数据。“这两大壁垒对于AI技术的成功应用十分重要,亟待解决。”Gartner认为。
对这一点,Jim非常肯定的表示:“壁垒可以解决。”他解释道:“越来越多的工程师和科学家,不仅限于数学科学家参与到AI项目当中。他们将带来AI项目成功必需的领域技能和知识。这些科学家能够很好地获取现有的一些深度学习的预训练模型,包括AI社区现在已经公开的一些研究成果。同时,利用传感器数据将更有利于这些AI模型的应用,不仅限于深度学习常用的图像数据,还包括时间序列、文本以及雷达信号等各方面的数据。这些数据和模型的可用性,将支持AI技术在更多领域中的广泛应用。”
在这些方面,使用应用程序和自动化工具准备标注完善的数据集,这对于图像数据十分重要。而Mathworks提供了一系列的应用程序来帮助工程师、科学家和数据科学家快速标注图像数据,以及用于其他数据的应用程序,比如时间序列数据。
对此,Mathworks提供了完备的AI算法以及一些特定领域的算法协助实现AI建模。这些算法包括:机器学习(决策树,朴素贝叶斯,支持向量机…); 深度学习(CNNs, GANs, LSTM, MIMO…); 强化学习(DQN, A2C, DDPG…);回归分析(线性,非线性,回归树… );无监督学习(K均值,主成分分析, GMM… );预测性维护(剩余使用寿命模型,健康状态指标…);贝叶斯优化等等多种算法。
在AI建模方面,Mathworks还提供了内置预训练模型,来帮助科学家和工程师进行快速开发。这些图像分类模型包括:AlexNet, GoogLeNet, VGG, SqueezeNet, ShuffleNet, ResNet, DenseNet, Inception…用户可以快速访问这些模型。此外,Mathworks还提供了参考示例,用户可根据各自需求在这些示例的基础上进行定制修改。“在讨论AI方面的挑战和机遇时,我们认为,工程师、科学家以及其他人能够理解AI的各个部分—例如算法和模型—十分重要;同样重要的还有AI技术是如何有效应用的。”Jim表示。
但很多人并不是AI方面的专家,为此,Mathworks提供了一系列应用程序,比如:Deep Network Designer(可用于创建、 可视化并编辑深度学习网络)和Classification Learner(可用于尝试不同的分类器,以查找数据集的最佳拟合)。通过点击的方式,引导他们完成工作流当中的设计和分析等各个步骤。
而在深度学习以及对深度学习实验的管理和数据记录方面,Mathworks提供了Experiment Manager应用程序,可以帮助工程师们实现模型获取、导入网络、训练图像分类网络,并生成代码用于训练。
Jim特别提到预测性维护应用程序,通过这个应用程序,工程师们能够快速提取关键特征,在系统因故障失效前,用于预测何时需要对系统进行维护。
对于非数据科学领域的专家来说,Mathworks的Classification Learner应用程序可以帮助用户通过一键点击的方式训练多种机器学习模型,通过并行计算的方式进行模型训练,同时还可以提供一些高阶的功能,例如怎么样进行超参数的调优来帮助提高模型的预测能力。
通过Mathworks的MATLAB,专家们可实现更多新技术的开发。Jim介绍:例如自动机器学习(AutoML):专家们可以通过自动化的方式实现在机器学习中的各个步骤,例如特征生成、特征选择以及模型选择;专家们也可以将AI与其他技术结合,包括信号处理、图像处理以及优化;在MATLAB中创建自定义的方法,并且和使用其他的语言开发的方法结合,进行集成;或者创建自定义应用程序供他人使用。
而针对此次新冠肺炎,复旦大学利用MATLAB开发了一个数学模型预测新冠肺炎的传染趋势。据悉,在这个项目中MATLAB帮助实现了数据的可视化和预处理,模型的拟合还有开发,参数的调优以及数值仿真和测试,项目最终以Web应用的形式部署。Jim说:“我们很自豪用户能够将MATLAB应用在这些重要的工作中。”
第二个趋势:AI驱动系统的兴起。Jim认为:这使得设计的复杂度进一步提高。这是因为:
l 工程师们希望不仅将AI置于IT系统中,还将AI技术推广到各系统中,包括自动驾驶汽车、飞机引擎,以及工业厂房和风力发电机以及其他所有涉及到嵌入式系统、边缘计算,以及企业系统的领域等等。
l AI模型在一个多域的复杂系统中,会对整个系统产生很大影响,因此工程师们确实需要理解AI模型和系统的其他部分是如何配合工作的。他们期望使用基于模型的设计的方法,通过仿真、AI模型的集成以及持续测试理解如何创建鲁棒的AI驱动系统。
l 在开发AI驱动系统时,重要的一点是将AI模型放在一个系统级的语境中,在移植入硬件之前先对AI算法的行为进行仿真判断看是否符合预期,并验证基于AI设计的有效性。
Jim介绍了与自动驾驶公司Voyage合作过程中,他们将Simulink自动驾驶算法嵌入车辆中,仅仅在3个月内,就快速地实现了level3的无人驾驶汽车开发。他们通过基于模型的设计集成AI功能和汽车的其他子系统,可快速地理解系统行为。
第三个趋势:将AI系统部署到低功耗、低成本的嵌入式设备当中越发简单,这有利于AI模型在工业领域的应用。其原因如下:
l 以往AI算法的支持需要具备32位浮点运算能力的高性能计算系统,GPU、集群以及数据中心。
l 现在随着软件工具的发展,例如由MathWorks提供的工具,可以设计基于不同级别定点运算的AI推断模型,将其部署到不同的低成本、低功耗的嵌入式设备中,这使得工程师能够在应用AI技术时有更多的选择,例如车辆当中的ECU电子控制单元以及更多的嵌入式工业设备等。
l 将AI算法应用在不同的嵌入式处理器中,以往的工作模式通常是算法或模型开发者和一个程序员合作。如今,使用软件工具,特别是自动代码生成功能,可以在开发一次模型后,使用代码生成功能将其部署到各种不同的平台上,例如生成C++代码,或生成CUDA代码应用于GPU上,例如NVIDIA,以及HDL代码,应用在FPGA上,一个来源,多个目标,全部自动实现。
将浮点运算转换为定点运算,并不能一蹴而就,这要求对代码有很好的理解,以保证结果可预测并且可靠。Mathworks提供的Deep Network Quantizer工具,可以快速导入一个预训练好的模型,根据真实数据对模型进行校准,以及各种校准的统计量,还可以查看这些统计量的范围,并对网络各层进行量化,或创建定点运算表达,以及验证。
不仅仅是深度学习网络,Mathworks还支持其他传统的机器学习算法的定点代码生成,例如决策树,支持向量机模型,这些模型的自动代码生成是可靠性和速度的关键。
第四个趋势:强化学习。强化学习最开始的时候是因为在游戏领域得到了非常广泛的应用而闻名。现在它已快速转移到现实世界的工业应用场景当中,原因在于强化学习能够快速地帮助工程师们实现一些复杂问题,例如在自动驾驶、自主系统,以及控制设计,还有机器人领域。
Jim认为:“强化学习的实现需要大量的数据,这些数据来源通常是来自模型的仿真,在模型中将模拟一些在现实世界当中难以复现的条件。”Mathworks很多的用户在基于模型设计的工作流当中,已经在MATLAB和Simulink中创建了相应的系统模型,这些模型能够被复用。
同时,Mathworks也开发了强化学习工具箱,“我们支持内置的和自定义的强化学习智能体的应用,在MATLAB和Simulink当中,用户可以对环境进行建模,这是强化学习工作流的重要部分。同样深度学习工具箱也支持一些强化学习策略的设计,我们同时也提供了GPU以及云端的一些训练加速功能。另外通过仿真,用户可以验证强化学习策略是否合理。同时我们也提供了嵌入式系统的代码生成,以及之前提到的参考示例供用户快速起步来进行项目的开发。”Jim介绍。
在一个强化学习在无人驾驶汽车中的应用示例中,Mathworks首先在Simulink模型中,建立了车辆的模型以及软件部分的控制器模型,此外还有感知算法部分的模型,根据车载摄像头采集的图像数据,识别车道,感知周围的路况。在强化学习部分,使用仿真数据训练智能体做出决策,改善行为。这些都可以在Simulink平台上统一创建。
Jim认为:“仿真的重要性在于,为了实现强化学习,我们需要进行大量的不同情况的模拟。每一次模型仿真的结果都用于学习,每一次仿真对应一个点,我们可以这样一次一次地按顺序执行多次仿真,也可以在云端和集群中进行并行计算,来提高学习速度,这就是使用Simulink进行仿真在强化学习中十分重要的原因。”
据悉,Mathworks还与微软开展了一个合作项目,利用Mathworks提供的基于模型设计的工作流,和微软提供的自主系统平台,两公司共同的用户可以使用MATLAB和Simulink来进行机器人、能源、工业制造和流程优化等多个领域的强化学习应用,在微软提供的Azure环境中运行Simulink模型,扩展仿真,加速仿真和学习过程。
第五个趋势:通过仿真可以降低成功采用AI所面临的主要壁垒。这里壁垒指的是数据的质量欠佳。为什么这很重要呢?AI在检测存在故障、异常和失效情况的场景中可以十分有用。问题在于,对故障状态进行数据收集,可能有很高的风险且难以预测,因为故障发生概率不高;而且收集数据的代价十分高昂,因为需要让设备运行到出现故障。通过以上方法,我们难以收集到大量有效的数据。通过仿真来呈现系统的这样一种故障行为,从而生成相应的数据,并且结合之前已经采集到的实际的传感器数据对AI模型进行训练以提高准确度。
据悉,Mathworks可以采用在基于模型设计的流程当中开发的模型,对模型进行些许调整,来模仿故障模式。这些故障模式的模型可以仿真生成大量的数据来描述故障状态,用于训练AI模型以及故障检测。
Jim介绍:使用Simulink提高训练数据质量的场景很多,其中之一是,AI可以被用在多种产品中,而不仅仅是一种终端的解决方案,同样它也是一系列的技术,可用于多个领域,例如说雷达信号的仿真,以及无人驾驶汽车,还有激光雷达传感器的感知算法,因此可以被MathWorks各类用户使用。
由于Mathworks在AI领域所拥有卓越的先进技术与解决放案,MathWorks入选了Gartner《2020年数据科学和机器学习平台魔力象限》的领导者象限。
最后,Jim表示:“基于这五大趋势,随着人工智能 在工业应用中的快速发展, 2020年将成为“AI 驱动系统年。”



