过往Net,皆为调参?一篇BagNet论文引发学界震动
加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。点击文末“阅读原文”立刻申请入群~
作者 | Eric Jang
来源 | 机器之心
原文链接:
https://blog.evjang.com/2019/02/bagnet.html
近日,一篇有关 BagNet 的 ICLR 2019 论文得到了机器学习社区的广泛关注,来自德国图宾根大学的研究者们发现基于小型局部图像特征分类的简单模型可以在 ImageNet 上实现惊人的高准确率。论文作者认为,这表明过去几年 DNN 的进步大部分是通过调参取得的。
这篇论文真的指出了皇帝的新装?让我们来看看有关它的详细解读。
论文概述
深度卷积网络(CNN)通过学习卷积核权重汇集局部特征,然后进行空间上的池化就能抽取出图像的深层语义特征。而我们可以将这些卷积运算的连续使用视为抽取「层次化的特征」,每一个卷积层都在广泛的特征空间内聚集低层语义信息,并在这基础上生成更高级的信息。
至于算法的最优解,关注深度学习的研究者都相信目前深度卷积网络能聚集全局信息,并最终提取出最有用的高级信息。但是有另一种观点认为,真正的智能视觉理解需要「看到森林的同时关注具体的树木」。
在这篇 BagNet 论文中,作者发现对于 ImageNet 分类任务,BagNet(86% Top-5 准确率)相比于传统的深度 AlexNet(84.7% Top-5 准确率)能获得更好的效果。BagNet 的简要做法为:
将输入图像截取为 33×33 像素的图像块;
在每一个截取的图像块上使用深度网络(1×1 卷积)获得类别向量;
按空间对所有输出的类别向量进行求和(所有截取的图像块);
通过类别向量最大的元素计数预测分类类别。
图 1:深度 BagNet 的简要流程。A) 模型从截取的图像块抽取特征,其中每一个图像块会馈送到一个线性分类器中,并为每个类别产生一个热力图。求特征空间内所有热力图的均值,并传入 Softmax 函数后取得最终的类别概率。B) ImageNet Top-5 准确率随图像块大小的变化而变化。C) BagNet 和 VGG 分对数的相关性。
图 2:热力图展示了类别的证据,这些证据都是从不同的截取图像块抽取出来的。所有图像块证据特征的空间和就是总的类别证据。
图 3:BagNet 中最具信息量的图像块。
类比表明,对于图像分类,我们也许并不需要非线性模型将一堆局部特征聚合到全局表征中,我们只需要「统计它是一系列树而确定目标是森林」。以下是其他一些时间结论;
BagNet 在使用 33×33 像素的图像块时效果好于 17×17 的图像块(80%)。所以深度网络确实抽取了有用的空间信息(9x9 vs. 17x17 vs. 33x33),但可能不是我们以前想像的全局空间范围(例如 112×112 或 224×224).
BagNet 模型的空间敏感特征并不会超出 bagging 步骤,这就引出了一个问题:深度网络最强大的能力是否还仅来自于对局部特征的处理。深度网络仅仅和这种不考虑全局空间信息的 BagNet 相同吗?如果是的话,那么深度卷积网络还有很长的路要走。
VGG 看起来非常接近 BagNet,而 DenseNet 和 ResNet 似乎与 BagNet 的做法有很大的不同(作者在 rebuttal 中解释说原因可能是局部特征顶部采用了更非线性的分类器或更大的局部特征大小)。
想法&问题
不管你相不相信 CNN 能够/应该将我们带入通用人工智能,这一论文都提供了一些清晰的证据,表明我们仅通过检查局部特征就可以构建异常强大的图像分类模型。通常来讲,使用可解释性更强的模型来解决应用问题会更有帮助,很高兴看到这种模型在某些问题上表现如此之好。
BagNet 在原理上与广义加性模型(GAM)非常相似,后者比深度学习早很多。GAM 的基本思想是将非线性单变量特征(即 f(x_i),其中每个 x_i 是一个像素,f 是一个神经网络)组合成一个简单的、可解释的特征,这样就可以查询每个变量的边际预测分布。Lou(2017) 等人采用一种新型松弛 GAM,以支持单变量特征提取器之间的成对交互(2D 边际仍然可以被人类理解)。
作者没有清晰地阐明这一点,但略读一遍论文很容易得出这样的结论:「DNN 糟糕透了,不过是 BagNets 而已」。但实际情况并非如此(作者的实验表明了这一点)。
举一个反例:局部修改(有时只是单个像素)可能改变全局特征表征,这是明显的反例。因此很明显,测试输入实际上进行了全局形状集成。剩下的问题在于,全局形状集成是否发生在我们认为其应该发生的地方,发生在什么任务中。作为一个对 AGI 非常感兴趣的人,我发现 ImageNet 现在没那么有趣了,因为它可以用对图像缺乏全局理解的模型来解决。
作者们也说了很多,他们表示我们需要比全局形状集成的更困难的任务。
在图像生成建模(如 GAN)这项任务中,patch 特征之间的线性交互明显不足以对像素间的无条件联合分布进行建模。或者考虑一下强化学习任务——Life on Earth,该任务中的智能体明显需要执行空间推理来解决一些问题,比如追逐猎物和逃离捕食者。
如果我们训练一个可以通过集成全局信息提高分类性能的模型,而且它最终只是在局部特征上过拟合,那么这将是一个非常有趣的结果,这意味着我们需要一个不允许模型以这种方式作弊的优化目标。我认为「Life-on-Earth」是一项非常合适的任务,尽管我希望找到一种对计算资源要求较低的方法 :)
最后,我们再讨论一点可解释性与因果推理。短期内我们将看到 BagNet 在自动驾驶汽车上非常有用,因为分别考虑每一个图像块有利于算法的并行化,它将为大型图像提供更多的加速。此外,我们也不希望自动驾驶汽车上加载不可解释的模型,因此像 BagNet 那样的「可解释性」模型能为自动驾驶提供更好理解的决策。不过 BagNet 的可解释性似乎与实现泛化性模型的「因果推理」与「流程归纳」并不一致,因此机器学习社区研究者还需要调和这两者的差别。
有一种更积极的方法可以获得更好的因果推断。在设计端到端系统(如机器人、自动驾驶汽车)时,BagNet 这样的方法可以作为非常必要的健全性检查机制:如果你的深度神经网络不比仅检查本地统计规律的方法(如 BagNet)好很多的话,这意味着你的模型还没有从全局信息中获益。我们甚至可以考虑组合优化 BagNet 和 Advantage(DeepNet、BagNet),以让深度神经网络明确地获取比 BagNet 更好的信息。笔者一直在考虑如何更好地验证我们的机器学习系统,构建「无假设」模型,这或许是让机器不去学习愚蠢模式的正确方法。
论文:Approximating CNNs with Bag-of-local-Features models works surprisingly well on ImageNet
论文链接:https://openreview.net/forum?id=SkfMWhAqYQ
摘要:当前,深度神经网络在许多复杂的感知任务上都有卓越的表现,但众所周知它难以理解其自身的决策。在本论文中,我们引入了一种在 ImageNet 上的高性能 DNN 架构,它的决策较为容易解释。我们的模型 BagNet 是 ResNet-50 的一种简单变体,能够基于小型局部图像特征分类完整的图像,且不需要考虑它们的空间顺序。这一策略和深度学习流行之前的 bag-of-feature(BoF)模型密切相关,且在 ImageNet 上取得了惊人的高准确率(取 32 x 32 像素的特征图,top-5 准确率能达到 87.6%;而取 16×16 像素的特征图,top-5 准确率能达到 AlexNet 的性能)。局部特征的约束迫使它要直接分析图像的每部分是如何影响分类的。此外,在特征敏感性、误差分布和图像局部之间的交互方面,BagNets 的行为类似于 VGG-16、ResNet-152 或者 DenseNet-169 这样的顶级神经网络。这表明,相比于之前的 BoF 分类器,过去几年 DNN 的进步大部分是通过更好地精调取得的,而不是不同的、高质量决策策略。
*延伸阅读
重磅!ImageNet 并非必要?何恺明新作:Rethinking ImageNet Pre-training 论文详解及问答
每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。点击左下角“阅读原文”立刻申请入群~
觉得有用麻烦给个好看啦~