COCO 2017竞赛,在旷视科技首席科学家、研究院院长孙剑博士的带领下,旷视研究院一举夺得三个冠军:参与了COCO物体检测、物体分割和人体关键点检测三项任务的挑战,取得了两项第一(物体检测、人体关键点),一项第二(物体分割);还在Places语义分割环节战胜谷歌夺得第一。孙剑博士也是
残差网络ResNet作者之一,最近倍受关注的AlphaGo Zero的一个关键技术便是ResNet。
2017年11月8日,孙剑博士出席了由新智元举办的 AI World 2017世界人工智能大会上,并发表了《视觉端计算:从ResNet到ShuffleNet》的主题演讲。
孙剑博士此前提到,旷视成功的秘诀是创新,不断地创新,持续不断地创新。在接受新智元专访时,他分享了如何做到本质创新的秘诀:本质创新是希望能触及问题的本质,但也分两个层次。
“大层次来看,算法要解决问题,有两种: 一种是定义问题、理解问题。今天,人工智能很多问题是不清楚的,因为人工智能属于跨学科的研究,以机器学习为基础,有计算机视觉、语音处理等等问题牵扯在一起,其中很多问题没有定义清楚。所以在讲算法创新的时候,首先要看需要解决什么问题。我认为最高层次的算法创新是对问题的理解以及新的看法。所以首先要理解清楚问题,才能够有本质创新。换句话说,只有方向正确了,才可能做出好的算法,这是比较高的层次。
另外,对问题的理解需要挺长时间。如果想真正深刻理解一个问题的话,非常聪明的人可能要花两三年,不聪明的人可能需要五年,这样才可能对问题有非常深刻的理解。理解以前都做了什么?你现在做的这个东西是不是有意义的?这是上一层的算法创新,深入理解和清楚定义问题本质之后,算法才有意义。
下面一层的算法创新是说,今天在一定时期内发现了一个新问题,然后去找一个算法把这个问题又快又好地解决。
这里遵守两条准则,第一条准则是这个算法必须有一定的推广性,不能太特殊。比如说做物体识别,举个例子,原来我们曾经做过猫头检测,利用猫的耳朵比较尖的特性做了算法,这个问题解决了,但没有通用性,影响力就不大。
第二个原则就是别人会不会用、会不会重复使用你的算法。如果你是在学术界或者要公开算法的话,只有别人主动愿意用你的算法,才能形成网络效应。你自己很看好,但是别人不看好,或者说别人并不去主动用你这个东西,说明你的这个东西没有触到用户的痛点。其实,你的同行也是你算法的用户,如果他们不得不主动使用你的算法,这就说明真正触及到了问题的本质,这条是非常重要的。我们以前在大公司做的一些算法,今天还有很多人用。我们今天在Face++做的算法(ShuffleNet),第二天就有公开的开源社区,去实现这个算法,他们在不少大公司和创业公司都第一时间用了这个算法。这就说明你的算法特别好用,这样的东西就是本质性创新。”
旷视研究院院长的带兵之道:读《孙子兵法》,鼓励出论文,不在乎数量
孙剑博士曾谈到,在带领团队拿到COCO竞赛冠军方面,做好了三件事:建团队、激励团队、培养团队。在接受新智元专访时,孙剑详细分享了如何带领好一个团队,吸引更多的人才。
他说:“带团队这件事情其实是多层次的。我最近看《孙子兵法》上讲的,为将者首先要智勇双全,要仁、要严、要信,还要做到明,谁做得对、谁做得不对要非常明。大致就是建立一个很好的文化,建立一些大的框架,哪些是我们应该做的,哪些是不应该做的。要围绕着我们公司的价值观,我们公司价值观叫“追求、极致、简单、可靠”,这几个字对一个团队非常重要。“追求、极致”有两个含义,一个是说我们要做到最好,另一个是说做这件事情的时候要付出最大的努力,把所有的潜力都发挥出来。”
“从人才观上的话,我们当然是希望找最聪明的人,我们要求并不高,你只要数学还不错就可以。你如果线性代数还可以,编程还可以的话就可以做这件事情。我们的环境非常扁平化,所有的数据代码基本上都是共享的,所有的知识都是共通的,包括我们内部的MegBrain。你如果想了解每个细节,就可以找MegBrain的开发者,他会给你讲细节,到底MegBrain怎么设计的、怎么优化,你会学到这些东西,可以有一个很自由的空间来做这件事情。还有一个很大的因素,让大家觉得创新是安全的,是他愿意冒风险去做的。我大多数时候都不会说不要做这个、不要做那个,而是说你试试看,这样让大家有一个安全的、愿意探索的环境,提高命中率。”
在AI人才非常稀缺的今天,孙剑表示,在研究院,我们鼓励出论文。这在国内外的创业公司里面应该是少数现象。“因为很多优秀人才希望他们的工作一部分可以被看到。我们通过这样的方式吸引人才”,他说。
但是,旷视对论文数量没有要求。“我们对任何的事情都没有数量要求,哪怕你只有一篇论文,但只要满足创新的两条原则,第一它是通用的,第二别人愿意用,只要有一篇这样的论文就可以。我以前自己做研究,每次会议投稿时会花很长时间只做两篇论文,我自己主做一篇,另一篇让学生做,或者跟别人一起做一篇。我们不追求数量,只要有一篇了不起的论文就可以。”
以下是旷视科技Face++首席科学家孙剑博士在新智元AI World 2017世界人工智能大会上的演讲:
孙剑AI WORLD 2017世界人工智能大会演讲:
《视觉端计算:从ResNet到ShuffleNet 》
孙剑:各位好,非常高兴新智元提供了这样一个机会把我们做计算机视觉研究的人聚在一起,也非常高兴见到以前的老朋友,比如腾讯的贾佳亚博士,我们之前曾经一起做计算机图形学和计算机摄影学。刚才贾佳亚展示了一张图:那是2004年我们俩合作的第一篇siggraph论文。当时非常难,不亚于今天去 COCO 或者 ImageNet拿一个冠军。今天到场的嘉宾中,华先胜博士也是我在微软的同事。计算机视觉在 学习的推动下,发生了天翻地覆的变化,今天也在此分享一些我最近的工作。
CV (计算机视觉)在 AI 中大概的位置我用这一张图来表现,其实我标不同的方块的颜色代表这个领域商业化的成熟度,这里语音和视觉是更接近商业化落地的,NLP和通用人工智能还有很长的路要走。
CV今天非常火热是因为它有非常多的应用,从互联网、安防、无人车、机器人到AR、VR等等,也允许大公司和创业公司在整个市场上并存。
做CV的话需要什么呢?既需要理论也需要创新,这里分享一下:上周日旷视科技成立了学术委员会,非常有幸请到了图灵奖唯一一位华人得主姚期智先生担任学术委员会首席顾问,帮我们在理论方面把关。
今天我会分享一下算法上面的工作。
计算方式的变革(或复兴):神经网络计算突破冯·诺依曼结构的体系瓶颈
在讲计算机视觉之前,我想先讲一下对算法尤其是计算的理解。我们今天用的计算机还是冯·诺依曼结构的计算机,它的计算机体系结构设计的思想是要把数据和程序同时放在内存里,好处是程序遇到不同的数据时可以改变程序,可以自适应地处理数据,这非常了不起,因为在这之前,如果不这样的话,每一次不管是插线还是打孔,都很难去重新编程。后来图灵也问了个问题:既然机器可以根据自动处理数据,那是不是机器就可以拥有智能。
但是今天我们用了很长时间的冯·诺依曼结构,很大一个局限是它有一个瓶颈:学术界叫做冯·诺依曼瓶颈,其实是说CPU和内存之间的带宽是不够的。虽然 CPU 可以加速,但是数据越来越大,就会堵在中间。怎么去突破这一个瓶颈,目前的传统计算机结构是不能突破这一瓶颈的。
而我们大脑其实不是这样的结构,大脑里面所有的计算和表示都是在一个并行的网络里面运行的。
这跟我们今天做的神经网络也非常类似,这是神经网络的一个神经元或者多个神经元在做的一些处理,右边是人脑神经元的一些类别,基本上一个神经元会接受相连接的几百个、上千个神经元来的输入,然后做一个决策:神经元到底是激活还是不激活。
所以如果我们看今天神经网络的计算是在做什么呢?其实是在通过一个函数把一个高维激活向量变成另外一个高维激活向量。我们目前的神经网络就是不停做这样的变换,做一次、两次,做很多次,以至于形成一个非常复杂的嵌套变换,这就是我们今天的神经网络。
我们可以把它拆成三个因素,一个是表示这样的激活向量,还有里面的标量非线性,还有权重矩阵,这是里面的三要素。激活向量其实是知识的表示,非线性是来表示这个神经元是激活还是不激活,这权重矩阵是通过监督学习到的知识。
这一个方式有很多好的特性,比如说它是高度并行,内存带宽可以非常大,还有一个优点就是计算非常简单,基本上就是矩阵乘,没有有分枝判断,没有冯·诺依曼结构下的复杂计算,所以这一种计算在一定意义上可以突破冯·诺依曼结构的体系瓶颈,比如说右侧是今天神经网络的主要模式,左边是以前的模式,可以看到计算可以提高带宽10倍甚至上百倍。
这样的计算,现在还有NVIDIA、AMD的GPU这样的并行处理单元来加速,大家可以看到这个数字,120个TFLOP/S,这是今天 NVIDIA最好的显卡能做到的计算力。大家可以比较一下去年GPU的显卡还是Pascal 系列,是10个TFLOP/S,今年不管是 NVIDIA还是谷歌第二代的TPU,计算量提高了10倍、甚至20倍,这远远打破了摩尔定律,这是在训练端或者服务器端。
在中国也有华为的Mate10的手机,第一款搭载了寒武纪的1A 神经网络加速器的手机,可以在客户端也能够方便运用这样的计算能力。所以我们自己做研究就会问一个问题,怎么样去利用这样的计算力?
我们在Face++很早就意识到计算带来非常大的变革。我们做了一个旷视科技的Brain,就是为了神经计算,这里面最重要的东西是 学习平台,底层是NVIDIA 的引擎,右边是我们GPU集群,最核心的 学习平台我们内部叫做Brain++,是整个系统管理存储、标注、 学习训练、GPU虚拟化管理甚至模型的发布,整个一套软件系统来管理我们所有数千块的GPU。
旷视科技的Brain++ 内部有一个最重要的东西叫 MegBrain, 它对应的就是一些开源的或者大公司推出的 学习引擎,比如TensorFlow和Caffe。MegBrain是我们自研的一个引擎,早在TensorFlow之前。据我所知,这是所有创业公司中唯一一家自研 学习引擎并且全员使用的,我们内部已经到了7.0的版本。这两个条件非常重要,既要自研又要全员使用,给我们带来非常多的好处,所以我们要坚持使用自己的 学习引擎。
4.6 亿美元怎么花?
大家可能前两天看了一些新闻关于Face++拿到了一些融资,那融资拿来怎么用呢?我们主要有两个大的方向,一方面是继续打造类似于Brain++的引擎需要更多的计算力,另外一个方面会在城市大脑上做一些商业的开拓。
为什么花这么多的资源来做这件事情呢?因为我们相信今天的算法是目前设计的,但是如果问一个问题,如果今天计算量就提高一万倍,那你应该如何重新设计自己的算法。一万倍听上去很多,其实也不是很难达到。比方说去年到今年就从10 TFLOP/S 通过NVIDIA和Google的努力到120-180 TFLOP/S,其实达到了18倍的增速。从计算力来说,如果有500多块卡,我们就达到了一万倍的加速。这是我在Face++研究院非常严肃地在研究的一个问题。有了这样的计算变化,那视觉计算产生了什么样大的变化?
我可以回顾一下,计算机视觉到底要解决什么问题。刚才贾佳亚教授也非常详细地解释了视觉计算要处理的一些核心问题。基本上是要描述一张图片里面都有什么东西,描述这张图片里正在发生什么和将要发生什么。
我们自己将它定义成四个核心问题,分别是分类、检测、分割,序列分析,分别对应图象、区域、像素和视频的处理,这是Face++研究院核心要做的事。
以前做这一些问题,大家是通过手工设计特征的方式加上一个标准的SVM的分类器,这其实也是在做非线性变换,但是问题是这样的非线性变换做不了很多次,很多研究尝试做三次、五次、十次,发现超过三次就不太有效了。另外就是手工设计特征,人工很难去设计很好的特征。
今天 神经网络可以做一个非常多次的非线性变换,可以逼近非常复杂的映射。更重要的是,里面的所有参数都是自动学到的,这是 学习网络目前的现状和基本方式。
这个过程来之不易,里面经过了很多代人的研究。有很多认知边界的突破,比如说很多人之前不相信 神经网络是好的,是有用的,认为它根本不可能被训练起来,这个魔咒其实是通过这几年的发展才慢慢破除的。
我们看一下神经网络为什么叫 学习,其实说神经网络的层数非常多,它够深,这是2012年Hinton和学生做的 AlexNet,一个八层的网络,当时认为已经非常深了。论文里还有一段,专门说八层比五层深是有道理的,证明 是有道理的。论文发布以后还有很多人挑战说其实更浅的也能做出来,现在已经没有人挑战了。过两年之后,牛津大学和谷歌分别开发出了它们的网络,20层的网络,性能提高非常多。这两个网络大概都是20层,这并不是巧合,到了20层以后系统就很难训练起来。我们自己做了一些工作,确实发现是这样的问题,当非线性系统非常复杂的时候,确实很难训练它。
在2015年的时候,当时我还在微软亚洲研究院,我们做了一个工作叫做 ResNet,第一次做了一个152层的网络,它有效地解决了神经网络训练中的优化问题。我先放一个以前同事做的动画,给大家看一下152层网络到底有多深。其中一个小横杆是一层。
这网络到底为什么能做成呢?其实核心是引用了一个残差学习的概念,这概念就是说当网络非常深的时候,你要做一个变换,相邻两层的变化差别是不大,那只去学习残差会比直接学习映射会更容易,所以我们就设计了残差学习的思想,实际上可以用一个非常简单的跨层连接来实现,从而达到非常容易优化的复杂的非线性动态系统。为什么网络可以很好的训练起来,我们自己相信的一个解释是整个训练过程是一个从浅到深的训练动态。还有一个数学上比较严谨的解释是它能够很好的消除以前 学习网络反传算法中梯度消失的问题,这是个非常严重的问题,当你层数非常深的时候,梯度会越来越小,以至于计算机的精度会表示不了,就无法训练整个系统了,这个就在数学上保证了梯度不会变小。残差网络也代表微软赢得了 ImageNet 2015年的冠军,第一次超过了人类在图像识别上的表现。
学习:破除魔咒之旅
ResNet 网络说明了什么?它说明了我们走到今天这一步非常不容易的,Geoffrey Hinton总结了一下为什么 学习做得越来越好,比如说计算量越来越强、数据越来越大,细节做的更对了。其实我想说的是残差学习隐含了网络结构需要对优化友好才可以做好。
我也分享一下,在前不久 AlphaGo Zero系统里面第一次用不学习人类棋谱的方式来战胜了人类,其中有两个核心技术,一个是自我博弈的增强学习,另外一个它也用到了我们的ResNet,用了一个40层或者80层的网络来完成对棋谱到底哪里下子、到底对当前棋局是赢还是输的一个判断。
神经网络设计的演化非常快,我们给大家罗列了从2012年到2016年的一些代表性工作年。进展非常快以至于我们做的很多视觉计算任务取得了非常大的进展,例如Coco是目前物体检测最重要的一个基准测试。
今年我们赢得了冠军。 2015年到2017年仅仅两年,Coco物体检测的精度从37变到了52。 37这个数字是当时我们在微软研究院做的一个工作,是当时COCO的第一名。再往前2014年微软创建COCO的时候,当时的结果只有20多,如果用非 学习方法可能不到20。我们今年也获得了COCO Keypoint 竞赛的冠军,这个问题就是说如何把每一个人的身体骨架都很精确的用3D姿态恢复出来,这样很容易分析这个人的动作。
另外我们还获得了今年第一次举办的Places Instance Segmentation 的冠军。这是大家努力的一个方向,模型越做越大、精度越做越高,所有训练要求计算力越来越大。还有一个方向是说,计算量不够的时候,应该去如何应用这个技术,将其商业化。
我们以前做研究就讲究填补国家空白,其实左边一个空白我们看到了,然后我们今年提出来一个网络叫ShuffleNet,它是为了给定计算量下或者比较小的计算量下,特别是计算量只有5到10个的TFLOP/S的时候,特别是手机上你怎么做 学习网络的推断。
这里是ShuffleNet的一些基本机构,左边是最早的网络,然后ResNet、然后Bottleneck,ResNet,还有 MobileNets,然后右边是ShuffleNet。
核心思想就是把计算量最昂贵的1乘1的卷集分成很多组引入Shuffle 的一个操作,我们可以达到非常好的性能。例如说我们比传统的AlexNet在同样精度上可以快15到20倍,这速度并不是理论复杂度,而是真正在手机上的实测速度,理论复杂度比这还要小。
我们把这东西用在什么地方呢?第一我们用在FGPA(可编程门阵列)芯片上,中间是FGPA智能抓拍机,把这FGPA塞到相机里,就是智能的抓拍机。右边视频向大家展示一下成本非常便宜的FGPA上如何做智能人像抓拍,这智能人像抓拍机目前是业界第一款全画幅、全幀率的人像抓拍机。这是保证视频里人脸都不漏掉的重要因素。
我们还把Shufflenet用在手机上。iPhoneX 有3D人脸解锁,其实我们也已经帮助安卓手机厂商,包括VIVO、小米还有锤子手机,都使用了Face++的人脸解锁技术,其实就是Shufflenet背后提供的计算,能够让人脸解锁在手机上的时间小于0.1秒,拿起手机只要看一下屏幕马上就可以解锁,这速度会带来非常不一样的体验,大家有机会可以试试不同款的手机。
落地:城市大脑及其他
另外一个就是刚才华先胜博士讲的城市大脑。以前我也玩游戏,玩的一个游戏叫《模拟城市》其实就是你怎么去构造、管理这个城市。今天,随着人工智能和各种技术的发展,我们有机会去做真实的模拟城市的工作,右边是我们做的计算机视觉方面的进展,是如何在一个城市里面把所有的人和车进行检测跟踪,把所有属性都抽取出来,这是城市大脑传感器最重要的一部分。
另外,视觉计算还有非常广的商业用途,我们的一个产品就是用刷脸做身份认证的平台,目前这个平台叫FaceID,它是世界上最大的人脸识别云平台。它在线上为中国上百家互联网金融公司提供服务。右边是很好的商业探索,今天带手机而不扫二维码也可以用人脸支付,这是杭州肯德基第一个线下用人脸支付的案例。
还包括我们今天的无人店和新零售的一些探索,这里面是一个视频展示一下Face++的技术如何帮助新零售行业做更好的线下商业销售。
最后总结一下,虽然我们做了很多商业上的应用,特别是把核心算法用起来。但是做计算机视觉和人工智能的人都知道,真正触及人工智能冰山一角还是非常困难的。在这过程中,我们内部就讲几个字,做公司的话,“技术、商业、数据”这个循环要转起来。同样,对于做算法,“热情、洞察、耐心”是我们最重要的三个方向。
人才是根本:巨大的脑力ALL IN,AI 潜力巨大
中间这一张照片是我一个朋友分享的,我用这张照片表示人工智能还是很遥远,前面的路还不知道怎么走,但是我们非常有信心,信心来自于哪里呢?信心来自于人的智力投入,左边这一张是去年GTC NVIDIA年会拍的照片,右边是今年计算机视觉年会CVPR的照片,每一个会议参与者都超过了5千人,这标志着世界上所有最聪明的人都在做这一件事情,我相信所有人的聪明才智集合在一起,一定能够非常快速地推动这一件事情的发展。
最后我再回顾一下,上周日我们请了姚期智院士来担任我们Face++学术委员会的首席顾问。我们探讨的主题是人工智能的本质创新。探讨了非常多的话题后,最后回到了根本问题:人才。我们分别让每一个人回答了一下对于人才的最重要要求。姚院士说希望在我们公司里,所有的研究员都能够人尽其用。我自己在旷视研究院,最大使命是创造一个好的环境,让每一个人才人尽其用。印奇是我们的CEO,他的使命是为公司找到最大的人工智能应用场景,同时汇聚交叉学科的人才,因为我们知道人工智能不是只做计算机视觉或语音语意理解,而是做认知、做机器人,甚至脑科学的人都应该汇聚在一起,才真正有可能把人工智能的问题一点点理清楚,定义好问题才能更加踏实地向前走。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。