来自德国 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 分类,训练过程按如下方式来执行:
首先,将训练图像分为局部 q x q 子图像(图像块)。
每个图像块被编码为 1000 维向量,表示图像块预测每个 ImageNet 类的可能性。为了在 q x q x 3 图像转换为 1000 维向量,将像素放置在 48 个 ResNet 块中,每个块执行 1x1 或 3x3 卷积,最后使用 2048 维向量。
在每个 2048 维向量上应用线性分类器,使用完全连接的层和 softmax 层。将其转换为 1000 维向量。向量中的每个值表示给定图像块的每个类的概率(用 BagNet 术语表示的话叫 “热力图”)。
计算所有图像块的平均值,并添加另一个 softmax 层来生成整个图像中每个类的概率。
为了训练网络,将最后一个 softmax 层的结果与实际类进行比较,执行反向传播来设置 ResNet 网络的权重。
为了对测试集中的图像进行分类,研究人员将测试图像划分成图像块,对每个图像块的结果进行平均,并预测得分最高的类别。由于在每个类的表示中使用了线性组合(简单的平均函数),因此理解为什么算法决定将图像分类为给定的类,就没什么大不了的了。
在 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 相似。
有趣的是,由于简单的图像块平均,研究人员可以很容易地显示出算法每个错误的原因,如下例所示:
在最上一排的图中,背景中的绿色使算法可以预测出澳洲青苹。在中间一排的图中,顶针上的特写镜头因为遮住眼睛而看起来像防毒面罩;而最下面一排的图像,超短裙的图像看起来像书夹,因为书夹通常包含大量的文字。
然后,研究人员试图测试常见的深度学习算法是否也依赖于特定的图像块,或者能否更广泛地理解图像,其中广泛的理解意味着将图像的不同区域对空间关系的全局“理解”联系起来。为此,他们根据 BagNet 表示屏蔽了图像中最具指示性的图像块,然后测试了深度学习算法在接受屏蔽图像作为输入时的有效性。
他们发现,虽然像 VGG-16 等相对较浅的神经网络受到屏蔽的影响较大,但它对更深的、更现代化的神经网络影响较小。结果表明,正如所假设的那样,神经网络的深层有助于理解大型空间关系。
实施详情与计算
在建议的设计中,BagNet 模型的推理速度比普通的 ResNet-50 模型慢 75%,在同一硬件上进行分析的话,分别是每秒 155 张图像和每秒 570 张图像。根据研究人员的说法,这种差异可能是由于 BagNet 降低采样量的减少所致。
模型的说明书和预训练权重可以在网址 https://github.com/wielandbrendel/bag-of-local-features-models 找到。
结语
虽然特征袋模型在短期内不大可能卷土重来,但从 BagNet 的结果显示来看,在没有深度神经网络的情况下,创建高质量的计算机视觉基线还是有可能的。在未来,这种模型有望在可解释性是关键的情况下(如医疗、自动驾驶等),或者调试深度神经网络时有用。
另一位研究人员还表示,研究界需要比 ImageNet 更好的任务来测试算法以非局部方式理解图像的能力。
原文链接:
https://www.lyrn.ai/2019/02/14/bagnet-imagenet-with-a-simple-bof-model/
评论