翻译:Network In Network

Network In Network

论文来源:2014年ICLR

Abstract

我们提出了一个全新的深度网络结构来增强模型对于接受域内局部斑块的判别能力,叫做“Network In Network”(NIN)。传统的卷积层使用线性滤波器和非线性**函数来扫描输入。相反,我们构建具有更复杂结构的微神经网络来抽象接受域内的数据。我们用多层感知器实例化了微神经网络,它是一个有效的函数逼近器。特征图是通过在输入端滑动微网络得到的,其方式与CNN相似;然后被送入下一层。通过上述结构的多重叠加,可以实现深层NIN。通过微网络增强的局部建模,我们能够在分类层利用特征图上的全局平均池,这比传统的全连接层更容易解释,也更不易过度拟合。我们展示了NIN在CIFAR-10和CIFAR-100上的最新分类性能,以及在SVHN和MNIST数据集上的合理性能。

Introduction

卷积神经网络[1]由交替的卷积层和池化层组成。卷积层将线性滤波器和底层接受域做内积,然后对内积的结果取一个非线性**函数。产生的输出称为特征图。在CNN中卷积滤波器是一个用于底层数据块的广义线性模型(GLM),我们认为GLM的抽象水平较低。通过抽象,我们能使特性对于相同概念[2]的变体是不变的(如旋转,亮度)。用更有效的非线性函数逼近器代替GLM可以增强局部模型的抽象能力。当潜在概念的样本是线性可分的,即概念的变体都位于GLM定义的分离平面的一侧时,GLM可以达到很好的抽象程度。因此,传统的CNN隐含地假设潜在概念是线性可分的。然而,相同概念的数据通常存在于非线性流形上,因此捕捉这些概念的表示通常是输入的高度非线性函数。在NIN中,GLM被一个“微网络”结构所代替,该结构是一个通用的非线性函数逼近器。在本文中,我们选择多层感知器[3]作为微网络的实例化,它是一个通用的函数逼近器,是一个可以通过反向传播来训练的神经网络。
我们将得到的结构称为mlpconv层,在图1中将其与CNN进行比较。线性卷积层和mlpconv层都将局部接受域映射到输出特征向量,mlpconv使用多层感知器(MLP)将输入局部patch映射到输出特征向量,多层感知器由多个具有非线性**函数的全连接层组成。MLP的参数在所有本地接受域之间共享。通过将MLP以类似于CNN的方式在输入上滑动获得特征图,然后将其输入到下一层。NIN的整体结构是多个mlpconv层的叠加。它被称为“网络中的网络”(NIN),因为我们有微网络(MLP),在mlpconv层中,它构成了是深层网络的一个元素。

翻译:Network In Network

与CNN中采样传统的全连接层进行分类的方式不同,我们直接通过全局平均池化输出最后一个mlpconv层特征图的空间平均作为类别的置信度,然后将得到的向量送入softmax层。在传统的CNN中,由于全连接层像一个黑盒子一样工作,因此很难解释来自目标损失层的类别级信息是如何传递回之前的卷积层的。相比之下,全局平均池更有意义和可解释性,因为它加强了feature map和categories之间的对应,这是通过使用微网络进行更强的局部建模来实现的。此外,全连通层容易发生过拟合,严重依赖dropout正则化[4][5],而全局平均池本身就是一个结构正则化器,从本质上防止了整体结构的过拟合。

2 Convolutional Neural Networks

经典的卷积神经网络[1]由交替堆叠的卷积层和空间池化层组成。卷积层通过线性卷积滤波器和非线性**函数(rectifier,、sigmoid、tanh等)生成特征图。以rectifier,为例,其特征图计算如下:
fi,j,k=max(wkTxi,j,0) f_{i, j, k}=\max \left(w_{k}^{T} x_{i, j}, 0\right)
这里(i,j)(i, j)是feature map中的像素索引,xijx_{i j}代表以位置(i,j)(i, j)为中心的输入patch, kk用来索引feature map的通道。
当潜在概念的实例是线性可分的,这个线性卷积对于抽象是足够的。然而,实现良好抽象的表示通常是输入数据的高度非线性函数。在传统的CNN中,这可以通过使用一组过完备的过滤器[6]来覆盖所有潜在概念的变化来补偿。也就是说,可以学习单个线性滤波器来检测同一概念的不同变化。然而,对于一个概念有太多的过滤器会给下一层带来额外的负担,它需要考虑上一层[7]的所有变化组合。和CNN一样,过滤器从较高的层映射到原始输入的较大区域。它通过结合来自下一层的较低层次的概念来生成更高层次的概念。因此,我们认为在将每个局部补丁组合成更高级别的概念之前,对它们进行更好的抽象是有益的。
在最近的maxout网络[8]中,通过在仿射特征图上进行最大池化操作来减少特征图的数量(仿射特征图是线性卷积没有应用**函数的直接结果)。线性函数的最大化形成了分段线性逼近器,分段线性逼近器能够逼近任何凸函数。传统的卷积层是线性分离的,与其相比,maxout网络更加有效,因为它可以分离凸集中的概念。这一改进使maxout网络在几个基准数据集上具有最佳性能。
然而,maxout网络强加了一个先验,即潜在概念的实例位于输入空间的凸集内,这并不一定成立。当潜在概念的分布比较复杂时,有必要使用更一般的函数逼近器。我们试图通过引入新的“网络中的网络”结构来实现这一点,该结构在每个卷积层中引入一个微网络来为局部补丁生成更抽象的特征。
在输入端滑动一个微网络在之前的几项工作中已经被提出。例如,结构化多层感知器(SMLP)[9]将一个共享的多层感知器应用到输入图像的不同块上;在另一项工作中,训练了一个基于神经网络的滤波器来检测人脸[10]。但是,它们都是针对特定的问题设计的,并且都只包含一个滑动网络结构层。NIN是从更一般的角度提出的,将微网络集成到CNN结构中,以更好的抽象各个层次的特征。

3 Network In Network

我们首先强调我们提出的“网络中的网络”结构的关键组件:MLP卷积层和全球平均池化层,分别在3.1节和3.2节中介绍。然后我们在3.3节中详细介绍了整个NIN。

3.1 MLP Convolution Layers

考虑到对潜在概念的分布没有先验知识,我们希望使用一个通用的函数逼近器来提取局部patch的特征,因为它能够逼近潜在概念的更抽象的表示。径向基网络和多层感知器是两个著名的通用函数逼近器。我们选择多层感知器有两个原因。首先,多层感知器与卷积神经网络的结构兼容,卷积神经网络是通过反向传播来训练的。其次,多层感知器本身可以是一个深度模型,这与特征重用[2]的性质是一致的。这种新的层在本文中称为mlpconv, 在其中MLP代替了GLM对输入进行卷积。图1说明了线性卷积层和mlpconv层的区别。mlpconv层的计算如下:fi,j,k11=max(wk11xi,j+bk1,0)fi,j,knn=max(wknnTfi,jn1+bkn,0)(2) \begin{aligned} f_{i, j, k_{1}}^{1} &=\max \left(w_{k_{1}}^{1} x_{i, j}+b_{k_{1}}, 0\right) \\ & \vdots \\ f_{i, j, k_{n}}^{n} &=\max \left(w_{k_{n}}^{n T} f_{i, j}^{n-1}+b_{k_{n}}, 0\right) \end{aligned} (2)
这里nn是多层感知机的层数。在多层感知器中,以ReLU作为**函数。
从跨通道池化 (跨特征图) 的观点来看,方程2等价于一个正常卷积层上的级联跨通道参数池化。每个池化层对输入特征图进行加权线性重组,然后通过ReLU。跨通道池特征映射在接下来的层中被一次又一次地跨通道池化。这种级联的跨通道参数池结构允许复杂和可学习的跨通道信息交互。
跨通道参数池化层也等价于具有1x1卷积核的卷积层。这种解释使我们很容易理解NIN的结构。
翻译:Network In Network
与maxout比较:maxout网络中的maxout层跨多个仿射特征映射[8]执行最大池功能。maxout层的feature map计算如下:
fi,j,k=maxm(wkmTxi,j)(3)f_{i, j, k}=\max _{m}\left(w_{k_{m}}^{T} x_{i, j}\right) (3)
Maxout通过线性函数形成一个分段线性函数,可以对任何凸函数进行建模。对于凸函数,函数值低于特定阈值的样本构成凸集。因此,通过逼近局部patch的凸函数,maxout对于样本位于凸集(即l2球、凸锥)内的概念具有形成分离超平面的能力。Mlpconv层与maxout层的不同之处在于将凸函数逼近器替换为通用函数逼近器,该逼近器对各种潜在概念的分布具有更强的建模能力。

3.2 Global Average Pooling

传统的卷积神经网络在网络的底层进行卷积操作,对于分类,最后一个卷积层得到的特征图被向量化并被输入到全连接层,最后接着一个softmax逻辑回归层[4][8][11]。这种结构建立了卷积神经网络与传统神经网络分类器的桥梁。它将卷积层作为特征提取器,并用传统的方式对特征结果进行分类。
然而,全连接层被证明容易过拟合,这阻碍了整个网络的泛化能力。dropout被Hinton等提出[5]。作为一个正则化器,dropout在训练的时候随机的将全连接层的一半**值设为0。这提高了泛化能力并极大的防止了过拟合[4]。
在这篇论文中,我们提出了另一个策略来代替CNN中传统的全连接层,叫做全局平均池化。其思想是为最后一个mlpconv层中的分类任务的每个对应类别生成一个特征图。我们没有将特征图输入到全连接层,而是取每个特征图的平均值,得到的向量直接输入到softmax图层。全局平均池化相较于全连接层的一个优点是它更契合卷积结构,因为它直接将特征图与类别对应起来。因此特征图可以很容易的被看作是类别置信图。另一个优点是在全局平均池化中没有参数需要优化,因此可以避免过拟合的发生。此外,此外,全局平均池对空间信息进行了汇总,因此对输入的空间平移具有更强的鲁棒性。
全局平均池化作为一个结构化的正则化器明确的将特征图与类别置信图对应起来。这是由mlpconv层实现的,因为它比GLMs更能拟合置信图。

3.3 Network In Network Structure

NIN的总体结构是一堆mlpconv层,上面是全局平均池和目标成本层。正如CNN和maxout,在mlpconv层之间可以加入子采样层。图2展示了一个三个mlpconv层堆叠的NIN网络。在每个mlpconv层中有三个感知机。NIN和微网络的层数是灵活的,可以针对特定的任务进行调整。

4 Experiments

4.1 Overview

我们在四个基准数据集上评估了NIN:CIFAR-10 [12], CIFAR-100 [12], SVHN [13] 和 MNIST [1]。在数据集上用的网络都是由三个mlpconv层堆叠而成的,在所有的实验中mlpconv层都跟着空间最大池化层,以因子2对输入图片进行下采样。作为一个正则化器,dropout应用于所有的输出层,但最后的mlpconv层除外。除非情况特殊,实验部分使用的所有网络都使用全局平均池化,而不是网络顶部的全连接层。另一个正则化器应用的是weight decay,正如Krizhevsky[4]等应用的。图2展示了这部分所用的NIN网络的整体架构。超参数的设置细节在补充材料中提供。我们通过Alex Krizhevsky[4]开发的超级快的cuda-convnet代码来实现我们的网络。数据集的预处理、训练集的分割和验证集都遵循Goodfellow等人的[8]。
我们采用Krizhevsky等人[4]的训练程序。也就是说,我们手动为权重和学习速率设置适当的初始化。网络使用大小为128的mini-batch进行训练。训练过程从初始权重和学习率开始,直到训练集上的准确率不再提高时,学习率变为原来的1/10。这个过程再重复一次,最终的学习率是初始学习率的1/100。

4.2 CIFAR-10

CIFAR-10数据集[12]包含10个类别的自然图片,一共有50000张训练图片和10000张测试图片。每张图片是32*32像素的RGB图。对于这个数据集,我们使用了与Goodfellow等人在maxout网络[8]中使用的相同的全局对比度规格化和ZCA白化。我们使用测试集最后10000张图片作为验证集。
本实验中每个mlpconv层的feature map数量设置为与对应maxout网络相同的数量。两个超参数使用验证集进行调优,即局部接受域大小和权重衰减。确定超参数后,我们用训练集和验证集从零开始重新训练网络。得到的模型用于测试。我们在这个数据集上获得了10.41%的测试误差,与最先进的技术相比,提高了超过1%。与以前方法的比较如表1所示。
翻译:Network In Network
我们的实验结果表明,在NIN的mlpconv层之间使用dropout可以提高模型的泛化能力,从而提高网络的性能。如图3所示,在mlpconv层之间引入dropout层可以减少20%以上的测试误差。这一观察结果与Goodfellow等人的[8]一致。因此,在本文使用的所有模型中mlpconv层之间都添加了dropout。没有dropout正则化的模型在CIFAR-10数据集的错误率达到14.51%,这也优于许多使用正则化的现有方法(maxout除外)。由于没有dropout的maxout性能是不可用的,因此本文只比较dropout正则化版本。
翻译:Network In Network
为了与之前的工作保持一致,我们还在CIFAR-10数据集上使用平移和水平翻转增强来评估我们的方法。我们能够达到8.81%的测试误差,这实现了一个新的state-of-art表现。

4.3 CIFAR-100

CIFAR-100数据集[12]在大小和格式上与CIFAR-10数据集相同,但它包含100个类。因此,每个类中的图像数量仅为CIFAR-10数据集的十分之一。对于CIFAR-100,我们不调优超参数,而是使用与CIFAR-10数据集相同的设置。唯一的区别是最后一个mlpconv层输出100个特征图。CIFAR-100的测试误差为35.68%,与当前最好的没有采用数据增强的方法相比,准确率提高了1%。
翻译:Network In Network

4.4 Street View House Numbers

SVHN数据集[13]由630420幅32x32色的图像组成,分为训练集、测试集和附加集。该数据集的任务是对位于图像中心的数字进行分类。训练和测试遵循Goodfellow等人的[8]。即从训练集中每个类别选择400个样本,从额外集中选择每类200个样本用于验证。训练集和附加集的其余部分用于训练。验证集仅用于超参数选择的指导,不用于模型的训练。
数据集的预处理再次遵循Goodfellow等人的[8],这是一种局部对比归一化。SVHN中使用的结构和参数与CIFAR-10中使用的结构和参数类似,后者由三个mlpconv层和全球平均池组成。对于这个数据集,我们获得了2.35%的测试错误率。我们将结果与不增加数据的方法进行比较,比较结果如表3所示。
翻译:Network In Network

4.5 MNIST

MNIST[1]数据集由大小为28x28的手写数字0-9组成。总共有6万张训练图像和1万张测试图像。对于这个数据集,采用与CIFAR-10相同的网络结构。但是每个mlpconv层生成的特征图的数量减少了。因为MNIST与CIFAR-10相比是一个更简单的数据集;需要的参数更少。我们在不增加数据的情况下对这个数据集测试我们的方法。将结果与之前采用卷积结构的方法进行对比,如表4所示。
翻译:Network In Network
由于MNIST调优到非常低的错误率,因此我们的性能(0.47%)与当前最好的性能(0.45%)不相上下,但并没有更好。

4.6 Global Average Pooling as a Regularizer

全局平均池化层类似于全连接层,因为它们都对向量化的特征图进行线性转换。区别在于变换矩阵。对于全局平均池化,变换矩阵是有前缀的,它只在共享相同值的块对角元素上是非零的。全连接层是密集的变换矩阵,它的值取决于反向传播的优化参数。为了研究全局平均池的正则化效果,我们将全局平均池层替换为全连接层,而模型的其他部分保持不变。我们分别评估了在全连接线性层前加入dropout和不加dropout的情况。两个模型都在CIFAR-10数据集上进行了测试,表5显示了性能的比较。
翻译:Network In Network
如表5所示,未加dropout正则化的全连接层性能最差(11.59%)。如果不应用正则化,则全连接层将在训练集上过拟合。在全连接层之前加入dropout,降低了测试误差(10.88%)。全局平均池的测试错误最低(10.41%)。
然后,我们探讨全局平均池对常规CNNs是否具有相同的正则化效果。我们实例化了Hinton等人所描述的传统CNN,它由三个卷积层和一个局部连接层组成。这些局部连接层生成16个特征图被输入包含dropout的全连接层。为了使比较公平,我们将本地连接层的特征图的数量从16减少到10,因为在全局平均池方案中每个类别对应一个特征图。然后,通过用全局平均池替换dropout +全连接层来创建具有全局平均池的等效网络。在CIFAR-10数据集上测试了性能。
这个包含全连接层的CNN模型的错误率仅为17.56%。当添加dropout时,我们获得了与Hinton等人报道的类似的性能(15.99%)。将该模型中的全连通层替换为全局平均池,错误率为16.46%,与没有dropout的CNN相比提高了1%的准确率。再次验证了全局平均池层作为正则化器的有效性。虽然它比dropout正则化结果略差,但我们认为全局平均池对线性卷积层的要求可能过高,因为它需要经过整流**的线性滤波器来对类别的置信度图建模。

4.7 Visualization of NIN

在NIN的最后一层mlpconv中,我们通过全局平均池显式地将feature map强制为类别的置信度映射,这只有在对本地接受域进行更强建模的情况下才有可能实现,例如在NIN中使用mlpconv。为了理解这一目的的实现程度,我们从CIFAR-10的训练模型的最后一个mlpconv层提取并直接可视化特征图。
图4显示了从CIFAR-10测试集中选择的10个类别中的每个类别的一些示例图像及其对应的特征图。期待的是在特征图中观察到的最大的**与输入图片的真实标签对应,在ground truth类别的feature map中,可以观察到最强的**大致出现在原图像中物体的同一区域。对于结构化对象尤其如此,例如图4中第二行的car。注意,类别的特征图只使用类别信息进行训练。如果将对象的边框用于细粒度标签,则预期会得到更好的结果。
翻译:Network In Network
可视化再次证明了NIN的有效性。它是通过使用mlpconv层进行更强的局部接受域建模来实现的。然后,全局平均池化产生类别级的特征图。对一般目标检测可以做进一步的探索。与Farabet et al.[20]的场景标记工作相同,基于类别级特征图可以实现检测结果。

5 Conclusions

我们提出了一个全新的用于分类的深度网络,叫做“Network In Network”(NIN)。这个新结构由mlpconv层和全局平均池化层组成,mlpconv层使用多层感知器对输入进行卷积,而全局平均池化层代替了传统CNN中完全连接的层。Mlpconv层可以更好地对局部patch进行建模,而全局平均池化可以作为结构化的正则化器防止过度拟合。通过这两个NIN组件,我们在CIFAR-10、CIFAR-100和SVHN数据集上展示了最先进的性能。通过对特征图的可视化,我们证明了NIN的最后一个mlpconv层的特征图是类别的置信度图,这激发了通过NIN进行对象检测的可能性。

References

[1] Yann LeCun, L´eon Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998.

[2] Y Bengio, A Courville, and P Vincent. Representation learning: A review and new perspectives. IEEE transactions on pattern analysis and machine intelligence, 35:1798–1828, 2013.

[3] Frank Rosenblatt. Principles of neurodynamics. perceptrons and the theory of brain mechanisms. Technical report, DTIC Document, 1961.

[4] Alex Krizhevsky, Ilya Sutskever, and Geoff Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems 25, pages 1106–1114, 2012.

[5] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan R Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.

[6] Quoc V Le, Alexandre Karpenko, Jiquan Ngiam, and Andrew Ng. Ica with reconstruction cost for efficient overcomplete feature learning. In Advances in Neural Information Processing Systems, pages 1017–1025, 2011.

[7] Ian J Goodfellow. Piecewise linear multilayer perceptrons and dropout. arXiv preprint arXiv:1301.5088, 2013.

[8] Ian J Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron Courville, and Yoshua Bengio.Maxout networks. arXiv preprint arXiv:1302.4389, 2013.

[9] C¸a˘glar G¨ulc¸ehre and Yoshua Bengio. Knowledge matters: Importance of prior information for optimization. arXiv preprint arXiv:1301.4083, 2013.

[10] Henry A Rowley, Shumeet Baluja, Takeo Kanade, et al. Human face detection in visual scenes.School of Computer Science, Carnegie Mellon University Pittsburgh, PA, 1995.

[11] Matthew D Zeiler and Rob Fergus. Stochastic pooling for regularization of deep convolutional neural networks. arXiv preprint arXiv:1301.3557, 2013.

[12] Alex Krizhevsky and Geoffrey Hinton. Learning multiple layers of features from tiny images.Master’s thesis, Department of Computer Science, University of Toronto, 2009.

[13] Yuval Netzer, Tao Wang, Adam Coates, Alessandro Bissacco, Bo Wu, and Andrew Y Ng.Reading digits in natural images with unsupervised feature learning. In NIPS Workshop on Deep Learning and Unsupervised Feature Learning, volume 2011, 2011.

[14] Jasper Snoek, Hugo Larochelle, and Ryan P Adams. Practical bayesian optimization of machine learning algorithms. arXiv preprint arXiv:1206.2944, 2012.

[15] Li Wan, Matthew Zeiler, Sixin Zhang, Yann L Cun, and Rob Fergus. Regularization of neural networks using dropconnect. In Proceedings of the 30th International Conference on Machine Learning (ICML-13), pages 1058–1066, 2013.

[16] Mateusz Malinowski and Mario Fritz.arXiv preprint arXiv:1301.3516, 2013.Learnable pooling regions for image classification.

[17] Nitish Srivastava and Ruslan Salakhutdinov. Discriminative transfer learning with tree-based priors. In Advances in Neural Information Processing Systems, pages 2094–2102, 2013.

[18] Nitish Srivastava. Improving neural networks with dropout. PhD thesis, University of Toronto, 2013.

[19] Ian J Goodfellow, Yaroslav Bulatov, Julian Ibarz, Sacha Arnoud, and Vinay Shet. Multi-digit number recognition from street view imagery using deep convolutional neural networks. arXiv preprint arXiv:1312.6082, 2013.

[20] Cl´ement Farabet, Camille Couprie, Laurent Najman, Yann Lecun, et al. Learning hierarchical features for scene labeling. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35:1915–1929, 2013.