查看原文
其他

【10亿+数据集,ImageNet千倍】深度学习未来,谷歌认数据为王

2017-07-12 新智元

1 新智元编译  

来源:research.googleblog.com;reddit

编译:文强;胡祥杰;刘小芹

【新智元导读】数据重要还是算法重要?一篇新的论文或许给出了答案。使用一个 300 倍于 ImageNet 的新数据集,谷歌研究人员发现,随着数据增长,模型完成计算机视觉任务的性能直线上升。即使在 300 倍 ImageNet 这么大规模的情况下,性能都没有遭遇平台。谷歌研究人员表示,构建超大规模的数据集应当成为未来研究的重点,他们的目标是朝 10 亿+ 级别的数据进发。



今年 3 月,谷歌大脑负责人 Jeff Dean 在 UCSB 做了一场题为《通过大规模深度学习构建智能系统》的演讲。



Jeff Dean 在演讲中提到,当前的做法是:


解决方案 = 机器学习(算法)+ 数据 + 计算力


未来有没有可能变为:


解决方案 = 数据 + 100 倍的计算力?


由此可见,谷歌似乎认为,机器学习算法能被超强的计算力取代


现在,谷歌和 CMU 合作的一篇最新论文,又从数据的角度探讨了这个问题。


过去十年中,计算机视觉领域取得了显著的成功,其中大部分可以直接归因于深度学习模型的应用。此外,自 2012 年以来,这些系统的表征能力也因下面 3 个因素取得了大幅进步:


(a)具有高复杂性的更深的模型

(b)增加的计算能力和

(c)大规模标签数据集的可用性


然而,尽管每年计算能力和模型复杂性都在进一步增加(从 7 层的 AlexNet 到 101 层的 ResNet),可用的数据集却没有相应的扩大。与 AlexNet 相比,101 层的 ResNet 的容量也大大增加,可后者训练时仍然使用的是大约 2011 年建立的 ImageNet——一个百万级的图像数据集。


虽然计算力(GPU)和模型大小不断增长,数据集的规模一直停步不前


于是,谷歌的研究人员便想:如果将训练数据的量增加 10 倍,精度是否会翻倍?增加 100 倍甚至 1000 倍呢?准确性会上升到某一水平就不再提高,还是会随着数据的增加越来越高?


谷歌 JFT-300M:构建比 ImageNet 大 300 倍的数据集


在最新上传到 arXiv 的论文《再探深度学习时代数据的超凡有效性》(Revisiting Unreasonable Effectiveness of Data in Deep Learning Era)中,谷歌研究人员朝着解答大数据与深度学习间的疑问迈出了第一步。作者表示,他们的目标是探索:


  • (a)向现有的算法馈送越来越多带有噪声标签的图像,是否能改善视觉表征;

  • (b)了解在分类、物体检测和图像分割等标准视觉任务中,数据和性能之间关系的性质;

  • (c)使用大规模学习的计算机视觉任务中当前最先进的模型的表现。


不过,要做到这一点,最大的问题是:在哪里能找到比 ImageNet 大 300 倍的数据集? 


答案——不出意外——当然是“在谷歌”。


在今天发表于 Google Research 的文章里,谷歌机器感知组成员 Abhinav Gupta 介绍,为了改善计算机视觉算法,谷歌一直在开发建立这样的数据集。现在,他们已经建立了一个名叫“JFT-300M”的内部数据集,含有 18291 个类别。顾名思义,JFT-300M 有 300M 图像,是 ImageNet 的 300 倍。 


这 300M 图像有 10 多亿个标签(单个图像可以有多个标签)。标记这些图像的算法结合了原始 Web 信号,网页间的连接和用户的反馈。在此基础上,谷歌研究人员还使用了一个算法,在这些 10 亿图像标签中,挑选出了大约 375M 精度最大的标签。 


但是,经过这样的操作后,标签上仍有相当大的噪音:所选图像 20% 左右的标签是噪音标签。Abhinav Gupta 表示,由于没有详尽的注释,他们无法估计实验中标签的召回率。


模型性能随训练数据量呈线性增长


最后,实验结果验证了一些假设,但同时也产生了一些惊喜:


首先,更好的表征学习有助于提升性能。研究人员的第一个观察是,大规模数据有助于进行表征学习,从而提高实验中每个视觉任务的表现。研究结果表明,共同构建一个大规模的预训练数据集十分重要。这也表明,无监督和半监督表征学习方法的前景光明。


此外,从实验结果看,数据的规模会在一定程度上抵消标签空间中的噪音

其次,性能随训练数据的数量级呈线性增长。 谷歌研究人员表示,也许最令他们惊讶的发现是,模型性能与用于表征学习的训练数据数量(log-scale)间的关系呈线性!即使在 300M 的规模,也没有观察到什么平台


在 JFT-300M 不同子集上的预训练后,进行物体检测的性能。x 轴表示对数刻度的数据集大小,y 轴是 COCO-minival 子集中 mAP@[0.5,0.95]中的检测性能。


容量至关重要。为了充分利用 300M 的图像,需要更高容量(更深)的模型。例如,COCO 对象检测基准的增益,使用 ResNet-50(1.87%)相比 ResNet-152(3%)要小得多。


此外,使用 JFT-300M 的新数据集,谷歌研究人员在好几个基准上都取得了当前最佳结果。例如,单一模型 COCO 检测基准从 34.3 AP 提升为 37.4 AP。


谷歌的目标:10亿+ 规模数据集


Gupta 补充强调说,由于没有搜索最佳的超参数集合(因为需要相当大的计算量),所以本次实验得出的结果很可能还不是最佳。也就是说,这次他们的实验可能还没有完全将数据对性能的影响表现出来。


由此,Gupta 指出,虽然难度很大,但获取针对某一任务的大规模数据应当成为未来研究的重点。


在模型越来越复杂的现在,谷歌的目标是——朝着 10 亿+ 的数据集前进。


Reddit 评论:不需要那么大的数据集,需要更高效的算法模型


Reddit 上网友对谷歌这篇新论文有很多讨论。新智元摘选其中有代表的观点。其中,获得点赞数最多的评论来自网友 gwern:


“性能提升的表格看起来很棒。他们也提到,斜线很可能比看起来的更陡(改进的程度可能比看起来的高),因为他们既没有训练多个模型来进行收敛,也没有进行超参数搜索。听到“数据的非理性效应”依然有效,这很好。


“但是,另一方面,在回答问题的方法上。这一研究使用了50 颗 K80 GPU(计算等于8.3 GPU年),但是他们还不能训练一个101层的Resnet模型,来实现收敛或者是回答计划的问题 ,更不用说进行超参数搜索或使用1000层的Resnet或者Densenet或者Attention以及其他的你用最新的CNN能够完成的事,来进行实验。


“如果一个谷歌联合CMU的团队,再加上如此强大的计算资源,都不能利用好300M的图像,那其他人为什么会需要这一数据集,或者其他类似的东西。确实,GPU和模型大小已经在增长,但是,最开始的ImageNet都需要好几天的训练才能完成,所以,在300M的的数据集变得可行前,你需要拥有许多英伟达的产品。


“所以,答案是:一般的数据用于图像处理任务已经足够,所以,更大型的,类似ImageNet的数据集其实是不需要的,因为没有人可以用这些数据集产生有意义的结果。实际上,人们需要的是一个现有计算能力更能支撑的、联网效果更好的、更加高效的模型、更高质量的综合数据集(例如,清洗过的标签、更浓密的注释等),或者更加专业化的数据。”


此外,网友 bbateman2011 回复:


“我的观点是,巨头公司们可以利用的资源是我们大多数人永远得不到的。因此,机器学习的大部分工作中,并没有足够的资源来使用超巨量的数据。因此,重要的是少量数据的边际改进,即,假如有一个学习曲线,对于给定类别的数据和算法,它可以怎样改进。这是有价值的。老实说,我没有仔细阅读论文,不清楚它具体做了什么。但是,在改进中达到一个 noise floor 之后,再使用更多的数据会更好。”


论文:再探深度学习时代数据的超凡有效性

摘要


深度学习在视觉上的成功要归功于:(a)高容量的模型;(b)越来越强的计算能力;(c)可用的大规模标签数据。从2012年开始,业界在实现模型能力和GPU的计算能力上获得了显著的进步。但是,令人震惊的是,最大的数据集的规模却一直没发生多大的变化。如果我们将数据集的大小增加10倍或100倍,会发生什么?本研究在扫清围绕“海量数据”和深度学习之间的关系的乌云迈进了一步。


JFT-300M数据集包含了对3亿张图片的3.75亿个标签,通过对这一数据集进行研究,我们调查了,如果这些数据被用于表征学习的话,当下的视觉任务表现会迎来哪些改变。研究发现了几个意外(也有期待之中)的结果:第一,根据训练数据规模的数量级增长,视觉任务的表现依然会有线性的增长;第二,研究也证明,表征学习(或者预训练)仍然还有很大的潜力。任何一个人都能仅仅通过训练一个更好的基础模型改进任何视觉任务的表现。我们用这一大型数据集得到了提不同视觉任务的新的最新技术结果,包括图像分类,对象检测,语义分割和人体姿态估计。


我们真诚的希望,这将激发视觉界不要低估数据的价值,并形成共同的努力来构建更大的数据集。




点击阅读原文查看新智元招聘信息


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存