6月20日,“神威太湖之光”成为全球最强超级计算机。但是,这只是这一天祖国科技技术大跃进的一小份。6月20日,南京大学的基于新型铝钛化合金属技术的轻质高可塑性高温材料论文发表于《自然》杂志,性能领先国际先进水平一个数量级。6月20日中星微的嵌入式经网络处理器(NPU)“星光智能一号”也正式发布。而在此前,该产品已经实现在智能安防领域的商业化应用。本文,大屏君想谈的是后者,即NPU。因为这个与我们的大屏应用距离最近。
NPU这是一个新名词,需要科普一下。NPU即是以神经网络算法和结构为核心的并行处理器。其具有学习、联想、记忆和模式识别的物理结构,核心运算是向量乘法,善于处理实时并行大数据,并行大数据的处理效率是同等功耗下传统CPU的百倍乃至更高。同时,这种处理器也是对传统冯诺依曼架构的颠覆。
在视频领域,NPU的应用是怎样的呢?大屏君有一个简单的比喻:我们电脑的GPU是把一些逻辑信息转化成画面,渲染出来;NPU的目的则相反——他是把视频画面,尽量转化成可以直接被机器理解的逻辑信息。
那么问题来了:为什么智能安防需要这样一个新CPU呢?(准确讲应该叫做NPU)。大屏君觉得这是一个很好的命题。
大屏君数过我们办公大楼的监控探头个数,一层一层下来好几百,但是保安就那几个。如果没有千眼观音菩萨的功力,这些探头的真正意义也就在于:有了犯罪,可能提供一些线索。而如果视频存储能力不足,例如只存储了7天的视频,那么此前第8天的犯罪信息就没有了。
我们电影节目中,有很多这样的桥段:持枪歹徒进入银行,银行女职员企图按报警器被制止,警察调用视频监控准备破案,但是歹徒都带了头套,监控画面失去意义,或者干脆安防存储系统已经被破坏,失去了所有数据。而如果这是智能安防体系,那么当持有武器和蒙面的歹徒进入银行一个探头视野的时候,安防系统就会自动报警,且银行内的各个区域会启动安全隔离和屏蔽装置——歹徒进得来,摸不到钱,也可能抓不到人质,而且反身想跑:大门自己锁上了。
以上这个假设案例能成功的前提是:第一个探头第一时间,知道歹徒来了。原始的解决方案是,找一个人24小时不眨眼的盯着第一个探头的画面——不能眨眼或者打瞌睡,那样歹徒就有可乘之机。但是,这显然不符合成本规律。
另一个技术方案则是智能探头。即摄像机探头能够主动识别视频中的信息,尤其是学习型、模糊化的识别违规信息,并按照预设等级触发警报动作。智能安防系统可以做到:可疑情况识别报警,预防犯罪;犯罪进行中报警,实时抓捕;更多数据信息,尤其是有效元信息的长期存储——这些元信息占据存储空间的量,只有视频的几十分之一,甚至几百分之一,进而保持监控系统的长期信息有效。
不过实现以上这种智能探头功能,不是一件简单的事情:视频内容分析和处理,并与特定但不具体的违规信息匹配(为何说这些违规信息不具体呢?因为,如持刀歹徒,刀的性状各式各样,难以提前预知,违规信息组只能给出一个模糊模型)需要强大的运算支持。这是这个系统的核心要求:极低成本下,能够有效即时的高速识别价值信息。或者说,安防进入智能时代的核心前提就是有足够强大的终端信息处理能力。
大家还记得今年3月份,谷歌围棋人工智能AlphaGo(阿尔法狗)大战韩国围棋高手李世石的事情吗?这个围棋算法就是典型的学习型、模糊算法,是高并行概率计算的神经网络。那个阿尔法狗的“人工智能”很厉害,水平非常高。但是,对于安防监控的摄像头,这个人工智能系统的“硬件”体积异常巨大——无法嵌入到安防探头里面去。同时,这套系统的造价也很昂贵,也是安防探头所不能承受的。
这是现有IT技术的瓶颈:即传统的CPU和软件不是不能实现学习型的智慧算法和功能,而是需要极高的成本——包括设备体积、耗电量、采购价格等等。AlphaGo背后是几十台超级计算机和服务集群,下一盘棋要花费3000美金电费。
那么,对比而言,另一个技术路线则是专门的嵌入式神经算法处理器,即NPU技术。只有手指肚大小、耗电量相当于一个LED灯泡(摄像头都有数个红外照明灯)的NPU方案,就成了智能安防的最好选择。
在应用了NPU技术的摄像头中,不仅记录实时画面,更会有效的分析并记录视频中的“元信息”。例如,人员着装特征、车牌号码、左转右转等等。这些元信息和视频流一起传回中央系统,供警报选择程序调用,同时也能供后期数据挖掘使用。或者这些元信息也可以直接在探头端触发高阶报警动作,如上文假设中的抢银行案例。
通过大屏君的分析,各位可以看到:安防智能与否差别非常大。而安防进入智能时代的核心前提就是有足够强大的终端信息处理能力——谷歌阿尔法狗的能力虽然强大,却不可能用在摄像头上,这就是NPU的价值所在。未来的安防系统一定是智能化的。即,面对未来安防系统少则数十个、多则(如天网系统)千百万单位计算的探头规模和海量数据,没有NPU智能系统,这些巨大投入的价值都会大打折扣。反之,NPU智能探头则是安防价值倍增器。
NPU如何做到这一点的呢?答案在于仿生模拟。例如,大屏君和老熟人在马路上碰到,多长时间能认出自己的朋友呢?答案是“马上就行”。而如果换成传统计算机处理,则需要人脸识别计算几秒钟,如果这个老朋友带了眼镜,那么问题就会变得更复杂(眼镜会影响面部特征)——虽然,眼镜不会影响大屏君对老朋友的认识。这种“人”“机”差别就是人脑神经网络处理,与传统计算机逻辑链路处理的效率差异:算1+1=2,人赶不上PC;但是计算模糊和学习模型,PC在人脑面前就是“渣渣”。
NPU的特点就是以神经元网络为模型,开发崭新的、专门用于某类大型并行数据的计算单元,它采用“数据驱动并行计算”模式,极大地提升了计算能力与功耗的比例,特别擅长处理视频、图像类的海量多媒体数据。NPU为视频监控等应用带来的价值是:低成本、高效率、即时性,以及低功耗、小体积。
当然,嵌入式神经网络处理器NPU的用途不止安防一个:但凡需要高效率、高性能、大数据并行处理、即时计算的领域,NPU都可以大有可为。例如无人驾驶系统——日本汽车产业协会的报告称,最晚2030年所有新车都会配备无人驾驶系统。无人驾驶汽车需要实时识别周边的视频信息,NPU技术可以提供高效、即时、可靠且低成本的解决方案。
类似的例子非常多,这些例子总体上可以叫做“机器知觉”——即不再是简单的传递摄像头前前的信息,而是对这些信息给出知识性的分析和结论。所以,大屏君说NPU这类神经网络芯片是未来物联网系统、智慧社会的核心之一。中星微电子星光一号虽然只采用了卷积神经网路(CNN)技术,在其应用上、性能上的瓶颈依然很明显,但是不积跬步何以至千里,何况作为专用机器视觉产品,星光一号还有经济成本优势。
所以,大屏君坚信“我们一天天好起来,敌人一天天烂下去”。只需加以时日,中国创新、中国创造必将还你一个星辰大海。