Abstract
- 我们提出了一种新的深度网络结构,称为“网络中的网络”(NIN),以增强接收领域中局部补丁的模型可区分性。传统的卷积层使用线性滤波器,然后是非线性激活函数来扫描输入。相反,我们构建具有更复杂结构的微神经网络来抽象接收领域内的数据。我们用多层感知器实例化微神经网络,这是一种有效的函数逼近器。通过以与CNN类似的方式在输入上滑动微网络来获得特征图; 然后将它们送入下一层。深NIN可以通过堆叠多个上述结构来实现。通过微网络增强的局部建模,我们能够利用分类层中的特征图进行全局平均池化,这比传统的完全连接层更容易解释并且更不容易过度拟合。我们展示了NINon CIFAR-10和CIFAR-100的最先进的分类性能,以及SVHN和MNIST数据集的合理性能。
Introduction
- 卷积神经网络(CNN)[1]由交替的卷积层和池化层组成。 卷积层采用线性滤波器的内积和下面的接收场,然后是输入的每个局部部分的非线性激活函数。 结果输出称为特征映射。
- CNN中的卷积滤波器是基础数据补丁的广义线性模型(GLM),我们认为GLM的抽象级别较低。通过抽象,我们的意思是该特征对于相同概念的变体是不变的。用更有效的非线性函数逼近器替换GLM可以增强本地模型的抽象能力。当潜在概念的样本是线性可分的时,GLM可以实现良好的抽象程度,即概念的变体都存在于由GLM定义的这些分区平面的一侧。因此,传统的CNN隐含地假设潜在概念是线性可分的。然而,相同概念的数据通常存在于非线性流形上,因此捕获这些概念的表示通常是输入的高度非线性函数。在NIN中,GLM被“微网络”结构取代,该结构是一般的非线性函数逼近器。 在这项工作中,我们选择多层感知器[3]作为微网络的实例,它是一种通用函数逼近器和一种可通过反向传播训练的神经网络。
- 我们称之为mlpconv层的结果结构与图1中的CNN进行了比较。线性卷积层和mlpconv层都将局部接收场映射到输出特征向量。mlpconv将输入局部贴片映射到输出特征向量,多层感知器(MLP)由具有非线性激活功能的多个完全连接层组成。MLP由所有当地接收领域共享。通过以与CNN类似的方式在输入上滑动MLP来获得特征图,然后将其馈送到下一层。NIN的整体结构是多个mlpconv层的堆叠。 它被称为“网络中的网络”(NIN),因为我们有微网络(MLP),它们是整个深层网络的组成元素。
- 我们不是采用传统的完全连通层进行CNN分类,而是直接从最后一个mlpconv层输出特征图的空间平均值,作为通过全局平均池化层的类别的置信,然后将得到的矢量输入到softmax中层。在传统的CNN中,难以解释如何将来自客观成本层的类别级别信息传递回先前的卷积层,因为完全连接的层在其间充当黑盒子。相比之下,全球平均池化更有意义且可解释,因为它强制实现了要素图和类别之间的对应关系,这可以通过使用微网络的更强大的本地建模来实现。此外,完全连接的层易于过度拟合并且严重依赖于Dropout正则化,而全局平均池化本身就是一个结构正则化器,它本身可以防止整体结构的过度拟合。
Convolutional Neural Networks
- 经典的卷积神经元网络由交替堆叠的卷积层和空间池层组成。 卷积层通过线性卷积滤波器生成特征图,然后是非线性激活函数(rectifer,sigmoid,tanh等)。 以线性整流器为例,可以按如下方式计算特征图:
- 这里
是特征图中的像素索引,
代表以位置
为中心的输入补丁,并且k用于索引特征图的通道。
- 当潜在概念的实例是线性可分离时,这种线性卷积足以用于抽象。 然而,实现良好抽象的表示通常是输入数据的高度非线性函数。在传统的CNN中,这可以通过利用过度完整的滤波器[6]来补偿,以涵盖潜在概念的所有变化。可以学习单独的线性滤波器以检测相同概念的不同变化。 然而,对于单个过滤器而言,过多的过滤器会使下一层产生额外的负担,这需要考虑前一层的所有变化组合。与在CNN中一样,来自较高层的过滤器映射到原始输入中的较大区域。 它通过组合下面层中的较低级别概念来生成更高级别的概念。 因此,我们认为在将它们组合到更高级别的概念之前,对每个本地补丁进行更好的抽象是有益的。
- 在最近的maxout网络[8]中,通过最大特征映射的最大池来减少特征映射的数量。线性函数的最大化使得分段线性逼近器能够逼近任何凸函数。与执行线性分离的传统卷积层相比,maxout网络更有效,因为它可以分离位于凸集内的概念。 这种改进使maxout网络在几个基准数据集上具有最佳性能。
- 然而,maxout网络强加了潜在概念的实例位于输入空间中的凸集内的先验,其不一定成立。 当潜在概念的分布更复杂时,有必要采用更通用的函数逼近器。我们通过引入新颖的“网络网络”结构来实现这一目标,其中在每个卷积层内引入微网络以计算本地补丁的更抽象的特征。
- 在几个先前的工作中已经提出在输入上滑动微网络。 例如,结构化多层感知器SMLP [9]在输入图像的不同片上应用共享多层感知器; 在另一项工作中,基于神经网络的滤波器被训练用于人脸检测[10]。 但是,它们都是针对特定问题而设计的,并且都只包含一层滑动网络结构。 NIN是从更一般的角度提出的,微网络被集成到CNN结构中,以便为所有级别的特征提供更好的抽象。
Network In Network
- 由于没有关于潜在概念的分布的先验,因此希望使用通用函数逼近器来对局部补丁进行特征提取,因为它能够近似潜在概念的更抽象的表示。径向基网和多层感知器是两种众所周知的通用函数逼近器。我们在这项工作中选择了多层感知器。 首先,多层感知器与卷积神经网络的结构兼容,卷积神经网络使用反向传播进行训练。其次,多层感知器本身可以是一个深层模型,这与特征重用的精神是一致的[2]。在本文中,这种新类型的层称为mlpconv,其中MLP替换GLM以对输入进行卷积。 图1显示了线性卷积层和mlpconv层之间的差异。 mlpconv层执行的计算如下所示:
- 这里n是多层感知器中的层数。 Rectified线性单元用作多层感知器中的激活功能。从交叉通道(交叉特征图)池化的观点来看,等式2相当于正常卷积层上的级联交叉信道参数池。 每个合并层在输入要素图上执行加权线性重组,然后通过整数线性单元。 交叉通道合并的特征图是在下一层中一次又一次地汇集的交叉通道。 这种级联的跨信道参数化池结构允许交叉信道信息的复杂且可学习的交互。交叉通道参数化池层也等同于具有1x1卷积内核的卷积层。 这种解释使得理解NIN的结构变得非常直接。
- maxout网络中的maxout图层跨多个自定义特征图执行最大池[8]。 maxout图层的要素图计算如下:
- 线性函数的最大值形成分段线性函数,其能够对任何凸函数建模。 对于凸函数,具有低于特定阈值的函数值的样本形成凸集。 因此,通过近似局部斑块的凸函数,maxout具有形成分离超平面的能力,用于其样本在凸集(即,12个球,凸锥)内的概念。 Mlpconv层与maxout层的不同之处在于凸函数逼近器被通用函数逼近器代替,其具有更大的潜在概念的各种分布的建模能力。
- 传统的卷积神经网络在网络的较低层执行卷积。 对于分类,最后一个卷积层的特征图被矢量化并馈入完全连接的层,然后是softmax逻辑回归层[4] [8] [11]。 这种结构将卷积结构与传统的神经网络分类器联系起来。 它将卷积层视为特征提取器,并以传统方式对结果特征进行分类。然而,完全连接的层易于过度拟合,因此妨碍了整个网络的泛化能力。 Dropout在训练期间将完全连接层的一半激活设置为零。 它提高了泛化能力,并在很大程度上防止了过度拟合。
- 在本文中,我们提出了另一种称为全球平均池化的策略来取代CNN中传统的完全连接层。 我们的想法是为最后一个mlpconv层中的分类任务的每个对应类别生成一个特征映射。 我们不是在要素图顶部添加完全连接的图层,而是取每个要素图的平均值,并将得到的向量直接输入到softmax图层。 全连接层上的全局平均池的一个优点是,通过强制特征映射和类别之间的对应,它对卷积结构更加本地化。 因此,特征图可以很容易地解释为类别信息图。 另一个优点是在全局平均池中没有优化参数,因此在该层避免了过度拟合。 此外,全局平均池化对空间信息进行求和,因此对输入的空间转换更加鲁棒。
- NIN的整体结构是一堆mlpconv层,其顶部是全局平均池和目标成本层。 如在CNN和maxout网络中那样,可以在mlpconv层之间添加子采样层。 图2显示了具有三个mlpconv层的NIN。 在每个mlpconv层内,有一个三层感知器。 NIN和微网络中的层数都是灵活的,可以针对特定任务进行调整。
Conclusions
- 我们提出了一种新的深度网络,称为“网络网络”(NIN),用于分类任务。 这种新结构由mlpconv层组成,这些层使用多层感知器来卷积输入,而全局平均池层则替代传统CNN中的完全连接层。 Mlpconv层更好地模拟局部补丁,全局平均池作为结构正则化器,防止全局过度拟合。 通过NIN的这两个组件,我们在CIFAR-10,CIFAR-100和SVHN数据集上展示了最先进的性能。 通过对特征图的可视化,我们证明了来自NIN的最后一个mlpconv层的特征映射是类别的置信映射,这激发了通过NIN执行对象检测的可能性。