Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Eric Jang作者

过往Net,皆为调参?一篇BagNet论文引发学界震动

近日,一篇有关 BagNet 的 ICLR 2019 论文得到了机器学习社区的广泛关注,来自德国图宾根大学的研究者们发现基于小型局部图像特征分类的简单模型可以在 ImageNet 上实现惊人的高准确率。论文作者认为,这表明过去几年 DNN 的进步大部分是通过调参取得的。

这篇论文真的指出了皇帝的新装?让我们来看看有关它的详细解读。

论文概述

深度卷积网络(CNN)通过学习卷积核权重汇集局部特征,然后进行空间上的池化就能抽取出图像的深层语义特征。而我们可以将这些卷积运算的连续使用视为抽取「层次化的特征」,每一个卷积层都在广泛的特征空间内聚集低层语义信息,并在这基础上生成更高级的信息。

至于算法的最优解,关注深度学习的研究者都相信目前深度卷积网络能聚集全局信息,并最终提取出最有用的高级信息。但是有另一种观点认为,真正的智能视觉理解需要「看到森林的同时关注具体的树木」。

在这篇 BagNet 论文中,作者发现对于 ImageNet 分类任务,BagNet(86% Top-5 准确率)相比于传统的深度 AlexNet(84.7% Top-5 准确率)能获得更好的效果。BagNet 的简要做法为:

  1. 将输入图像截取为 33×33 像素的图像块;

  2. 在每一个截取的图像块上使用深度网络(1×1 卷积)获得类别向量;

  3. 按空间对所有输出的类别向量进行求和(所有截取的图像块);

  4. 通过类别向量最大的元素计数预测分类类别。

图 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 的进步大部分是通过更好地精调取得的,而不是不同的、高质量决策策略。

原文链接:https://blog.evjang.com/2019/02/bagnet.html

理论BagNetICLR 2019ImageNet卷积神经网络深度神经网络计算机视觉图像分类
7
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

因果推理技术

基于因果关系的一类推理方法,是一种常见推理模式,涉及观察到的共同效应的原因的概率依赖性。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

自动驾驶汽车技术

自动驾驶汽车,又称为无人驾驶汽车、电脑驾驶汽车或轮式移动机器人,是自动化载具的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~