机器学习是在VR/AR之后最被业界看好的技术,几乎所有的业界巨头都有涉足。
在硬件领域,英特尔Xeon Phi家族与英伟达Tesla P/K系列,分别是X86和GPU阵营的机器学习芯片代表。软件领域的微软、Google、facebook等巨头也早就在自家产品中加入机器学习,当中的Google甚至也定制了神经网络专用的TPU(张量处理单元)和英伟达的硬拼。
虽然Google和facebook这种厂商很早就把机器学习的成功应用在自家的搜索、图片和视频相关业务上。但不可否认,此前的机器学习无论是技术还是设备门槛,对于普通用户,甚至很多软硬件开发者来说,依旧是非常高大上和陌生的高科技。
这一切,得等到高通在骁龙计算平台上加入机器学习相关的软硬件支持之后才开始有所转变。高通作为受众最广的移动领域上游厂商,其在消费级产品上加入机器学习支持,这个理念不但超前,而且还很可能是里程碑式的。
起起落落60载,机器学习为何物?
人工智能学科在20世纪40年代诞生,第一个游戏AI在1951年出现,但其实只是个可以下西洋棋的程序。1956年达特茅斯会议后的数年,是人工智能的大发现时代,那时候的计算机已经可以证明几何定理、学习和使用英语了。
随后的60年,人工智能经过了几次大起大落,资本进进出出。但却留下了1997年击败人类国际象棋世界冠军的深蓝、在2011年的《危险边缘》击败人类的IBM 沃森以及2017年在围棋击败人类的AlphaGo等影响了好几代人的里程碑事件。
60年间,人工智能的发展重点经过从“推理”到“知识”再到“学习”为主导的变迁,分别代表了程序、暴力穷尽和神经网络等不同时代的人中只能方案。而提到人工智能就必须要提到机器学习和深度学习。
与传统的有明确目标的程序不同,机器学习具备自行创建模型和算法的能力,其是通过大量数据让计算机从数据中自动分析和改善算法模型,从而对未知数据进行预测的过程。机器学习早已被广泛应用于数据挖掘、计算机视觉、自然语言处理、手写识别、生物特征识别、搜索引擎、DNA测序等领域。
实现计算机自动创建并修正模型和算法的方案有很多种,而深度学习则是近年来名声最大、应用最广的分支。深度学习通过模拟生物大脑神经元的神经网络架构,对数据进行进行高层抽象。
在困扰数据科学家几十年,但又最贴近用户的计算机视觉、语音识别、自然语言处理等领域,深度神经网络、卷积神经网络、深度置信、递归神经网络等深度学习框架都取得了巨大的成功,让深度学习在近年来声名大噪。
Siri/Google Assistant/微软小娜等语音助手、刚开始爆发的智能音箱、Prisma线上自动修图、手机云相册的人脸识别和筛选等,这些以前看起来很神奇的功能,都是深度学习的直接结果。
计算机慢慢地开始可以表现得像人类,甚至代替人类做简单的脑力工作了。换个浅显一点的角度看,机器学习正在把语音和图像,这些以前计算机无法理解和使用的数据转换为实用功能了。
高通初见成果的十年耕耘
和其他巨头一样,高通很早就进入了人工智能领域。10年前,真正的智能手机诞生之初,高通就开始了人工智能的基础研究,随后高通投资并和Brain Corp合作,专注于生物真实性的脉冲神经网络的研究。
2013年,高通研究人工神经处理构架并通过深度学习进行人脸识别的研究。2014年,高通收购了Euvison并于次年的MWC上展示了照片分类和手写识别技术。
在深度学习大热的2016年,高通和Google两个巨头在机器学习上合作,骁龙平台对Google的TensorFlow机器学习语言做了适配和相互优化。同年,高通推出了NPE(Neural Processing Engine神经处理引擎)深度学习软件开发包SDK。
2017年,高通宣布支持Facebook的 Caffe2开源深度学习框架,随后高通收购了从阿姆斯特丹大学(UvA)分拆的人工智能公司Scyfer。
此外,高通也是最早大规模应用深度学习成果的厂商。高通的最早落地的人工智能项目是2013年的Zeroth处理器和Zeroth认知计算平台,其核心正是深度学习。
在早期试验性质的骁龙Rover、骁龙Cargo等机器人上,高通通过深度卷积神经网络,实现了人脸识别和视觉避障等功能,在与Planet GmBH的合作中则实现了OCR手写识别。
最早从机器学习中受益的移动摄影领域,早在2015年就开始大规模应用机器学习的成果。当年安卓旗舰开始搭载的各种情景模式相机、OCR识别文本和笔迹的能力,用的正是就高通骁龙系列处理器的开放接口。
而更上一阶的Google,在自家手机系列上的HDR+技术,正是通过高通的Hexagon DSP,使用Halide语言提供的深度学习能力进行图形处理加速。
和以前的处理器构架、传感器、指纹、曲面屏等单一的技术突破不同,深度学习几乎可以强化所有和算法有关的部分。而高通今年的骁龙835,可以说是史上机器学习成果最集中的一代移动计算平台,经过了大量认知训练的机器学习算法和应用,被用于对续航、相机、安全、连接和VR/AR的优化上。
影像方面,机器学习优化了骁龙平台对场景模式的分类能力,在HDR、夜景等算法判断以及多帧合成的过程中,机器学习用于帮助手机识别场景和物体边缘,提供更好的锐化和降噪效果,这些都是传统算法和硬件都无法提供的可能性。
而在即将全面爆发的双摄领域,无论是黑白双摄的画面数据合成和优化,长短焦双摄的平滑变焦、大量的后期降噪和锐化算法、还是背景虚化所需的物体边缘识别和抠图算法,都少不了深度学习。
在更偏向后期的图像增强领域,骁龙835的机器学习可以根据现有的数据,以及从其他类似图像训练出来的算法进行推断,对图像进行重建或填充图像中缺失的部分,以此提升多帧合成的后期降噪和去鬼影效果。
配合Hexagon 682 DSP,骁龙835上追踪速度和精度更高的面部检测和人脸识别,可以用于改善自动对焦性能或进行人像美化,甚至是在视频拍摄过程中的使用人工智能完成追焦任务。
在Google和苹果刚加入战局的虚拟现实/增强现实领域,其重点是用户物理位置的感知定位和高速的画面渲染。机器学习在骁龙835上被用于整合摄像头和传感器数据,高通的视觉惯性测距(VIO)头部运动跟踪系统,在处理摄像头的30 FPS的画面外,还需要以高达800-1000Hz的频率处理加速度计和陀螺仪在6自由度(6-DOF)的数据。
在骁龙835的异构计算系统中,这个工作交给了Hexagon 682 DSP处理,以提供比CPU高4倍的性能和更低的耗电,而画面渲染则交给了性能提升高达 25% 的 Adreno 540 。机器学习甚至还会预测下一个画面,让GPU精确调整当前内容。
在视觉之外的自然语言处理上,大规模神经网咯训练出来的算法很早之前就能做到实时的语音转文字,而骁龙835上运用的深度神经网络,被用来学习如何更好地理解语音指令和问题,通过将其转化为合适的指令,而且DSP可以做到比以前更低的功耗、响应更快的全天候语音待命。
在骁龙835上,高通整合了SecureMSM的软硬件并引入了Haven安全平台,以提升生物识别与终端认证的安全性。让骁龙835成为首个支持全部生物识别方案的计算平台,在几年前就开始用机器学习的Sense ID 3D指纹识别和声纹信息的生物识别之外,骁龙835可以使用安全摄像头实现基于眼球、面部,甚至虹膜的识别。
机器学习的预测能力也被加入到大家已经习以为常的通话上,在骁龙835上除了环境声音检测和消除,还能对声音模式进行预测和判断。
命运式的差异:高通的移动终端机器学习
机器学习需要进行大量的数据训练,以前的移动设备根本不具备神经网络模拟的硬件电路和运算能力,所以现阶段大部分厂商的机器学习都是基于大型的CPU/GPU集群,然后通过云端与移动连接,从而提供计算机视觉、语音助手等深度学习功能。
这就是为什么智能语音助手一但断网就基本残废,以及相册应用中的人脸识别和分类功能,只能在照片上传云端之后才能使用的原因。
而高通在通讯和移动血统上的差异,让其在机器学习的出发点和立意上,就注定和其他芯片厂商完全不同,并提出了截然不同的思路——移动终端的机器学习。
高通定义了NPU(Neural Processing Unit,神经处理单元)并改用其执行深度学习任务后,其目标是让智能手机、汽车、无人机、机器人等数十亿移动设备,都能实现一定程度的人工智能。
更出乎业界预料的是,高通在去年的骁龙820、今年的骁龙835和骁龙660等计算平台上就加入了大量深度学习的支持(而业界下一个跟进的Kirin 970得等到2017年底才会量产)。
骁龙835还加入NPE神经网络技术支持,支持卷积和循环神经网络加速,厂商可以定制神经网络层,高通也以极高的速度引入了Caffe、CudaConvNet、Google TensorFlow和facebook 的Caffe 2等深度学习语言和框架的支持。
当中的关键是高通的异构计算概念和近年来规模和性能暴涨的Hexagon DSP。其内置的HVX(Hexagon向量扩展)专门用于图像和视频处理、虚拟现实和机器视觉等应用,其还借用了大量来自高级CPU内核的概念,让骁龙平台的DSP成为了移动端性能最强、功能最广的DSP。
Hexagon 682在机器学习方面的的性能达到CPU的8倍,但却比CPU省电25倍。骁龙和NPE所带来的重要优势是,开发者和OEM厂商能够基于应用的功能和性能要求,自行在Kryo 280 CPU、Adreno 540 GPU和Hexagon DSP 及其Hexagon Vector eXentions(HVX)中,选择最高效的异构化核心运行模型。
高通的移动化机器学习理念虽然非常大胆,但确注定是未来的其中一个形态。无论是在无人驾驶、计算机视觉识别,还是自然语言处理等机器学习,移动端在即时响应、可靠性、隐私保护等很多优势,都是现有的云端模式所无法提供的。
此外,移动端是最重要的图像和声音数据源,在最靠近数据源的位置处理,除了高效利用网络带宽外,还是对云端处理的重要补充。
高通对机器学习的方案和态度,和英特尔、英伟达等传统硬件厂商截然不同。把机器学习功能加入到自家的消费级旗舰骁龙835上,这就足以在人工智能史上留下浓墨重彩的一笔了。
骁龙系列是地球上应用最广泛的计算平台之一,在这上面加入机器学习支持,变相等于为数十亿的移动终端设备加入深度学习支持,让移动设备变成移动的人工智能平台,极大地降低了机器学习的软硬件门槛,为全世界的应用开发商和开发者打开了新世界的大门。
大量以前只能在服务器端部署的深度学习算法,都可以交给移动终端完成。在速度、安全和实时性上的巨大提升,让本地的计算机视觉、真正的个人语音助理、AR增强现实等都将成为可能。
总结
机器学习虽然听起来高大上,但本质还是运行在特定电路上的算法。写算法的人类是有边界的,但我们创造了在算法和模型上都超越人类的机器。人类的发展史,就是制造比自身更强的工具为人类代劳的历史。在机器学习这件事上,本质也和以前一样,只是以前工具代替的是人力劳动,而机器学习代替的是人类脑力劳动。
移动化浪潮之后,社会从PC为主导的信息时代过渡到智能时代,而机器学习将会是下一个拐点。其与以前在处理器、传感器、用户界面等方面的单点突破不同,作为让骁龙835在摄影、VR/AR、语音检测、安全性等多方面,以超越摩尔定律的速度暴涨的功臣,机器学习几乎可以用在几乎所有和算法相关的领域。
高通10年前就开始研究和布局的人工智能,从早期人脸识别和OCR领域的初露锋芒,到在骁龙835上的多点突破,再到移动端机器学习的支持和布局,都领先了移动市场一大截。但高通囊括了智能手机、VR/AR、智能穿戴、智能家居、无人机、无人驾驶等多个领域,数十亿设备的万物升级,才刚刚开始。