【新智元导读】Facebook 官方博客最新发表文章,详细介绍其 AI 平台 FBLearner Flow 及建立在上面的专用于图像和视频理解任务的 Lumos 平台。Facebook 介绍了利用该平台的图片内容描述和图片搜索技术,这些技术建立在系统能够“理解”像素级的图像内容基础上,将为更丰富的产品体验铺平道路。
回想一下你最近点赞的帖子——非常可能是包含图片或视频的。但是,直到最近,在线搜索包括图像搜索都还一直是文本驱动(text-driven)的技术,是否能搜索到某一张图像取决于它是否有充分的标记或有正确的标题。但现在,技术的进步已经使图像搜索发生变化。
变化是由于我们已将计算机视觉技术推动到下一个阶段,其目标是理解像素级的图像。这有助于我们的系统做图像方面的任务,例如识别图像中的内容,图像中的场景属于什么类型,是否是著名的地标,等等。反过来,这也有助于我们更好地为视觉障碍者描述图片,并为带有图片和视频的帖子提供更好的搜索结果。
创建“AI工厂”
为了将 AI 编入到 Facebook 的工程结构中,我们首先需要一个通用的平台,以让我们的工程师能够大规模地利用它。我们称这个平台为 FBLearner Flow,其设计让工程师们在构建机器学习管道时不需担心配置机器或为实时通信处理服务扩展。我们目前每月在 FBLearner Flow 上运行120万次以上的 AI实验,大约是一年前的6倍。
随着这个平台的使用范围越来越广,我们在它上面构建的项目越来越多。从工具到自动化机器学习过程到专用的内容理解引擎,我们已经建立起一个积极的生态系统,允许工程师编写在许多机器上并行的训练管道,以让其他工程师重复使用。
计算机视觉平台
FBLearner Flow 最初是 Facebook AI Research(FAIR)的一个小项目,后来达到生产规模后,FBLearner Flow 平台和整个团队转移到应用机器学习团队,现在已经是 Facebook 当前的计算机视觉团队的发动机一般的存在。
Lumos 是建立在 FBLearner Flow 之上的,专为图像和视频理解而建的平台。Facebook 工程师们不需要为使用 Lumos 训练和部署新模型而接受深度学习或计算机视觉技术的培训。通过我们提供的新标注数据,以及我们的团队构建的应用程序的有注释数据,Lumos 平台一直在不断改进。
深度学习的进步让图像分类技术得到了重大改进——诸如“图像中有什么?”和“图像中某个对象在哪里?”这类的问题已经能得到更准确的回答。这项研究的进步是通过设计检测和分割给定图像中的对象的技术推动的。
这些技术在 Facebook 上的应用,是让照片通过一个深度学习引擎,该引擎能够分割图像并识别图像中的对象和场景,以及为照片附加更多的意义。这些应用提供的丰富数据集可以为 Facebook 的任何产品或服务所用。已经有数十个团队在 Lumos 上训练及部署了超过200个视觉模型,包括用于令人反感的内容检测,垃圾信息检测,自动添加图片说明等目的。这些应用程序已经产生广泛的影响,用户可以从我们的连接实验室(Connectivity Labs)搜索到使用该技术的团队。
描述图片内容
我们目前正在将图像理解技术应用于改善图片的自动替换文本(AAT),该技术可以为视障人士描述照片的内容。
此前,这些图片说明只能描述照片中的对象。今天,我们宣布我们已经为自动图片说明技术添加了一组共12个动作,所以现在图片描述已经能包括“人们走路”,“人们跳舞”,“人们骑马”,“人们玩乐器”等等包含动作的句子。
这个 AAT 的更新分为两部分,包括允许快速、可扩展迭代的 Lumos。在 FB 上分享的照片中有相当一部分包含人物,因此我们专注于涉及人物的自动图片描述。我们的 AI 团队收集了在 FB 上分享的包含人物的13万张公开照片作为样本。由人类标注者来为这些样本照片写出单行的描述,就像他们正在为视力受损的朋友描述照片一样。然后,我们利用这些标注构建了一个机器学习模型,可以无缝地推断照片中的人物的动作,以便在下游用于AAT。
图:people_riding_on_animal 模型。
Lumos 允许对此任务进行快速迭代,利用先前为另一个任务训练的模型中的标记样本的接口。例如“假如我们要训练一个“人在骑马”的分类器,并且想添加包含“马”(没有人骑)的图像样本,我们可以使用另一个模型的一部分标记样本,该模型学习把图片分类为是否包含“马”。
图:相同照片上的相似模型的分数比较。
Lumos 允许通过检索和聚类的组合来生成训练数据。给定一组标签或检索项,平台可以检索具有匹配那些标签的图片说明的部分公共照片。然后这些照片被按语义聚类,以便更快地进行标记——Lumos 用户可以选择把聚类标注为他们的用例的负面或正面样本,这可以在聚类级别进行或单独为聚类中的每个图像标注。这有助于使初始集的分类任务更易进行,随后是为了获得更高精度/查全率的分类器的迭代训练。
虽然 AAT 的应用很重要,因为它可以为 Facebook 的视障用户带来全新的访问体验,但还有其他只提供方便的应用,例如发掘新的搜索参数。
更具描述性的照片搜索技术
使用 Lumos,我们能够为我们的社区提供视觉层面的搜索。举个例子:当你看着照片回忆自己最开心的时光时,很难确切地想起来什么时候发生了什么事,以及是谁拍了那张照片。
今天,我们宣布我们已经建立了一个搜索系统,能够利用图像理解技术,对大量的信息进行排序,并快速、方便地把最相关的照片显示在最前面。举个例子,在搜索“black shirt photo”时,系统能够“看到”照片中是否有黑色的衬衣,并根据这个内容进行搜素,即使这些照片没有该信息的标记。
使用 Facebook 的自动图像分类器,就像在AAT示例中使用的那样,用户可以搜索朋友们共享的所有照片,这种搜索方式是基于图像的内容而不是寻找特定的标签或周围的文本。
为了确保搜索结果与查询条件相关,我们的系统必须能对实际的照片内容有很好的理解。我们的团队使用最先进的深度学习技术来处理数以十亿计的照片并理解他们的语义。具体来说,照片搜索团队使用以下信号来更好地为照片排序:
原始语义特征是高维的浮点向量,使用大量的存储空间以进行索引——尤其是我们要索引的照片量非常大。利用量化技术,特征被进一步压缩成几比特(bits),同时仍保留大部分语义。比特表征(bit representation)被用作照片的紧嵌入(compact embedding),并且可以直接用于排序,检索和重复照片删除。
构建此系统的一种方法是从图像中提取预测的概念和类别,然后解析查询项以链接到实体并提取概念,然后使用相似性函数来确定两组概念的相关性。
这种方法在开始阶段挺好,但团队没有止步于使用预测的图像类比,我们进一步使用查询和图像的共同嵌入,以显著提高精度和查全率。
我们把它作为一个排序问题的多模态学习。此外,我们还使用图像之间的相似性度量来确保图像搜索结果的多样性。
下一步是什么?
通过 Lumos 将图像分类器投入到生产中需要许多团队的大量工作。虽然这些新的发展值得注意,我们仍只抓住了自助计算机视觉平台的可能性的表面,前面仍有漫长而激动人心的道路。随着计算机视觉模型越来越好,Facebook 也正在进入视频和其他沉浸式的格式,Lumos 将以可靠、快速、可扩展的方式提供新的可能性,并在不久的将来为更丰富的产品体验铺平道路。
原文地址:https://code.facebook.com/posts/1259786714075766/building-scalable-systems-to-understand-content/