分享

使用MATLAB为AI做好准备

 qingse1976 2020-07-22

AI是什么?它是如何实现的?

出现在20世纪50年代且至今仍在使用的AI的定义是“机器模仿人类行为的能力”。当机器不仅可以模仿,而且可以匹敌甚至超过人类的表现时,AI也就变得越来越有趣。它可以使我们摆脱重复作业,甚至将任务完全交给计算机,实现更安全和更高效的工作。

实际上,当今人们在提及AI时,他们所说的其实是机器学习:训练机器学习期望的行为。

传统编程过程一般会先编写一个程序来处理数据,然后产生期望的输出。

机器学习的步骤则恰好相反:先输入数据和期望的输出,然后让计算机编写程序。机器学习程序(或更准确地说,模型)可被视为黑盒子。它们可以生成期望的输出,但它们不像传统程序或算法那样由操作序列所构成。

如今,一种称为深度学习(deep learning)的特殊机器学习为我们带来了许多令人惊喜的成果。深度学习使用神经网络。(术语“深度”是指网络中的层数 - 层数越多,网络越深。)深度学习的一个关键优势是,它不需要手动数据处理,也不需要掌握其他技术所需的额外行业知识。

联系上下文,机器学习和深度学习可被视为实现AI的方法 - 这是当今最常用的技术。

Artificial Intelligence

我们的第一个例子将展示科学家如何利用MATLAB学习和应用机器学习,解决她以往无法以任何其他方式解决的问题。

利用机器学习检测零食的松脆度

Using Machine Learning to Detect Snack Food Crispiness

食品科学家Solange Sanahuja需要开发一种可重复的方法来确定零食的松脆度。她尝试开发零食的物理模型,但这不起作用。其他科学家使用信号处理来分析咬碎零食的声音,但没有人能够开发出一种能检测出非常新鲜和不太新鲜之间差异的方法。

Sanahuja博士看到MATLAB支持机器学习,就决定尝试一下。她进行了数百次实验,记下咬碎不同新鲜度零食的声音和力度,并由训练有素的试吃员记录新鲜度。

接着,她利用食品科学家的专业知识从测量的力度中提取特征,计算硬度和脆度等值。然后又尝试了几种不同的方法从录音中提取其他特征,最终发现倍频程分析效果最好。

下一步对她来说是陌生的:根据所选特征开发模型。由于选择太多,很难找到合适的模型。Sanahuja博士使用Statistics and Machine Learning Toolbox™中的Classification Learner应用程序自动验证每种可能的模型,而不是手动尝试每个选项。

她首先选择了用于训练模型的数据。然后,她使用MATLAB训练所有可能的模型 - MATLAB生成一个模型列表,对每个模型进行训练,并生成显示其总体精度的直观效果。

基于这些结果,Sanahuja博士选择了二次支持向量机,作为该项目的最佳模型。该模型准确度约为90-95%,甚至能够检测出感知松脆度时的微小差异。


在下一个示例中,工程师使用深度学习来解决复杂的图像识别问题。从头开始训练深度学习网络需要大量数据。但是通过使用迁移学习(transfer learning),工程师即使只有有限的数据也能够应用深度学习。

通过深度学习实现高效隧道开挖

Central Artery Project in Boston

日本建筑公司大林组株式会社(Obayashi Corporation)采用了一种名为新奥法(New Austrian Tunneling Method)的挖掘技术。地质学家通过在挖掘过程中监测隧道掌子面的强度,评估各种指标,如裂缝间距等。虽然这种方法降低了施工成本,但也有一些局限性。分析一个现场可能需要几个小时,因此只能偶尔执行分析。此外,熟练掌握该技术的地质学家也很少。

于是,Obayashi决定通过深度学习来解决这些局限性——训练了一个深度学习网络,根据隧道掌子面的图像自动识别各种指标。其中的挑战在于获取足够的数据。最好的深度学习网络已针对数百万幅图像进行了训练,但是Obayashi只有70幅。

Obayashi地质学家首先针对每幅图像标记了三个区域,记录了每个图像的风化蚀变和断裂状态等指标的值。然后他们将这些标记区域划分为更小的图像,最终产生约3,000个标记图像。由于从头开始培训深度学习网络需要大量的时间、专业知识和图像,因此他们选择通过迁移学习创建一个自定义网络,该网络基于预先训练的深度学习网络AlexNet。

AlexNet已经接受了数百万幅图像的训练,可以识别食物、家居用品和动物等常见物体,但是还无法通过隧道掌子面的图片来解释地质条件。通过迁移学习,Obayashi工程师只重新训练了AlexNet的一小部分,令其根据隧道掌子面的图像来估算地质条件。

迁移学习工作流程。

迁移学习工作流程。

到目前为止,经Obayashi重新训练的网络已可评估风化蚀变和断裂状态,预测精度接近于90%。



将AI集成到完整的工程系统中

我们可以看到,即使您没有经验或数据很少,您也可以使用MATLAB创建和训练机器学习模型或深度学习网络。当然,工作并未就此结束。在大多数情况下,您需要将模型集成到更大的系统中。

我们的最后一个例子汇集了构建AI系统并将其集成到生产系统所需的所有元素。

自动化农业收割机装填操作

CNH

凯斯纽荷兰公司(Case New Holland)的大型FR9000系列牧料收割机能够以每小时300吨以上的吞吐量收割玉米、草和其他作物,同时将作物切割成短至4毫米的碎片。除了转向和保持最佳速度之外,收割机操作员还必须将作物流引导到拖车中,并监控其填充水平。由于需要同时专注于驾驶和填充任务,复杂的工作变得更加困难。

他们无法在实验室中复制复杂的操作条件。并且由于收获季节太短,也无法在现场进行广泛的原型设计。于是,他们将AI算法导入他们的Simulink系统模型中,并在桌面上执行闭环仿真系统,使用3D场景模拟器来模拟现场条件。

凯斯纽荷兰公司仿真框架的简化视图。

凯斯纽荷兰公司仿真框架的简化视图。

Simulation results. Left: harvester boom and trailer. Top right: Camera outputs. Bottom right: Distances and fill levels.

仿真结果。左:收割机吊杆和拖车。右上:摄像头输出。 右下:距离和填充水平。

使用桌面模拟进行功能测试后,他们就将具有计算机视觉和控制方法的笔记本电脑放入正在工作的收割机中,根据操作员的反馈实时调整AI算法。

他们通过控制器模型生成生产C代码,并将其部署到收割机用于运行显示面板软件的ARM®9处理器之中。

Autonomous Trailer Filling

操作人员报告称,该系统的运行与在笔记本电脑上运行时一样。New Holland IntelliFill™系统现已在FR9000系列牧料收割机上投入使用。


总结

有了MATLAB,即使您没有机器学习的经验,也可以使用AI。您可以使用应用程序快速尝试不同的方法,并应用您的行业知识来准备数据。

如果无法识别数据中的特征,您可以使用深度学习,让它在培训过程中为您识别特征。深度学习需要大量数据,但您可以使用迁移学习来扩展现有网络以使用您现有的数据。

最后,您可以将模型作为完整AI系统的一部分部署到嵌入式设备上。

1 《人工智能的真相》发表于2018年3月在Gartner数据与分析峰会上。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多