■ 文/北京的卢深视科技有限公司 朱海涛
关键字:AI 芯片 神经网络 应用
自1956年达特茅斯会议以来,关于人工智能(artificial intelligence, AI)的研究由于受到智能算法、计算速度、存储水平等多方面因素的影响,经历了两起两落的发展,近年来在语音识别、计算机视觉等领域取得了重大突破。究其原因,业界普遍认为有三大要素合力促成了这次突破:丰富的数据资源、深度学习算法和充足的计算力支持。丰富的数据资源取决于互联网的普及和随之产生的海量信息;以深度学习为代表的机器学习算法的精确性和鲁棒性越来越好,适用于不同场景的各类算法不断优化完善,具备了大规模商业化应用的潜力;而充足的算力则得益于摩尔定律的不断演进发展,高性能芯片大幅降低了深度学习算法所需的计算时间和成本。
虽然当前摩尔定律逐渐放缓,但作为推动人工智能技术不断进步的硬件基础,未来10年仍将是人工智能芯片(AI芯片)发展的重要时期,如图1所示,到2021年,我国的人工智能芯片产值预计将达到52亿美元。面对不断增长的市场需求,各类专门针对人工智能应用的新颖设计理念和架构创新将不断涌现。
当前对人工智能芯片的定义并没有一个公认的标准。比较通用的看法是面向 AI应用的芯片都可以称为AI芯片,按设计思路主要分为三大类:专用于机器学习尤其是深度神经网络算法的训练和推理用加速芯片;受生物脑启发设计的类脑仿生芯片;可高效计算各类人工智能算法的通用AI芯片。
图1 我国人工智能芯片市场规模预计(单位:亿美元)
随着智能化逐渐渗透进入能源、交通、农业、公共事业等更多行业的商业应用场景中,考虑到智能化任务运算力需求,以及传输带宽、数据安全、功耗、延时等客观条件限制,AI芯片在越来越多的场景中表现出广阔的应用前景。
下面我们将基于三个典型应用场景对AI芯片的目前发展现状进行介绍。
在过去的数十年中,随着基于神经网络的深度学习技术以及计算机处理能力的飞速发展,二维图像中的图像识别、检测、分类等任务取得了前所未有的进步。然而,我们处在一个三维的世界里,在将三维环境挤压成二维图像的过程中,很多有用的信息会被丢弃,从而造成信息量的丢失。而使用三维图像则可以有效地解决这一问题。
三维图像是一种特殊的信息表达形式,其特征表达空间中拥有三个维度的数据。和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体——背景解耦。除此之外,对于视觉测量来说,物体的二维信息往往随着投影方式的变化而变化,但其三维特征对不同测量方式具有更好的统一性。与二维图像不同,三维图像是对一类信息的统称,信息还需要有具体的表现形式。其表现形式主要包括:深度图(以灰度表达物体与相机的距离),几何模型(由CAD软件建立)和点云模型(所有逆向工程设备都将物体采样成点云)。在这三种形式中,点云模型是最为常见也是最基础的三维模型。图2中展示了包、飞机、汽车、被子等常见物体的点云示意图。点云模型往往由测量直接得到,每个点对应一个测量点,无需经过其他处理手段,故其包含了最大的信息量。然而,这些隐藏在点云中的信息需要以其他手段将其提取出来,提取点云中信息的过程即为三维点云分析。
图2 常见物体(人脸、包、飞机、汽车、杯子)点云示意图
三维点云分析在诸多领域有着广泛的应用,例如三维人脸识别、三维人体姿态分析等。对于这些任务而言,都要涉及到点云数据的处理、分析和理解。随着以卷积神经网络(CNN)为代表的深度学习方法的兴起,大量的研究工作致力于将CNN在图像分析上的巨大成功复制到点云学习领域。
一般来说,在点云上进行卷积学习主要面临三大挑战:
(1)点云由无序的点集构成,因此卷积需要对点的输入顺序具有置换不变性。
(2)点云分布于三维几何空间中,因此卷积应当对点云的刚体变换具有鲁棒性,比如平移、旋转等。
(3)点云形成一个隐含的形状,因此卷积得到的表征应当具备有区分力的“形状意识”。
为了应对上述挑战,目前常用的做法是点云分割,即利用一个小型网络,对输入点云进行仿射变换,从而将其转换为一个固定的、规范的空间,确保即使对于最细微的变化,整个网络也是稳定的。最近的一些工作则在点云分割的基础上,从其他领域汲取灵感来进一步提高性能。例如Wang 等人的论文 Dynamic Graph CNNs ,就使用基于图形的深度学习方法来改善点云中的特征提取。这些方法对AI芯片提出了很多要求,例如:如何设计合理的卷积方式,使得其对于非结构化输入数据具有位置不变性;如何设计有判别能力的三维点云特征表示,对点云的“形状”进行建模等。而当前的主流AI芯片集中于二维图像的网络处理,对三维点云的支持还较少。部分公司在点云的采集、传输等方面进行了一些尝试,例如以色列Vayyar公司研发的汽车雷达芯片,可以实时采集车内外人员物体的三维图像,韩国高等科学技术研究院的Park Hyo-hoon教授团队则研发出一种三维图像传感器芯片,可采集特定方向的三维图像数据,进行无线传输,从而实现高分辨率、高容量的图像信息无限制通信。但是,如何针对三维点云数据的特点,开发出集采集、传输、处理等功能为一体的AI芯片仍是当前亟待解决的问题。
三维深度学习方法已经从使用三维数据的派生表示转变为使用原始数据(点云)。在这个过程中,我们采用的方法已经从简单地将二维卷积神经网络应用到三维数据上转变为专门为三维场景设计的方法,这大大提高了物体分类和语义分割等任务的性能。这些结果非常有前景,因为它们证明了通过三维技术观察和表示这个世界是有价值的。然而,这个领域才刚刚步入发展的快车道。当前的工作不仅要着眼于提高这些算法的准确率和性能,还要确保鲁棒性和可扩展性。尽管目前大多数研究是由无人驾驶应用驱动的,但直接在点云上运行的新方法在诸如三维医学影像、虚拟现实和室内地图等领域也将发挥重要的作用。
AIoT(人工智能物联网),是AI(人工智能)与IoT(物联网)的合并称谓。AIoT融合AI技术和IoT技术,通过物联网产生、收集海量的数据存储于云端、边缘端,再通过大数据分析,以及更高形式的人工智能,实现万物数据化、万物智联化。从广泛的定义来看,AIoT就是人工智能技术与物联网在实际应用中的落地融合。它并不是新技术,而是一种新的IoT应用形态,从而与传统IoT应用区分开来。如果物联网是将所有可以行使独立功能的普通物体实现互联互通,用网络连接万物,那AIoT则是在此基础上赋予其更智能化的特性,做到真正意义上的万物互联互通。
AIoT追求的是一个智能化生态体系,除了技术上需要不断革新,技术的落地与应用更是现阶段物联网与人工智能领域亟待突破的核心问题。在消费互联网领域,包括自动驾驶、城市大脑、人工智能养老、医疗影像、智能语音等(如图3),AloT已从学术界走向产业界,并为城市建设提供越来越多的应用场景。在产业级市场,AIoT作为各大传统行业智能化升级的最佳通道,应用场景遍地开花。
2.2.1 智能手机
智能手机无疑是未来很多“万物互联”的入口,AI、物联网、移动设备三大技术将强强联合,成为行业新的“标配”技术。 AIoT为智能手机赋能,将智能装置、设备都联接起来,打造新生态。苹果、三星、华为等国内外各大厂商都在推出具有不同AI功能的手机。
2.2.2 智能家居
智能家居目前仍处在初级发展阶段,AIoT将把智能应用、智能家居产品、硬件家族和平台全部串联起来,让我们和这些物体实现更智慧的互动,智能家居是未来离消费者最近的AIoT场景。
2.2.3 工业机器人
工业机器人在自动化普及的工业时代,生产过程几乎完全自动化,机器人具备高度的适应能力。工业互联网不只是实现机器互联,还引入了大量的人工智能。AIoT在帮助机器人实现智能互联的同时,还能让管理者任意自如的操控,尤其是在很多危险性较大的工业领域。
2.2.4 自动驾驶
自动驾驶需要很多技术支持,除了数据,就是人工智能,帮助车做正确的决策。车的智能解决之后,就得实现车辆的互联和管控,在自动驾驶状态中,如何保证乘客安全,是AIoT技术正在研究的重点。
需要注意的是,在上述多种应用中,场景承载硬件很多为低功耗设备,这就对AIoT的功耗提出了严格的要求。实际上,低功耗和高性能计算是AIoT智能硬件设计的重要要素。此外,AIoT对设备端芯片的并行计算能力和存储器带宽提出了更高的要求,尽管基于GPU的传统芯片能够在终端实现推理算法,但其功耗大、性价比低的弊端却不容忽视。在AIoT的大背景下,IoT设备被赋予了AI能力,一方面在保证低功耗、低成本的同时需要完成AI运算(边缘计算);另一方面,IoT设备与手机不同,形态千变万化,需求碎片化严重,对AI算力的需求也不尽相同,很难给出跨设备形态的通用芯片架构。因此,只有从IoT的场景出发,设计定制化的芯片架构,才能在大幅提升性能的同时,降低功耗和成本,同时满足AI算力以及跨设备形态的需求。
由于许多应用场景都是基于三维数据,因此在设计AIoT芯片的时候,往往需要考虑到三维数据的计算。而三维数据相比与二维数据而言,数据量更大,数据结构更复杂,这对芯片架构提出了更高的要求。目前业界已经有多家公司推出了相应的三维AIoT产品,例如日本瑞萨公司推出的e-AI解决方案,提供手势数据的学习工具、录制工具、AI的学习工具,可以达到很高分辨率的3D手势识别和控制;国内埃瓦电子公司推出了Ai3100超低功耗AIoT芯片和开放平台,做到了即开即用。目前在人脸识别智能门锁、车载3D刷脸开门场景,是当前唯一达到冷启动时间100毫秒的人脸识别AIoT专门芯片。
尽管目前包括百度、阿里、华为、小米等公司在内的各大厂商都对AIoT智能硬件芯片投入了大量的人力物力,由于AIoT所面临场景,尤其是三维场景的复杂性,目前这些芯片还远远没有达到令人满意的地步。随着人工智能以及芯片制造技术的进一步发展,AIoT智能硬件芯片有望实现集成化、定制化、高效化的发展,从而使物联网和人工智能的优势发挥到最大。
在深度学习领域,通常需要大量的训练数据来指导学习过程,而在真实场景下,往往大部分类别并没有数据积累。所以我们希望在学习了一定类别的大量数据后,对于新的类别,我们只需要少量的样本就能快速学习。这被称之为小样本学习(Few-shot Learning)。
图3 AIoT应用场景实例
从定义上来说,小样本学习的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取C个类别,每个类别K个样本(总共CK个数据),构建一个meta-task,作为模型的支撑集(support set)输入;再从这C个类中剩余的数据中抽取一批样本作为模型的预测对象(test set)。即要求模型从C*K个数据中学会如何区分这C个类别。训练过程中,每次训练都会采样得到不同meta-task,所以总体来看,训练包含了不同的类别组合,这种机制使得模型学会不同metatask中的共性部分,比如如何提取重要特征及比较样本相似度等,忽略与任务相关的部分。通过这种学习机制学到的模型,在面对新的未见过的 meta-task 时,也能较好地进行分类。
图4 小样本学习示例
图4表示一个10分类问题,传统的方法是基于左边这些训练集,获得模型,然后对右边测试集进行自动标注。而对于小样本学习而言,我们大量拥有上方的5种数据,而新问题(下方5种)只有很少的标注数据,从而给训练与测试带来了很大的挑战。
目前小样本学习的解决方法主要包括:基于微调(fine-tune)的方法;基于度量(metric)的方法和基于元学习(meta learning)的方法等;而对于小样本学习而言,其应用的主要场景包括医学图像处理、安全场景监控等。
2.3.1 医学图像处理
与自然场景下自然图像获取不同,医学影像的获取十分艰难。一方面,患者对于个人的就医隐私要更为重视,医学图像几乎不会上网和共享,此外图像采集的“高门槛性”也制约着训练样本的获取。医学影像采集需要专门的设备,有一些设备非常昂贵,比如CT和核磁。另一方面,大部分数据缺乏标注。对于自然图像来讲,其标定相对容易,即便是普通人也能够直接标注。但医学影像不同,其标注需要行业顶尖的专业医生参与,而现实中,临床、科研任务重,做数据标注对于医生来说“有心无力”。
2.3.2 安全场景监控
对于公共安全场景下的智能监控而言,往往也存在着“小样本”的问题。虽然大部分的场景下可以获得大量的原始数据,但是一方面由于这些数据往往很复杂,标注起来需要耗费大量的人力物力。另一方面这些数据很多时候存在着安全性要求,因此很难利用社会力量进行大规模的人工标注。此外,由于场景具有多样性,在某个场景下训练好的模型在另外的场景中往往性能表现不佳,因此利用少量数据,寻找数据间的共性部分,是很重要的研究方向。
对于目前的AI芯片而言,小样本学习的训练样本很少,因此对芯片提出了多种要求,如在较少的训练数据下达到较高的性能;随时对新增样本进行增量训练,以满足用户更多个性化的需求;覆盖多种应用场景,对各个场景中的个性化数据也能准确处理等。而目前主流的AI芯片厂商仍旧将其作为传统的深度学习任务进行处理,缺乏对“小样本”的深层优化。国内厂商曾于2018年推出一款芯片,该芯片的最大特色是能做到小样本训练达到较高识别率,并通过大量的并行计算使得训练的速度和识别的速度基本一致,从而实现图像的快速“片上训练”与“片上识别”,达到片上学习和在线学习两者并存。
随着应用场景的不断丰富,小样本学习以及相应的芯片设计还有很多可以研究的东西。由于“片上学习”不需要联网,便能在芯片端实现本地化学习,进而让基础算法的研发迭代,产品的升级有着更短的周期和更高的效率。因而在未来网络环境,可用数据相对严苛或有限的情况下,基于小样本“片上学习”的芯片将有着广阔的应用前景。
底层芯片是人工智能硬件产业链最基础部分,AI芯片将在人工智能各个行业领域得到广泛应用。从芯片发展的大趋势来看,现在还是 AI芯片的初级阶段。无论是科研还是产业应用都有巨大的创新空间。从确定算法、应用场景的 AI加速芯片向具备更高灵活性、适应性的通用智能芯片发展是技术发展的必然方向。当前已经有一批企业在产品研发和市场推广上做出了一定的成绩,其中包括海外和国内的科技巨头和创业公司,如:英伟达、华为海思、寒武纪、比特大陆等,其产品在云端、自动驾驶、智慧安防、移动互联网等场景中获得了较好的应用。应该看到,由于发展较晚,积累不足,我国在传统IT架构,系统软件等领域国产化率非常低,而AI芯片作为新兴的产业领域,其是否能够实现国产化和自主可控是我国人工智能产业能否实现弯道超车的关键,值得大力探索。