52

BagNet 超越 AlexNet,在 ImageNet 上实现最先进结果!

 5 years ago
source link: https://www.infoq.cn/article/X15hF*b3YBdb517aHHQf?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

来自德国 Tübingen 大学的研究者们提出了 BagNet,是一种基于小型局部图像特征分类的简单模型,可以在 ImageNet 上实现惊人的高准确度,这究竟是什么原理呢?

在 2012 年之前,大多数机器学习算法都是使用手工创建的特征统计模型。这种模型具有较高的可解释性和有效性,但在许多语言和计算机视觉任务中,却没能达到较高的准确度。2012 年,深度神经网络模型 AlexNet 以巨大的优势在 2012 ImageNet 竞赛获胜,引爆了过去六年的深度学习革命。

事实证明,深度学习模型比标准的机器算法更为精确,因为它们能够 “直观地” 理解概念,而无需接受手工创建的特征。然而不幸的是,正是由于这种 “直观的” 理解,深度学习模型存在可解释性的问题。由于很难理解深度学习算法是如何得出结论的,因此也很难理解为什么会出错。

来自德国蒂宾根大学的一篇新论文提出了 BagNet,为机器学习中的准确度和可解释性的权衡提供了新的思路。它提出了一种模型,该模型在 ImageNet 上为非深度学习模型实现了最先进的结果,可与 VGG-16 和超越 AlexNet 的结果相媲美。该结果可以为非深度学习算法的性能提出新的见解,并为深度学习算法和挑战设置了更高的标准。

AI 前线注: 该论文下载地址为: https://openreview.net/pdf?id=SkfMWhAqYQ

背景

在经典的机器学习中,最受欢迎和众所周知的概念之一是词袋(bags-of-words)。在分析训练数据库中的文本文档时,词袋算法计算每个单词在文档中出现的频率,同时忽略停用词(如“the”、“,” 等等),并使用结果生成文档的特征。类似地,在计算机视觉中,特征袋模型从训练数据(如曲线、线条、颜色)创建一组视觉特征,然后使用这些特征分析测试数据。

BagNet 的工作原理

BagNet 使用视觉局部特征袋(bag-of-local-features)模型来执行 ImageNet 分类,训练过程按如下方式来执行:

  1. 首先,将训练图像分为局部 q x q 子图像(图像块)。
  2. 每个图像块被编码为 1000 维向量,表示图像块预测每个 ImageNet 类的可能性。为了在 q x q x 3 图像转换为 1000 维向量,将像素放置在 48 个 ResNet 块中,每个块执行 1x1 或 3x3 卷积,最后使用 2048 维向量。
  3. 在每个 2048 维向量上应用线性分类器,使用完全连接的层和 softmax 层。将其转换为 1000 维向量。向量中的每个值表示给定图像块的每个类的概率(用 BagNet 术语表示的话叫 “热力图”)。
  4. 计算所有图像块的平均值,并添加另一个 softmax 层来生成整个图像中每个类的概率。
  5. 为了训练网络,将最后一个 softmax 层的结果与实际类进行比较,执行反向传播来设置 ResNet 网络的权重。

为了对测试集中的图像进行分类,研究人员将测试图像划分成图像块,对每个图像块的结果进行平均,并预测得分最高的类别。由于在每个类的表示中使用了线性组合(简单的平均函数),因此理解为什么算法决定将图像分类为给定的类,就没什么大不了的了。

AZNVJzA.png!web

在 BagNet-9(9 x 9 像素)、BagNet-17(17 x 17 像素)、BagNet-33(33 x 33 像素)版本中,热力图指出了哪些像素表示顶行图像的 ImageNet 类。较深的颜色代表每个训练图像中指示类别的部分。

结果

研究人员测试了三种图像块大小配置的 BagNet,每种图像块大小为 9、17、33 像素。他们发现,33 像素是准确率最高的配置,在 Top-5 验证性能中 ImageNet 得分为 87.6%,接近 VGG-16。17 像素的配置也取得了令人印象深刻的分数,前五名的成绩为 80.5%,与 AlexNet 相似。

有趣的是,由于简单的图像块平均,研究人员可以很容易地显示出算法每个错误的原因,如下例所示:

uQzENzV.png!web

在最上一排的图中,背景中的绿色使算法可以预测出澳洲青苹。在中间一排的图中,顶针上的特写镜头因为遮住眼睛而看起来像防毒面罩;而最下面一排的图像,超短裙的图像看起来像书夹,因为书夹通常包含大量的文字。

然后,研究人员试图测试常见的深度学习算法是否也依赖于特定的图像块,或者能否更广泛地理解图像,其中广泛的理解意味着将图像的不同区域对空间关系的全局“理解”联系起来。为此,他们根据 BagNet 表示屏蔽了图像中最具指示性的图像块,然后测试了深度学习算法在接受屏蔽图像作为输入时的有效性。

他们发现,虽然像 VGG-16 等相对较浅的神经网络受到屏蔽的影响较大,但它对更深的、更现代化的神经网络影响较小。结果表明,正如所假设的那样,神经网络的深层有助于理解大型空间关系。

实施详情与计算

在建议的设计中,BagNet 模型的推理速度比普通的 ResNet-50 模型慢 75%,在同一硬件上进行分析的话,分别是每秒 155 张图像和每秒 570 张图像。根据研究人员的说法,这种差异可能是由于 BagNet 降低采样量的减少所致。

模型的说明书和预训练权重可以在网址 https://github.com/wielandbrendel/bag-of-local-features-models 找到。

结语

虽然特征袋模型在短期内不大可能卷土重来,但从 BagNet 的结果显示来看,在没有深度神经网络的情况下,创建高质量的计算机视觉基线还是有可能的。在未来,这种模型有望在可解释性是关键的情况下(如医疗、自动驾驶等),或者调试深度神经网络时有用。

另一位研究人员还表示,研究界需要比 ImageNet 更好的任务来测试算法以非局部方式理解图像的能力。

7zqaI3v.png!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK