雷锋网按:本文为旷视科技首席科学家孙剑日前在 CCF 与 KDD China 联合主办的ADL上做的题为《如何在大公司和创业公司做好计算机视觉研究》的分享,雷锋网(公众号:雷锋网)进行了全文整理。以下是最后一部分。
传送门:旷视科技孙剑:如何在大公司和创业公司做好计算机视觉研究(一)
旷视科技孙剑:如何在大公司和创业公司做好计算机视觉研究(二)
孙剑博士(摄影:刘芳平)
孙剑,博士,旷视科技(Face++)首席科学家、研究负责人。2003年毕业于西安交通大学人工智能与机器人研究所,毕业后加入微软亚洲研究院(Microsoft Research Asia),任至首席研究员。其主要研究方向是计算摄影学(computational photography)、人脸识别(face recognition)和基于深度学习的图像理解(deep learning based image understanding)。自2002年以来在CVPR、ICCV、ECCV、SIGGRAPH、PAMI五个顶级学术会议和期刊上发表学术论文100+篇,Google Scholar 引用 20,000+次,H-index58,两次获得CVPR Best Paper Award (2009, 2016)。孙剑博士于2010年被美国权威技术期刊Technology Review评选为“全球35岁以下杰出青年创新者”。孙剑博士带领的团队于2015年获得图像识别国际大赛五项冠军(ImageNet分类,检测和定位,MS COCO检测和分割),其团队开发出来的“深度残差网络”和“基于区域的快速物体检测”技术已经被广泛应用在学术和工业界。同时孙剑带领的团队的研究成果也广泛被应用在微软Windows, Office, Bing, Azure, Surface, Xbox等多条产品线上。目前孙剑博士正在带领旷视科技的研究团队推进计算机视觉技术的进步和探索其在工业和商业上的实践。
以下为演讲内容,主要介绍了近期计算机视觉的发展现状,ResNet基本原理和设计,旷视科技在计算机视觉的研究进展等。最后他还分享了一些“如何在大公司和创业公司做好研究?”的心得。
如何在大公司和创业公司做好研究?
最后,我想分享下如何大公司和创业公司做好研究,这些都是个人的一些感悟。我经常被问到以下几个问题:
在创业公司还能否做研究?
在创业公司能否做好研究?
是不是会完全被产品导向?
研究是不是只有用paper来衡量?
研究成果被友商抄去了怎么办?
(雷锋网注:孙剑在演讲最后给出了自己的回答。)
大公司和创业公司的研发部门的异同
任何一个研发部门,不管是大公司还是小公司,在我看来,其共同的部分是这三个要素:
部门的定位是怎样的?
部门的人员组成是怎样的?
研发方式是怎样的?
这些对应的就是柳传志先生的“定战略、搭班子、带队伍”管理三要素。
我自己比较了一下大公司和小公司,特别是微软研究院和旷视研究院:
我们的使命定位是类似的,但是我们的目标范围是更小的。我们现在只关心的研究最好的深度学习和计算机视觉技术,让最好的技术落地,推动公司的快速发展。
在人员组成上,我们也是非常类似的。唯一不同的是,我们只有一个人不写code。我们旷视研究院员工的平均年龄也非常小,而且管理是非常扁平化的。
研发方式方面,因为规模不同,所以有些不同。我们的范围更小,更聚焦,我们每个小组的动态性也更强,可以短到3个月,也可以长期下去。
创业公司如何招募人才?
有了以上三个方向之后,接下来就需要招募人才。
大家可以看到,一般的创业公司都是通过什么方式来招募人才,其实最重要的还是第一条:people bring people(口口相传)。你可以通过通过个人关系,把最聪明的人引进来。
当然,公开发表论文这件事情也很重要。因为不管是做深度学习还是人工智能,最优秀的人才是希望他的成果能够让大家看得见的。所以在旷视研究院,我们鼓励大家发表公开论文。
我们的人才培养大致有这几个方向:科学家、系统架构师、以及我们自创的全栈人工智能工程师。
虽然人工智能很复杂,但是做应用的话还是相对来说没那么高的门槛,因为深度学习在一定程度上把这个过程缩短了。所以对系统能力强、工程能力强,同时又想做好研究的人,我们设立了全栈人工智能工程师这个职位。他们既是人工智能科学家,也是一个很强的工程师,有很强的解决问题的能力。
创业公司如何做好研究?
我们认为组织建设最重要的是:正直、对自己诚实;平等;安全感、鼓励尝试;学习型组织。
旷视公司的使命是“power human with AI”。一个组织要想真正运行下去,运行好,随着规模的增大,公司的使命是非常重要的。我们目前的愿景是:做最好的人工智能的云平台和最好的智能感知网络。我们的价值观是:追求极致、简单、可靠。
有了人,有了环境之后,要做好研究有三个非常重要的元素:需要有清晰的目标,需要motivate每个人,最后把事情贯彻下去。
关于目标设定,大家可能都有自己的标准,我们认为应该要分别设立终极目标、绩效目标、以及过程目标。我们希望这些目标是能实现的,但是同时又是有挑战性的,而且是大家都agree的。一般的话,我们会为2-4个人的组来制定长期和短期的课题。
有了目标之后,最重要的是怎样让大家为这个目标投入最大的精力。首先,我们相信任何人都是有巨大的潜能的。当然,每个人都有选择的自由,也需要他们的专注、以及想赢的心态。这些是我们认为能提高大家士气的方法。
我们在深度学习训练平台、数据标注上的投入是不遗余力的,希望能够为研究员、实习生创造最好的训练环境。
在创业公司到底能不能做好研究?
最后,回到之前的问题:“在创业公司是否能做好研究?”
我的结论是,可以做最好的研究。我们可以在产品和学术之间找到很好的平衡点,我们的研究既可以用paper来衡量,也可以用研究在产品中的落地和给你带来的成就感来衡量。当然,我们会选择性地发布我们的一些学术性成果。
Q&A环节
Q:在面部识别中,有些恶意攻击能够绕过活体检测,现在的技术可以解决这个问题吗?
A:这实际上是一个安全问题,我之前写过一篇文章来回答这个问题。任何安全问题,绝对意义的百分之百的解是没有的,它只能是说比原来的系统更安全。此外我们也有非常多的防止这种攻击的方式,包括客户端的、云端的等等。
客户对安全问题的承受力是不一样的:有些客户希望尽可能获取更多的用户,因此安全性较低是可以承受的,比如信用卡欺诈。信用卡签字每年有很多欺诈案件,但是总体来看,发卡公司是能够承受的,因为其带来的利益远大于损失,因此可以接受这样的交易方式。
从大的方面来说,这是非常有效的方式,非常多的客户对现有的安全程度是认可的。另一方面,从技术上方面来说,会有不断的新的防活体攻击的技术研发出来。
Q:目前大多数的活体检测需要用户的配合(比如眨眼、张嘴等),未来是否可以不再需要用户配合,在用户没有感觉的情况下,判断他是不是假体?
A:大家可能已经听说,iPhone 8要推出前置3D红外摄像头,这就是一个非常好的新的发展方向,提供了有着最好用户体验的检测活体攻击的新思路。
Q:用红外或者三维这样的方式,可以解决平面型的,比如打印、视屏的攻击。但是对于以后可能出现的3D打印的,或者头套之类的攻击,这种方法是否还有效?
A:对于头套攻击,在业界,包括我们客户都认为,这种假面具、假头套超过了现在要考虑的范围?
Q:您刚才在演讲中提到,“深度是决定一个模型学习能力最重要的因素”。那么这个深度到底有没有一个上限?对于一般的检测和识别任务来讲,什么样的深度就够了?
因为最近有个技术叫模型蒸馏,有一些可能用了一个50层或者100层的模型,但是最后通过模型蒸馏可以用一个10~20层的模型来表达。那就是说,我们在原始设计这个任务的时候,已经增加了很多的冗余量进去了,您是怎样看待模型蒸馏的呢?
A:深度到底要多深跟很多因素有关的。深度最重要的是有很多假设的,当然,跟你的数据量的大小有关,还跟其他因素有关,如果不考虑这些,基本上只要能够匹配好数据大小,越深越好。
关于模型蒸馏,它实际上是个优化问题。因为模型蒸馏还是需要一个大的模型来带着小模型的,那么这个大模型是哪来的?大模型怎样才能训练好?这些都是要考虑的,因为大模型训练好之后才有小模型。蒸馏是一个很好的方法,但是有时候管用有时候不管用。有些数据有关系,包括我刚才介绍的模型简化,也是去除模型冗余的方式之一。大模型为什么能够被“蒸馏”,其实是因为小模型非常难训练,而大模型给了充分的自由度,因此可以训的很好。这意味着,首先需要有一个能训的很好的系统,才能诱导这个不好训的系统。如果你直接切换成小模型,以现在的技术来说是很难训出来的。所以说,至少对训练来说,深度还是非常重要的。
Q:您在做公共区域的视频分析的时候,是基于图像做的,还是训练数据用一小段视频去做的?
A:基于图像做的。
Q:您之前提到的一个检测region proposals的方法,请问能详细的解释一下Faster R-CNN的基本思想吗?
A:以前的检测方法是sliding window,每个位置都会去检查,几万个、几十万个都有可能,region proposals用一些方法把这个数字降到几千,这样就可以很快做evaluation。
Faster R-CNN的思想:以前是在图像上做sliding window,现在是在feature map上做sliding window,去预测物体可能在哪里,其实也可以认为它是一种sliding window。
Q:您刚才提到公司产品FaceID可以再云端实现,也可以在客户端实现。那么它在客户端实现的硬件平台和主要思路是什么?
A:我们开发Brian++的一个目的是:一个模型可能需要支持很多平台,包括自己内部给产品做的SDK同时要支持20多种平台,包括手机、嵌入式、ARM7、ARM8,甚至包括安卓、Windows等等。我们需要支持非常多的平台,不同平台的计算不同,比如手机或者平板上精度model size是一定要比云端小很多的,主要是看具体业务需要做到什么地步,然后再去平衡计算复杂度和精度。
Q:关于网络结构学习,以我的了解,现在的网络学习一般都是在学习好之后,然后通过剪枝的方式来优化这个网络结构,使得这个网络结构更加精简。那么是不是能通过不断地数据流入,网络结构不断学习,实现生长式的学习过程?
A:这方面的文献目前很少。实际上,通过增强学习方法来不断调整网络结构目前不是非常成功。目前来说,训练一个非常有效的网络,周期非常长,因此整个周期也降不下来,所以目前没有非常好的方式来自动学好网络结构。我自己也不是非常确信能够学得好。
【招聘】雷锋网坚持在人工智能、无人驾驶、VR/AR、Fintech、未来医疗等领域第一时间提供海外科技动态与资讯。我们需要若干关注国际新闻、具有一定的科技新闻选题能力,翻译及写作能力优良的外翻编辑加入。
简历投递至 [email protected],工作地 北京。
相关文章:
旷视科技孙剑:如何在大公司和创业公司做好计算机视觉的研究(二)
本文作者:周翔
本文转自雷锋网禁止二次转载,原文链接