有没有比 ImageNet 更好的传输视觉模型?

人工智能 计算机视觉 迁移学习 预训练模型
2021-11-13 16:53:11

类似于最近在预训练语言模型(BERT、GPT2、XLNet)方面的推动,我想知道计算机视觉中是否存在这样的推动力?

据我了解,社区似乎已经将 ImageNet 训练的分类器融合为“预训练视觉模型”。但是相对于我们也可以访问的数据,不应该存在更强大的东西吗?此外,分类作为一项单独的任务对域转移有其自身的限制(基于这些损失流形如何的假设)。

有没有比 ImageNet 更好的迁移视觉模型?如果不是,为什么?与文本相比,是因为形状、分辨率等领域的流动性吗?

1个回答

为什么 ImageNet 在迁移学习中如此受欢迎?

在 ImageNet 数据集上预训练的模型多年来一直是事实上的选择。关于为什么人们认为 ImageNet 对迁移学习如此有效的许多流行原因如下:

  • ImageNet 是一个真正的大规模数据集,包含超过 100 万张图像,每张图像都具有不错的分辨率。
  • ImageNet 具有广泛而多样的类别(总共 1000 个),范围从动物到人类、汽车、树木等。大多数计算机视觉任务都在类似的领域中运行,但也有一些明显的例外(例如医学图像)。
    例如,自动驾驶的对象检测模型将受益于 ImageNet 迁移学习,因为预训练模型已经看到具有相似内容(例如道路、人、汽车、路标)的图像,即使它试图解决不同的任务(即对象检测而不是分类)。
  • 上述两个原因允许在 ImageNet 上训练的模型识别和提取非常通用的特征,尤其是在它们的初始层中,可以有效地重用。
  • ImageNet 有很多类似的类这是一个有趣的论点,因为它与第二个矛盾。由于某些类(例如多种猫)的紧密性,网络学会了提取更细粒度的特征。

我认为非常重要的另一个被忽视的原因是:

  • ImageNet 多年来一直是图像分类器性能的基准例如,当您选择使用重新训练的 ResNet 时,您知道该模型可以保证以高性能运行。其他数据集没有ILVRC 那样显着的挑战。这一挑战是 VGG 和 ResNet 在第一种情况下流行的原因,因此人们想要使用这些权重是很自然的。

在实践中,由于 CNN 从图像中识别和提取特征的方式,它们可以很容易地从一个任务“转移”到另一个任务。

它实际上比其他数据集更好吗?

Huh 等人广泛探讨了这个问题。,他试图找出使 ImageNet 数据集在迁移学习方面优于其他数据集的原因。

简而言之,他们发现人们认为 ImageNet 如此出色的大多数原因(即我上面提到的那些)并不一定是正确的此外,有效训练 CNN 所需的图像和类别的数量和多样性被高度高估了。因此,人们没有特别的理由应该选择这个特定的数据集。

现在,回答您的问题:

我想知道计算机视觉中是否存在这样的推力?

不,ImageNet 目前被确立为事实上的选择,这从所有 10 个 keras.applications 模型只为 ImageNet 提供权重这一事实就可以看出。

但是相对于我们也可以访问的数据,不应该存在更强大的东西吗?

这是一个有趣的问题,因为随着数据的增加,深度学习模型会变得越来越好然而,有证据表明并非如此(即 CNN 模型没有我们想象的那么大的容量)。您可以阅读上述研究以获取更多详细信息。无论如何,这仍然是一个开放的研究问题。

即使模型可以变得更好,但是,有了更多的数据,它仍然可能无关紧要,因为 ImageNet 预训练的模型足够强大

分类作为一项单独的任务对域迁移有其自身的限制

在许多情况下,从预训练的 ImageNet 权重初始化的模型在分类以外的设置(例如回归、对象检测)中表现良好。我认为 ImageNet 的初始化几乎总是比随机初始化好。

有没有比 ImageNet 更好的迁移视觉模型?如果不是,为什么?与文本相比,是因为形状、分辨率等领域的流动性吗?

部分,是的。我认为与文本相比,图像具有一些有用的属性,可以通过 CNN 加以利用,这使得它们的知识更具可转移性。然而,这种说法是基于直觉的。我无法以某种方式支持这一点。