探访Facebook应用机器学习团队:如何构建研究与应用之间的桥梁?

1-MXFo9mBVoF82mn07StYpUA@2x.jpeg

在 Facebook,应用机器学习(Applied Machine Learning)团队正在帮助这家社交网络公司看见、说话和理解,他们甚至可能会帮助根除假消息。

1-TxpWAV2QN_O4gUm8sdHeaw.jpeg

Joaquin Candela,Facebook 应用机器学习团队工程开发主管

当被要求领导 Facebook 的应用机器学习团队来推动这个世界上最大的社交网络全面进军人工智能时,Joaquin Quiñonero Candela 犹豫了。

原因倒不是因为这个西班牙出生的、自称「机器学习(ML)人」的科学家的还没见证过人工智能帮助 Facebook 的方式。实际上,自从 2012 年加入该公司之后,他就一直在监管该公司广告运行的转型——使用机器学习方法来使受赞助的帖子更相关和更高效。值得注意的是,他是通过让其团队中的工程师都使用人工智能而完成的,尽管他们中有一些人之前并未接受过相关的训练,但最后他成功让广告部门的机器学习技能变得丰富了起来。但他并不确定同样的魔法是否能在 Facebook 整个公司的更大疆土上起效,这里有十几亿人连接在一起,而连接所基于的价值却远比衡量广告的硬数据更模糊。对于这次升职,他评论说:「我需要确信这么做是有价值的。」


尽管有这样的怀疑,但 Candela 还是接受了这个职位。而现在,还不到两年的时间,他的犹豫看起来却像是很荒唐的一件事。


有多荒唐?上个月,Candela 在纽约一场大会上对在场的工程师讲了话。「我要做出一个非常明确的声明。」他警告说:「没有人工智能,今天的 Facebook 就不会存在。每天你使用 Facebook 或 Instagram 或 Messenger 的时候,你可能没有意识到,但你的体验之下都是人工智能在驱动。


去年 11 月,为了采访 Candela 和他团队的一些成员,我拜访了 Facebook 位于 Menlo Park 的巨型总部,所以我可以看到人工智能是如何突然就变成了 Facebook 的「氧气」的。到目前为止,人们对 Facebook 在人工智能领域的关注都主要还是集中在其世界级的 Facebook 人工智能研究团队(FAIR/Facebook Artificial Intelligence Research)——该团队的领导者是大名鼎鼎的神经网络专家 Yann LeCun。FAIR 以及谷歌、微软、百度、亚马逊和苹果(这家善于保密的公司现在已经允许其研究者发表论文了)的相应机构是人工智能领域的毕业生精英最偏爱的目标选择。这些机构是脑启发数字神经网络领域重大突破的顶级生产者,是近来计算机科学领域发展的主要推动力——让计算机具备了看见、听懂甚至交谈的能力。而 Candela 的应用机器学习团队(AML/Applied Machine Learning)的任务是将 FAIR 与其它前沿研究机构的研究成果整合到 Facebook 实际的产品中——而也许更重要的是,助力该公司所有的工程师将机器学习整合到他们的工作中。


因为没有人工智能,Facebook 就无法生存,所以它需要其所有的工程师都能用人工智能来进行开发。

我的拜访是在美国总统大选之后两天进行的,而在一天之前,Facebook 的 CEO Mark Zuckerberg 曾表示:「Facebook 上虚假新闻的流通有助于 Donald Trump 赢得大选」是个「疯狂的看法(it's crazy)」。这么评价就好比是说:认为 Facebook 是 News Feed 上虚假信息疯狂传播的共犯就像是说驾驶一辆油罐车冲向一团不断蔓延的凶猛大火。尽管这些争议中很多不是 Candela 职业之内的事情,但他知道 Facebook 对虚假新闻的最终回应将会依靠有他的团队所参与的机器学习工作。


但为了减轻我们采访过程中坐在我们旁边的公关人员所带来的压力,Candela 向我们展示了一些其它东西——一个展示他们团队的成果的演示。让我惊讶的是,这看起来像是一个微不足道的小玩意:它以一位风格独特的画家的杰作的风格来重新绘制一张照片或一段视频流。事实上,它让我联想到了你可以在 Snapchat 上看到的数字特效,而且这种将照片转换成毕加索的立体主义风格的点子之前已经被实现了。


「这背后的技术叫做神经风格迁移(neural style transfer),」他解释说,「需要训练一个大型神经网络来使用一种特定的风格来重新描绘一张原始照片。」他拿出他的手机拍了一张照片。一次点击和滑动之后,它变成了梵高的《The Starry Night》风格。更惊人的是,它可以风格渲染正在播放中的视频流。但他说,真正的不同之处在于一些我无法用眼睛看见的东西:Facebook 已经构建了可以使其在手机上工作的神经网络。


这同样并不新鲜——苹果之前就吹嘘过自己在 iPhone 上执行过一些神经计算。但对 Facebook 来说,这项任务却难得多。因为它并不生产硬件。Candela 说他能执行这个小应用是多亏了该团队的工作积累的成果——一个项目会让另一个项目更简单,综合起来可以让未来的工程师无需接受太多培训就能开发出类似的产品——从而使得这样的东西可以被快速地开发出来。他说:「从开始开发这个到我们把这个成果投入公开测试,我们用去了八周时间,这是相当疯狂的。」


1-YDXq-tZQzsJ0Vvl4ylUdVQ.jpeg

从左到右)AML 工程总监 Joaquin Candela;应用计算机视觉团队负责人 Manohar Paluri;技术产品经理 Rita Aquino;工程经理 Rajen Subba


他说,完成这样的任务的另一个秘密是协作(collaboration),这也是 Facebook 公司文化的砥柱。在这个案例中,Facebook 内部团队间的轻松可接触性使得从数据中心的图像渲染可跳跃到手机端实现该工作,尤其是移动团队密切熟悉手机硬件。这种好处不只是让你能够把朋友或亲人的照片做成名画「The Scream」中的女性那种风格的电影。而是让 Facebook 的一切都变得更强大所迈出的一步。短期内,这使得从解析语言和理解文本中得到更快的回应成为了可能。长期而言,它能够使得实时分析听见的和看见的成为可能。他说,「我们说的是秒,或者更短的时间。它必须是实时的。我们是社交网络,如果我们要根据一点内容预测人们的反馈(feedback),我们的系统需要即时作出反应,对吧?」


Candela 看了一眼刚拍的、并转成了梵高绘画风格的自拍照,骄傲溢于言表。他说,「在手机上运行复杂的神经网络,也就是要把人工智能放到每个人的手中。这并非偶然所得,而是 Facebook 内部民主化人工智能的一部分。」


「这是一段漫长的旅程。」他补充说。


Candela 出生于西班牙,在他三岁时全家搬迁到了摩洛哥,于是他在那里上法语学校。虽然他的理科和文科成绩都很高,但他决定去马德里上大学,希望在那里学习他认为最难的课题:电信工程——这门不仅需要掌握如天线、放大器等实物的有关知识,也要读得懂数据的「极酷」课程。他被一位解构自适应系统的教授施了魔咒。


Candela 开发了一个使用智能过滤器来改善漫游手机信号的系统;他称其为「一个婴儿神经网络」。2000 年他在丹麦度过了一个学期,那段时间的研究使他对训练算法愈加迷恋,并没有仅仅停留在研究代码的层面。在那里他与 Carl Rasmussen 不期而遇——一位曾与传奇人物 Geoff Hinton(在机器学习领域有「cool kid」之称的机器学习教授)在多伦多共同研究。在临近毕业时,他本打算加入宝洁公司的一项管培计划,但当 Rasmussen 邀请他攻读博士学位时,他选择了机器学习。


2007 年,他来到英国剑桥的微软研究实验室工作。工作不久,他便得知一个公司内部的竞争:微软即将推出 Bing,但需要改进搜索广告的关键组件——准确地预测用户何时会点击广告。而公司决定开展内部竞争。公司会测试团队的解决方案,以确认是否值得采用,而获胜团队的成员将获得一次免费的夏威夷之旅。19 支队伍进行了比赛,而 Candela 的队伍取得了胜利。他获得了免费旅行的奖励,但他感觉自己受到了欺骗——他认为微软更大的奖赏在于他的成果能在通过测试后成功发布。


Candela 接下来的一系列行为显示了他的决心。为了让公司给他一个机会,他开始了「疯狂远征」。他进行了 50 多次内部会谈,并建立了一个模拟器来显示他的算法的优势;他跟踪了这个有权力做出这个决定的副总裁——在等自助餐的时候站在他旁边,故意和他一起上洗手间,然后在便池那里鼓吹自己的系统;他搬到了这位高管的办公室旁边一块未被使用的地方,然后毫无预警地出现在了这个人的办公室,争辩着「说到就要做到,我的算法更好」。


将自己定位于站在自助餐线的人的身旁并同步化他的浴室之旅,而后从邻近的小便池推荐他的系统;他躲进行政部门附近的闲置空间,并突然出现在行政部门的办公室,争辩着「说到就要做到,我的算法更好」。


2009 年,Candela 的算法与 Bing 一同发布。


2012 年初,Candela 拜访了在 Facebook 工作的朋友,周五在位于门洛帕克的园区待了一天。当他发现这家公司的职员不必申求成果的测试权,而是随时都可以测试时,他惊呆了。于是三天后,他去 Facebook 进行了面试,当周的周末便拿到了 offer。


Candela 加入了 Facebook 的广告团队,他的任务是领导一个能够为用户展示相关性更强的广告的团队。尽管当时他们系统确实在使用机器学习,但他说:「我们使用的模型并不高级,它们非常简单」。


1-MOaatU3WANYFBuRX-LtlDQ.jpeg

Facebook 20 号楼内部场景。


另一位同时加入 Facebook 的工程师是 Hussein Mehanna(他们一起参加了新员工的「代码启动训练营(code boot camp)」),他同样对公司的系统中构建人工智能方面进展的缺乏感到惊讶。Mehanna 说:「当我进入 Facebook 之前,看到产品的质量时,以为所有技术都已经成熟,但很显然不是这样。开始工作的几周内,我告诉 Joaquin:Facebook 真正缺少的是一个合适的世界级机器学习平台。我们有机器,但缺乏能够使其从数据中尽可能学习的合适软件」。(Mehanna 是如今 Facebook 的核心机器学习主任,同样是一个微软老员工——和其他被采访工程师一样。这是巧合吗?)


Mehanna 所说的「机器学习平台」,是指采用大致基于大脑行为方式的模型——这一范式将人工智能从上世纪荒芜的「冬天」(早期实现「会思考的机器」的希望已然渺茫)变成了如今的「百花齐绽」。在广告领域,Facebook 需要它的系统完成一个没人做得到的事情:即时(并准确!)地预测有多少人会点击指定的广告。于是 Candela 和他的团队开始创建一个基于机器学习程序的新系统。由于该团队希望将系统构建为一个所有在该部门工作的工程师都能访问的平台,他们便以一种能使建模和训练被推广与复制的方式来实现。


构建机器学习系统的一个关键因素便是获得高质量数据——越多越好。这恰好是 Facebook 最大的资产之一:当每天有超过十亿人与你的产品交互,便能收集大量的数据作为训练集,并且一旦你开始测试,就能够得到无尽的用户行为实例。因此广告团队能够从几周发布一个新模型转变为每周运送多个模型。另外,因为这将会变为一个允许其他人在内部使用,以构建自己的产品的平台,所以 Candela 确保以多团队参与的方式来完成他的工作。这是一个有条不紊的三步过程。他说:「首先你应专注于性能,而后是效用,最后建立一个社区」。


Candela 的广告团队已经证明,机器学习在 Facebook 可以具有多大的变革性。他说:「我们在预测点击次数、点赞、转发次数等方面取得了难以置信的成功」。自然而然,将这种方法向更大型服务推广的想法便产生了。事实上,FAIR 的领导 LeCun 已经在支持一个致力于将人工智能应用到产品中的团队——特别是以一种能够使机器学习向公司内部更广泛传播的方式。LeCun 说:「我确实在努力实现它,因为你需要具有杰出的才能的工程师组织在一起,他们不会直接关注产品,而是注重能够被多种产品使用的基础技术」。


2015 年 10 月,Candela 成为新的 AML 团队主管(在一段时间里,出于谨慎,他还保留着在广告部门的职位,两者兼顾)。他与位于纽约、巴黎和门洛帕克的 FAIR 保持着密切联系,那里研究人员与 AML 工程师平起平坐。


一个在开发中的产品可以说明这种协作的方式,这个产品为 Facebook 上发布的图片提供语音描述。在过去几年,训练一个系统去识别场景中的物体或者进行基本总结,来判定照片是在室外还是室内拍摄,成为了一种人工智能标准实践应用。不过,最近 FAIR 的科学家已经可以训练神经元网络去识别图像中几乎每一个有意义的物体,并通过物体的位置和与其他物体的关系,来判断照片的内容——通过分析姿势,来判断一张照片里的人在拥抱,或者一个人在骑马。「我们把这个给 AML 的人看了,」LeCun 说,「他们想了一会儿,说『你知道的,这在有些情况下可能会非常有用。』」最终出现的是一个为视力障碍人士准备的一项功能的原型,它可以在视力障碍人士将手指放在图片上时,让手机读出照片的描述。


「我们一直在交流,」Candela 说起他的兄弟团队(指代 FAIR)。「从更大的层面来说,科学理论到实际的项目,你需要『胶水』,我们就是『胶水』。」


Candela 将人工智能的应用分为四个领域:视觉、语言、语音和摄像头效果。他说,所有这些,都会为一个「内容理解引擎」服务。通过掌握理解内容的方法,Facebook 试图检测到评论中的隐含意图、从口语中提取出细微的差别、从视频中识别出你朋友短暂出现的面部,以及理解你的表达,并将其绘制在虚拟现实地图中的图标上。


「我们正在做的是人工智能的泛化,」Candela 说。「随着需要理解、分析的内容量的爆炸,我们生成可判断内容的标签的能力跟不上了。」问题的解决方案,就是开发泛化的系统,这样一个项目的工作成果可以用到其他团队的相关项目上。Candela 说,「开发出可以将知识从一个任务迁移到其他任务的算法,会非常棒,对不对?」


这种知识迁移对于 Facebook 产品产出速度意义重大。拿 Instagram 来说。从这个照片服务产品的初始,用户的照片就是时间倒序呈现。不过在 2016 年年初,Instagram 决定使用相关性 sr'fa 排列照片。好消息是,因为 AML 已经在类似 News Feed 这样的产品中应用过了机器学习,「Instagram 不需要从零开始」,Candela 说。「Instagram 有一两个专业的机器学习工程师和数十个其他使用各种排序算法的团队对接。这样,他们就可以复制工作流,并且有问题可以直接沟通。」最终,Instagram 仅用了几个月就完成了这项巨大的产品改动。


对于可以将其神经网络的威力与其他团队结合而产出「Facebook 规模」的功能的使用案例,AML 团队时刻准备着。「我们正在使用机器学习技术,来增强我们的核心能力,以取悦我们的用户,」AML 认知团队的带头工程师 Tommer Leyvand 说道。(他来自……嘿嘿……微软。)

1-09pIa15CHykn5CBNmWdlpg.jpeg

Rita Aquino, Facebook 技术产品经理


一个案例就是最近推出的社交推荐功能。一年前。一名 AML 工程师和一个 Facebook 分享团队的产品经理正在讨论一个强社交场景,即用户向朋友要求推荐当地的餐厅或者其他服务。「问题是,怎样将这个功能呈现给用户?」Rita Aquino,AML 的自然语音团队产品经理说道。(她之前也是产品经理,供职于……算了,不说了)分享团队一直在尝试匹配推荐请求的词语。「那种方式并不精确,在一天 10 亿条的消息下,也无法扩大规模,」Aquino 说。通过训练神经网络,并在生活行为模型上测试,团队随后可以监测到非常细微的语言变化,并能准确检测用户是否在询问某个地区内的餐厅或者需要购买鞋子。之后,合适的联系人的 News Feed 上就会出现一条请求。下一步——也由机器学习驱动——判断是否有人提供了合理的推荐,并将商铺或者餐厅的地址,显示在用户的 News Feed 上。


Aquino 说,在她为 Facebook 工作的一年半时间里,人工智能从产品中的罕见部分,变成了深植于产品概念中。「大家希望自己交互的产品能够更加聪明,」她说。「很多团队看到了社交推荐这样的产品,看了我们的代码,然后就问『我们怎么实现这种功能?』给你的团队实验这种用户体验,并不需要太多机器学习背景。」就自然语言处理来说,团队开发了一个可供其他团队方便访问的系统,叫做 Deep Text。这个系统可帮助使用 Facebook 翻译功能背后的机器学习技术,每天超过 40 亿条消息都会用到这项技术。


对于图像和视频,AML 团队开发了名叫 Lumos 的机器学习视觉平台。该平台始于当时还是 FAIR 实习生的 Manohar Paluri。他当时正在开发一个他称为 Facebook 视觉大脑的大型机器学习视觉项目,这是一个用于处理和理解 Facebook 上发布的所有的图像和视频的工具。2014 年的黑客马拉松上,Paluri 和同事 Nikhil Johri 在一天半的时间里完成了产品的原型,并展示给激动不已的 Zuckerberg 和 Facebook COO Sheryl Sandberg。Candela 创建 AML 后,Paluri 加入了小组,并负责计算机视觉团队,开发 Lumos,帮助所有的 Facebook 工程师(包括 Instagram、Messenger、WhatsApp 以及 Oculus)使用这一视觉大脑。


有了 Lumos,「公司里的任何人都可以使用多个神经网络的功能,为自己的使用场景建立模型,检测效果,」在 AML 和 FAIR 有联合职位的 Paluri 说道。「在工作流程中,其他团队可以有人参与进来,纠正系统、进行再训练,然后上线,这并不需要 AML 团队参与。」


Paluri 给我做了一个快速演示,他在他的笔记本上启动 Lumos,我们进行一个样本任务:优化神经网络识别直升机的能力。一个包含图像的网页——如果我们继续刷屏,图像数量将达到 5000 张——出现在屏幕上,充满了直升机的图片,还有一些不是直升机的图片。对于这些数据集(Facebook 使用公开发布的图像),这些图像具有仅限朋友查看或其他分组不受限制的属性。尽管我完全不是一个工程师,更不是人工智能专家,点击负样本以训练直升机图像分类器对我来说并不难,我就像行家一样完成了它。


最终,这种分类步骤——被称为监督学习——可能变得自动化,就像公司追求的机器学习圣杯「无监督学习」那般,神经网络有能力自己找出所有这些图片中都有些什么。Paluri 说:「公司正在取得进展,他说,在下一年我们的目标是把人工标注的数量降低 100 倍。」


长远来看,为了 Candela 所说的通用内容理解引擎(generalized content understanding engine),Facebook 会将视觉皮层与自然语言平台的融合。Paluri 说:「无疑我们最终会把它们结合在一起,接着我们会把它做成皮层(cortex)。」


最终,Facebook 希望用于取得进步的核心原理通过论文发表等方式扩展到公司之外,从而使其民主化方法论(democratizing methodology)更广泛地传播机器学习。Mehanna 说:「摈弃花费数年时间努力建构一个智能应用的方式,其实你可以更快地构建应用。想象一下其在医药、安全和交通领域的影响。我认为这些领域应用的构建将快上 100 倍。」


1-khZUGsCQs1m3hElHrN-2cA.jpeg

2017 年 2 月 6 号,Facebook 应用计算机视觉团队负责人 Manohar Paluri 在加利福尼亚 Menlo 公园 20 号楼,照片由 Stephen Lam 拍摄


尽管 AML 深度参与了帮助 Facebook 产品能看能听能解释的史诗般进程,扎克伯格也看到其对 Facebook 作为一家社会公益公司的愿景至关重要。在扎克伯格关于构建未来社区的 5700 词的宣言中,他 7 次引用了「人工智能」,并且全部是在机器学习及其他技术如何使未来社区更安全、更加信息化的背景下引用的。


实现这些目标并不容易,相同原因是 Candela 首先担心参加 AML 工作。当你试图连接几十亿人并为其提供主要的信息源时,问题就会出现,即使机器学习也不能完全解决这些来自人的问题。这就是为什么持续更新算法以决定用户在其新闻推送中将看到什么。当你并不确定那是什么时,你如何训练一个网络来传递最优组合。Candela 说:「我认为这个问题几乎不可能解决。我们随机推送新闻故事意味着你在浪费自己的时间,不是吗?我们只推送一个朋友的新闻故事,赢者通吃。你可以彻底结束这个一轮又一轮的讨论,其中没有最优解。我们尝试做一些探索。」Facebook 将会继续用人工智能来解决这个问题,人工智能不可避免地成为了问题的通用解决方案。Candela 看起来满怀希望地说:「在机器学习和人工智能方面有一系列的行动研究来优化探索的恰当水平。」


当然,当 Facebook 发现自己受假新闻牵连并被当成罪魁祸首时,它会快速召集人工智能团队从服务中清除虚假新闻。这是一次不同寻常的集体行动,其中甚至包括眼光长远的常被作为顾问的 FAIR 团队。LeCun 说。结果证明,FAIR 的努力产生了一个解决问题的工具:被称作 World2Vec 的模型(「vec」是科技术语向量(vector)的缩写,参阅:http://www.pamitc.org/cvpr15/files/lecun-20150610-cvpr-keynote.pdf)。World2Vec 给神经网络带来了一种记忆能力,帮助 Facebook 用信息标注每一条内容,比如内容是谁发的,谁又分享了该内容。(不要把它和谷歌的 Word2Vec 搞混了,一开始我就这样)有了这些信息,Facebook 可以理解假新闻的特征及分享模式,使得通过机器学习策略根除假新闻有了可能。「事实证明,验证假新闻与找到用户最想看的网页并没有什么大不同。」LeCun 说。


Candela 团队建立的平台使得 Facebook 能够最快的速度推出需要审查的产品。它们实际表现如何仍有待观察。Candela 说,目前讨论这些算法减少假新闻的能力还为时过早。但无论这些新措施是否有效,目前的困境提出了另一个问题:一个解决问题的算法——即使是机器学习算法——也可能会产生意想不到的甚至有害的后果。有些人认为在 2016 年这样的事已经发生了。


Candela 反对这种观点。「我认为我们已经使世界变得更美好了。」他说道,并讲了一个故事。在采访的前一天,Candela 打电话给一位只有一面之缘的 Facebook 用户——一个朋友的父亲。他看到那个人在 Facebook 上发布了支持特朗普的故事,并对此感到困惑。然后 Candela 意识到他的工作是根据数据做出决定,他缺少重要的信息。所以他联系了这个人并请求进行谈话。对方同意之后他们进行了电话沟通。「这没有改变我的世界,但让我学会了以一个非常不同的方式来观察事情的方法,」Candela 说。「在一个没有 Facebook 的世界里,我永远不会和他出现交集。」


「换句话说,虽然人工智能是必要的——甚至是决定性的——但对于 Facebook 来说,人工智能并不是唯一的答案。「目前的挑战是人工智能还处于起步阶段,」Candela 说。「我们只是刚刚上路。」

入门Facebook产业风格迁移计算机视觉微软