人工智能未来的数据标注将会是自我标注

2017 年 7 月,最后一届 ImageNet 挑战赛落幕。

为何对计算机视觉领域有着重要贡献的 ImageNet 挑战赛,会在 8 年后宣告终结?

毕竟计算机系统在图像识别等任务上的准确率已经超过人类水平,每年一次突破性进展的时代也已经过去。

近日,FAIR(Facebook AI Research) 的 Ross Girshick 、何恺明等大神联手,在 ImageNet-1k 图像分类数据集上取得了 85.4% 的准确率,超越了目前的最好成绩,而且没有使用专门为训练深度学习标记的图像作为训练数据。

然而,这不能怪大家不努力,只怪 Facebook 实在太土豪。10 亿张带有 hashtag(类似于微博里面的话题标签)的图片,以及 336 块 GPU,敢问谁能有这种壕气?

Facebook 表示,实验的成功证明了弱监督学习也能有良好表现,当然,只要数据足够多。

话不多说,我们一起来看看 Facebook 是怎样用数据和金钱砸出这个成果的。

以下内容来自 Facebook 官方博客,人工智能头条 编译:

图像识别是人工智能研究的重要领域之一,同时也是 Facebook 的一大重点关注领域。我们的研究人员和工程师希望尽最大的努力打破计算机视觉系统的边界,然后将我们的研究成功应用到现实世界的问题中。为了改进计算机视觉系统的性能,使其能够高效地识别和分类各种物体,我们需要拥有至少数十亿张图像的数据集来作为基础,而不仅仅是百万量级。

目前比较主流的模型通常是利用人工注释的单独标记的数据进行训练,然而在这种情况下,增强系统的识别能力并不是往里面“扔”更多的图片那样简单。监督学习是劳动密集型的,但是它通常能够达到最佳的效果,然而手动标记数据集的大小已经接近极限。尽管 Facebook 正在利用 5000 万幅图像对一些模型进行训练,然而在数据全部需要人工标记的前提下,将训练集扩大到数十亿张是不可能实现。

我们的研究人员和工程师想出了一个解决办法:利用大量带有“hashtag”的公共图像集来训练图像识别网络,其中最大的数据集包括 35 亿张图像以及 17000 种 hashtag。这种方法的关键是使用现有的、公开的、用户提供的 hashtag 作为标签,而不是手动对每张图片进行分类。

这种方法在我们的测试中运行十分良好。我们利用具有数十亿张图像的数据集来训练我们的计算机视觉系统,然后在 ImageNet 上获得了创纪录的高分(准确率达到了 85.4%)。除了在图像识别性能方面实现突破之外,本研究还为如何从监督学习转向弱监督学习转变提供了深刻的洞见:通过使用现有标签——在本文这种情况下指的是 hashtag——而不是专门的标签来训练 AI 模型。我们计划在不久的将来会进行开源,让整个 AI 社区受益。

▌大规模使用 hashtag

由于人们经常用 hashtag 来对照片进行标注,因此我们认为这些图片是模型训练数据的理想来源。人们在使用 hashtag 的主要目的是让其他人发现相关内容,让自己的图片更容易被找到,这种意图正好可以为我们所用。

但是 hashtag 经常涉及非可视化的概念,例如 “#tbt” 代表“throwback Thursday”;有些时候,它们的语义也含糊不清,比如 “#party”,它既可以描述一个活动,也可以描述一个背景,或者两者皆可。为了更好地识别图像,这些标签可以作为弱监督数据,而模糊的或者不相关的 hashtag 则是不相干的标签噪声,可能会混淆深度学习模型。

由于这些充满噪声的标签对我们的大规模训练工作至关重要,我们开发了新的方法:把 hashtag 当作标签来进行图像识别实验,其中包括处理每张图像的多个标签(因为用户往往不会只添加一个 hashtag),对 hashtag 同义词进行排序,以及平衡常见的 hashtag 和少见的 hashtag 的影响。

为了使标签对图像识别训练更加有用,我们团队训练了一个大型的 hashtag 预测模型。这种方法显示了出色的迁移学习结果,这意味着该模型在图像分类上的表现可以广泛适用于其他人工智能系统。

▌在规模和性能上实现突破

如果只是用一台机器的话,将需要一年多的时间才能完成模型训练,因此我们设计了一种可以将该任务分配给 336 个 GPU 的方法,从而将总训练时间缩短至数周。随着模型规模越来越大——这项研究中最大的是 ResNeXt 101-32x48d,其参数超过了 8.61 亿个——这种分布式训练变得越来越重要。此外,我们还设计了一种删除重复值(副本)的方法,以确保训练集和测试集之间没有重叠。

尽管我们希望看到图像识别的性能得到一定提升,但试验结果远超我们的预期。在 ImageNet 图像识别基准测试中(该领域最常见的基准测试),我们的最佳模型通过 10 亿张图像的训练之后(其中包含 1,500 个 hashtag)达到了 85.4% 的准确率,这是迄今为止 ImageNet 基准测试中的最好成绩,比之前最先进的模型的准确度高了 2%。再考虑到卷积网络架构的影响后,我们所观察到的性能提升效果更为显著:在深度学习粒使用数十亿张带有 hashtag 的图像之后,其准确度相对提高了 22.5%。

在 COCO 目标检测挑战中,我们发现使用 hashtag 预训练可以将模型的平均精度(average precision)提高 2% 以上。

这些图像识别和物体检测领域的基础改进,代表了计算机视觉又向前迈出了一步。但是除此之外,该实验也揭示了与大规模训练和噪声标签相关的挑战和机遇。

例如,尽管增加训练数据集规模的大小是值得的,但选择与特定识别任务相匹配的一组 hashtag 也同样重要。我们选择了 10 亿张图像以及 1,500 个与 ImageNet 数据集中的类相匹配的 hashtag,相比同样的图像加上 17,000 个 hashtag,前者训练出来的模型取得了更好的成绩。另一方面,对于图像类别更多更广泛的任务,使用 17,000 个主 hashtag 训练出来模型性能改进的更加明显,这表明我们应该在未来的训练中增加 hashtag 的数量。

增加训练数据量通常对图像分类模型的表现是有益,但它同样也有可能会引发新的问题,如在图像内定位物体的能力明显下降。除此之外我们还观察到,实验中最大的模型仍然没有能够充分利用 35 亿张巨大图像集的优势,这表明我们应该构建更大的模型。

▌未来的图像识别:更大规模、自我标注

本次研究的一个重要结果,甚至比在图像识别方面的广泛收益还要重要,是确认了基于 hashtag 来训练计算机视觉模型是完全可行的。虽然我们使用了一些类似融合相似的 hashtag,降低其他 hashtag 权重的基本技术,但并不需要复杂的“清洗”程序来消除标签噪声。相反,我们能够使用 hashtag 来训练我们的模型,而且只需要对训练过程进行微小的调整。当训练集的规模达到十亿级时,我们的模型对标签噪音表现出了显著的抗干扰能力,因此数据集的规模在这里显然是一个优势。

在不久的将来,我们还会设想使用 hashtag 作为计算机视觉标签的其他方法。这些方法可能包括使用人工智能来更好地理解视频片段或更改图片在 Facebook 信息流中的排名方式。hashtag 还可以帮助系统更具体地识别图像是不是属于更细致的子类别,而不仅仅是宽泛的分类。一般情况下,图片的音频字幕都是仅宽泛地注释出物种名称,如“图片中有一些鸟类栖息”,但如果我们能够让注释更加精确(例如“一只红雀栖息在糖枫树上”),就可以为视障用户提供更加准确的描述。

此外,这项研究还可以改进新产品以及现有产品中的图像识别功能带来。例如,更准确的模型可能会促进我们改进在 Facebook 上呈现 Memories(与QQ的“日迹”相似)的方式。随着训练数据集越来越大,我们需要应用弱监督学习——而且从长远来看,无监督学习会变得越来越重要。

这项研究在论文“Exploring the Limits of Weakly Supervised Pretraining”中有更详细的描述。


推荐文章

cilantro是一个精简快速的C ++库,用于处理点云数据,重点是3D案例。它包括各种常见操作的高效实现,提供干净的API并尝试最小化样板代码的数量。该库具有广泛的模板化,可以对任意数值类型和维度(如果适用)的点数据进行操作,并具有更复杂过程的模块化/可扩展设计,同时为最常见的方法提供方便的别名/包装器案例。cilantro可以在我们的技术报告中找到高级描述。支持的功能基本操作:一般尺寸kd树(使用捆绑的nanoflann)原点云的曲面法线和曲率估计基于通用维度网格的点云重采样主成分分析用于3D点云的基本I / O实用程序(采用PLY格式,使用捆绑的tinyply)和特征矩阵RGBD图像对与点云转换实用程序配对凸壳:从顶点或半空间交叉输入计算(使用捆绑的Qhull)的一般维度凸多面体表示,并允许在各个表示之间轻松切换通用(一般维度)空间区域的表示,作为实现集合操作的凸多面体的联合集群:一般维度k-means聚类,支持nanoflann支持的所有距离度量基于各种图拉普拉斯类型的光谱聚类(使用捆绑的光谱)平核均值漂移聚类基于连通分量的点云分段,支持任意逐点相似度函数模型估计和点集注册:RANSAC估计器模板及其实例,用于稳健的平面估计和刚性点云登记用于点对点和点对面度量(及其组合)的完全通用的迭代最近点实现,支持任意点要素空间中的任意对应搜索方法可视化:经典多维尺度(使用捆绑光谱进行特征分解)功能强大,可扩展且易于使用的3D可视化工具cilantro,一个用于几何和通用点云数据处理的开源C ++库。该库提供的功能涵盖了低级点云操作,空间推理,各种点云分割方法和通用数据聚类,灵活或局部几何对齐的灵活算法,模型拟合以及强大的可视化工具。为了适应各种工作流程,cilantro几乎完全模板化,其大多数通用算法都在任意数据维度上运行。同时,该库易于使用且具有高度表现力,促进了简洁的编码风格。cilantro经过高度优化,具有最小的外部依赖性,并支持在各种环境中快速开发高性能点云处理软件。

热门文章

        对数据标注行业稍微有些了解的人都知道数据标注进入门槛低,适合很多人兼职也适合创业。        正是因为数据标注行业的门槛低这个特点最近两年从事数据标注的小公司小工作室如雨后春笋般的遍布全车大大小小的县城。        但是目前有个有趣的现象,那就是有很多进入数据标注行业做了一段时间的人慢慢的感觉数据标注行业就是个坑?为什么有些人会说数据标注就是个坑呢?        其实对与有上述问题认识的人我们认为,这些人多数都是有于对这个行业对自身条件的不了解,盲目的开始进入数据标注行业的。为什么我们会这样说呢?下面就给给大家来分析下到底有哪几方面的原因:        一、有相当一部分人是听了朋友或者网上消息说这行很火爆,好做,门槛低,也有一部分人了因此租办公室买电脑招人,然后就去群里面找分发项目的人就开张干起来了。可实际上这些人他们大多数都没有充分了解数据标注行业,更没有认真仔细得去调查分析,到底自己能不能做好一个项目,到底自己能不能有质有量按时交付的完成一个项目,到底自己有没有这个能力来管理项目。更多的人也没有去用长远的眼光去考虑数据标注项目。        二、数据标注项目虽然入门门槛低,但是相当一部分有于理解认知应变能力上都不能保证去做好数据标注项目,还有一部分人由于自己对标注项目重视程度不足接到项目之后呢?不仔细认真的去阅读理解项目规则,更没有很好的对规则质检标准去培训员工,而对员工的要求主要看重每天的产出效率,从而导致接到手的项目做的质量很差,频繁的返工,有提项目甚至因为质量太烂项目方不给结算或者是结算比例很少,最终的结果就是做好些个项目但基本都是赔钱。        三、虽然业内人都 说数据标注简单,但是标注项目他也是一个系统性的工程,一个项目能不能做好并不简单的看项目好做就能赔钱。实际上决定项目赚不赚钱考验的是一个团队的项目管理水平,质量管理能力,运营能力各方面因素的。一句话再好赚钱的项目也照样有人赚钱也有人赚钱,要赚钱不是那么简单的。        四、还有些工作室 、小公司因为对行业不够了解等他们做了一段时间后发现,自己团队经常会没有项目做,而自己团队接项目的业务能力又不具备,甚至有的时候为了员工有活干去接一些价格极低根本就不赚钱的标注项目,时间稍微一长这些工作室团队就会赔上很多钱最终关门倒闭。        五、下来要说的就是一部分人人兼职人员由于认识不到位,对项目的规则质量要求 文件不认真阅读消化理解导致做的项目质量差返工有的甚至最后不结算,最终退出这行。更有一些人由于经验不足被标注行业的项目骗子给忽悠到辛苦劳动到最后结算时找不到人。        标注行业本身由于进入门槛低,做的人很行业内盲目打价格战,导致很多转手二手三手的项目在质量工期的要求下根本就不赚钱甚至赔钱,所以在这里也提醒大家做任何事都要谨慎而行。