简介:今年6月底,在微软研究院(MSR)工作多年的孙健博士加入了Face++(旷视科技)是一家AI领域的初创公司,作为首席执行官的科学家因在CVPR、ICCV、 ECCV、SIGGRAPH,以及他在计算机视觉相关领域的杰出成就。
时隔半年,孙健先生亲自写了一篇文章,对加入Face++的现状进行了介绍和总结。
他还仔细梳理并解答了之前两项研究工作的异同、当前视觉研究方向和重点领域,以及序列学习、遮挡等技术问题。
。
经智东西许可转载。
以下为全文。
文字|孙建年个人来说,我做过的最重要的决定就是到我工作了13年的微软研究院(以下简称MSR)工作,做一家成立仅1年的初创公司。
几年后-Face++。
科技(以下简称Face++),我选择了后者,并作为首席科学家加入。
当时我还住在西雅图,确实“在我搬家之前,消息就已经很远了”。
国内外的朋友圈里传来各种各样的报道,让我认识到了媒体的力量。
如今,我已经搬回北京,在Face++工作了近半年了。
我仍然经常被问到,“你好吗?”,“Face++和MSR的研究部门是同一个吗?”,“Face++如何开展研究工作?” ?……”等等。
问题有大有小,但大多是这样的。
值此新年之际,我想和大家分享一下我这六个月来的观察和想法,作为一种方式。
谢谢大家的关注,接下来我会围绕大家关心的一些典型问题一一讲解:Face++和MSR的研发部门有哪些相同点和不同点,从我的观察和经验来看,几乎没有什么相同点和不同点。
两家公司研发部门性质的区别,一个公司的研发部门的本质是什么?我认为有三个要素是极其关键的:使命定位、人员构成和研发方式。
这三点,我看到了双方惊人的一致性,也就是说:1)他们基于产品、探索前沿技术的使命定位是一致的;2)他们都聚集了一群追求极致的精英; ,具有Geek精神,高度上进心; 3)他们都用同样的套路来推动研究工作:发现问题、实施问题、研究和理解现有方法,并进行持续改进或创新。
其中,最让人感动的就是“人”。
举个最近让我感动的例子:下面这张我在年末的朋友圈发的图,最能说明Face++“追求、极致、简单、可靠”核心价值观的前两点。
当然,即使双方研究部门性质相同,也难免存在差异。
毕竟,每个公司都有自己特定的文化和管理模式。
当身边的战友平均年龄从三十多岁降到十岁的那一天突然到来时,一方面我感觉自己好像瞬间跨入了中老年人的行列(开个玩笑:今天有同事问我,你的手机字体为什么这么大?)另一方面,我感到干劲十足,责任感很重。
Face++的研究部门在做什么?这个问题被问过很多次,也是最常被提及的。
为什么会有这样的疑问呢?我想无非就是两个方面的思考。
一是了解公司具体在研究哪些领域,长期的课题和目标是什么,二是了解创业公司的研发部门是否能够真正意义上推动研究工作,还是应该做的打着研究的旗号进行产品开发。
这里还有一个误区,就是我们公司被广泛称为Face++之后,越来越多的人误以为Face++只是做人脸技术。
人脸确实是一个商业前景广阔、玩法不断创新的应用。
然而,从成立的第一天起,Face++就专注于人工智能三大应用领域之一——计算机视觉。
围绕一系列视觉识别(人脸、人、物体、文本、场景、行为等)问题,研发核心算法,打造可实现的产品。
消除这个误区后,你就会更好地理解Face++为什么以“用AI赋能人类”为使命,以“人工智能技术造福大众”为使命。
毕竟,该公司的全名是旷视科技(英文名megvii,取自megavision),意思是大愿景。
回到问题本身,我们目前关注的是视觉理解的四个核心问题(见下图):图像分类、物体检测、语义分割和序列学习。
研究的技术路线是深入深度学习:1)利用深度神经网络; 2)尽可能使用端到端学习。
Face++应该说是这波人工智能初创公司中最先研究和应用深度学习的。
图像分类是最基本的问题。
这个问题本身就有广泛的应用(比如人脸识别、场景分类),也是研究其他问题的基础。
深度学习的出现让我们从以前的特征设计转向网络结构设计,这其中包括很多对问题的深入理解、实践中总结的经验和原理、优化算法的探索以及下一步的判断的技术发展。
我们的研发部门有一个专门的团队负责研究如何训练最好的基础神经网络,并深入研究以下三个子问题:1)针对不同的计算复杂度设计最优的神经网络; 2)针对不同的计算目标,根据平台的实际需求,设计最高效的网络; 3)针对不同的问题设计最合适的网络。
此外,神经网络模型的压缩和低位表示也是我们研究的重点之一。
对象识别是感知图像中对象的位置和内容的问题。
典型应用包括手机上的人脸检测、自动驾驶车辆中的车辆/行人/交通标志检测以及视频分析中的各种对象检测。
该问题是图像理解中研究内容最多的核心问题,也是一个非常复杂的感知智能问题。
我们关心的几个子问题:1)如何有效解决遮挡问题。
这个问题对于人们来说似乎很容易,但实际上它涉及到人脑自动联想和补充不可见部分的能力,这已经部分属于人类认知智能的范畴; 2)如何有效地利用图像或视频的上下文信息或我们的常识。
上下文和常识对于帮助我们避免一些明显的错误和检测小物体很重要。
目前的物体在检测小物体方面的表现还很不理想,与人眼的能力差距还是很大的。
如果我们从图像中单独裁剪小物体,人类将很难识别它们。
但当这些小物体被放回到整体图像中时,人们就会做得非常出色。
我个人认为,对这两个子问题的深入研究确实可以为认知智能的理解提供有意义的指导甚至突破。
语义分割就是对每个像素进行分类,是更精细化的分类任务。
例如,将识别的人体划分为特定部位,将人脸划分为五官,将场景划分为蓝天、建筑物、道路、物体等。
目前在这个问题上占主导地位的方法是全卷积网络(FCN)由伯克利分校于2016年提出。
该方法使神经网络具有强大的结构化输出能力,从而有效地将深度学习推进到许多中早期视觉理解问题(例如立体匹配和光流计算)。
我的博士论文是研究早期视觉中的立体匹配问题。
十几年后,方法发生了根本性的变化,这在当时是难以想象的。
我们研发部门的一位实习生在最近提交的 CVPR 中设计了一个简单有效的 FCN 模型,在公共评估集上取得了非常好的成绩。
(顺便插个广告,Face++正在全国范围内招收实习生,兼职或全职均可,欢迎来到我们公司深入了解并有效解决许多有趣又困难的视觉理解问题。
)序列学习是最有趣的问题。
它有多种形式。
它可以输入序列(视频或音频)进行分类,也可以输出图像的描述性文本序列,或者输入和输出都是序列(例如识别图像)。
) 中的多行文本。
Face++产品中应用了解决这三类问题的算法。
目前解决这一问题的主流方法是循环神经网络(RNN),它也是语音识别和自然语言处理中的一大杀手锏。
由于人类智能的本质是实时“处理”连续感知的信号流,因此序列学习成为当下最热门的研究方向之一。
尤其是最近引入了外部存储器读写机制和执行单元的RNN,让我看到了解决人工智能中很多难题的一线希望。
Face++研究人员也在这方面积极思考和实践。
我们如何在Face++旷视科技进行研究?推动研究部工作的核心是培养人的做事能力,提供最好的研发环境。
应该培养哪些人才?人才是研发的生命线。
创造良好的环境吸引人才、培养人才、留住人才是我们的首要任务。
信息学竞赛(NOI/IOI)和本科生程序设计竞赛(ACM/ICPC)的参赛者构成了研究部的第一批勇士。
我们后来的勇士更多来自世界各地,背景也截然不同:有的以前做过视觉,有的以前做过机器学习,有的研究过基础问题,有的专注于具体的应用。
多元化的环境也让我们能够更全面地看待问题。
有了这个基因,我们一般培养两个方向的人才:研究科学家和全栈人工智能工程师。
研究科学家主要关注算法并寻求问题的本质解决方案。
我们的培养目标是成为该领域能独当一面的专家;全栈人工智能工程师是我们内部的称呼,目的是培养能上九天、登月的人(算法设计与训练),以及能满世界寻龟的全能战士(工程)算法、研究问题和方法的系统化)。
他们可以进行研究、理解系统,并且可以构建系统和轮子。
针对当前人工智能发展趋势,我们需要大量全能型人才将人工智能“+”到不同行业,解决实际问题。
这对人才提出了更高的要求。
我们相信,即使没有人工智能背景的工程师在这里工作1-2年也能成为独立的人才。
怎么做:和一群志同道合的朋友一起,围绕上面介绍的视觉理解的四个核心问题进行研究,并将研究成果应用到具体的视觉识别场景中。
Face++的研发团队是扁平化的,每个研究团队由2-4人组成,专注于一个课题。
话题可以是短期的,比如改进已经应用的某个产品线的算法;话题也可以是长期的,比如不断提高识别的准确性和性能。
我们每个研究人员都可以在不同的课题之间自由切换,这样可以最大限度地发挥个人的优势和积极性。
也让大家有机会在短时间内了解更多的问题,拥有更丰富的经验,学得更快。
生长。
套用现在深度学习的本质,大家的学习也需要大数据的输入。
研发环境:进行深度学习研究需要非常高效的训练引擎/平台和丰富的计算资源。
Face++内部使用近两年的“MegBrain”是完全自主研发的训练引擎。
它与目前流行的TensorFlow(谷歌一年前发布)密切相关,设计相似,都是基于Comg Graph的新一代训练引擎。
为什么我们要开发自己的系统?公司很早就开始研究深度学习,当时还没有好用的系统。
MegBrain可以最大限度地提高工作效率,同时满足灵活性和简单性。
目前,在AI初创公司中,Face++可能是唯一一家完全采用自研深度学习训练引擎的公司。
除了核心引擎之外,我们的架构团队还构建了强大的深度学习平台Brain++来管理我们庞大的GPU集群,完成从数据标注和管理、模型训练、GPU集群集中管理到产品发布的一切。
“一站式”自动化流程,让我们的研发人员将宝贵的精力集中在问题上。
这也让来Face++的实习生上手变得非常容易。
即使他们对深度学习系统零基础,在读完一套简单的教程后,2-3周就可以开始思考问题。
这些系统的建立,得益于我们团队内部众多的“全栈人工智能工程师”。
他们不仅是深度学习方面的专家,也是系统和分布式计算方面的专家。
最后,深度学习很大程度上受益于大规模训练数据。
我们还有专门的团队负责开发标注工具并完成大规模数据标注任务。
我学习时讲的一个笑话是“没有不好的算法,只有不好的数据”,Datais King。
你最近怎么样?关于Face++,我分享几个数字:我们人工智能云开放平台的API已经服务了近7万名开发者,被调用了62亿次;身份认证平台目前已服务1.2亿人次(注意不是1.2亿次),提供刷脸服务,覆盖金融市场85%的智能应用;智能安防和智能商业产品也覆盖25个省份。
服务客户、追求卓越不断推动我们前进。