计算机视觉,听起来似乎很遥远的一个名词。但它的应用,你一定不会陌生。比如,今天在某些城市,如果乱闯红灯,就可能被路口的摄像头捕捉到。从美颜自拍,到增强现实(AR)、虚拟现实(VR)游戏,还有用无人机在人迹罕至的地区检测高压线路,背后都有计算机视觉的参与。
在这一领域,孙剑博士是其中的佼佼者。
2009年和2016年,孙剑两获计算机视觉领域的顶级会议CVPR(IEEE Conference on Computer Vision andPattern Recognition)最佳论文。2010年,他还入选《MIT技术评论》35岁以下年轻创新者。通过设计152层的神经网络ResNets,孙剑所带领的微软亚洲研究院团队在2015年获得ImageNet和MS COCO比赛的五项第一。
在微软研究院从事研究13年之后,他在2016年7月加入旷视科技,任首席科学家、研究院院长。旷视研究院从事基础以及应用研究,聚焦于 学习算法、架构和数据科学。最近,孙剑带领的旷视研究院团队获得了COCO和Places挑战赛2017的三项冠军。
在前不久举行的CCF-GAIR全球人工智能与机器人峰会发表题为《云、端、芯上的视觉计算》演讲后,孙剑博士接受了《知识分子》的独家专访。他用自己的研究经历说明,计算机视觉研究是如何改变我们的生活的。
计算机视觉的核心问题一直没变
《知识分子》:1993年到2003年,你一直在西安交通大学读书、做研究,那个时候的计算机视觉的研究面貌跟现在很不一样吧?
孙剑:其实研究的问题是一样的。计算机视觉研究的问题几乎没怎么变,因为核心问题就是研究怎么样去做分类检测、识别跟踪,大致就是这些问题。
西安交大的“人机所”成立已经30多年了,成立之初就叫人工智能与机器人研究所,那时有做图像的,比如有国防项目就是用摄像头看一个车,去跟踪,这样就需要做车的检测、跟踪,跟今天做的是一样的。
也有机器人项目。那个时候国有机器人还很少,我的导师郑南宁老师从日本引进了一台机器臂的设备,我们专门有一个机器人的组来研究怎么去控制这个机器人,学习里面的基本知识,操作机器人抓东西,跟今天的研究也是一样的。目前这个方向已经有很大进展,但是还不够,还需要更大的进展,因为这是更难的问题——感知问题,只是被动的看,怎么能够主动地去和世界交互,这个是更难的。看的话,很容易教计算机,给它一张照片,然后就可以学;但是交互的过程,很难有大规模的交互的例子能提供给计算机,让它理解,所以这个是最难的。
《知识分子》:那个时候,你做什么样的研究?
孙剑:人机所其实早期有很多学数学的老师和博士,最早我们做了很多机器学习的事情。机器学习基本的知识、概念,如何做机器学习,我都是在人机所学习得到的,然后把它运用在计算机视觉上。
举个例子,我自己本科毕业设计时,做了一个硬件设备——硬件电路板,来实现混沌神经网络,当然现在它不是主流。混沌神经网络能够记忆一些模式,是用硬件来实现的,因为当时的算力在CPU上是做不好的,一定要在硬件上来做这件事情。
我读硕士的时候,就是用神经网络来做人脸检测和简单的人脸识别工作。但是,其实当时的人脸识别就仅限于人脸或者是一些车牌这样的识别,能够做到一定地步。我博士做的方向是3D感知,也就是立体匹配。计算机视觉有两大核心问题:一个问题是3D重建;一个问题是识别。这样就把计算机视觉的一些基本问题学习了一下。
《知识分子》:LeCun教授1998年提出LeNet-5,用卷积神经网络,你硕士的时候的神经网络是怎样的?
孙剑:我那时候用的那些神经网络不是卷积神经网络,它可以认为是全连接网络的一些改进,做了一些分组,跟卷积有点像。卷积神经网络是我(本科)毕业以后才出现的,最早做手势识别、光学字符识别(Optical Character Recognition, OCR),大家也没觉得那个能怎么样,真的就是这样。后来,在2000年的时候出现了支持向量机(Support Vector Machine, SVM),一统江湖,所有人都在研究这个,所以关注神经网络的人就更少了。
《知识分子》:你在2009年就得过CVPR的最佳论文奖?
孙剑:对。那篇论文不是关于 学习的,做的是计算摄影学。计算摄影学是做什么呢?比如,我们公司有一个业务叫手机智能,不是造手机,而是给手机提供核心的算法,人脸解锁是很大的一个应用,另外一个是如何让照片拍得更好看。
计算摄影学是我博士毕业后的一个研究方向,研究如何通过软件和硬件的修改,拍出更好的或者通过一般的技巧拍不到的照片。比如,今天用手机虚化背景,模拟单反照片的效果,这个就是计算摄影学——修改相机硬件,就能实现这样的新的效果,以及加了人工智能算法,使画质得到提升。
计算摄影学是计算机视觉和图形学的交叉,我做了很长时间这个工作。那个时候手机还没有这么强大,做完了以后,目的是应该放到单反相机、卡片机里面去,但是这些厂商(其实也是对的)需要做快速改动的能力和意愿不是那么强,所以并没有在相机或者单反上广泛使用,这大概是在十几年前的事情。今天,时代不一样了,相机计算力非常强,里面有很好的图像传感器,甚至在晴天下拍的照片和单反看不出区别。另外,现在的手机厂商也非常重视这个方向,如果看手机发布会的话,基本上照片拍的效果是竞争的一个亮点,所以这也是我们目前投入很大的一个方向。我们去年成立了旷视研究院的西雅图分院,专门研究计算摄影学在手机上的创新和应用。
我自己也挺感慨的,以前做研究,做完以后发一些文章,顶多Photoshop里面可能用一些这样的算法,离实际生活还是蛮远的,今天真的能够用 学习的方法重新做一轮这样的问题,能够很快用在手机上,这个感觉,非常高兴。
卷积神经网络袭来
《知识分子》:你开始研究和使用卷积神经网络是什么时候?
孙剑:2013年,我在微软带领团队开始做卷积神经网络。2012年AlexNet出来,但刚出来的时候也没有人那么相信(它多么好),尤其是在计算机视觉领域。因为AlexNet只是针对ImageNet,大家不知道它是过拟合了ImageNet,还是在别的任务也管用。2013年的时候,特别是伯克利的RCNN(Regions with CNN features)出现,对于别的数据集的检测提高也非常大,真的具有很强的通用性,所以大家才会非常重视。
我们是在2013年开始研究,2014年第一次参加了ImageNet,物体检测拿了第二。2015年参加比赛的时候,内部就已经开发出了ResNet,ImageNet拿了三个第一名,COCO拿了两个第一名。而且COCO,只是把ResNet用上去,提升的就非常多,这是我在微软的工作。其实与此同时,旷视也是非常早,用 学习来做人脸识别,大概也是在2013年开始的,我还没到旷视。他们当时在人脸检测、识别、关键点定位上拿了三个世界冠军,这也是他们做的非常早的一个工作。旷视是最早的用 学习来做计算机视觉的创业公司之一。
《知识分子》:大众对人工智能、 学习的兴趣很多是通过AlphaGo这样的事情,研究者好像一下子都涌到卷积神经网络的原因是什么?
孙剑:我觉得拥抱卷积神经网络也是花了好几年。2012年AlexNet出来时还有人怀疑,不相信,从2013年到现在也5年了,大家慢慢接受了。 学习核心思想是,它有端到端学习的思想,尽可能不要人来设计复杂系统,因为人的设计能力是有限的。所以更多人去用这个思想来做事情。不是说这个思想是新的,而是如果这个思想有效,就会有更多的人愿意主动去用。
从图像识别来说,从ImageNet或者大规模数据学出来的特征,确实很有通用性。这个特征并不是说抽取语义特性,而是说它能够把很多东西分得开,比如说ImageNet出来的模型在医疗图像上非常好用。医疗图像数据比较少,先用ImageNet训练,以后再用少量的数据根据抽出来的特征再次做学习,可以提供很大的帮助,不然医疗图像这么少的数据,又没有好的特征,确实很难做什么事。
《知识分子》:你和合作者在2015年提出ResNet,它解决什么问题?
孙剑:训练优化问题。我们在开发之前,大概GoogleNet,VGG就是最好的网络,大概到20多层,再增加层数就不行了,训练都训练不下去;或者训练的难度非常高,说明整体的优化没有做好。
其实机器学习大概要解决三个问题,一个是说系统是否可以有能力拟合,能力是否够。比如,很简单的一个线性分离器可能无法表示像AlphaGo那么复杂的映射关系,如果加很多层这样的神经网络,能力就是够的。不过,这也只是说理论上能力够。
第二个问题要解决怎么让它拟合上去,就是训练优化问题,ResNet是解决这个问题。当然加了ResNet以后,现在可以说是任何 层的都可以来拟合。大家常用的是几十层或者是一两百层这样的网络。
第三个问题今天还没有解决的很好,就是推广能力问题。比如,确认了网络在训练数据、测数据的时候好,如果突然来一个新的场景,能不能也做好?比如说,突然来了一个刮风下雨的天气,又有一个奇怪的车,车上掉了东西下来,这个东西还没见过,这就需要推广能力。这是在训练数据当中无法大规模收集到的,这个问题今天 学习也好,人工智能也好,还是长期要解决的问题。这跟人不一样,人有推理、抽象,有先验,很多东西都能来帮助我们解决推广能力问题,泛化能力问题。这是下一个 学习解决的问题。像人脸识别解决的非常好了,但是还有很多任务没有这么好。
《知识分子》:从研究方法上来说,现在是不是一个巨大的改变,都是用 学习,卷积神经网络来做?
孙剑:对。基础都得用这个,结合具体问题的一些领域知识,领域知识用得越多越好。现在 学习已经成为一个工具。我们刚从CVPR2018回来,如果看今年的发展的热点, 学习已经无处不在了。有几个Talk很有意思,讲者上来就说,我的Talk不包含 学习,没用 学习。像以前专门有论文,题目叫 学习XXX,今天这样的论文题目已经很少了,而是真正深入到问题的本身去研究了。
机器学习会长期产生更大的作用
《知识分子》:大家都用 学习了,以前传统的方法会完全抛弃吗?
孙剑:没有完全抛弃,像3D的话还是不能抛弃的,3D几何的这些关系,是不能简单那样来描述的。包括图像,其实今天 学习能做的非常好,但是实际上我们在做很多深入的视觉理解中,拟合一个函数是不够的,还有很多局限性,做不到非拟合函数的一些推理功能。比如,如果两张扑克牌叠在一起很近的话,今天的方法不一定能很好的检测出两张牌,但是人是知道这个牌是方形的,多出来一个角不正常,通过推理就能够推出,下面还有一张牌。人有很强的先验信息,才能把这个问题做好。
《知识分子》:你今天的主题讲的是“云端芯的计算机视觉”,你觉得现在云端、终端和芯片上有哪些不同的要求?
孙剑:云上不用考虑计算量和内存访问、模型大小的一些问题,或者说是有很松的边界,要追求的是精度问题。在端上,比如说在手机上,它的计算量、内存访问模式和要求的模型大小都是不一样的。今天因为设计网络结构还是人工的一个事情,所以在云上设计的模型肯定在端上不是最优的设计,所以需要在端上面设计才能得到更好的效果。
包括在芯片上也是一样,不光要调结构,而是内部的网络表示都要采取低精度化的表示,其实这也是神经网络很神奇的特性,因为我们一般来说用32位浮点数表示里面所有的信号,但它(神经网络)其实很稳健,不用32位,用几个比特也能够很好地把这个信息流给传播了。
因为我相信人真正的神经系统里面也不会用32位浮点数表示信号,所以,第一就要设计这样的算法来适合现有的硬件;第二,其实芯片是演化非常快的一个行业,设计芯片要考虑这个特性,用低精度来设计芯片,这样就能够做的非常好。我相信在很多设备上这样的芯片都会普及,以至于在云上的一些计算可以围绕这个芯片来做,今天这个发展非常快,这远远不是摩尔定律能够框起来的,大概几个月计算量翻一倍,功耗还不变或者说计算量不变,功耗降一半,这个范围非常宽。
《知识分子》:设计各种各样的网络,看起来就像是艺术,你是基于什么去设计一个算法的?
孙剑:别的科学都没有Science这个名词,而Computer Science,计算机科学加了一个Science,其实计算机科学里面大多数算法都是设计出来的,它跟物理、生物实验做出来的发现是不太一样的。我们 学习有点像计算机科学这个方式,像排序算法是怎么设计出来的,有各种各样的排序算法,不是做实验做出来的。
另一方面,它(神经网络)跟那些纯算法还不太一样,它和数据相关,跟数据相关的话,跟平台也相关,所以核心是说,对要做的一些问题要有非常深入的理解,理解有很多细节,理解整个网络在不同的情况下会怎么样,然后从小出发,抓住小的点,把小的点做大,慢慢就可以设计好。
《知识分子》:你对微软的研究氛围体会如何?
孙剑:鼓励基础研究。 学习中有一个梯度下降算法、反传算法,最后监督信号决定了这个系统会是什么样子的。我觉得在任何一个组织的话,你希望这个组织做什么,不做什么,就相当于一个监督信号。训练一个分类器,可以接受正样本、负样本,这个组织就会像 学习一样,自动地去反传、监督这个信号,形成它的特色。微软研究院很鼓励基础创新,鼓励对最前沿问题长期如一日的这么做,这样才可能有新的突破诞生。
《知识分子》:在人工智能的科研和教育方面,旷视和大学、科研机构有合作吗?
孙剑:我们在南京成立了研究院,与南京大学有合作,我们和西安交大人机所、上海科技大学成立了联合实验室,和权龙老师在香港科技大学也成立了一个实验室,因为想实现互补——3D认知方面和图像识别方面是要结合在一起的。我们接下来还会找和我们相互补的,不管学校也好,或者研究机构也好,来做这样的合作。
《知识分子》:年轻人都来学AI,你有什么样的经验可以给到他们?
孙剑:如果看长远一些,机器学习会长期产生更大的作用。今天虽然说人工智能,但其实大多数是机器学习的基础知识,包括如何来用统计思考问题的方法,可能很多做事情的方式都是通过这种方式做的。学习这些,我觉得长期来看都是非常有好处的。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。