准备好用MATLAB做AI

人工智能无处不在。它不仅为智能助手、机器翻译和自动驾驶等应用提供动力,还为工程师和科学家提供了一套以新方式处理常见任务的技术。然而,根据最近的估计,虽然许多组织认识到人工智能的价值和潜力,但很少有人在使用它。gartner最近对3,000家公司的调查表明,在50%开始计划人工智能的公司中,只有4%已经实际实施了。1

许多组织认为实施人工智能面临着巨大的挑战,因而望而却步:

  • 相信要做人工智能,你需要成为数据科学的专家
  • 开发人工智能系统既耗时又昂贵
  • 无法获得高质量的标记数据
  • 将人工智能集成到现有算法和系统的成本和复杂性

三个真实的例子将展示MATLAB是如何实现的®让人工智能更容易上手。MATLAB提供了类似于Caffe和tensorflow等专用AI工具的AI功能——更重要的是,只有MATLAB允许您将AI集成到开发完全工程系统的完整工作流中。

人工智能模型只是开发完全工程系统的完整工作流程的一部分。

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

人工智能的定义出现于20世纪50年代,至今仍在使用,即“机器模仿人类智能行为的能力”。AI gets more interesting when the machine can not just imitate, but match or even exceed human performance—it gives us the opportunity to offload repetitive tasks, or even to get computers to do jobs more safely and efficiently than we can.

实际上,当人们想到今天的人工智能时,他们几乎总是指的是机器学习训练机器学习一种期望的行为。

在传统的编程中,您需要编写一个程序来处理数据以生成所需的输出。
在机器学习中,步骤是相反的:你输入数据和想要的输出,计算机为你写程序。机器学习程序(或者更准确地说,模型)主要是黑盒。它们可以生成所需的输出,但是它们不像传统的程序或算法那样由一系列操作组成。

今天,有一种专门的机器学习被称为机器学习深度学习。深度学习使用神经网络。(术语“深度”指的是网络中的层数——层数越多,网络就越深。)深度学习的一个关键优势是,它消除了手工数据处理步骤和其他技术所需的广泛领域知识的需要。

把关键的术语放在上下文中,把机器学习和深度学习看作是实现ai的方法——它们是目前最常用的技术。

我们的第一个例子展示了一位科学家如何使用MATLAB学习和应用机器学习来解决她无法用任何其他方法解决的问题。

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

食品科学家Solange Sanahuja需要开发一种可重复的方法来确定快餐食品的松脆度。她尝试开发零食的物理模型,但没有成功。其他科学家曾利用信号处理技术来分析零食嘎吱嘎吱的声音,但没有人能开发出一种程序来检测完全新鲜和稍微不新鲜之间的差别。

Sanahuja博士发现MATLAB支持机器学习,于是决定金宝app试一试。她进行了数百次实验,以记录不同新鲜度下压碎零食的声音和力度,并由受过训练的品尝者记录新鲜度评分。

作为一名食品科学家,她利用自己的专业知识从力的测量中确定特征,计算硬度和可碎性等数值。然后她尝试了几种不同的方法从录音中提取额外的特征,最终发现八度分析效果最好。

下一步对她来说是全新的:开发基于所选特性的模型。找到合适的模型可能很困难,因为有太多的选择。Sanahuja博士使用了Statistics and Machine Learning Toolbox™中的分类学习应用程序来自动尝试每一个可能的模型,而不是手动尝试每一个选项。

她首先选择数据来训练模型。然后,她使用MATLAB来训练所有可能的模型——MATLAB生成一个模型列表,对每个模型进行训练,并生成显示其总体准确性的可视化结果。

基于这些结果,Sanahuja博士选择了二次支持向量机作为项目的最佳模型。金宝app该模型的准确率约为90-95%,甚至能够检测出我们对脆度的细微差别。


在下一个例子中,工程师使用深度学习来解决一个复杂的图像识别问题。从零开始训练一个深度学习网络需要大量的数据。但通过使用转移学习在美国,这些工程师能够应用深度学习,即使只有少量的数据。

高效的隧道挖掘与深度学习

日本建筑公司大林公司(Obayashi Corporation)使用了一种名为“新奥地利隧道法”(New austria Tunneling Method)的挖掘技术。在这种方法中,地质学家在开挖过程中监测隧道表面的强度,评估裂缝间距等指标。虽然这种方法降低了施工成本,但也有一些局限性。分析一个站点可能需要几个小时,因此只能偶尔进行分析。此外,缺乏熟练掌握这项技术的地质学家。

Obayashi决定通过深度学习来解决这些限制——他们将训练一个深度学习网络,根据隧道表面的图像自动识别各种指标。他们的挑战在于获得足够的数据。最好的深度学习网络已经对数百万张图像进行了训练,但大林只有70张。

Obayashi的地质学家首先为这70幅图像中的每一幅都标记了三个区域,记录了每幅图像的风化变化和断裂状态等参数的值。然后他们将这些标记区域分成更小的图像,最终产生了大约3000张标记图像。因为从零开始训练一个深度学习网络需要大量的时间,专业知识,以及更多的图像,他们使用转移学习来创建一个基于AlexNet的自定义网络,一个预先训练的深度学习网络。

AlexNet已经接受了数以百万计的图像训练,以识别常见的物体,如食物、家居用品和动物,但是,当然,它并不知道如何从一个隧道的图片来解释地质条件。通过转移学习,大林的工程师们仅对AlexNet的一小部分进行了再培训,以根据隧道表面的图像估计地质测量。

转移学习工作流程。

到目前为止,Obayashi的再训练网络在风化蚀变和断裂状态下的预测精度已接近90%。


将人工智能整合成一个完整的工程系统

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

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

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

Case New Holland的大型FR9000系列牧草收割机能够收割玉米、草和其他作物,每小时的产量超过300吨,同时将作物切成小至4毫米的小块。除了操纵和保持最佳速度外,收割机操作员还必须将作物引导到拖车中,并监控其充填水平。同时专注于驾驶和填写任务的需求使得一项复杂的工作变得更加困难。

他们无法在实验室中复制复杂的操作条件,而且收获季节太短,无法在田间进行大规模的原型设计。相反,他们将人工智能算法导入到他们的Simulink系统模型中,并在桌面上使用3D场景模拟器模拟现场条件金宝app进行闭环模拟。

一个简化的新荷兰模拟框架的情况。

仿真结果。左:收割机吊杆和拖车。右上:相机输出。
右下角:距离和填充级别。

一旦该功能通过桌面模拟测试,他们就会将带有计算机视觉和控制方法的笔记本电脑放入一台工作的收割机中,根据操作员的反馈实时微调人工智能算法。

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

操作人员报告说,该系统的性能与在笔记本电脑上运行时一样。新荷兰IntelliFill™系统目前正在FR9000系列牧草收割机上生产。


总结

有了MATLAB,即使你没有机器学习的经验,你也已经为AI做好了准备。您可以使用应用程序快速尝试不同的方法,并应用您的领域专长来准备数据。

如果无法识别数据中的特征,您可以使用深度学习,它可以将识别特征作为培训过程的一部分。深度学习需要大量的数据,但是您可以使用转移学习扩展现有的网络来处理您拥有的数据。

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

1“人工智能的真正真相。”Presented at Gartner Data & Analytics Summit, March 2018.