本次问答应“将门创业”之邀所写,专栏版本内容有扩增。
问一:能否和大家简要介绍一下你的背景,以及你现在在Facebook的工作内容和强度?
我之前在谷歌无人车组工作了一年三个月,自从2015年1月加入Facebook任人工智能研究所研究员,之前在做围棋,现在在做深度学习和增强学习(reinforcement learning)方面的工作。强度上来说基本上一天十一二个小时吧,一周七天,具体时间上比较自由,可能早上先干一会儿再去上班,或者晚上吃个饭然后继续干到晚上十一二点,或者早晨去健身,周末出去打个球都有可能。睡眠时间一般在七小时左右。
这样长的工作时间当然不是强制的,一方面因为我自己比较喜欢做研究,所以自然而然会比较长;另一方面毕竟年轻无孩,多干点是应该的。工作的内容基本上是看文章想办法写代码,另外还有开会聊天。后者听起来不是正事,但却是与别人沟通的重要一环。
我很少熬夜。熬夜效率非常低,我试过几次,眼睁睁地看着时钟从凌晨一点走到两点,再从两点走到三点,但手上工作还没做多少,伴随着一种非常强烈的挫败感。一般来说,这只适合最后期限(deadline)在第二天早晨的情况,但是如果真是这样,那说明投稿的时间部署还有优化的空间。
问二:如果用3个词来形容你自己的性格,你觉得是什么?
三个词概括不了一个人的性格的,写下来反而会给大家刻板印象。如果硬要说的话,我是个不会闲下来的人吧。
问三:你曾在一篇文章中提到过,希望奔跑中的自己,不要忘了“梦想”这个词的含义。你的梦想是什么?
我的梦想是在人工智能领域做出影响世界的工作。这其中包括两方面的工作。在理论上,理解复杂人工智能系统,比方说深度学习的工作原理;在应用上,做出效果更好并且切实可用的人工智能系统。目前在这两方面都有尝试并且也有一些成果,比如说在博士阶段做的对特定条件下非凸问题全局最优解的理论分析,还有最近做的DarkForest围棋系统。前者拿了ICCV2013的马尔奖提名,后者获得了很多国内外的媒体报道,拿了一些比赛名次,并且在开源之后惠及他人。
但说实话,目前的这些工作离实现梦想还有很大差距,需要一点一滴的不懈努力。
问四:目前你在知乎的粉丝也有3万多了,在圈内也算小有名气,作为一名科研人员,你觉得出名对你产生了哪些正面和负面的影响?
作为一个科研人员,正面的影响是说话有人愿意听,写的文章也有人欣赏。我本质上比较内向,写文章是自己的事情,目的是整理总结过去的经验,以为将来开辟道路,当然我非常高兴有很多人喜欢我的文章,这也算是影响世界的一种办法了吧(笑),从这点来说,出名是很有意义的。希望我以后能给大家带来更多更高质量的文章。负面的影响就是会有很多人来找,会变得忙一些。但另一方面,一个内向的人多和别人聊聊是非常有好处的。所以总的来说没什么负面影响吧。
一句话,做好自己的事,不要被名声牵着走就好了,管自己是涨粉还是掉粉,第二天太阳还是照常升起来的。
问五:在AlphaGo战胜李世石之后,你觉得除了Google在此获得了具大的曝光外,对整个产业的发展起到了怎样的作用?
主要还是给大众一个冲击。围棋在国内一直被认为是人类智慧的最后堡垒,是人的智能比机器智能厉害的标杆,现在这个标杆突然间被征服了,多年以来咱们的教科书上写的不对,这个震撼力是不言而喻的。这样就会让普罗大众都来关注人工智能,能起到加速产业发展的作用。
这有好有坏,好的是流进这个领域的钱会变多,需求会增长,工资会变高;但是坏的是大家对我们的期望也变高了。其实如同我之前写的那样,进步没有想像得那么大,很多时候大众看到的只是连成系统的最后一击,这一击非常震撼,但是背后几年甚至十几年的积累大众没有看到,以为会继续连击,结果发现老本都吃完了。
现在就要看我们是不是工作够努力以达成这个期望了,以目前的迭代速度和丰富的资源和工具来看,确实有可能加速发展;但也有可能在基本理论没有突破的情况下试不出什么新货色来,于是发展停滞。在这两种可能中,我个人持乐观主义态度,倾向于前者,当然这个观点是带有偏向性的,因为要是我持悲观态度,那为什么还要在这个领域继续做下去呢?
问六:现在深度学习在工业界越来越蔓延,其实现在有名的几家DL的公司,都在探索DL可以为社会创造什么样的价值,多大的价值。你认为DL将对社会产生什么样的价值?
深度学习(DL)的价值在于它能够免除很多人工设计的麻烦,极大地提高效率。以前花十年手工打造一个为特定场景设计的系统,现在可能花一年就做成通用系统,并且不管是性能还是可维护性都胜过以前手工打造的系统,这个可以说是革命性的。当然目前的问题是DL是黑箱不能解释,在定制和调试方面不如手工打造灵活。不过我相信随着大家的使用,理解会越来越深,更好的理论迟早也会出现,所以从长远上来说不是问题,我相信DL未来的影响会越来越深远,现在仅仅只是个如黎明曙光一般的开始,以后的路还很长。
问七:技术的竞争很激烈,快速迭代,而且算法门槛越来越低,大家都在刷数据,简单粗暴。你认为作为技术人员,竞争优势在哪里?
因为DL的便利性,现在是存在这个问题。大家估计都看过这个笑话,Caffe10块钱安装一次,CNN5块钱一行,RNN8块钱一行,好像深度学习门槛很低很低,高中生都可以试试。其实门槛并没有那么低,DL解决了以前的很多问题(比如说设计特征),但是带来了更多的问题(比如设计网络结构,从训练的结果里看出下一步要怎么调整)。
对于工程人员来说,如何以最快速度学习现有工具,掌握它们的脾气,利用它们解决新出现的问题;再上一步,如何设计灵活便利,效率更高的工具,这些都是要思考的。工具变强之后,人就会自然地思考更难的问题,是一直以来的趋势。而计算机这个行业的好处,就是不管工具内部有多复杂的逻辑,接口做好了用起来都一样方便,这是它之前一直在火,以后也会一直火下去的原因。
对于研究人员来说,虽然是绕着DL做文章,但功夫却在DL之外。遍历各大会议的文章,DL虽是很大的主题,但是在DL上翻的花样都和以前的各领域有关,比如说图模型,增强学习,等等,至于理论分析,则更离不开基本功,矩阵论,微分方程,动力系统,随机矩阵谱估计,张量分解,凸优化等等,现在既然不知道它为什么效果好,那么任何领域都得试一下。在这种情况下,能在各个分支上来回切换,并且迅速找到问题的难点,就是研究员的核心能力了。这种能力往往在求学阶段时,静下心来花很多年的时间积累得到,目前还很难被机器被取代。如果翻我的履历,就会发现我以前不是做深度学习的,后来在谷歌无人车组时自己在业余时间做了下,最后拿到了我现在组研究员的Offer。
另一种重要的,目前难以替代的能力是交流能力。其一是业务交流能力及管理能力,单独自己做是永远赶不上一个训练有素的团队的速度的(AlphaGo就是一例)。为此需要广泛地与同行交流与下属交流,明白什么事是自己需要干的,什么事可以交给别人解决,知道什么时候可以妥协需要妥协,什么时候要坚持原则,以最快最有效率的办法解决问题。
其二是跨领域交流能力。如之前我写的《快速迭代的人工智能》所说,相比其它领域以年为单位来衡量的迭代速度,AI这里完全可以用技术爆炸来形容:每天都会出现值得一读的文章,所有教科书都相对过时,各种结论随时可能被推翻,准确率的冠军往往只能保持几月甚至几天。我相信,以后作为高效率工具,机器学习特别是深度学习肯定要进入其它领域的,而如何通过不同领域间的交流,让它充分发挥作用,这是个难点。这就要求博士能真正做到学识渊博,在自己的领域有深入了解的同时,还要对其它领域有所了解,特别对学科框架有所了解,遇到问题能纲举目张,分析到点子上。随便找一个学电子,金融,机械,化工,材料,土木,生物的同学,能不能和他们聊起来?他们现在可能和我们做的一点关系也没有,但还是需要处理数据,需要数学建模,需要模式识别,需要最优化,需要高效地分配和完成任务。这些都是以后的增长点。
问八:你是如何看待现在大量学术界的人才流向工业界这个现象的?
学术界相对来说比较自由,迭代没有那么快,可以做相对长期的课题(比如说一年两年)和相对抽象的课题(比如说建框架,做理论分析),当然资源没有工业界丰富。这里的资源包括计算资源,大量的数据还有有经验的人。工业界这边给钱会比较多,但是要求出活快有实际效果,最好能赚钱。
我们组(Facebook人工智能研究所)目前看起来兼顾学术界和工业界的优点,既有学术界的自由度,又有工业界的资源,是相当不错的,欢迎大家申请。我们这里有以下几类职位。
(1) 研究员(Research Scientist),要求有比较长的相关研究经验(计算机视觉,机器学习,增强学习),并且在自己的研究领域做出有影响力的好成果。主要做基础研究工作。
(2) 研究工程师(Research Engineer),要求代码能力强,对相关方向有一定经验。有相关开源项目更好。
(3) 博士后(Postdoc),与(1)的要求相近但是低些。一般博士毕业应届生只能申请这个职位。
(4) 实习生 (Intern),为期三个月,一般要求博士在读,已有好工作发表在顶会上,及具备一定的代码能力。
注意(1)(3)(4)都没有文章数量的要求,只看质量。若是看到简历里列出一堆烂会或者低质量的工作,只会是扣分项,有一两篇烂会大家就要考虑一下是不是招,有很多篇烂会那肯定无脑拒了,而反过来,只要有一篇文章在领域里获得了巨大的影响力,那不管是不是中稿都会有对作者有极大的兴趣。总的来说,看一个人的影响力,往往看最好的两三篇文章的质量,看他的招牌成名作,这是以前我导师教我的,也是在美国学术圈里一直看到的评价体系。
**问九:目前机器学习方法的成功运用需要依赖于利用大量数据进行算法训练,然而对于不拥有海量数据资源的企业,尤其是初创企业而言门槛很高,这在一定程度上限制了创新的机会。机器学习是否存在减少对数据的依赖的路径?在学术界和工业界最新的实践进展如何? **
减少对数据依赖的办法一定是有的,人类智能就是个现成的例子:一个训练好的模型,能通过几十个或者几百个样本迅速学会新任务。如果以后我们能搞出一个这样的模型来,放在Github上给大家下载,那对初创企业是非常好的帮助。当然,近期内还办不到。
目前减少数据依赖有各种办法,比如说人工设计特征和提炼规则再接以简单的模型训练,各种正则化方法,对模型顶层权值进行fine-tune,绑定权值shared weight, 各种形式的transfer learning,及最近比较流行的建立虚拟世界然后从里面进行数据采样的办法,这些办法各有各的优缺点,不存在万灵药。本质上来说,这是因为我们对DL的机理不清楚,只有模糊的直觉理解,而没有定量理解,所以只好用大量数据把模型硬生生学出来。若是对DL有更深的掌握,那原则上来说能用很少的数据去随意微调已有模型得到新的,将又会是一个突破。对初创公司来说,大数据的限制确实会让人难受,但技术上的问题通过仔细分析,应该是有各种折中办法的,这就要靠各家人才的聪明才智了,基本上是具体问题具体分析,没有什么统一的办法。这是DL研究人员能拿高工资的原因之一。
问十:现在越来越多的企业开始进行人工智能专用处理器的研发。例如IBM公司的TrueNorth,高通公司的Zeroth,Google公司的TPU,KnuEdge公司的KnuPath和中国科学院的寒武纪,中星微的NPU等。这些专用处理器在实际应用中效果如何?人工智能专用处理器的细分市场发展上会有什么样的趋势?
我不是做硬件的所以无法详细回答这个问题。目前通用的GPU已经让训练速度快10多倍了(这数字可能过时),我相信再往下走可能会出现更快的通用DL芯片,和针对特定应用背景的专用DL芯片吧。