【学界】何恺明团队新作ResNext:Instagram图片预训练,挑战ImageNet新精度

2019 年 6 月 26 日 GAN生成式对抗网络




来源:新智元

【导读】近日,何恺明团队所在的Facebook AI推出ResNeXt-101模型,利用Instagram上的用户标记图片作为预训练数据集,省去了人工标记数据的巨额成本,而且使用中只需微调,性能即超越了ImageNet任务的SOTA水平。

目前,几乎所有最先进的视觉感知算法都依赖于相同的范式:(1)在手动注释的大型图像分类数据集上预训练卷积网络,(2)在较小的特定任务的数据集上微调网络。这个模式已经广泛使用了好多年,并取得了明显的进展。比如:物体检测,语义分割,人体姿势估计,视频识别,单眼深度估计等。


事实上,如果没有有监督式预训练,很多方法现在还被认为是一种蛮干 ImageNet数据集实际上是预训练数据集。我们现在实际上对数据集的预训练了解相对较少。其原因很多:比如现存的预训练数据集数量很少,构建新数据集是劳动密集型的工作,需要大量的计算资源来进行实验。然而,鉴于预训练过程在机器学习相关领域的核心作用,扩大我们在这一领域的科学知识是非常重要的。

 

本文试图通过研究一个未开发的数据体系来解决这个复杂的问题:使用外部社交媒体上数十亿的带有标签的图像作为数据源。该数据源具有大而且不断增长的优点,而且是“免费”注释的,因为数据不需要手动标记。显而易见,对这些数据的训练将产生良好的迁移学习结果。

 

本文的主要成果是,在不使用手动数据集管理或复杂的数据清理的情况下,利用数千个不同主题标签作为标记的数十亿幅Instagram图像进行训练的模型,表现出了优异的传输学习性能。在目标检测和图像分类任务上实现了对当前SOTA性能的提升。在ImageNet-1k图像分类数据集上获得single-crop 最高准确率达到了85.4%,AP达到了45.2%。当在ImageNet-1k上训练(或预训练)相同模型时,分数分别为79.8%和43.7%。然而,我们的主要目标是提供关于此前未开发的制度的新实验数据。为此,我们进行了大量实验,揭示了一些有趣的趋势。

 

表1:图像分类数据集的摘要。每个数据集标明数据来源和功能(训练集,验证集,测试集),图像数量I和标签数量L。

 

ImageNet数据集和模型


除了标准的IN-1k数据集之外,我们还尝试了包含1420万幅图像和22000标签的完整ImageNet2011完整版本的更大子集。我们构建了包含5k和9k标签的训练集和验证集。

对于5k标签集组,我们使用现在标准的IN-5k(6.6M训练图像)。对于9k标签集,我们遵循用于构建IN-5k数据集的相同协议,采用下一个最频繁的4k标签和所有相关图像(10.5M训练图像)。在两种情况下,均使用50个图像进行验证。

 

我们使用具有分组卷积层的残差网络ResNeXt 。实验中使用ResNeXt-101 32×Cd,它有101层,32组,组宽分别为:4(8B乘加FLOPs,43M参数),8(16B,88M),16(36B,193M), 32(87B,466M)和48(153B,829M)。我们认为实验结果可以推广到其他架构。

 

与ImageNet相比,我们使用的Instagram数据集可能包含每个图像的多个标签(因为用户指定了多个主题标签)。每个图像的平均标签数量因数据集而异;例如,train-IG-1B-17k每个图像最多包含2个主题标签。


实验结果与性能


表2:使用不同规模、不同参数配置的ResNeXt-101模型获得的不同性能结果比较


图1:使用不同规模和参数配置的ResNeXt-101模型在ImageNet和Instagram标记数据集的分类性能的比较


运行实例及相关代码


# Download an example image from the pytorch website
import urllib
url, filename = ("https://github.com/pytorch/hub/raw/master/dog.jpg", "dog.jpg")
try: urllib.URLopener().retrieve(url, filename)
except: urllib.request.urlretrieve(url, filename)

# sample execution (requires torchvision)
from PIL import Image
from torchvision import transforms
input_image = Image.open(filename)
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
input_tensor = preprocess(input_image)
input_batch = input_tensor.unsqueeze(0) # create a mini-batch as expected by the model

# move the input and model to GPU for speed if available
if torch.cuda.is_available():
input_batch = input_batch.to('cuda')
model.to('cuda')

with torch.no_grad():
output = model(input_batch)
# Tensor of shape 1000, with confidence scores over Imagenet's 1000 classes
print(output[0])
# The output has unnormalized scores. To get probabilities, you can run a softmax on it.
print(torch.nn.functional.softmax(output[0], dim=0))

参考链接:

https://pytorch.org/hub/facebookresearch_WSL-Images_resnext/


论文:

https://arxiv.org/pdf/1805.00932.pdf


高质量延伸阅读

☞ OpenPV平台发布在线的ParallelEye视觉任务挑战赛

【学界】第1届“智能车辆中的平行视觉”研讨会成功举行

【学界】生成式对抗网络:从生成数据到创造智能

【学界】OpenPV:中科院研究人员建立开源的平行视觉研究平台

【学界】基于平行视觉的特定场景下行人检测

【学界】ParallelEye:面向交通视觉研究构建的大规模虚拟图像集

【CFP】Virtual Images for Visual Artificial Intelligence

【最详尽的GAN介绍】王飞跃等:生成式对抗网络 GAN 的研究进展与展望

【智能自动化学科前沿讲习班第1期】王飞跃教授:生成式对抗网络GAN的研究进展与展望

【智能自动化学科前沿讲习班第1期】王坤峰副研究员:GAN与平行视觉

【重磅】平行将成为一种常态:从SimGAN获得CVPR 2017最佳论文奖说起

【平行讲坛】平行图像:图像生成的一个新型理论框架

【学界】基于生成对抗网络的低秩图像生成方法

【学界】Ian Goodfellow等人提出对抗重编程,让神经网络执行其他任务

【学界】六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步

【资源】T2T:利用StackGAN和ProGAN从文本生成人脸

【学界】 CVPR 2018最佳论文作者亲笔解读:研究视觉任务关联性的Taskonomy

【业界】英特尔OpenVINO™工具包为创新智能视觉提供更多可能

【学界】ECCV 2018: 对抗深度学习: 鱼 (模型准确性) 与熊掌 (模型鲁棒性) 能否兼得 

【学界】何恺明组又出神作!最新论文提出全景分割新方法


登录查看更多
4

相关内容

[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
34+阅读 · 2020年7月5日
[CVPR 2020-港中文-MIT] 神经架构搜索鲁棒性
专知会员服务
25+阅读 · 2020年4月7日
如何解决计算机视觉中的深度域适应问题?
AI前线
28+阅读 · 2019年7月24日
Arxiv
6+阅读 · 2018年4月23日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关VIP内容
[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
34+阅读 · 2020年7月5日
[CVPR 2020-港中文-MIT] 神经架构搜索鲁棒性
专知会员服务
25+阅读 · 2020年4月7日
Top
微信扫码咨询专知VIP会员