作者:Ran Reichman 翻译:联盟成员
在2012年之前,大多数机器学习算法都是使用手工创建的功能的统计模型。这些模型具有高度可解释性和有效性,但未能在许多语言和计算机视觉任务中达到高精度。2012年,深度神经网络模型AlexNet以大幅度赢得了2012年ImageNet竞赛,并点燃了过去6年的深度学习革命。
事实证明,深度学习模型比标准ML算法更准确,因为它们能够“直观地”理解概念而无需接收手工创建的特征。不幸的是,由于他们的“直观”理解,深度学习模型存在可解释性问题。很难理解深度学习算法是如何得出它的结论的,因此,它为什么会犯错误。
BagNet是来自德国蒂宾根大学的一篇新论文,它揭示了机器学习中准确性和可解释性之间的权衡。它提供了一个模型,该模型在ImageNet上为非深度学习模型实现了最先进的结果,与VGG-16和超越AlexNet的结果相当。结果可以为非深度学习算法的能力提供新的见解,并为ML算法和挑战设置更高的标准。
论文链接:
https://openreview.net/pdf?id=SkfMWhAqYQ
背景
经典机器学习中最受欢迎和众所周知的概念之一是词袋。在分析训练数据中的文本文档时,一个词袋算法计算每个单词在文档中出现的频率,同时忽略“停用词”('the','和',...),并使用结果生成文档的功能。类似地,在计算机视觉中,一个特征包模型从训练数据(例如曲线,线,颜色)创建一组视觉特征,然后使用这些特征来分析测试数据。
BagNet原理
BagNet使用视觉袋局部特征模型来执行ImageNet分类。训练过程按以下方式执行:
首先,训练图像被分成局部q × q子图像(块)。
每个补丁都被编码为1000维向量,表示补丁预测每个ImageNet类的可能性。为了在aqxqx 3图像到1000维向量之间进行转换,像素通过48个ResNet块,每个块执行1×1或3×3卷积,最后带有2048维向量。
在每个2048维向量上应用线性分类器,使用完全连接的层和softmax,将其转换为1000维向量。向量中的每个值表示给定补丁的每个类的概率(BagNet术语中的“热图”)。
计算所有补丁的平均值并添加另一个softmax层以产生整个图像的每个类的概率。
为了训练网络,将最终softmax层的结果与实际类进行比较,执行反向传播以设置ResNet网络的权重。
为了对测试集中的图像进行分类,研究人员将测试图像划分为补丁,平均每个补丁的结果,并预测获得最高分的类。由于在每个类的表示中使用线性组合(简单的平均函数),理解为什么算法决定将图像分类到给定类是微不足道的。
热图表示哪些像素代表顶行中图像的ImageNet类,包括BagNet-9(9×9像素),BagNet-17(17×17像素)和BagNet-33(33×33像素)版本。较暗的颜色代表每个训练图像中指示类别的部分。(图片来源:BagNet)结果
研究人员测试了BagNet的三种贴片尺寸配置 - 每个贴片9、17和33像素。他们发现33像素是最精确的配置,在Top-5验证性能中ImageNet得分为87.6%,结果接近VGG-16。17像素的配置也取得了令人瞩目的成绩,前五名的成绩为80.5%,与AlexNet相似。
有趣的是,由于简单的补丁平均,研究人员可以很容易地显示算法的每个错误的原因,如以下示例所示:
在顶部图像中,背景中的绿色使算法预测绿色Granny Smith苹果。在中等图像中,顶针上的特写可能看起来像防毒面具,因为它覆盖了眼睛,迷你裙图像可能看起来像书夹克,因为书夹通常包含大量文字。(图片来源:BagNet)
然后,研究人员试图测试常见的深度学习算法是否也依赖于特定的图像块,或者可以更广泛地理解图像,其中广泛的理解意味着将图像的不同区域连接到空间关系的全局“理解”。为此,他们根据BagNet表示掩盖了图像的最具指示性的补丁,然后测试了深度学习算法在接收掩蔽图像作为输入时的有效性。
他们发现虽然像VGG-16这样的相对较浅的神经网络遭受了严重的掩蔽,但它对更深层次和更现代的神经网络如ResNet-152和DenseNet-169产生了轻微的影响。结果暗示,正如所假设的,神经网络的深层有助于理解大的空间关系。
实施细节和计算
在建议的设计中, BagNet模型在推理上比普通ResNet-50模型慢约75%,在同一硬件上分析155张图像/秒和570张图像/秒。根据研究人员的说法,差异可能归因于BagNet中降低采样量的减少。
模型规格和预训练权重可以在如下网址找到:
https://github.com/wielandbrendel/bag-of-local-features-models
结论
虽然Bag-of-feature型号不太可能很快卷土重来,但BagNet结果表明,可以在没有深度神经网络的情况下创建高质量的计算机视觉基线。将来,这种模型可能会在可解释性是关键的(例如医疗或自动驾驶),或者调试深度神经网络的情况下有用。
另外一个研究人员之一,是科研界需要的不仅仅是ImageNet更好的任务来测试算法了解以非局部方式理解图像的能力。
原文链接:
https://www.lyrn.ai/2019/02/14/bagnet-imagenet-with-a-simple-bof-model