□ 文/邓晔
作者单位:天地伟业技术有限公司
2017年,国务院印发了《新一代人工智能发展规划》、《促进新一代人工智能产业发展三年行动计划》等政策文件,提出我国新一代人工智能发展的指导思想、战略目标、重点任务和保障措施。明确了计算是AI发展的重要推动力,人工智能是目前人类社会面临的最重要的技术变革,也是国家发展的重大战略机遇。规划中多次提出要重点对人工智能的计算的理论与模型、芯片与系统、平台与环境等进行深入研究提前布局创新突破。
如果说第一次工业革命是信息化、第二次工业革命是电气化、第三次工业革命是信息化,那么第四次工业革命就是智能化,人工智能就是新时代的电力。
1956年特茅斯会议,计算机科学家首次提出“人工智能”的概念,希望用计算机构造与人类智慧类似的机器,并在科研实验室中不断探索研究。由于受到算法、算力等多方面因素的影响,人工智能技术和应用发展经历了多次高潮和低谷。2006 年以来,以深度学习为代表的机器学习算法在机器视觉和语音识别等领域取得了显著成功,识别准确性大幅提升,令人工智能再次受到广泛关注。另外,云计算、大数据等技术在提升运算速度和降低计算成本的同时,也为人工智能的发展提供了丰富的数据资源,协助训练出更加智能的算法模型。
作为新一轮产业变革的核心驱动力,人工智能在孕育新技术新产品的同时,也对传统行业进行了巨大赋能,推动经济结构的重大变革,实现社会生产力的整体提升。人工智能将人从枯燥的劳动中解放出来,越来越多的简单性、 重复性、危险性任务由人工智能系统完成,减少人力投入和提高工作效率。人工智能还可以在教育、医疗、养老、环保、安保、司法等领域得到广泛应用,提高公共服务精准化水平和人民生活品质;人工智能可对基础设施和社会安全运行的态势准确感知和预测,主动做出决策反应,提高社会治理能力和水平。
不同的人工智能方法帮助解决不同类型的问题,经典机器学习适于统计问题和推荐引擎。深度学习适于图像/语音识别、自然语言处理、模式识别检测,推理适于供应链、数据库欺诈检测、波动分析,新兴方法适于生物序列对比等。简单说,人工智能是能够感知、推理、行动和适应的计划;机器学习是性能随时间推移和数据增加而逐步提升的算法;深度学习是机器学习的一个分支,通过多层神经网络在海量数据中进行学习。
▲人工智能/机器学习/深度学习的关系
机器学习是通过各种算法从大量的数据中学习和训练如何完成任务,然后对真实世界中的事件做出决策和预测。机器学习比较适合的应用领域是计算机视觉,需要手工开发编写各种算法,模型仍然是人工的,存在知识获取难、知识领域窄、推理能力弱,实用性差等问题。随着计算处理能力和学习算法的发展,多层人工神经网络推动人工智能进入繁荣期。人工神经网络是从信息处理角度对人脑神经元网络进行抽象,建立某种模型,按不同的连接方式组成不同的网络,它是模仿大脑的神经元之间传递和处理信息的模式,每个神经元通过某种特定的输出函数,计算处理来自其它相邻神经元的加权输入值。神经元之间的信息传递的强度,赋予加权值,算法不断自我学习和调整这个加权值。神经网络算法的核心就是计算、连接、评估、纠错、反复训练,主要特点是非线性、分布式、并行计算、自适应、自组织。
▲深度学习对比传统机器学习
由于神经网络依赖海量数据和大量运算进行调制训练,对于计算速度、网络速度、内存容量、数据规模等各方面提出了更苛刻的要求。而1999年nvidia推出的GPU芯片,在设计时,最底层的算术逻辑单元擅长大规模并行计算,特别适合神经网络所需要的大量矩阵计算操作。2007年,nvidia推出了cuda并行计算开发接口,使得开发者可以更方便地使用GPU开发应用软件。凭借GPU的爆发,人工神经网络实现了多层多元拓展,2012年,通过“丢弃算法”和“激励函数”优化的卷积神经网络,赢得ImageNet冠军,证明了机器学习能在可控的计算成本内快速输出更加准确的结果。
2015年以来,全球数据井喷式的爆发(年均增速都在40%以上)、GPU计算能力的飞速增长和深度神经网络算法的突破,使得并行计算变得更快速和更有效,人工智能开始全面爆发。深度学习使得机器学习拓展了人工智能的领域范围,让几乎大部分机器辅助功能都变为可能,比如无人驾驶汽车、无人机、语音识别、欺诈检测、产品推荐等方面。在图像分类、物体检测、图像语义分析、人脸识别、光学字符识别等计算机视觉领域,深度学习的应用尤为广泛,在一些场景中甚至可以比人做得更好。其中,深度学习对图像解析的突出作用使得视频监控系统得到了跨越式发展,视频监控的核心需求是在图像中准确快速地发现目标,人工智能将传统的录像回放转变为实时预警布控,为大数据分析研判提供了重要技术支撑。
▲人工智能平台架构
深度学习的应用主要来自三个方面:巨大的标记数据样本(图像和语音)、先进的算法/模型/软件(神经网络算法CNN和RNN以及深度学习框架)和高性能计算(数据样本多/模型训练时间长/参数更新快速同步)。
▲深度学习的三驾马车
除了数据之外,算法和算力分别从软件和硬件两个维度撑起了人工智能平台的巨大生态。
算法方面,目前CNN的深度学习框架主要包括:加州大学伯克利分校维护的Caffe、谷歌维护的Tensorflow、微软研究院维护的CNTK、分布式机器学习社区维护的MXNet以及百度维护的PaddlePaddle等。CNN分为模型训练和应用推理两个环节:模型训练是获取推理模型,应用推理是根据训练模型和输入数据获取计算结果,如图片分类。不同环节采用不同的计算架构:模型训练使用CPU+GPU计算架构,应用推理可以采用CPU+FPGA、计算架构等。主要因为:GPU算法实现架构成熟,适合较复杂的训练算法,FPGA可灵活实现多任务处理且运行能效更好。
以Caffe为例,其特点是上手快(模型与相应优化都是以文本形式而非代码形式给出)、模块化(设计上力求模块化,允许对新数据格式、网络层和损失函数进行扩展)、表示和分离(模型定义写进配置文件,根据网络需求调度内存)、测试覆盖(每个模块对应一个测试)、开放性(公开的代码和参考模型)
算力方面,当下实现深度学习的高性能计算硬件平台主要包括GPU、ASIC、FPGA,GPU因为先发优势占据较大市场份额,FPGA正试图在云端服务器发力,ASIC难度更高但更适用于深度学习算法。算力需要具备并行性、多线程、高内存带宽等特性,而且由于数据的训练时间长,需要低功耗的硬件架构。三类平台和传统CPU平台的性能对比如下:
▲算力平台对比
GPU是目前深度学习训练系统比较成熟和广泛的硬件平台,最初为处理图形而设计具备了大规模的独立神经元,相比CPU的串行逻辑,GPU更擅长高度并行的密集计算,有很多计算核心是为矩阵运算专门优化,并且GPU为适应复杂多层网络,提供15TFLOPS的单精度浮点计算能力和900GB/s带宽。通常,训练平台采用CPU+P4/P40/P100/V100等GPU卡组建集群和数据中心,应用程序的串行部分在CPU上运行,计算任务繁重的部分由GPU加速,CPU与GPU通过PCIE总线通信,此外,边缘端的推理应用可以采用Jetson方案。GPU主要通过专用编程框架CUDA软件开发,CUDA不需要借助图形学API,采用通用计算并行架构和C语言进行开发,降低了难度。
FPGA适合的应用场景包括:计算密集型高、实时性要求高、任务可并行处理以及大量重复性计算。CPU可以实现的功能,都可以用FPGA灵活实现,且单颗功耗较GPU低。对复杂系统进行合理的软硬件设计,由CPU和FPGA合作完成系统功能也是目前比较流行的方案。FPGA的开发方式主要包括OpenCL和VHDL,前者的开发效率会好一些。FPGA要在人工智能计算中发挥更大作用,还需要提高计算能力(浮点运算能力和改进算法)和易用性(更加通用高性能的神经网络开发架构)
ASIC是指专为AI应用设计的专属架构的处理器芯片,能效最高,量产后平均成本低,最具代表性的ASIC芯片是谷歌的张量处理单元TPU、英特尔的Xeon Phi KNL、高通的神经网络处理器和华为海思,打败围棋世界冠军李世石的AlphaGo采用了谷歌的TPU产品,寒武纪、地平线等国内ASIC芯片公司针对机器视觉也推出了专用芯片。相比GPU和FPGA的灵活性,定制化的ASIC一旦制造完成就不可再更改,由于AI算法迭代快速,需要设计公司具备ASIC芯片研发、底层硬件编程和算法框架等多重能力,门槛较高,且ASIC开发周期长、一次性成本高,导致开发风险比较大。
CPU主要是以intel第二代MIC架构Xeon Phi融合处理器为主的深度学习训练系统,针对高度并行工作负载设计的向量处理单元、片上高速内存和集群模式,提供AVX-512指令集实现向量化计算,并且支持Caffe框架。
经过十多年的平安城市建设,中国已经成为全世界最大的安防市场,视频监控作为安防系统中不可或缺的重要组成,正日益发挥更加重要的作用,在平安城市、雪亮工程等重点建设项目的背景下,安防已成为人工智能最为重要的落地场景之一。随着平安城市建设的推进和深化,目前新建监控项目已基本实现高清化,随着建设规模的逐步扩大和人工智能、云计算、大数据技术的兴起,平安城市应用正逐步向警务云、大数据应用等方向转变。高清监控视频信息作为公安最重要的数据资源之一,遍布城市大街小巷的摄像头,每天都会产生大量视频资料数据,不仅为社会治安稳定发挥作用,也为智慧城市和物联感知提供信息支撑,但这些图像资料目前还仅停留在事后查看的层面,没有被充分利用起来,如何能够被用户快速消化使用,成为更有价值的情报数据呢?让用户从这些数据中自行寻找线索,不仅占用了大量的人力、物力和时间,同时由于个人能力的差异也会导致针对信息的认知偏差。例如针对卡口实现了主干道的车辆识别,覆盖面有限,其他活动目标及特征无法获取,大多依靠人工进行收集和处理,难以结合时空数据进行快速检索和分析研判。
如何解决海量视频监控数据与人力分析瓶颈之间的矛盾是产业技术升级的主要方向。安防行业多年前就将智能化作为主要发展趋势,视频分析是人工智能的重要热点之一,人的信息获取绝大部分是从图像中来,从技术成熟度和应用场景看,图像智能的发展更接近实用,进步也更快速。
今天,城市里的数据非常丰富,其中摄像头的数据量非常大,可以挖掘出巨大的价值,可以解决城市管理中的诸多难题。我们希望把视频图像里面的内容和目标自动转换成结构化数据,让每个人都能直接理解人/车/事这几类主要信息,车:车型、车款、车牌号码、车辆颜色、行驶方向、行驶速度,人:步行、骑车、性别、年龄、上身、下身、背包拎包,事:拥堵、逆行、徘徊、奔跑、剧烈运动、交通行为。有了以上数据就能进行决策和优化,比如根据交通流量优化红绿灯配时系统,比如在视频中搜索可疑车辆(肇事)和可疑人(失踪),比如挖掘数据之间的关系和规律,找到数据之间背后的原因,还可以进行趋势预测,比如半小时甚至更长时间后的车流和路径规划。但原先的智能分析技术一直存在识别准确率低、场景适应性差、识别种类少等问题。深度学习通过大量数据训练来建立输入数据和输出数据之间的映射,通过人工智能来自动处理海量监控视频数据,解决了以往的技术瓶颈。以平安城市为例,针对道路监控等相对标准场景的视频,可进行人脸动态识别和机非人实时结构化分析和特征信息提取,转化为公安所需的情报线索。
目前,安防行业中基于深度学习的人工智能产品,以天地伟业为例,主要识别方向包括:车辆分析、人员分析、行为分析和图像分析,产品形态分为前端智能和云端智能。
前端产品主要是用于边缘节点计算的AI摄像机(人脸识别摄像机/卡口电警摄像机),在采集视频和图片的同时,依靠内置的算力芯片和智能算法,为云端的数据中心提供结构化的数据,可以减少云端分析处理的计算资源压力和网络带宽等系统成本。缺点是前端设备空间有限、功耗成本较高,导致有限的硬件资源只能运行相对简单、对实时性要求高的算法。
云端产品主要是智能NVR、人脸识别比对服务器、车辆结构化分析服务器和视频结构化分析服务器,智能NVR是在集中存储图像的基础上,通过集成深度学习算法实现了针对视频内容的智能分析和信息提取,比如小型比对库的人脸识别/车辆识别等,适合中小型项目使用。后三类智能服务器通过在X86服务器集成高性能GPU芯片和深度学习算法,专门对人脸特征、车辆特征、机动车/非机动车/行人的全目标特征进行快速提取和准确识别比对,比如1亿人脸底库的识别比对、卡口过车图片的二次特征提取和以图搜车、行人的衣着体貌特征识别和以图搜人等。云端产品能根据客户需求灵活配置硬件资源,可以运行复杂,业务响应置后的算法,且升级维护比较方便。
▲步行街人脸动态布控
▲道路监控视频的机非人全目标特征结构化
随着智能需求日益增多,更多数据的采集和计算未来都将在前端进行边缘节点计算,前端初步处理分析后回传到云端进行深度分析,前端智能和云端智能并不矛盾,可根据客户的具体需求灵活组合,实现更智能的分布式计算,提供差异化的智能解决方案。一般来说,检测、跟踪、去重、抠图等相对通用的应用以及拌线、越界、徘徊、计数等行为分析类的应用适合放在前端,而提取细节特征、识别比对等以及涉及敏感信息的复杂应用适合放在云端,要结合实际设计,实现资源利用最大化。
▲边缘节点计算的价值
深度学习的迅猛发展,依赖快速发展的 GPU芯片技术和平台生态,随着人们逐渐认识到专用计算芯片对人工智能的重要作用,围绕 AI 任务进行专有加速的芯片越来越多,但无论是 AlphaGo 背后的谷歌 TPU 还是加入了全新 Tensor Core 结构的英伟达 Tesla V100,这些芯片都是为服务器端进行设计的,芯片面积较大(英伟达 Volta 的 Tensor Core 面积有 800 平方毫米,只有靠领先性能降低数据中心的集群成本),因此也面临着来自英特尔Nervana和Arria10/Stratix10等FPGA更低功耗更低成本计算平台的威胁。
针对前端和移动端设计的AI芯片在功耗和性能上正在不断发力,目前的实现方式主要有两类,即FPGA和ASIC。FPGA的代表如 Xilinx 主推的 Zynq平台,而 ASIC的代表如华为海思的3559A和英特尔Movidius的Myriad。对于安防监控系统中负责前端感知的摄像机,通过ASIC架构的AI芯片进行图像内容的特征提取和结构化描述,为实战应用提供可直接查询检索和分析研判的线索,这无疑将盘活原先静态存储的海量视频数据,为破案预警和城市管理提供巨大的广阔的应用前景。对于华为海思,3559A芯片的推出,意味着基于视频监控领域绝对领先的市场份额,海思庞大的开发制造生态链,拥有了推动产业升级变革的重磅武器,3559A集成了H.265视频编码,提供了高效丰富的计算资源(包括双核A73和双核A53、集成的GPU支持OpenCL、集成智能分析加速引擎和双核CNN)。目前即将上市的基于3559A的AI摄像机主要以人脸识别摄像机和车辆电警卡口摄像机等行业高端应用为主,高性能的算力和成熟的算法将可以在前端实现人脸特征提取比对和车辆子品牌年款/年检标/打电话/安全带等功能,而这些原先只能在云端GPU服务器进行提取和运算。当然,由于信息安全风险和暂时缺乏统一标准等问题,具备AI深度学习的前端智能产品和云端智能产品各有擅长且长期共存。
▲基于海思3559A的天眼交通相机
安防行业的发展中,人工智能将发挥至关重要的作用。行业应用离不开人工智能,人工智能也离不开行业应用,人工智能要落地,一定要深入到行业中。
智慧城市的信息感知,目标是全面、全量、实时。一方面,通过边缘节点计算和云端计算把非智能的设备和系统转变成具有强大人工智能的设备和系统,让机器替换人力。另一方面,人工智能平台不仅需要感知,还需要数据分析挖掘,因为城市管理的问题复杂度、数据数量级以及可能产生的价值和影响力无法估量。基于人工智能的大数据平台, 通过面向AI的大数据治理技术将海量多源异构数据治理成行业知识,再基于知识图谱数据库完成行业知识图谱存储,通过机器学习、符号推理等技术可以主动分析挖掘隐藏在人的行为背后的行业知识。目前的人工智能行业场景中,知识图谱是技术难度较大的技术领域。以公安场景为例,案件发生后,最困难的是如何找到线索,为了把涉及案件和人的所有要素全部串联起来找到互相关系,首先就是把系统中的基本数据概念化、符号化,按照人、事、地、物、组织五要素分类,通过知识图谱进行逻辑推理和情报研判。
从感知智能到认知智能,人工智能将通过关键技术的持续突破推动行业跨越式发展。