选自GitHub
作者:Luke Darlow、Amos、Elliot J. Crowley
机器之心编译
参与:李诗萌、王淑婷
就神经网络方面而言,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_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 库中找到。