×
×

谷歌TPU以时间换吞吐量;AlphaGo探索强化学习新起点

2017-11-24 09:30:18 来源:n

​​​谷歌TPU:以时间换吞吐量,软硬兼施,冲入云端

人工智能立夏将至的大趋势下,芯片市场蛋糕越做越大,足以让拥有不同功能和定位的芯片和平共存,百花齐放。后摩尔定律时代,我们强调AI芯片市场不是零和博弈。我们认为在3-5年内深度学习GPU的需求是当仁不让的市场主流。行业由上至下传导形成明显的价值扩张,英伟达和AMD最为受益。在深度学习上游训练端(主要用在云计算数据中心里),GPU是当仁不让的第一选择,但以ASIC为底芯片的包括谷歌的TPU、寒武纪的MLU等,也如雨后春笋。而下游推理端更接近终端应用,需求更加细分,我们认为除了GPU为主流芯片之外,包括CPU/FPGA/ASIC等也会在这个领域发挥各自的优势特点。

但我们需要强调,包括TPU在内的ASIC仍然面临通用性较弱,以及开发成本高企等局限。TPU虽然理论上支持所有深度学习开发框架,但目前只针对TensorFlow进行了深度优化。另外ASIC芯片开发周期长和成本非常高,在开发调试过程中复杂的设计花费有时甚至会超过亿美元,因此需要谷歌这样的计算需求部署量才能将成本分摊到大量使用中。同时ASIC开发周期长,也可能会出现硬件开发无法匹配软件更新换代而失效的情况。

TPU是针对自身产品的人工智能负载打造的张量处理单元TPU。第一代主要应用于在下游推理端TPU。本质上沿用了脉动阵列机架构(systolic array computers),让推理阶段以时间换吞吐量。第二代TPU除了在推理端应用,还可以进行深度学习上游训练环节。将TPU部署在云计算中以云服务形式进行销售共享,在为数据中心加速市场带来全新的需求体验的同时,可进一步激活中小企业的云计算需求市场,另辟AWS、Azure之外蹊径。

AlphaGo的“终点”,强化学习的起点

我们在今年1月的报告《2017 MIT人工智能5大趋势预测:寒梅傲香春寒料峭,人工智能立夏将至》中提到第一大趋势预测:正向强化学习(Positive Reinforcement)正成为深度学习(Deep Learning)后研究应用的最新热点。

强化学习(Reinforcement Learning)的目的是尝试解决对人类标注样本的依赖,并打破特定板块和领域里的学习局限,向无监督、通用型人工智能拓展。强化学习的灵感来自于动物的学习方式。动物能够学会某些特定行为所导致的正面或负面结果(a positive or negative outcome)。按照这种方法,计算机可以通过试错法(trial and error)来与训练环境互动,包括sensory perception和rewards,来决定这一结果的行为相关联。这使得计算机可以不通过具体指示或范例(explicit examples)去学习。

当前人工智能主流应用还是基于深度学习神经网络,从针对特定任务的标记数据中学习,训练过程需要消耗大量人类标注样本。而在很多现实场景下,特定垂直领域的数据并不足以支持系统建构,我们认为强化学习有机会成为下一个机器学习商业成功的驱动力。

谷歌重申买入:人工智能巨头新征途:云+YouTube+硬件

我们早在年初已经开始强调,AI巨头谷歌的新征途——云+YouTube+硬件。YouTube和云计算的巨大增长动力将是谷歌持续转型的助推器: YouTube百般武艺冲劲十足,Q3广告业务净营收增速回升至21%,移动端积极转型执行力坚决。长期眼光看AI和Other Bets创新业务厚积薄发:谷歌是人工智能的龙头标的,我们长期看好语音识别和无人驾驶的发力。公司20日收盘价1035美元,根据彭博一致预期2018年EPS 40.15美元,给予30x PE,目标价1200美元,重申“买入”评级。

风险提示:芯片开发周期过长,市场需求不达预期等。


1. 谷歌TPU:以时间换吞吐量,软硬兼施,冲入云端

AI芯片市场蛋糕越做越大,足以让拥有不同功能和定位的芯片和平共存,百家争鸣非零和博弈。“通用性和功耗的平衡”——在深度学习上游训练端(主要用在云计算数据中心里),GPU是当仁不让的第一选择,ASIC包括谷歌TPU、寒武纪MLU等也如雨后春笋。而下游推理端更接近终端应用,需求更加细分,GPU主流芯片之外,包括CPU/FPGA/ASIC也会在这个领域发挥各自的优势特点。

但我们需要强调,包括TPU在内的ASIC仍然面临通用性较弱,以及开发成本高企等局限。TPU虽然理论上支持所有深度学习开发框架,但目前只针对TensorFlow进行了深度优化。另外ASIC芯片开发周期长和成本非常高,在开发调试过程中复杂的设计花费有时甚至会超过亿美元,因此需要谷歌这样的计算需求部署量才能将成本分摊到大量使用中。同时ASIC开发周期长,也可能会出现硬件开发无法匹配软件更新换代而失效的情况。

ASIC(Application Specific Integrated Circuit,专用集成电路):细分市场需求确定后,以TPU为代表的ASIC定制化芯片(或者说针对特定算法深度优化和加速的DSA,Domain-Specific-Architecture),在确定性执行模型(deterministic execution model)的应用需求中发挥作用。我们认为深度学习ASIC包括英特尔的Nervana Engine、WaveComputing的数据流处理单元、英伟达的DLA、寒武纪的NPU等逐步面市,将依靠特定优化和效能优势,未来在深度学习领域分一杯羹。

神经网络的两个主要阶段是训练(Training和Learning)和推理(Inference和Prediction)。当前几乎所有的训练阶段都是基于浮点运算的,需要进行大规模并行张量或多维向量计算,GPU依靠优秀的通用型和并行计算优势成为广为使用的芯片

在推理阶段,由于更接近终端应用需求,更关注响应时间而不是吞吐率。由于CPUGPU结构设计更注重平均吞吐量(throughout)的time-varying优化方式,而非确保延迟性能。谷歌设计了一款为人工智能运算定制的硬件设备,张量处理单元(Tensor Processing Unit, TPU)芯片,并在2016年5月的I/O大会上正式展示。

第一代TPU的确定性执行模型(deterministic execution model)针对特定推理应用工作,更好的匹配了谷歌神经网络在推理应用99%的响应时间需求。第一代TPU是在一颗ASIC芯片上建立的专门为机器学习和TensorFlow量身打造的集成芯片。该芯片从2015年开始就已经在谷歌云平台数据中心使用,谷歌表示TPU能让机器学习每瓦特性能提高一个数量级,相当于摩尔定律中芯片效能往前推进了七年或者三代。

谷歌表示,这款芯片目前不会开放给其他公司使用,而是专门为TensorFlow所准备。TPU的主要特点是:

1、从硬件层面适配TensorFlow深度学习系统,是一款定制的ASIC芯片,谷歌将TPU插放入其数据中心机柜的硬盘驱动器插槽里来使用;

2、数据的本地化,减少了从存储器中读取指令与数据耗费的大量时间;

3、芯片针对机器学习专门优化,尤其对低运算精度的容忍度较高,这就使得每次运算所动用的晶体管数量更少,在同时间内通过芯片完成的运算操作也会更多。研究人员就可以使用更为强大的机器学习模型来完成快速计算。

自2016年以来,TPU运用在人工智能搜索算法RankBrain、搜索结果相关性的提高、街景Street View地图导航准确度提高等方面。在I/O大会上,皮查伊顺带提到了16年3月份行的举世瞩目人机大战里,在最终以4:1击败围棋世界冠军李世石的AlphaGo身上,谷歌也使用了TPU芯片

谷歌把:

1、2015年击败初代击败樊麾的版本命名为AlphaGo Fan,这个版本的AlphaGo运行于谷歌云,分布式机器使用了1202个CPU和176个GPU

2、去年击败李世石的版本AlphaGo Lee则同样运行于云端,但处理芯片已经简化为48个第一代TPU。

3、今年击败柯洁的Master以及最新版本Zero则通过单机运行,只在一个物理服务器上部署了4个第一代TPU。(AlphaGo的背后算法详解,可参见我们此前的深度报告《谷歌人工智能:从HAL的太空漫游到AlphaGo,AI的春天来了》)

1.1. 谷歌以TPU为破局者,软硬兼施,加速云端AI帝国

AI芯片领域数据中心市场空间巨大,我们看到市场主流GPU之外,谷歌破局者之态依靠TPU2.0的浮点运算升级自下而上进入云计算服务。谷歌当下不直接销售硬件,但将TPU部署在云计算中以云服务形式进行销售共享,在为数据中心加速市场带来全新的需求体验的同时,可进一步激活中小企业的云计算需求市场,另辟AWS、Azure之外蹊径。我们长期看好谷歌基于公司AIFirst战略规划打造AI开发软硬件一体化开发帝国。

不过TPU虽然理论上支持所有深度学习开发框架,但目前只针对TensorFlow进行了深度优化。而英伟达GPU支持包括TensorFlow、Caffe等在内所有主流AI框架。因此谷歌还在云计算平台上提供基于英伟达TeslaV100 GPU加速的云服务。在开发生态方面,TensorFlow团队公布了TensorFlow Research Cloud云开发平台,向研究人员提供一个具有1000个云TPU的服务器集群,用来服务各种计算密集的研究项目。

1.2. 第一代TPU:脉动阵列“获新生”,以时间换吞吐量

第一代TPU面向的推理阶段,由于更接近终端应用需求,更关注响应时间而不是吞吐率。相对于CPUGPU结构设计更注重平均吞吐量(throughout)的time-varying优化方式,而非确保延迟性能。第一代TPU的确定性执行模型(deterministic execution model)针对特定推理应用工作,更好的匹配了谷歌神经网络在推理应用上99%的响应时间需求。由于TPU没有任何存储程序,仅执行从主机发送的指令,这些功能的精简让TPU有效减小芯片面积并降低功耗。

谷歌在今年4月的体系结构顶会ISCA 2017上面,发布了一篇介绍TPU相关技术以及与其它硬件比较的论文,并被评为最佳论文。我们通过论文得以看到第一代TPU的设计思路以及性能比较。

第一代TPU从2015年开始就被使用在谷歌云计算数据中心的机器学习应用中,面向的是推理阶段。首先看性能比较(鉴于2016年以前大部分机器学习公司主要使用CPU进行推理,谷歌在论文中TPU的比较对象产品为英特尔服务器级HaswellCPU和英伟达TeslaK80 GPU),谷歌表示:

1、 针对自身产品的人工智能负载,推理阶段,TPU处理速度比CPUGPU快15-30倍;

2、 TPU的功耗效率(TOPS/Watt,万亿次运算/瓦特)也较传统芯片提升了30-80倍;

3、 基于TPU和TensorFlow框架的神经网络应用代码仅需100-1500行。

基于在成本-能耗-性能(cost-energy-performance)上的提升目标,TPU的设计核心是一个65,536(256x256)个8位MAC组成的矩阵乘法单元(MAC matrix multiply unit),可提供峰值达到92 TOPS的运算性能和一个高达28 MiB的软件管理片上内存。TPU的主要设计者NormanJouppi表示,谷歌硬件工程团队最开始考虑过FPGA的方案,实现廉价、高效和高性能的推理解决方案。但是FPGA的可编程性带来的是与ASIC相比在性能和每瓦特性能的巨大差异。

从上图我们看到,TPU的核心计算部分是右上方的黄色矩阵乘法单元(Matrix Multiply unit),输入部分是蓝色的加权FIFO和一致缓冲区(Unified Buffer,输出部分是蓝色的累加器(Accumulators)。在芯片布局图中我们看到,蓝色的缓存的面积占37%,黄色的计算部分占30%,红色的控制区域只占2%,一般CPUGPU的控制部分会更大而且难以设计。

我们深挖谷歌TPU论文,在参考文献中提及了谷歌申请的专利,核心的专利Neural Network Processor作为总构架在2015年就已提交,并在2016年公开(后续专利在2017年4月公开,专利号:US2017/0103313,即下图12所示),同时还包括了几个后续专利:如何在该构架上进行卷积运算、矢量处理单元的实现、权重的处理、数据旋转方法以及Batch处理等。

专利摘要概述:一种可以在多网络层神经网络中执行神经网络计算的电路,包括一个矩阵运算单元(matrix computation unit):对多个神经网络层中的每一层,可以被配置为接收多个weights输入和多个activation输入,并对应生成多个累积值;以及矢量运算单元(vector computation unit),其通信耦合到所述矩阵运算单元。

TPU的设计思路比GPU更接近一个浮点运算单元,是一个直接连接到服务器主板的简单矩阵乘法协处理器。TPU上的DRAM是作为一个独立的并行单元,TPU类似CPUGPU一样是可编程的,并不针对某一特定神经网络设计的,而能在包括CNN、LSTM和大规模全连接网络(large, fully connected models)上都执行CISC指令。只是在编程性上TPU使用矩阵作为primitive对象,而不是向量或标量。TPU通过两个PCI-E3.0 x8边缘连接器连接协处理器,总共有16GB/s的双向带宽。

我们看到,TPU的matrix单元就是一个典型的脉动阵列架构(systolic array computers)。weight由上向下流动,activation数据从左向右流动。控制单元实际上就是把指令翻译成控制信号,控制weight和activation如何传入脉动阵列以及如何在脉动阵列中进行处理和流动。由于指令比较简单,相应的控制也是比较简单的。

从性能上,脉动阵列架构在大多数CNN卷积操作上效率很好,但在部分其他类型的神经网络操作上,效率不是太高。另外脉动阵列架构在上世纪80年代就已经被提出,Simpleand regular design是脉动阵列的一个重要原则,通过简单而规则的硬件架构,提高芯片的设计和实现的能力,从而尽量发挥软件的能力,并平衡运算和I/O的速度。脉动阵列解决了传统计算系统:数据存取速度往往大大低于数据处理速度的问题,通过让一系列在网格中规律布置的处理单元(ProcessingElements, PE),进行多次重用输入数据来在消耗较小的带宽的情况下实现较高的运算吞吐率。但是脉动阵列需要带宽的成比例的增加来维持所需的加速倍数,所以可扩展性问题仍待解决。

对比GPU的硬件架构,英伟达的游戏显卡GeForce GTX 1070 Ti使用的是Pascal架构16纳米制程,主频1,607MHz,拥有2,432个CUDA核心和152个纹理单元,2MB L2 cache,功耗180 W,8GB GDDR5内存。英伟达GPU的核心计算单元CUDA核心专为同时处理多重任务而设计,数千个CUDA核心组成了GPU的大规模并行计算架构。而在计算过程中,主要计算流程为:

1)从主机内存将需要处理的数据read到GPU的内存;

2)CPU发送数据处理执行给GPU

3)GPU执行并行数据处理;

4)将结果从GPU内存write到主机内存。通过编译优化把计算并行化分配到GPU的多个core里面,大大提高了针对一般性通用需求的大规模并发编程模型的计算并行度。

1.3. 第二代TPU:可进行深度学习上游训练计算

第二代TPU,又名Cloud TPU,能够同时应用于高性能计算和浮点计算,峰值性能达到180 TFLOPS/s。与第一代TPU只能应用于推理不同,第二代TPU还可以进行深度学习上游训练环节。随着第二代TPU部署在Google Compute Engine云计算引擎平台上,谷歌将TPU真正带入云端。

谷歌在今年5月17日举办了2017年度I/O开发者大会。一场并未有太多亮点的大会上,谷歌CEO皮查伊继续强调公司AI First的传略规划。最为振奋人心的当属第二代TPU——Cloud TPU的发布。

谷歌同时发布了TPU Pod,由64台第二代TPU组成,算力达11.5 petaflops。谷歌表示1/8个TPU Pod在对一个大型机器翻译模型训练的只需要6个小时,训练速度是市面上32块性能最好的GPU的4倍。

谷歌此前强调,第一代TPU是一款推理芯片,并不用作神经网络模型训练阶段,训练学习阶段的工作仍需交由GPU完成。早在去年I/O大会上公布TPU之前,谷歌就已经将TPU应用在各领域任务中,包括:图像搜索、街景、谷歌云视觉API、谷歌翻译、搜索结果优化以及AlphaGo的围棋系统中。

而这次第二代TPU的升级,自下而上的进入深度学习上游,应用在图像和语音识别,机器翻译和机器人等领域,加速对单个大型机器学习模型的训练。第二代TPU在左右两侧各有四个对外接口,左侧还有两个额外接口,未来可能允许TPU芯片直接连接存储器,或者是高速网络,实现更加复杂的运算以及更多的扩展功能。在半精度浮点数(FP16)情况下,第二代TPU的单芯片可以达到45Teraflops(每秒万亿次的浮点运算),4芯片的设计能达到180 Teraflops。(对比第一代TPU算力:8位整数运算达92TOPS,16位整数运算达23TOPS)

对TPU Pod的结构进行简要分析,四机架的镜像结构包含64个CPU板和64个第二代TPU板,The Next Platform推测CPU板是标配英特尔Xeon双插槽主板,因此整个Pod机柜包括128个CPU芯片和256个TPU芯片

The Next Platform认为,谷歌使用两条OPA线缆将每块CPU板一一对应连接至TPU板,使得TPU与CPU的使用比例为2:1,这种TPU加速器与处理器之间高度耦合的结构,与典型的深度学习加速结构中GPU加速器4:1或6:1的比例不太一样,更强调了TPU作为协处理器的设计理念——CPU处理器还是需要完成大量的计算工作,只是把矩阵计算的的任务卸载到TPU中完成。

1.4. 谷歌重申买入:人工智能巨头新征途:云+YouTube+硬件

我们早在年初已经开始强调,人工智能巨头新征途——云+YouTube+硬件。YouTube & 云计算的巨大增长动力将是谷歌持续转型的助推器,长期看好AI和OtherBets创新业务厚积薄发。

3Q17营收277.7亿美元,同比涨24%,高于华尔街预期219亿美元,主要鉴于移动端广告搜索业务和YouTube的增长。EPS9.57美元,高于预期8.31美元。广告业务营收240.7亿美元,同比涨21%,其他业务包括云计算和硬件销售达34.1亿美元,同比大涨40%(尚未囊括10月发布的Pixel2等新产品销售收入)。新兴业务OtherBets营收同比涨53%至3.02亿美元,但亏损环比略涨至8.12亿美元。

核心广告指标Cost per click实现环比转正,移动端转型之势给予市场极大信心。谷歌股价3季度跑输大盘,外部压力包括欧盟审查、美国选举操控等舆论监管压力。我们认为虽然在情绪面上承压,但对公司业绩基本面影响有限。根据彭博一致预期2018年EPS40.15美元,给予30xPE,目标价1200美元,重申“买入”评级。

YouTube百般武艺冲劲十足,移动端积极转型执行力坚决

YouTube成长继续保持蓬勃动力,Pichai表示用户通过电视观看YouTube的总时长达到1亿小时/日,同比剧增70%。YouTubeTV网络电视服务超过30个城市,包括40个电视台节目的打包订阅费35美元/月,仅为有线电视订阅均价的一半。根据eMarketer预测,2017年美国视频广告市场增速强劲,整体规模预计增长23.7%至132.3亿美元,YouTube作为龙头将贡献21.7%约28.7亿美元。

广告营收向移动设备转移步伐扎实,广告业务净营收增速回升至21%,广告业务指标Cost per click同比降-18%,对比Q2的-23%和Q1的-19%,但16年以来环比首现转正。Paidclicks同比涨47%,对比Q2的52%和Q1的44%,自由网站尤其是YouTube极大拉动用户点击意愿。我们强调,在移动端获取搜索流量的成本会高于PC端,谷歌需要向包括iPhone在内的合作伙伴支付更多的流量获取成本和收入分成,谷歌已证明在移动广告上拥有不逊于Facebook的市场执行力。

谷歌是人工智能的龙头标的

我们长期看好人工智能,发力语音识别和无人驾驶:我们认为语音识别技术已经足够进入普及。DeepMind成为谷歌AI的标签门面,看好进一步实现前瞻AI技术与现有业务的有效整合。

C端谷歌软硬兼施,Pixel手机+Home音箱+AssistantAI助理打造AI生态圈,探索人机交互便捷方式和广告业务协同效应。9月以11亿美元收购HTC打造Pixel手机的团队。无人驾驶业务Waymo初试共享经济,领投Lyft把握用户入口将成为未来布局关键。

2. 初代AlphaGo原理简介

我们在今年1月的《谷歌人工智能深度解剖》报告中详细介绍过AlphaGo的程序原理。简单来说,AlphaGo的算法基于两个不同的部分:蒙特卡洛树搜索和指导树搜索的卷积神经网络。与以前的蒙特卡洛程序不同,AlphaGo使用了深度神经网络来指导它的树搜索。卷积神经网络分为“策略网络”(这个网络又分为“监督学习”和“强化学习”两种模式)和“价值网络”。这两个神经网络以当前围棋盘面为初始值,以图片的形式输入系统中。

这里面的“策略网络”用来预测下一步落子并缩小搜索范围至最有可能获胜的落子选择。“价值网络”则用来减少搜索树的深度——对每一步棋局模拟预测至结束来判断是否获胜。与此前的蒙特卡洛模拟程序不同的是,AlphaGo使用了深度神经网络来指导搜索。在每一次模拟棋局中,策略网络提供落子选择,而价值网络则实时判断当前局势,综合后选择最有可能获胜的落子。

下图是我们经过仔细研究DeepMind团队在学术杂志《自然》上发表的论文原文,精心制作的AlphaGo系统原理图解。

3. AlphaGo Zero的进化:强化学习,万物归零

谷歌DeepMind最近在Nature上发布AlphaGo最新论文,介绍了目前最强版本AlphaGo Zero,在没有先验知识的前提下,仅通过强化学习(Reinforcement Learning)自我训练,将先前的两个神经网络:价值网络和策略网络整合为一个框架,仅通过3天的训练就以100:0的成绩击败了曾经战胜李世石的AlphaGo版本。

我们认为AlphaGo Zero的进化是在围棋这个非常细分的特定问题上做的算法极致优化:

1、 AlphaGoZero只使用棋盘上的黑白棋子作为输入,训练完全从随机落子开始,而此前的AlphaGo版本均使用了少量人工标注的特征。

2、 Zero背后的神经网络精简为一个,此前AlphaGo使用的两个神经网络:价值网络(Value Network)和策略网络(Policy Network)被整合为一个框架。在这个神经网络中,Zero应用了更简单的Monte-Carlo树搜索,实现更高效的训练和评估。

3、 Zero没有使用“走棋策略”(Rollouts),这是其他围棋程序以及AlphaGo最初版本中使用的快速走棋策略(Fast Rollout Policy):进行快速判断较优落子选择,适当权衡走棋质量精准度与速度。相反Zero引入了全新的强化学习算法来在训练回路(training loop)中做前向搜索(lookahead search)。极大地提高了棋力以及学习稳定性。

算法的改善提升了AlphaGo系统的性能以及通用性,并极大地降低了系统能耗。谷歌把2015年初代击败樊麾的版本命名为AlphaGoFan,这个版本的AlphaGo运行于谷歌云,分布式机器使用了1202个CPU和176个GPU。去年击败李世石的版本AlphaGoLee则同样运行于云端,但处理芯片已经简化为48个第一代TPU。今年战胜柯洁的AlphaGoMaster,运算量只有上一代AlphaGoLee的十分之一,在单机上运行,只在一个物理服务器上部署了4个第一代TPU。

4. 强化学习:减少对数据样本的依赖,里程碑后的新起点

AlphaGo与李世石的世纪大战,是人工智能领域,尤其是深度强化学习技术的一个里程碑。

当前人工智能主流应用还是基于深度学习神经网络,从针对特定任务的标记数据中学习,训练过程需要消耗大量人类标注样本。在很多现实场景下,特定垂直领域的数据并不足以支持系统建构,因此尝试解决对人类标注样本的依赖,包括强化学习、迁移学习(Transfer Learning)、多任务学习(Multi-task Learning)、零样本学习(zero-shot learning)有机会成为下一个机器学习商业成功的驱动力。

强化学习(Reinforcement Learning),就是智能系统从环境到行为映射的学习。人工智能的终极目标是模仿人类大脑的思考操作,而强化学习的灵感则来自于动物的学习方式。动物能够学会某些特定行为所导致的正面或负面结果(positive or negative outcome)。按照这种方法,计算机可以通过试错法(trial and error)来与训练环境互动,包括sensory perception和rewards,来决定这一结果的行为相关联。这使得计算机可以不通过具体指示或范例(explicit examples)去学习。

其实强化学习理论已经存在了数十年,但通过与大型深度神经网络的结合,让我们真正获得了解决复杂问题(如下围棋)所需的能力。通过不懈的训练与测试,以及对以前比赛的分析,AlphaGo能够为自己找出了如何以职业棋手下棋的道路。

我们在今年1月的报告《2017 MIT人工智能5大趋势预测:寒梅傲香春寒料峭,人工智能立夏将至》中提到第一大趋势预测:正向强化学习(Positive Reinforcement)正在成为深度学习(Deep Learning)之后研究应用的最新热点。虽然随着Master战胜柯洁,DeepMind宣布了AlphaGo的退役,但我们认为AlphaGo的“终点”,正开启了强化学习的起点。

4.1. 游戏中的人机互动

从Atari到Labyrinth,从连续控制到移动操作到围棋博弈,DeepMind的深度强化学习智能系统在许多领域都表现出优异的成绩。人工智能的一大难题就是局限于在特定的板块和领域里学习。DeepMind这个板块和领域中性的学习算法能够帮助不同的研究团队处理大规模的复杂数据,在气候环境、物理、医药和基因学研究领域推动新的发现,甚至能够反过来辅助科学家更好的了解人类大脑的学习机制。

可以预期的是,强化学习将能够在现实世界情景中得到更多的实用证明。过去一年中我们看到一些模拟环境(simulated environments)的推出,包括DeepMind的DQN、OpenAI的Universe以及著名的沙盒游戏《Minecraft》。这个游戏在2014年被微软收购,目前微软剑桥研究院的研究人员正通过这款游戏进行游戏内人与AI的互动协作研究。

研究人员开发了一个Malmo项目,通过这个平台使用人工智能控制Minecraft游戏里面的角色完成任务。这个项目被视为有效的强化学习训练平台。通过特定的任务奖励,人工智能能够完成研究人员布置的游戏任务,例如控制角色从一个布满障碍物的房间的一头走到另一头。同时,人工控制的角色还会在旁边提供建议,进行人与AI协作的测试

4.1.1. DeepMind之DeepQ-Network (DQN)

DeepMind在2015年2月于《自然》上发表了一篇《人类控制水平的深度强化学习》的论文,描述了其开发的深度神经网络DeepQ-Network (DQN)将深度神经网络(Deep Neural Networks)与强化学习(Reinforcement Learning)相结合的深度强化学习系统(DeepReinforcement Learning System)。Q-Network是脱离模型(model-free)的强化学习方法,常被用来对有限马尔科夫决策过程(Markov decision process)进行最优动作选择决策。

谷歌设计的这个神经网络能够完成雅达利(Atari)游戏机2600上一共49个游戏,从滚屏射击游戏RiverRaid,拳击游戏Boxing到3D赛车游戏Enduro等。令他们惊喜的是,DQN在所有游戏过程都可以使用同一套神经网络模型和参数设置,研究人员仅仅向神经网络提供了屏幕像素、具体游戏动作以及游戏分数,不包含任何关于游戏规则的先验知识。

游戏结果显示,DQN在一共49个游戏中的43个都战胜了以往任何一个机器学习系统,并且在超过半数的游戏中,达到了职业玩家水平75%的分数水平。在个别游戏中,DQN甚至展现了强大的游戏策略并拿到了游戏设定的最高分数。

虽然Atari游戏为深度学习系统提供了多样性,但它们都还是二维动画层面的游戏。DeepMind最近开始把研究重心放在3D游戏中并开发了一套3D迷宫游戏Labyrinth进行深度学习系统的训练。与之前类似,智能系统只获得了在视场(field-of-view)中观察到的即时像素输入,需要找到迷宫地图的正确宝藏路径。

DQN作为第一个深度学习系统,通过进行端到端训练完成一系列有难度的任务。这样的技术能够有效运用到谷歌的产品服务中,我们可以想象一下,以后用户可以直接发出指令要求谷歌为他制定一个欧洲背包旅行计划。

4.1.2. OpenAIUniverse:通用vs 具体

人工智能非牟利组织OpenAI去年推出了Universe。这是一个用于训练解决通用问题的AI基础架构,能在几乎所有的游戏、网站和其他应用中衡量和训练AI通用智能水平的开源平台。这是继去年12月OpenAI发布可以用来开发强化学习算法的开发工具Gym之后,向通用型人工智能进一步扩展的新动作。

OpneAI Universe的目标是开发一个单一的AI智能体,使其能够灵活运用过去在Universe中的经验,快速在陌生和困难的环境中学习并获得技能,这也是通往通用型人工智能的重要一步。目前,Universe包括了大约2600 种Atari 游戏,1000种flash 游戏和80 种浏览器环境,可供所有人用于训练人工智能系统。最近,Universe加入了游戏大作《GTA5》。用户只需购买正版游戏,即可使用Universe中的人工智能在游戏中的3D环境中纵横驰骋。在Universe的新测试环境中,人工智能获取视频信息的帧数被限制在了8fps,环境信息和视角管理齐备。此次开源GTA5让普林斯顿大学开发的自动驾驶模拟测试平台DeepDrive在GTA世界中进行测试变得更加简便易行。

4.2. 更瘦、更绿的云计算数据中心

在2017年,我们预计看到强化学习更多的出现在自动驾驶系统和工业机器人控制等方面。谷歌一直在致力于更瘦、更绿的云计算数据平台。早在2014年,谷歌通过安装智能温度和照明控制以及采用先进的冷却技术而非机械冷却器,最小化能量损失,使其数据中心的耗电量比全球数据中心平均水平的低50%。而且对比自己的数据中心,谷歌现在的数据处理性能是5年前的3.5倍,但能耗却没有提高。

如今,坐拥DeepMind的谷歌在很大程度上又走在世界前沿。DeepMind将强化学习神经网络技术应用到云计算数据中心的能源控制方面,通过获取数据中心内的传感器收集的大量历史数据(如温度、功率、泵速、设定点等),首先在未来平均PUE(Power Usage Effectiveness,电力使用效率)值上训练神经网络系统。PUE是总建筑能源使用量与IT能源使用量的比率,是衡量数据中心能源效率的标准指标,而每一部仪器可以受到几十个变量的影响。通过不断的模拟调整模型与参数,使其接近最准确预测的配置,提高设施的实际性能。团队训练两个额外的深层神经网络集合,以预测未来一小时内数据中心的温度和压力,模拟来自PUE模型的推荐行为。

通过18个月的模型研发与测试,DeepMind联合谷歌云的研发团队成功为数据中心节省了40%的冷却能耗以及15%的总能耗,其中一个试点已经达到了PUE的最低点,未来该技术的可能应用于提高发电转换效率、减少半导体生产的能量和用水量,或帮助提高生产设施的产量。机器学习为数据中心节省能源,减少了更多的碳排放。DeepMind和谷歌云计算团队计划将这项成果开源出来,造福全世界的数据中心、工厂和大型建筑等,打造一个更绿色的世界。

全部评论