Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Luke Darlow等作者李诗萌 王淑婷编译

CIFAR-10+ImageNet=?CINIC-10!

神经网络方面而言,ImageNet 过于庞大,在计算资源不足的情况下,耗费的运行时间过长,而 CIFAR-10 又太小,有时候无法满足需求。于是,本文提出一种方法,将从 CIFAR-10 中选出的图像与 ImageNet 中下采样得到的图像相结合,编译出了 CINIC-10,可以替代 CIFAR-10。

CINIC-10 可以直接替代 CIFAR-10。由于 CIFAR-10 太小(太简单),而 ImageNet 又太大(太难),所以我们将 CINIC-10 编译为基准数据集。虽然 ImageNet32 和 ImageNet 64 比 ImageNet 小,但是它们却更难。CINIC-10 填补了基准数据集的这一空隙。

动机

「我们可以看到近些年来在深度学习领域取得的巨大进步(LeCun 等人,2015)」

可能许多读者都很熟悉这一推论。在许多深度学习方面的论文开头都有类似的话。我们要怎么评估这样的陈述呢?通过基准数据集。在 ImageNet 上,AlexNet(Krizhevsky 等人,2012)比传统的计算机视觉方法表现得更加出色,后来 VGG 网络(Simonyan&Zisserman,2015)超越了 AlexNet,然后又被 ResNet(He 等人,2016)等网络超越。

ImageNet 也有缺陷。这是一个庞大的数据集。数据集中的图像很大,至少有关神经网络方面的图像如此,而这个数据集中有超过一百万张这样的图像。在计算资源不充足的情况下,运行一次训练要花好几天的时间(Goyal 等人,2017)。也许是出于这个原因,CIFAR-10 和 CIFAR-100(Krizhevsky,2009)已经成为许多人在现实图像背景下对神经网络进行基准测试的首选数据集。实际上,这正是几个流行的架构展示其能力之处(Huang 等人,2017;Gastaldi,2017)。

在 CIFAR-10 中,10 类里每一类都有 6,000 个样本,而 CIFAR-100 中,100 类里每一类只有 600 个样本。这导致了这些任务间巨大的难度差异;CIFAR-100 可能比 ImageNet 更难。如果有能提供关于任务难度的另一个里程碑的数据集,那这个数据集就会很有用。ImageNet-32 是 CIFAR 的替代品,但这实际上引出了一个比 ImageNet 更具挑战性的问题,因为下采样图像的信息容量显著更低。此外,大部分基准数据集会不均匀地分割训练集、验证集和测试集(CIFAR 中不存在验证集)。而我们需要大小相同的分割,因为它们才可以提供更有原则的泛化性能。

为了克服现有基准数据集的缺点,我们提出了 CINIC-10:CINIC-10 既不是 ImageNet 也不是 CIFAR-10。CINIC-10 是 CIFAR-10 通过添加下采样的 ImageNet 图像扩展得到的。CINIC-10 具有以下几个理想特质:

  • CINIC-10 有 270,000 张图像,是 CIFAR 的 4.5 倍。

  • 图像大小与 CIFAR 中的一样,也就是说可以用 CINIC-10 替代 CIFAR-10

  • 它具有大小相同的训练、验证和测试分割。在一些实验设置中,可能需要一个以上的训练数据集。尽管如此,通过大小相同的数据集分割,可以公正地评估泛化性能。

  • 可以将训练子集和验证子集结合在一起得到更大的训练集

  • CINIC-10 中的图像来源于 CIFAR 和 ImageNet。这些图像的分布不一定相同,这就呈现出了新的挑战:分布转移。换言之,我们可以在类别相同的情况下,了解在 CIFAR 图像上训练得到的模型比在 ImageNet 图像上训练得到的模型好多少。

细节

  • CINIC-10 中共有 270,000 张图像,将这些图像平均分割为三个子集:训练集、验证集和测试集。

  • 在每个子集(90,000 张图像)中有十类(与 CIFAR-10 中的类别相同)。每个子集的每个类别中有 9,000 张图像。使用推荐的数据分割(平均分为三等份)的情况下,CINIC-10 的训练样本数量是 CIFAR-10 的 1.8 倍。CINIC-10 被设计为可以直接和 CIFAR-10 交换。

  • 还可以将训练集和验证集结合在一起,组成更大的训练集。在这种情况下,CINIC-10 的训练样本量是 CIFAR-10 的 3.6 倍。

  • 可以根据下列代码计算(r,g,b)通道的平均值和标准差:

cinic_mean_RGB = [0.47889522, 0.47227842, 0.43047404]
cinic_std_RGB = [0.24205776, 0.23828046, 0.25874835]

将 CINIC-10 保存下来,以便和 PyTorch 数据加载器一起使用。文件夹结构如下所示:

train/

train/airplane

train/automobile

train/...

valid/

valid/...

test/

test/...

基准

用两种方式对 CINIC-10 进行基准测试:(1)建议的三等份分割法,在训练子集上训练,在测试子集上测试;(2)将训练集和验证集结合,在结合的数据集上训练,然后在测试集上测试。

我们从以下地址复制了模型定义。将 epoch 设定为 300,初始学习率为 0.1,动量乘数为 0.9,权值衰减乘数为 0.0001,batch size 为 64。学习率按余弦方式降到 0。

定义地址:https://github.com/kuangliu/pytorch-cifar/

在训练子集上训练的结果

在训练子集和验证子集结合得到的新数据集上训练得到的结果

与 CIFAR-10 模型进行比较,用不同种子训练 5 次。列出这些运行结果的误差,包括标准差:

样本

下图是从 CINIC-10 和 CIFAR-10 中随机挑选的样本,将其进行比较。显而易见,CINIC-10 噪声更大,因为 Imagenet 中的样本没有审查过。

飞机

CIFAR-10

CINIC-10

CIFAR-10

CINIC-10


论文:CINIC-10 Is Not ImageNet or CIFAR-10 

论文链接:https://arxiv.org/abs/1810.03505

摘要:在这篇简短的技术报告中介绍了 CINIC-10 数据集,这个数据集可以作为 CIFAR-10 的扩展替代方案。将 从 CIFAR-10 中挑选的图像以及从 ImageNet 数据库下采样得到的图像结合在一起,编译出了 CINIC-10。我们提出了编译数据集的方法,说明了类别不同的样本图像,给出了库中每一部分的像素分布,还为那些众所周知的模型给出了一些标准基准。关于下载、使用和编译的一些细节可以从相关的 github 库中找到。

理论CIFARImageNet计算机视觉数据集
5
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

批次规模技术

一个批次中的样本数。例如,SGD 的批次规模为 1,而小批次的规模通常介于 10 到 1000 之间。批次规模在训练和推断期间通常是固定的;不过,TensorFlow 允许使用动态批次规模。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

推荐文章
暂无评论
暂无评论~