“人工智能”这个词出现在上世纪50年代,它最基本的定义是“机器模仿人类智能行为的能力”,后来又被重新修订为“机器接近或超越人类智能行为的能力”。随着人们对人工智能了解的不断加深,今天的人工智能概念更趋完整,即“机器通过训练来学习期望的行为,接近或超越人类智能行为。” MathWorks公司总部产品市场经理赵志宏 MathWorks公司总部产品市场经理赵志宏

在Gartner最近所做的一次问卷调查中,不同行业的3000多家公司大约有50%已经把AI列入了他们未来的产品和管理计划当中,但是只有大约4%的公司能够真正地运用AI技术。所以,MathWorks公司总部产品市场经理赵志宏日前在MathWorks Expo 2018上发表主题演讲时称,“即使今天才去了解AI,其实也并不晚。” 20180613-mathworks-1

“毫无疑问,我们正处于一个重大技术变革的时代。”但赵志宏说,目前还只是AI的初级阶段,机器学习实际上也只是人工智能这个大范畴里的一个重要组成部分而已,很多时候人们把这两个词互相等同,甚至互相代替,是完全错误的。

那么,如果拥有了数据、输出和机器学习模型,是否就意味着可以开始拥抱人工智能了?赵志宏对此给出了否定的回答。在他看来,数据、输出和模型只是整个AI开发流程的一个步骤而已,对传感器、文件系统和数据库的数据访问,以数据探索、预处理和特定领域算法为代表的数据分析,以及如何在桌面应用、企业系统、嵌入式设备中进行部署,甚至是开发流程中的算法开发、建模与仿真,都是人工智能应用过程中需要认真考虑的问题。

20180613-mathworks-2

万事俱备,只欠……

在演讲中,赵志宏以膨化食品智能检测为例,向大家证明即使用户从未使用过机器学习,也可以利用MATLAB提供的APP进行学习,去尝试所有机器学习的算法和模型。在这一案例中,研究人员在用户咬食品的时候提取特征,用咬合声音和力度去衡量食品的松脆度,再利用MATLAB提供的分类学习器进行训练。在训练过程中,用户可以看到每个分类器的整体结果,选择精确度最高的一个,然后进行更多的调查和研究。

20180613-mathworks-3

相比从数据中提取特征值,其实分类器的开发并不是最困难的。如果对“特征工程”有所了解的话,就会知道特征工程主要目的,其实就是最大程度地从原始数据中提取特征向量,然后再利用这些特征向量去训练机器学习或深度学习模型。尤其是在深度学习流程中,深度神经网络不需要人工手动的找出特征值,而是可以自动的从数据中学习到特征值。但显而易见的是,这一过程需要大量的数据做支撑,如果遇到以下几个问题,开发者是否就会处于束手无策的境地?第一,数据量不够如何训练模型?第二,数据量太大如何快速进行标注?第三,没有合适的数据怎么办?

  • 迁移学习:通过模型产生数据训练神经网络

如果数据不足,能做人工智能吗?这是很多初创公司的困惑。“迁移学习可能会是一个不错的选择。”在赵志宏所列举的高效隧道钻探案例中,日本科学家利用已有的AlexNet网络,将手边仅有的1000余张经过标记的隧道表面地质状况照片进行定制性训练,使得新网络能够识别地质参数,识别精度也达到了90%以上。然后,将开发好的算法利用MATLAB Production Server部署到云端,这样,钻井工程师、探测工程师就可以通过使用IPAD随时随地对隧道的表面照片进行探测,从而大大地提高了挖掘效率。

“只需要写5行的MATLAB代码,用户就可以建出一个能够识别食品或者其他家庭常用物品的网络。”赵志宏说。

20180613-mathworks-4

  • 数据量太大也是个问题

随着传感器的大量采用,数据量激增,给人工智能进行特征标记带来了一定的困难,赵志宏建议可以采用深度学习进行标记。例如最新发布的Autopilot toolbox自动驾驶工具箱里,就提供了为自动驾驶而使用的自动标注功能。LiDAR三维点云技术可以对每一点进行标注,把这个点聚类在一起聚成一个目标模型,然后再把目标具体代表的实物辨别出来。有些用户已经采用MATLAB的工具进行了开发,著名的汽车配件公司AUTOLIV就在用这种方式进行自动数据标注。

  • 如果完全没有数据

“没有数据还玩什么AI?”这可能是很多人的第一反应。但在赵志宏给出的另一个案例中,用户不可能等采集到大量风力发电机的故障数据之后再做预测,这样不符合设备维护的目标。所以业内人士的做法是先用Simulink模型建立一个风里发电机的模型,通过校正让这个模型非常接近风力发电机,然后通过该模型产生故障数据,进而训练机器学习或者深度学习的神经网络。

20180613-mathworks-5 这就是基于模型设计的优势。它的开发理念是在真正做出产品之前,建好一个与实际产品非常接近的模型,不管是从数字计算、行为计算产生的结果与真正的结果都非常接近。然后在这个模型上加入故障情况就很容易产生故障数据,这比在实际设备上产生的故障要容易很多。因此,可以进行故障预测和维护。

数据、算法和算力并称为AI三大要素。除了数据外,快速迭代的神经网络算法和针对不用应用的算力,会在多大程度上影响MathWorks的工具开发?赵志宏对此回应称,公司的研发团队时刻都在关注AI算法的演进和变化,他们希望深度学习工具箱新增的功能与技术发展是同步的。此外,工具箱不仅是针对某一功能产生正确的结果,还要考虑如何把这个功能做得简单易用。比如针对AI应用,MathWorks的愿景是希望把界面做得非常适合该专业领域,兼顾用户感受,降低学习门槛,容易上手。

而在计算力方面,面对需要极强算力的场景(GPU应用)和需要在功耗/算力间取得平衡的场景,MathWorks的主要目的在于通过提供多样化的代码生成工具,加速用户开发过程。以最新开发的GPU coder工具箱为例,工程师可以将训练出来机器模型网络直接下载到英伟达的芯片中,不必手动尝试各种代码,几分钟或者几小时之内就可以得到测试结果。

本文为《电子工程专辑》原创,版权所有,转载请注明出处并附链接

EETC wechat barcode


关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。