【PPT下载】6大要素、4个案例!快速读懂模块化AI

栏目: 编程工具 · 发布时间: 6年前

内容简介:6月29日,智东西公开课推出的AI芯片系列课进行完第三讲,由触景无限CEO肖洪波和产品总监侯朝阳共同主讲,主题 […]上一篇:

6月29日,智东西公开课推出的AI芯片系列课进行完第三讲,由触景无限CEO肖洪波和产品总监侯朝阳共同主讲,主题 […]

6月29日,智东西公开课推出的AI芯片系列课进行完第三讲,由触景无限CEO肖洪波和产品总监侯朝阳共同主讲,主题为《玩转模块化AI,让智能更简单》。肖洪波肖总围绕人工智能的发展、模块化AI的六大要素深度讲解了如何通过模块化实现前端感知智能;侯朝阳侯总为我们分享了通过角蜂鸟开发套件实现模块化AI的精彩案例。

以下是本次讲解的提纲和实录,共计10500字,预计11分钟读完。

提纲:

1、为什么要模块化AI

2、AI模块化技术难点和瓶颈

3、AI模块技术框架

4、AI模块场景实践

5、AI模块神奇小应用

主讲环节

肖洪波:大家晚上好,非常高兴有机会能跟大家一起探讨触景无限对人工智能的一些看法和见解。

今晚讲解将由两个人来完成。首先,由于不清楚群里大家对人工智能的了解程度,因此我负责介绍关于对人工智能的看法以及模块化过程中遇到的问题,比如我们为什么要去做模块化AI。希望能够帮助大家去解决一些实际的问题,后面的部分将由我的同事侯朝阳来给大家讲解。

人工智能是一个现在非常热的话题。我非常喜欢的一位古代哲学家老子,在看待事物的时候,提到了名与道,意思就是我们在看一个问题的时候,是看它的名还是看它的道。名,就是大家定义的命名空间,人工智能是一个非常好的名字,实际上这个领域应该叫做统计学习,其方法都是概率统计领域中的。而这个领域中的人非常聪明,把它定义成了人工智能,可以看出这是一个非常好的名。

而我们更关注的是道,道就是所有的事物底层的运行规律。在人工智能中,我们更关注它能解决什么问题,或者如何用统计数学的技术去解决一些已经存在的问题。

从更大的领域来看,人工智能应该叫做数据科学,它已经存在了很长的时间,是一个跨学科的领域,主要是去解决结构化和非结构化的各种数据,从里面去提取一些知识或者是对于信息的洞察。在过去,结构化数据获得了比较好的解决方式,从九十年代到2000年这段时间,有很多的基于数据库的数据分析和数据挖掘已经解决了非常多的数据结构化的问题。但是非结构化一直没有比较好的解决方式,因此深度学习的出现给非结构化数据提供了一个比较好的解决方式。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

在数据科学中,有一个比较好的处理流程,先是在现实环境中收集一些包含很多维度的原始数据,这些数据维度需要先经过处理或者叫做数据清洗,数据清洗后会获得比较干净的数据集,这时需要进行数据分析,比如做数据结构化的时候会做很多的模型,通过模型来进行处理,处理后的数据可以去跟模型和算法做进一步的分析。然后形成相应的可视化报告以及相应的数据产品,从而再回到现实中去。

在结构化数据中,有很多的例子,比如推荐系统、关联分析等,当时一个比较著名的例子就是沃尔玛分析尿布和啤酒之间的关系,通过分析再应用到现实中去,从而提升了产品的销量,这就是数据科学能够为现实作出贡献的地方。

机器学习主要是允许机器从数据中去学习一些规律,其本身是基于统计的规律,用算法去观察数据,然后根据数据进行预测,并广泛应用于很多的场景中。机器学习有很多不同的算法,比如SVM、随机森林等,机器学习在这些领域中也给我们提供了非常大的帮助。

人工智能起步于上世纪六十年代中后期,一直到八十年代,大家用得比较多的比如启发式搜索,研究所用的比较多的领域是下棋,包括国际象棋等,一直到现在的围棋AlphaGo都是一些比较抽象的表达,同时棋盘的位置和下棋的动作也是比较有限的,里面没有感知以及动作执行的不确定性,它把所有的问题都转变成图搜索的问题,甚至大家可以认为通过图搜索就能解决任何的人工智能问题。在早期的时候,计算机视觉并没有引起大家的重视,MIT曾经成立了一个小组,叫做暑假Project,他们认为一个暑假假期找几个学生就可以构造出一个视觉系统,实际上在现在看来,还远远没有解决计算机视觉的问题。

我们今天讲的主题是希望让人工智能更简单,使它的门槛更低,如何通过模块化让大家即使没有什么基础也可以去玩转AI。主要包括以下几个方面:为什么我们要做模块化的AI、在做的过程中遇到的一些技术难点和瓶颈、应用的框架以及在场景中的实践,同时也非常希望能够得到业界各位高手的建议以及探讨。

首先要介绍的是为什么要做模块化AI。其实这是整个工业软硬件产品发展的必然结果,我们可以从其他领域和其他产品去看它的整个发展过程。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

刚才提到在做数据科学的时候,会涉及到结构化数据和非结构化数据这两方面,在最早期的时候,大家处理的很多都是结构化的数据,当时是没有关系型数据库的,很多的系统都是大家自己来写,自己写些文件和数据格式存储在文件系统中,然后再用自己的解析方法把它加载到系统中进行数据的处理,那时大家都是写着各种各样符合自己风格的数据格式。后来开始出现了关系数据库,最早是基于理论的,如上图,在整个数据库的发展过程中也出现了各种各样的数据库。

在七十年代的时候,主要在研究所中应用,最早出现在IBM。到八十年代和九十年代,可以看到上图中的小圆圈,每个小圆圈就意味着出现了一种新的数据库,可以看到出现了各种各样的数据库,有商用的,有开源的,还有嵌入式的数据库,都应用到不同的领域中去。2010年以后,基本上就很少有新的数据库产生了,因为大家都在做一些模块化的工作,而不是去做重复的、发明轮子的这种过程。

这种模块化的过程跟商业都是联系在一起的,并且有相应的时间窗口,相对于2010年来说,在2000年左右产生了非常多新的数据库,而2010年之后就很少有新的数据库产生了。

深度学习的出现统一了机器学习上的标准,在此之前,大家都是在采用不同的机器学习的方式进行处理,没有统一的标准,就像在没有关系数据库之前大家如何处理结构化数据一样,各有各的处理方法。但是深度学习的出现,使得这个过程更加标准化,也为我们创造了很多做模块化产品的机会。

接下来谈一下我们对于科研、工程和商业之间的理解,三者是紧密相关的,科研院所中能够在底层的基础科学或者基础理论上有一些大的突破,突破的技术会逐渐渗透到工程领域,而工程领域也会向商业进行转化。对于企业来讲,更多地是关注在工程领域中是如何把科研院所中的先进技术转化成工程的应用及产品,在这一转化的过程中会涉及到很多的工程科学,在工程中,我们更关注的是要去解决什么样的实际问题。

我们希望用人工智能去解决一些在前端的感知问题,比如计算机视觉。对于视觉问题,我们把它划分成计算、算法和实现三个层次。首先在计算层面或者叫表达层面,我们会去描述这是一个什么样的问题,这个问题用数学的方式怎样表达,这是首先要解决的问题。

我们的任务和输出是什么,这些都是独立于解决问题的方法。其次是对这个数学问题进行求解,选择不同的算法进行并行或者串行计算,最后算法在硬件上是可以基于CPU、DSP、GPU或者用神经网络来实现,这些都是我们希望解决这个问题的方法,这就好比我们要去造一个飞机,我们可能会参考鸟类的结构,但是关键还要去建造一个空气动力学的理论,从根本上去解决这个问题。因此,针对计算机视觉,它的底层理论是什么,我们怎么样去解决这个问题,这才是我们要做的关键。

计算机视觉是一个非常大的领域,有非常多的问题需要研究,就像物理学一样。首先我们可以去研究人类的视觉,也是我之前在做图像过程中研究比较多的一个领域,在人类的视觉系统中,有一个叫做视觉神经科学的理论,像物理学一样,有宏观和围观之分。从宏观的角度来讲,在视觉神经系统中,主要有五大神经系统对图像进行处理,包括光照、形状、颜色、移动和距离。

这五个部分分别在五个不同的视觉神经系统中来对图像进行处理,而它们在前端是同时来处理的,因此这里有一个概念叫做Seeing is Understanding,就是感和知是一体的,这也是我们希望解决的问题,希望能够把前端的传感器和人工智能结合在一起,用人工智能在传感器的层面去解决计算机视觉的问题。但是非常有趣的是,一些视觉系统的神经学专家在微观层面发现这些系统在视觉的前150ms中,即它们是有先后顺序的。

在此领域中有些专家做很多非常有趣的研究,如果想要了解计算机视觉,我建议大家可以去研究一下人的眼睛系统是如何解决这些问题的。

对应到产品系统中的三大领域即传感器、嵌入式芯片、嵌入式人工智能算法。三者是紧密结合的,因此很难拆开单独去解决哪个问题。我们希望通过软硬件一体化的设计,形成一个传感的感知模块,把这些模块提供给不同的产品,去提升这些产品的感知能力。将传感器芯片以及算法融合在一起就是我们要去做的工作。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

既然要在底层去做智能算法和传感器的结合,就不可避免地要去研究传感器的发展。上图展示了传感器的发展历程,从CCD到CMOS,其中CMOS技术也经过了从Front到Back再到Stack。同时传感器技术也在不断地向前发展,比如高帧率(上千帧)、高清的图像传感器,在发展的过程中,也会对传感器提出不同的要求,而传统的传感器更多的优化是面向拍照的。包括ISP的处理都是面向拍照技术来进行处理的。随着传感器应用的地方越来越多,比如图像传感器用到安防、自动驾驶、无人机等很多领域,它已经变成了一个功能性的需求,不再是为了拍照而存在,而是真的要用传感器去看清或看懂一些东西,这时传感器对理解的需求也会非常高。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

这是传感器前端处理的Pipeline,从光信号转化成电信号再到AD转化,以及图像的Pipeline处理到最后网络信号的输出,其中有很多环节都存在着可以被人工智能技术优化的地方,包括前端的信号处理到底层的ISP图像Pipeline处理,甚至到压缩优化。随着前端帧率以及分辨率的提高,压缩这块完全可以通过智能算法进行优化,因为传统的压缩都是一些标准的压缩算法。

因此我们的工作就是去进行很多智能化的处理,同时把这些智能处理的技术进行模块化提供给开发者来使用,把底层的一些复杂技术给处理掉,包括底层的一些传感器以及ISP的处理,让开发者不用再去做这些复杂的东西,只需要关注于相应深度学习的模型处理就可以了。

随着深度学习在各个领域的普遍应用和发展,智能分析逐渐从后端向前端扩展,这点在安防领域中体现得比较清晰,很多的后端处理技术也正在向前端去扩展,包括人脸检测和人脸识别等。目前的模型压缩技术相对来说比较成熟,比如可以通过一些新的卷积计算方式进行压缩,另外,也可以通过裁剪技术进行压缩,比如剪枝。由于神经网络是由一层层的节点,通过边链接去创建的,每个边都有权重,而裁剪可以把一些权重比较小的或者不重要的去掉,从而继续训练模型。还可以通过权值共享来实现深度学习网络模型的压缩,权值共享是通过相邻两层之间的全链接,每层有一百万个权重参数,可以对这一百万个权值进行聚类,从而实现权值的共享。

还可以通过量化的方式,将浮点数转化成整型或者进一步转化成二进制的网络进行裁剪。这些都是在前端上做的技术,随着前端压缩技术和前端芯片性能的提升,会有越来越多深度学习的模型逐渐向前端转移。前端人工智能需求的种类也非常繁多。我们在前端也遇到了非常多的需求,下面我给大家举个例子。

我们在澳洲的一个客户,希望去做果园中果蝇密度的检测,他们每年都有很大一部分的损失是由于水果被很多果蝇吃掉造成的,果蝇密度的检测会涉及到密度问题,当密度太小时去处理是不合适的,当密度一旦突破某一个阈值时,那就很难控制了,因此需要通过前端的摄像机进行密度的估计。其实这是一个非常细分领域的需求,我们本身是没有能力去适应这么多细分领域的训练需求的。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

因此我们希望关注我们最擅长的领域,就是通过前端的智能核心去做感知的智能。有很多很优秀的在做云端人工智能公司,他们在做认知智能相关的工作。而我们在前端去专注在感知智能这个领域。我们可以提供包括多传感器数据融合、计算机视觉和深度学习一体的感知智能,我们关注在产业链上的一个比较细分、垂直和专注的环节,希望能提供感知能力给合作伙伴。

从而支持我们的合作伙伴去做一些创新。群里有很多大神可能训练了很多的模型,这些模型实际上可以放到我们的模块平台上来提供给真正需要的用户,比如刚才我提到的监测果蝇密度,还有监控养鸡场、动物园的状态等等非常多的需求,我们也希望和合作伙伴一起去帮助客户解决这些问题。

因此我们希望把这些感知模块的能力提供给合作伙伴,让他们把这些产品应用到不同领域中去,包括安防、家居、交通、医疗、教育、工业、商业以及机器人,计算机视觉实际上就是为机器人诞生的,最初是希望机器人能够像人一样看到周围的场景,因此我们也希望提供这些模块与合作伙伴一起通过机器视觉去实现物联网产品的升级。

目前我们提供的角蜂鸟开发套件中已经带有摄像头和IMU,但是我们现在提供的开源项目中还没有包含IMU数据,在未来,希望也可以加上对TOF、Lidar的支持,可以让大家比较容易地去做传感器的数据融合,从而提供给不同的行业来使用。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

我们认为前端的智能和服务器的智能,或者说云端的智能都是不能互相取代的,这是两个方向,两者相互配合可以做出更好的解决方案。从前端的嵌入式智能来讲,它的缺陷是非常明显的,运算力非常有限,但它的优势是,在传感器的最前端,不需要网络的支持,同时,安全性也好,适用的场景比较灵活。对于服务器智能来说,它也有非常大的优势,第一,计算资源非常丰富,可以用服务器做多集群的加速,联网环境也比较丰富,可以通过网络去调用更多互联网的资源,另外可以加载非常复杂精准的模型。因此我们认为,未来边缘和中心的结合会成为人工智能领域的趋势。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

模块化AI是希望在前端和边缘端将AI技术打包封装成独立的模块,达到即插即用的效果,同时还可以根据需求进行自由的拼接。模块化AI具有使用简单、灵活多变的优点,通过积木式搭建就可以完成复杂的前端人工智能应用。我们的理念叫作Plug and AI,即插上就可以变智能。

下面介绍一下我们在这个过程中碰到的一些技术难点和瓶颈。

模块化有六个核心要素:

1,独立性,每一模块可以独立化运行;

2,置换性,每个模块可以被置换;

3,可添性,可以通过添加新的模块创建新的解决方案;

4,反向性,模块之间的层级依赖可以被重新排列;

5,一致性,模块适用于不同的环境;

6,可除外性,可以被从解决方案中移除。

这些都是比较理论的,我觉得其中有几个比较重要的:独立性,模块可以独立运行;置换性,模块可以被置换;一致性,因为本身就是一个模块,那么对于系统的适用性要求会非常高。

模块化AI的难点:

1,功耗挑战,由于前端AI应用对于功耗有非常苛刻的要求,很多时候还是需要用电池来供电的,不仅仅是可以插电,我们有个爱尔兰的客户,他最近刚从我们这里拿了一些模块,是需要用电池去做摄像头的,这对于功耗的挑战是非常大的,实现低功耗是个挑战。

2,算力的挑战,之所以深度学习的效果好,就是因为它的参数多,因此它对运算力的要求会比较高。

3,算法的挑战,前端AI应用算法的开发和优化难度非常大,因为在底层,前端的芯片很少有操作系统,或者有实时操作系统,甚至很多都要用汇编语言进行优化,因此对于算法开发和优化的难度就变得很高,由于没有底层操作系统的支持,很难使用现在市面上的开源框架去做Inference(推理)。另外,还需要去卷积计算方式的优化,包括剪枝的优化以及量化工作,这些都会涉及到对于底层芯片的了解程度,比如对嵌入式芯片提供的指令集的了解以及运算方式等都是非常重要的。

模块化AI的瓶颈:

1,缺少标准的协议,不同厂商之间的产品无法连接;

2,缺少标准的功能定义,各个厂家没有统一的模块功能定义,各自为战,互相之间缺少复用。当然,和我们现在用的框架也有关系,目前用到的深度学习框架非常多,大家有自己的使用习惯,有的用TensorFlow或者用Caffe去做自己的网络,因此标准不统一,如何通过模块化AI去支持这么多的标准也是我们面临的挑战。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

这是我们模块化结构解决方案的框架,底层主要是嵌入式硬件;芯片层有Movidius和FPGA,前段时间我们刚刚投资了一家美国FPGA团队,预计今年下半年推出基于FPGA的具体方案,首先我们会集成多种嵌入式硬件传感器,在此基础上,也会提供不同的前端驱动,包括第三方接口、多传感器融合接口、机器视觉接口、深度学习接口,统一通信接口以及3D点云接口。

再往上,我们会提供一些高层的算法,包括视觉里程计、双目立体视觉、建图和定位SLAM,这些主要是基于3D视觉的接口,另外包括一些识别和追踪,也提供一些第三方的接口。我们下一步计划是大力发展和第三方的合作,也特别希望开发者能够贡献自己的算法。在未来我们可能也会创建一个第三方的模型市场,大家可以在这个市场里面交易自己的深度学习模型。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

下面详细地介绍一下角蜂鸟。角蜂鸟是触景无限今年五月份发布的一款产品,是基于Plug and AI打造的一款人工智能视觉套件,主要用于计算机视觉。

角蜂鸟是一个完全可以拼接的模块,可以做到多块处理同一个任务。目前我们已经发布了新的文档,可以做到七块并联处理实时的视频数据分析。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

角蜂鸟视觉套件的优势有哪些呢?

首先,我们希望中小学生也可以来玩人工智能,并不需要学习那些复杂的深度学习理论,直接插上就可以用。它支持各种各样的平台,包括Windows、 Linux 、安卓、MacOS、树莓派。同时,自带RGB摄像头,因为角蜂鸟本身定位于做视觉的套件,和市面上其他面向开发者的套件形式不太一样。另外它兼容了树莓派摄像头,未来我们也会推出TOF立体视觉传感器。

同时,它采用了Intel的Movidius MA2450加速芯片,功耗很低,大概在1-2W左右,算力也比较强,而且只需要用USB供电就可以使用。也不需要连接云端的服务器,所有的运算都是在前端完成的,目前支持TensorFlow、Caffe、Darknet等深度学习的模型,同时也提供人脸检测、人脸识别等十几种模型,同时也支持GoogleNet、Inception以及Tiny Yolo等知名的网络模型。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

角蜂鸟开发是提供给人工智能爱好者以及嵌入式软件爱好者的,也算是我们送给社区的一个小礼物,因为价格确实非常便宜,我们希望能够为社区创造一个嵌入式上的产品,让开发者能够非常容易地去做嵌入式的人工智能。

模块化AI比较大的应用领域是教育,可以让学生非常容易和直观地去体验人工智能技术,由于做嵌入式人工智能的技术周期非常长,需要了解传感器、嵌入式芯片,还需要做模块,这样很容易使得很多开发者没有办法去做嵌入式的人工智能。首先我们希望能通过这个产品让学生去学习嵌入式的人工智能,也是我们目前主推的一个领域,也做了一个面向学校的教育套件,包括一些课程,甚至是训练,可以让学生非常容易地去完成和应用,而不需要去配置那么复杂的环境。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

第二个比较大的领域是机器人。机器人是现在非常火热的一个领域,第一批角蜂鸟开发套件上线之后很快就卖脱销了,之后我们做了一些客户回访。在回访过程中,发现有大量的开发者都是用它去做机器人,主要是因为机器人拥有视觉感知能力之后,可以做很多的工作,让机器人变得更加聪明,可以对周围的物体进行识别。另外,提供了物体识别模型,也可以去做人脸交互,比如玩具机器人可以直接观察小朋友的表情,也可以通过服务机器人来识别VIP用户。它的好处在于接口非常简单,完全通过USB来对接。并且支持主流的开发语言C++、 Python 等,甚至可以使用单片机来进行集成;同时我们也集成了ROS开发接口,因此对于机器人开发者是非常友好的。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

智能相机也是一个非常大的场景。前段时间国外很多大公司比如亚马逊、谷歌都发布了智能相机,通过场景判断最佳的拍摄时间记录生活中的精彩时刻;另外也可以用它来做家庭成员的识别,防止陌生人入侵等,这些都是非常有意思的,大家也可以基于AI模块去做一些自己的创作。

侯朝阳:接下来由我给大家介绍AI模块神奇小应用。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

第一个小应用是“你画AI猜”。这个游戏是我们训练的一个小模型,可以对你的手写体进行识别。

首先由AI给你出一个小题目,比如让你换一个手提箱,然后你画一个手提箱的简笔画放在AI应用前,识别出来之后就可以进入下一关了。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

第二个应用是智能车模,用一个普通的树莓派控制的小车结合角蜂鸟,可以识别周围的物体,比如识别到自行车或者识别到一盆花,它会把这些信息反馈给小车。当小车识别到自行车的时候,它可以走向这个目标;如果它识别的是别的东西,它就不会靠近这个目标。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

第三个应用是智能机器人,是角蜂鸟结合奥松机器人的应用。机器人本身不具备人脸识别功能,但是有了角蜂鸟之后,它可以对人脸进行识别。当奥松机器人通过角蜂鸟检测到人脸的位置后,它可以转动头部对人脸进行跟踪,也可以变换眼睛的颜色,同时还可以举起手臂。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

第四个应用是智能台灯。里面用到了一个叫做情景记录器的小模型,它有现场学习的功能,比如对着一本关闭的书,录入它的状态,可以多录几张甚至是录上几十张都可以。然后再把书打开并录入其状态,在不同的角度上,这本书是打开的。然后按下R就可以训练出一个简单的分类器,书关闭是一个状态,书打开是另外一个状态,通过状态返回结果就可以控制小灯的开启关闭状态,这样就实现了一个简单的智能台灯。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

角蜂鸟有两种使用方式,一种是使用角蜂鸟自带的摄像头,这样主机只需要通过USB接口不断地获取图像和对应的识别结果。第二种方式,有的用户有自己的摄像头,或者对摄像头的要求比较高或者是有一些定制化的镜头,也可以通过USB把画面传输进来,然后把视频结果获取出来就可以了。

【PPT下载】6大要素、4个案例!快速读懂模块化AI

角蜂鸟如果想要运行一些深度学习模型,需要通过一个转换工具,比如把Caffe或者TensorFlow训练的模型转换到角蜂鸟上可以识别的模型格式,对于常见的模型,比如GoogleNet、MobileNet或者SSD之类的模型,大概能跑到十帧左右。

大家可以关注角蜂鸟服务号获取角蜂鸟在线文档,这些文档比较详细地介绍了角蜂鸟自带的模型和一些实例。

今天的分享就到这里结束了,谢谢大家。

Q&A环节

问题一

模块化是否会影响准确性?如何平衡模块的通用性和对某个特殊场景的定制化?

肖洪波:模块化不会影响准确性。模块化只是一个方案分解成各个独立的组件,功能上不会有什么改变。通过调查可以将不同的应用方案分解成模块,通过功能去做聚类,如果有大量的重合需求应该重点关注模块的通用型。

问题二

模块化有考虑面向分布式系统进行速度优化吗?对于数据预处理结合分布式数据库Hive怎么应用?

肖洪波:分布式系统确实没有太多考虑,但是角蜂鸟可以把任务在多个模块之间进行分配,可以分配子任务到每个模块上,比如一套人脸识别系统可以将检测、对齐以及识别分配到不同的模块上完成,通过Pipeline和动态分配的任务来进行加速,最大化地利用计算力。另外对于Hive系统我们确实没有考虑过,因为当时做模块主要是为了面向计算机视觉来使用。

问题三

模块化AI要解决的问题本人认为是

1) 分离终端和云脑

2) 平衡成本并提供合理的终端丰富功能

3) 易于使用或开发的标准统一接口,语言或界面

4) 提供丰富的一体化方案、硬件或软件已完成各个功能特性

1,针对以上几点是否都有相应的解决方法或产品,又是怎样的呢?

2,任何产品都存在着互相矛盾的两个方面,一个是尽可能保密,提高市场占有率,保护知识产权,这点是和部分开源以及拥有强大的知识库,尽可能的增加使用人群,形成社区维护是矛盾的,模块化AI是如何平衡矛盾点的两个方面呢?

3,产品或软体是面向那一级用户的?终端个人,企业行业,还是中间开发运营商?

4,和目前其它公司开发的模块化产品比起来有何优势呢,比如NV公司的Jetson TX2, Intel公司的Up2低功率板,树莓派,或者是国内的众多类似硬件,软件模块化厂商? 或者说是如何特性模块化以和上面几种产品区别?

5,我们的模块化产品更类似嵌入式开发,还是X86集成环境开发使用?

6,针对我们的模块化使用,使用者需要掌握具体哪些知识面呢?

肖洪波:1、模块化AI本身是一个前端的产品,它和云端是完全隔离的,不需要通过网络和云端去进行连接,就是运行在前端的一个产品。

2、首先,开源并不是不能保护知识产权,这一点我是不认可的。开源其实可以很好地保护知识产权,可以通过你授权协议进行保护知识产权。

3、我们产品主要面向的还是开发者,当然企业如果有需要,也可以采用。但是该产品的定义是面向开发者的。

4、关于和其他模块的区别,我们完全是一款面向开发者的机器视觉模块,这是和其他产品不同的地方。另外,角蜂鸟功耗也是比较低的,因为它主要是面向嵌入式的产品。同时价格也非常便宜,比TX2这些便宜很多。

5、角蜂鸟模块支持各种各样的平台,包括Windows、Linux、安卓、MacOS、树莓派。

6、关于需要掌握具体的知识。由于我们是面向开发者的,希望让开发者可以零基础玩这个东西。但是可能需要懂一点Python,其他的就可以都不需要,我们本身已经提供了一些开箱即用的模型,可以让开发者在几分钟之内玩起来。

问题四

1.模块化是什么级别的模块化,比如人脸识别作为一个整体模块 还是拆分成人脸检测、人脸对齐、人脸识别 。

2.模块化的粒度如何?支持整个网络导入还是注册网络层级结构?

3.硬件复用 对资源的限制如何?比如自定义网络的接受能力等 。

肖洪波:1、目前第一版上面只能同时跑一个模型,因此目前人脸的检测、对齐和识别是要分别在不同的角蜂鸟开发套件上来跑的,未来我们会推出可以同时在多个模型的Runtime。

2、目前支持整个网络的导入。

3、单独跑一些层也是可以的,是可以分开的。另外,它支持TensorFlow、Caffe等网络模型,但是有一些特殊的层是不支持的。而自定义网络是支持的,主要取决于使用了哪些层。

问题五

1,模块化AI如何支持已有的不带AI功能的IPC产品?

2,客户采用模块化AI需要做哪些开发工作 ?

肖洪波:1、现成的IPC处理起来相对麻烦一点,因为它通过网络接口输出的是一些经过编码的视频信息,需要经过解码,然后把图片给送到模块中来处理。当然,有另外一种方式,在做IPC的过程中,直接可以把模块嵌入进去。

2、目前的客户采用模块化AI开发都是比较简单的,只需要Python或者C++,直接调用摄像头中输出的数据格式,再把模型载入进来就可以了。角蜂鸟官网(http://www.hornedsungem.org)也有比较全的文档可以参考。

课件获取

第一讲,联发科计算与人工智能本部总监张家源主讲,主题为《如何基于 NeuroPilot平台打造手机AI》

第二讲,深思考人工智能CEO杨志明主讲,主题为《医疗影像专用AI处理器的机遇与挑战》

第三讲,触景无限CEO肖洪波主讲,主题为《玩转模块化AI 让智能更简单》

第四讲,灵汐科技首席架构师冯杰主讲,主题为《类脑芯片的架构演进》

第五讲,华登国际合伙人王林主讲,主题为《浅谈AI带来的集成电路领域创新与投资机会》

第六讲,澎峰科技联合创始人赵华龙主讲,主题为《如何从0到1搭建RISC-V处理器》

扫描下方二维码关注智东西公开课服务号,回复关键字“AI芯片”获取往期课件

【PPT下载】6大要素、4个案例!快速读懂模块化AI

上一篇: 2018创新中国秋季峰会9月7日杭州举办


以上所述就是小编给大家介绍的《【PPT下载】6大要素、4个案例!快速读懂模块化AI》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析(C++版)(第3版)

数据结构与算法分析(C++版)(第3版)

Clifford A. Shaffer / 张铭、刘晓丹、等译 / 电子工业出版社 / 2013 / 59.00元

本书采用当前流行的面向对象的C++程序设计语言来描述数据结构和算法, 因为C++语言是程序员最广泛使用的语言。因此, 程序员可以把本书中的许多算法直接应用于将来的实际项目中。尽管数据结构和算法在设计本质上还是很底层的东西, 并不像大型软件工程项目开发那样, 对面向对象方法具有直接的依赖性, 因此有人会认为并不需要采用高层次的面向对象技术来描述底层算法。 但是采用C++语言能更好地体现抽象数据类型的......一起来看看 《数据结构与算法分析(C++版)(第3版)》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具