本篇文章3221字,读完约8分钟

目前,在人工智能领域,无论是学术界还是工业界,大家都认同一个趋势,那就是在很多应用场景中,计算都需要登陆到设备上,让设备具有智能,即嵌入式人工智能,这是人工智能的一个新分支。

中科创达技术总监王琨对雷Feng.com(公开号码:雷锋网)坚定地说。

在最近(4月28日)举行的北京gmic会议新技术展示会上,王琨展示了中科创达在嵌入式人工智能方面所做的工作。出生于20世纪90年代的百度技术总监目前正带领着一个30人的雷视技术团队,专注于嵌入式人工智能的算法研究。王琨进一步解释道:我们现在所做的是在嵌入式设备上进行深度学习。

王琨

那么什么是嵌入式人工智能呢?据雷锋说。所谓的嵌入式人工智能(embedded ai)是指设备不需要联网就可以通过云数据中心进行大规模计算来实现人工智能,而是可以进行本地计算,无需联网就可以进行实时环境感知、人机交互和决策控制。

谈到嵌入式人工智能和云计算人工智能的区别,王琨告诉雷锋,对于一般的人工智能系统,数据可以在服务器端计算,人们经常通过增加模型的大小和网络的深度来调用尽可能多的计算资源,以获得更准确的计算结果。对于嵌入式人工智能,有必要做相反的事情。王琨得出结论,云计算人工智能侧重于如何更好地解决问题,而嵌入式人工智能侧重于如何更经济地解决问题。

专访中科创达王璠:怎样做好嵌入式人工智能的算法开发?

嵌入式人工智能的应用场景是什么?对于嵌入式人工智能的应用场景,王伟表示,虽然云计算是高度精确的,但并不是所有的场景都适用,比如:

在辅助驾驶或自动驾驶系统中,如果数据是在云中采集的,数据将被上传,然后在计算完成后返回到终端,这将不可避免地带来一定的延迟,而在驾驶场景中,这种延迟意味着风险因素的增加。

数据安全,例如,在家中安装监控摄像头,以关注老人和儿童的安全,而上传到云端的计算也意味着隐私被泄露的风险增加。

离线状态下,虽然现在通讯技术发展很快,但是地下停车场和商场还是没有信号。此时,不能指望云计算有好的用户体验。

因此,嵌入式人工智能仍然有很大的市场需求。

同样从事嵌入式人工智能的Horizon首席执行官余凯曾表示,嵌入式人工智能的应用前景看好三个方向:安全性、智能家居和智能驾驶。对此,王琨也表示同意,并表示这三个方向的难度正在逐渐加大。

在算法方面,目前的thunderview算法解决方案包括三个部分:深度学习算法、算法优化和算法集成。王千提到,深度学习算法和算法优化两部分在实施过程中是高度耦合的,算法优化工作是非常重要和最困难的。目前,他们在图像处理和机器视觉领域取得了一些成果。王琨告诉雷锋。

在2017年的国际消费电子展(ces)和移动世界大会(mwc)上,我们的团队和高通公司在高通展台上展示了我们的物体识别和智能照片导航算法。这些算法在高通公司的便携式设备上独立运行,支持无需联网的独立操作。实时识别对象并实时引导用户的拍摄行为。

也是在今年的mwc上,我们在arm展台联合演示了食物识别和热量估算的算法。利用arm设备上的深度学习引擎,演示了arm双摄像头设备上的食品识别和热量估算的移动应用。

\\\\\\\\\\\\\\\\\

因为对于深度学习的网络模型,如果一个应用场景被很好地优化,它可以适应不同的任务。因此,目前我们的选择是先做好基础场景,然后将技术推广到不同的领域。例如,与高通公司的合作是在检测方面,与arm公司的合作是在分割和识别方面,我们的目标是在每个领域至少达到行业最先进的水平,自信地告诉雷。

那么如何更经济地解决嵌入式人工智能的问题呢?王千说嵌入式设备的计算资源是有限的。虽然移动芯片的计算能力突飞猛进,但以目前能力最强的高通小龙835为例,其单精度浮点计算性能为630千兆位,与2000年左右的超级计算相比,已经可以进入前100名。然而,与pc上的tesla p100相比,其单精度浮点运算性能可达10次浮点运算,仍差十多倍。这意味着嵌入式人工智能和个人电脑将完全不同。

专访中科创达王璠:怎样做好嵌入式人工智能的算法开发?

一般来说,嵌入式开发层从上到下可以分为应用层、人工智能算法层、操作系统层、驱动程序层和芯片层。由于移动芯片计算能力的限制,嵌入式人工智能不仅需要优化算法层,还需要关注底层驱动和操作系统的优化,这就要求算法团队不仅要在操作系统领域有丰富的经验,还要与芯片制造商有密切的合作。

同时,对于嵌入式系统,用户对功耗和发热等性能要求非常敏感。因此,王琨说,在综合这些因素之后,现阶段我们必须有高效、经济的嵌入式计算算法。为了实现这个目标,我们需要从硬件和软件两方面入手。

五金器具

对于中科创达来说,硬件是基于高通和arm的芯片。此外,王琨提到他们在技术层面的合作非常深入。目前,合作的方式是由硬件制造商开发加速引擎,并提前向中科创达的算法团队提供芯片来开发技术。在此过程中,硬件制造商将根据算法团队提出的一些建议改进引擎。王琨举了一个例子。中科创达在2017年与高通公司合作,高通公司在硬件优化方面提供了很大帮助。他们内部开发了一个完全针对深度学习算法的加速引擎,使计算速度提高了约5倍。一个好的引擎可以让人工智能系统登陆到嵌入式设备上,事半功倍。

专访中科创达王璠:怎样做好嵌入式人工智能的算法开发?

软件

在软件方面,需要一个更经济的计算模型,它可以在保证精度的同时最大限度地减少计算量。

首先是经济的网络设计。

使用深度学习来处理人工智能通常是一个构建模块的过程。随着人工智能开源的不断增加,出现了许多公共资源,如文章、网络结构、评价、训练模型等。充分利用这些资源,将每个模块嵌入到网络中,从而满足您当前的需求,实现更好的网络。

第二,从复杂到简单。传统的人工智能算法都运行在一个巨大的集群中。在这种情况下,网络的大小可能达到数百兆字节甚至几千兆字节,并且速度相对较慢。如果你想把它放在嵌入式系统上,你需要从复杂到简单。这里有两种方法:

一种是师生模型,它设计一个小网络,从原始的复杂网络中学习知识。典型的方案是hinton提出的模型提炼,包括许多将以类似方式进行的半监督学习。这是减小网络规模的一种特别有效的方法。

另一点是约简和近似。这里的关键点是性能将在降低后降低。此时,算法工程师需要做出平衡和取舍,以及在何种程度上能够满足当前的需求并取得最佳效果。

第三,适用场景。对于不同的任务场景,最佳网络设计是不同的。特别是在嵌入式系统上,有必要使它尽可能地运行得更快。测试集不同于用户的实际使用场景,因此在设计模型后,需要根据用户可能遇到的实际情况进行调整。

━雷视算法技术在MWC 2017 ARM展台展示

第四点是共享参数。使用相同的参数集尽可能多地完成许多不同的任务。例如,在mwc,创达和arm联合开发了一项技术,主要用于食品识别和卡路里计算。我们需要完成的任务,一直到算法层面,首先需要知道它是什么食物,其次,需要知道食物在哪里,它的轮廓有多大,它有多少卡路里。当对食物进行分类时,深度学习的参数已经包含了很多关于这种食物的信息。当最终加入分割任务时,实际上没有多余的参数被浪费,最终只提取了一些特征,简单的拟合可以得到更好的结果。

专访中科创达王璠:怎样做好嵌入式人工智能的算法开发?

最后,王琨得出结论,如果嵌入式人工智能要想发挥好,就必须充分结合软件和硬件。

(结束)

张量流&神经网络算法高级应用类即将开始!

从初级到高级,理论+实战,一站式深入了解张量流!

本课程面向深入学习的开发人员,教授如何使用张量流解决特定问题,如图像识别和文本分析。为期10周的课程将从张量流的原理和基本实践技能开始,逐步教会学生如何在张量流上构建cnn、自编码、rnn、gan等模型,最终掌握一套基于张量流的深度学习和发展的专业技能。

作为思想工作的高级技术专家,童达和白华川两位教师在构建大数据平台和开发深度学习系统方面有着丰富的经验。

时间:每周二和周四晚上20: 00到21: 00

课程时长:共20小时,10周完成,每周2次,每次1小时

在线教学地址:mooc.ai/

雷锋原创文章。严禁擅自转载。详情请参考转载说明。

来源:搜狐微门户

标题:专访中科创达王璠:怎样做好嵌入式人工智能的算法开发?

地址:http://www.shwmhw.com/shxw/63063.html