最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

network

运维笔记admin8浏览0评论

network

network

-

2023年4月16日发(作者:cpu z)

经典翻译NetworkInNetwork深度学习中的GAP和NIN

摘要我们提出了⼀种新型的深度⽹络结构,称为“NetworkInNetwork”(NIN),它可以增强模型在内对局部区域(localpatches)的

辨别能⼒。传统的卷积层使⽤线性滤波器来扫描输⼊,后⾯接⼀个⾮线性激活函数。⽽我们则构建了⼀些结构稍复杂的微型神经⽹络来抽象

receptivefield内的数据。我们⽤多层感知器实例化微型神经⽹络,这是⼀种有效的函数逼近器。特征图可以通过微型神经⽹络在输⼊上滑

动得到,类似于CNN;接下来特征图被传⼊下⼀层。深度NIN可以通过堆叠上述结构实现。通过微型⽹络增强局部模型,我们就可以在分类

层中利⽤所有特征图的全局平均池化层(GAP),这样更容易解释且⽐传统的全连接层更不容易过拟合。我们证明了NIN在CIFAR-10和CIFAR-100上得到了有史以来最佳的表现以及在SVHN和MNIST数据集上合理的表现。

1Introduction

卷积神经⽹络(CNN)由卷积层和池化层交替组成。卷积层使⽤线性滤波器和底层receptivefield做内积,然后接⼀个⾮线性的激活函数,得到的输出称作特征图(featuremap)。

CNN的卷积滤波器是底层数据块的⼴义线性模型(generalizedlinearmodel)(GLM),⽽且我们认为它的抽象程度较低。这⾥的抽象

较低是指该特征对同⼀概念的变体是不变的。⽤更有效的⾮线性函数逼近器代替GLM可以增强局部模型的抽象能⼒。当样本的隐含概念

(latentconcept)线性可分时,GLM可以达到很好的抽象程度,例如:这些概念的变体都在GLM分割平⾯的同⼀边,⽽传统的CNN就默

认了这个假设——认为隐含概念(latentconcept)是线性可分的。然⽽,同⼀概念的数据通常是⾮线性流形的(nonlinearmanifold),

捕捉这些概念的表达通常都是输⼊的⾼维⾮线性函数。在NIN中,GLM⽤“微型⽹络”结构替代,该结构是⼀个⾮线性函数逼近器。在本项

研究中,我们选择多层感知器实例化微型⽹络,该感知器是⼀个通⽤函数逼近器,也是⼀个通过反向传播训练的神经⽹络。

最终结构我们称为“mlpconv”层,与CNN的⽐较见图1.

图1线性卷积层与mlpconv层的⽐较。线性卷积层包含线性滤波器,⽽mlpconv层包含的是微型⽹络(本⽂选择多层感知器)。两种层都将局部感受野映射到了隐含概念的置信度值

线性卷积层和mlpconv层都从局部感受野(receptivefield)映射到了输出特征向量。mlpconv层将局部块的输⼊通过⼀个由全连接层和

⾮线性激活函数组成的多层感知器(MLP)映射到了输出的特征向量。MLP在所有局部感受野中共享。特征图通过⽤像CNN⼀样的⽅式在

输⼊上滑动MLP得到,NIN的总体结构是⼀系列mplconv层的堆叠。被称作“NetworkInNetwork”(NIN),因为内部含有MLP。

我们没有采⽤传统CNN的全连接层进⾏分类,⽽是直接通过全局平均池化层(GAP)输出最后⼀个mlpconv层特征图的空间平均值作为类

别的置信度值,然后将得到的向量输⼊softmax层。在传统的CNN中,很难解释如何将来⾃分类层(objectivecostlayer)的分类信息传

递回前⼀个卷积层,因为全连接层像⼀个⿊盒⼀样。相⽐之下,全局平均池化层(GAP)更有意义且容易解释,因为它强化了特征图与分类

的对应关系,这是通过使⽤微型⽹络构成的局部建模器实现的。此外,全连接层更容易过拟合且严重依赖于dropout正则化,⽽GAP则本⾝就是⼀个结构化的正则化器,能避免整体结构的过拟合。

2ConvolutionalNeuralNetworks

经典卷积神经⽹络由卷积层和空间池化层交替堆叠产⽣。卷积层通过线性卷积滤波器接⼀个⾮线性激活函数(如rectifier,sigmoid,tanh等等)⽣成特征图。例如使⽤rectifier激活函数,特征图的计算如下:

公式(1)

这⾥的(i,j)是特征图像素的索引,xij代表以位置(i,j)为中⼼的输⼊块,k⽤来索引特征图的颜⾊通道。

当隐含概念线性可分时,这种线性卷积⾜以⽤于抽象,但是要想得到更好的抽象,应该是⽤输⼊数据的⾼度⾮线性函数。在传统的CNN中,

这可以通过利⽤⼀套完整的滤波器来弥补,覆盖所有隐含概念的变化。也就是说,单独的线性滤波器可以学习检测同⼀概念的不同变化。但

是同⼀概念使⽤太多的滤波器会给下⼀层带来额外的负担,需要考虑来⾃前⼀层的所有变化的组合,来⾃更⾼层的滤波器会映射到原始输⼊

的更⼤区域,它通过结合下层的较低级概念⽣成较⾼级的概念,因此,我们认为在每⼀个局部块结合⽣成更⾼级概念之前就作出更好的抽象是更有益的。

在最近的maxout⽹络中,特征图的数⽬通过在affinefeaturemaps上做最⼤池化来减少(affinefeaturemaps是线性卷积未通过激活函

数的直接结果)。线性函数的最⼤化使分段线性逼近器能逼近任何凸函数。与执⾏线性可分的传统卷积层相⽐,maxout⽹络更有效,因为它能分离在凸集内的概念。这种改进使maxout⽹络在⼏个基准数据集上表现出⾊。

但是maxout⽹络加了⼀个前提:隐含概念位于输⼊空间的凸集内,⽽这是不⼀定的。因此应该使⽤⼀个更通⽤的函数逼近器,在隐含概念

处于更复杂的分布时也依然能⽤。我们通过使⽤新的“NetworkInNetwork”结构在实现这个需求,在每个卷积层内引⼊⼀个微型⽹络,来计计算和抽象每个局部块的特征。

在输⼊上滑动微型⽹络已经在之前的研究中提出过。⽐如,SturcturedMultilayerPerceptron(SMLP)在输⼊图⽚的不同块中使⽤了共享

的多层感知器;在另⼀项研究中,基于神经⽹络的滤波器被训练以⽤于⾯部检测。但是,他们都是针对某个特定问题设计的,且滑动的⽹络结构都只有⼀层。NIN则从⼀个通⽤的⾓度上提出,微型⽹络被整合到CNN结构中,以追求对各级特征的更好的抽象。

3NetworkInNetwork

我们⾸先强调提出的“NetworkInNetwork”结构的关键组成:3.1节和3.2节分别介绍了MLP卷积层和全局平均池化层。然后我们在3.3节详细介绍NIN整体。

3.1MLP卷积层

由于隐含概念的分布⼀开始并不知道,所以⽤⼀个通⽤函数逼近器做局部块的特征提取,因为它能逼近隐含概念的更多抽象表⽰。Radial

basisnetwork和多层感知器是两个众所周知的通⽤函数逼近器。我们使⽤多层感知器,有两个原因,⾸先,多层感知器与卷积神经⽹络的

结构⼀样,都是通过反向传播训练。其次多层感知器本⾝就是⼀个深度模型,符合特征再利⽤的精神。这种多层感知器层在⽂本被称作

mlpconv,我们⽤它来替代GLM(generallinearmodel)在输⼊上做卷积。图1展⽰了线性卷积层和mplconv层的不同。mlpconv层的计算如下:

公式2

这⾥n是多层感知器中的层编号。rectified为多层感知器的激活函数。

从crosschannel(crossfeaturemap)池化的⾓度来看,公式2等效于级联普通卷积层的crosschannelparametricpooling。每个池

化层在输⼊特征图上做加权线性重组,然后通过rectifier函数。池化了的crosschannel特征图⼜在下⼀层池化,如此⼀遍⼜⼀遍重复。级联的crosschannelparametericpooling结构允许复杂的和可学习的crosschannel信息进⾏交互。

crosschannelparametricpooling层也等效于⼀个1x1卷积核的卷积层。这个解释可以更直观的理解NIN的结构。与maxout层的⽐较:maxout⽹络中的maxout层在affinefeaturemaps上做了最⼤池化,maxout层的特征图计算如下:

公式3

maxout线性函数形成了⼀个分段线性函数,可以给任何凸函数建模。对于⼀个凸函数来说,函数值在特定阈值下的样本点形成⼀个凸集,

因此,通过拟合局部块的凸函数,可以形成样本点在凸集内的概念的分割超平⾯(例如,l2balls,convexcones)。mlpconv层和maxout层的不同之处在与见凸函数拟合器⽤通⽤函数拟合器替代,使其能对更多的隐含概念分布建模。

3.2GlobalAveragePooling

传统卷积神经⽹络在⽹络的较低层执⾏卷积。对于分类任务,最后⼀个卷积层得到的特征图被向量化然后送⼊全连接层,接⼀个softmax逻辑回归层。这种结构将卷积结构与传统神经⽹络分类器连接起来,见卷积层作为特征提取器,得到的特征⽤传统⽅式进⾏分类。

但是,全连接层容易过拟合,从⽽阻碍了整个⽹络的泛化能⼒。后来dropout被Hinton等⼈提出,⽤于正则化,在训练过程中随机地将全连接层的⼀半激活值置零,改善了它的泛化能⼒并且很⼤程度地预防了过拟合。

在本⽂中,我们提出了另⼀个策略,叫做全局平均池化层,⽤它来替代CNN中的全连接层。想法是在最后⼀个mlpconv层⽣成⼀个分类任

务中相应类别的特征图。我们没有在特征图最顶端增加全连接层,⽽是求每个特征图的平均值,得到的结果向量直接输⼊softmax层。GAP

相⽐全连接层的优点在于通过增强特征图与类⽐间的对应关系使卷积结构保留的更好,使特征图分类是可信的得到很好的解释;另⼀个优点是GAP层中没有参数设置,因此避免了过拟合;此外,GAP汇聚了空间信息,所以对输⼊的空间转换更鲁棒。

我们可以看到GAP作为⼀个正则化器,加强了特征图与概念(类别)的可信度的联系。这是通过mlpconv层实现的,因为他们⽐GLM更好逼近置信图(conficencemaps)。

3.3NetworkInNetworkStructure

NIN的整体结构是⼀系列mlpconve层的堆叠,最上层接⼀个GAP层和分类层。mlpconv层间的⼦层可以被相加,像CNN和maxout⽹络⼀

样。图2展⽰了⼀个包含三个mlpconv层的NIN。每个mlpconv层,包含⼀个三层的感知器,NIN和微型⽹络的层数都是灵活的,可以根据具体任务微调。

图2NIN的整体结构。本⽂的NIN由三个mlpconve层和⼀个GAP层堆叠⽽成。

4Experiment

4.1Overview

我们在四个基准数据集上评估了NIN:CIFAR-10,CIFAR-100,SVHN和MNIST。⽹络在这些数据上都使⽤三层堆叠mplconv层结

构,mlpconv层后⾯都跟随⼀个最⼤池化层,把原输⼊样本缩减⼀倍。作为正则化器,除了最后⼀个mlpconv层外所有输出都加⼀个

dropout。除⾮特别说明,否则实验部分的所有全连接层都⽤全局平均池化层替代。另⼀个正则化⽅法是和Krizhevsky等⼈⼀样的权重衰

减。图2展⽰了本节所⽤的NIN⽹络整体结构,详细的参数设置在补充材料中。我们使⽤由AlexKrizhevsky开发的超快速cuda-convnet代码来实现我们的⽹络。数据预处理和训练集验证集的拆分同Goodfellow。

我们的训练过程同Krizhevsky等⼈⼀样。也就是说,我们⼿动初始化了权重以及学习率,使⽤128⼩批次训练。训练层初始化权重和学习率开始,直到训练集上的准确率停⽌改善,然后损失率减少10倍,再继续训练,重复直到学习率衰减到1%。

4.2CIFAR-10

CIFAR-10数据集由10类⾃然图⽚组成,有50000张训练图⽚,10000张测试图⽚,每张图⽚是32x32的RGB图⽚。对于这个数据集,

我们使⽤与Goodfellow在maxoutnetwork中相同的globalcontrastnormalization和ZCA⽩化。我们⽤训练集的最后10000张图⽚做验证集。

实验中每个mlpconv层的特征图数与maxout⽹络相同。有两个超参数⽤验证集微调,如局部感受野(localreceptivefield)的⼤⼩和权

重衰减。超参数调整好后固定,然后重新在训练集合验证集上训练,将最终模型⽤于测试集。我们在测试集上得到了10.41%的错误率,⽐

当前最优结果降低1%。表1展⽰了与先前⽅法的对⽐。

表1:CIFAR-10各种⽅法在测试集上的错误率

我们实验证明,mlpconv层间使⽤dropout可以通过增加模型泛化能⼒来提升模型表现。如图3所⽰,在mlpconv层间引⽤dropout层错误

率减少了20%多。这⼀结果与Goodfellow等⼈的⼀致,所以本⽂的所有模型mlpconv层间都加了dropout。没有dropout的模型在

CIFAR-10数据集上错误率是14.5%,已经超过之前最好的使⽤正则化的模型(除了maxout)。由于没有dropout的maxout不可靠,所以本⽂只与有dropout正则器的版本⽐较。

图3:mlpconv层间添加dropout的影响,有dropout和没有dropout的NIN在训练集和测试集前200代的错误率

与先前⼀样,我们也在做了位移和⽔平翻转的数据增强的CIFAR-10数据集上对我们的⽅法做了评估,在测试集上达到了8.81%的错误率,创了新纪录。

4.3CIFAR-100

CIFAR-100和CIFAR-10数据规模⼀样,只是分为100类。因此每⼀类图的数⽬是CIFAR-10的1/10。对于CIFAR-100,我们不调整超

参数,⽽是使⽤和CIFAR-10⼀样的设置。位移的不同是最后⼀个mlpconv层输出100个特征图。CIFAR-100在测试集上的错误率为

35.68%,超了当前不做数据增强最好的表现1%多。详细的表现⽐较见表2。

表2:CIFAR-100各种⽅法在测试集上的错误率

4.4StreetViewHouseNumbers

SVHN数据集由630,42032x32的彩图组成,分为训练集、测试集和额外集和。这个数据集的任务是识别出每张图中间的数字。训练和测

试过程同Goodfellow,也就是说,每⼀类从训练集中选择400张图,从额外集中选200张图作为验证集。剩余的训练集和额外集⽤于训练。验证集只⽤于调整超参数,不⽤于训练。

数据集的预处理也同Goodfellow,即localcontrastnormalization。⽤于SVHN的结构和参数设置同CIFAR-10⼀样,由三个mlpconv层加GAP组成。我们在这个数据集上得到2.35%的错误率。我们将结果与其他没有做数据增强的⽅法结果进⾏⽐较,如表3所⽰。

表3各种⽅法在SVHN的错误率

4.5MNIST

MNIST数据集由28x28的0-9⼿写数字组成。有60000张训练集图⽚和10000张测试集图⽚。对于这个数据集,⽹络结构同CIFAR-10⼀

样,只是每个mlpconv层的特征图数减少了,因为MNIST⽐CIFAR-10简单。与先前使⽤卷积神经⽹络的结果对⽐如表4.

表4:MNIST的错误率⽐较

我们得到了0.47%的表现,但是没有当前最好的0.45%好,因为MNIST的错误率已经⾮常低了。

4.6GlobalAveragePoolingasaRegularizer

GAP层和全连接层很相似,都对特征向量做了线性转换。不同的是转换矩阵。GAP的转换矩阵是事先定义的并且仅在共享相同值的块对⾓

线元素上是⾮零的。全连接层可以有复杂矩阵变换且值是通过反向传播设置的。为了研究GAP的正则化影响,我们⽤GAP替换全连接层,

模型其他部分相同。我们评估了全连接层前⾯有dropout和没有dropout的模型,都在CIFAR-10上测试,表现⽐较如表5.

表5:GAP和全连接层的⽐较

如表5所⽰,全连接层没有dropout的表现最差,11.59%,与预期⼀样,全连接层没有正则化器会过拟合。全连接层前增加了dropout后测试集错误率为10.88%。GAP在三者⽐较中得到了最低错误率10.41%。

然后我们探索了GAP对传统CNN来说是否也有同样的正则化影响。我们实例化了⼀个像Hiton等⼈描述的传统CNN,由三个卷积层和⼀个

局部连接层(localconnectionlayer)组成。局部连接层⽣成16个特征图,传给没有dropout的全连接层。为了⽐较的公正性,我们把局

部连接层的特征图数从16减到了10,因为GAP的每个类别只允许⼀个特征图。GAP的等价⽹络由dropout+带有GAP的全连接层替代,表现在CIFAR-10上测试。

全连接层的CNN模型只能得到17.56%的错误率,添加dropout后与Hinton等⼈提到的表现相近——15.99%。⽤GAP替换全连接层,我

们达到16.46%的错误率,与没有dropout的CNN相⽐提升了1%。这⼜⼀次验证了GAP层作为正则化器的有效性。尽管⽐dropout稍差⼀些,但是我们认为GAP可能对线性卷积要求过⾼,因为它需要带有rectified激活函数的线性滤波器来为类别的置信图建模。

4.7VisualizationofNIN

我们通过GAP来增强NIN最后⼀个mlpconv层的特征图,使其作为分类是可信的,这可能会加强局部感受野的建模。为了知道这个⽬标实现了多少,我们提取和可视化了在CIFAR-10上训练的模型的来⾃最后⼀个mlpconv层的特征图。

图4展⽰了CIFAR-10上测试集上选择的10类的⼀些⽰例图和相关特征图。如预期,特征图的最⼤激活区域和输⼊的相关真实分类吻合,这

明显是GAP加强过的。在真实分类的特征图内,可以看到最⼤的激活区域出现在与原物体相同的区域,在结构化物体中尤其如此,例如图4第⼆⾏的车。注意这些特征图的分类只⽤类别信息进⾏训练,如果使⽤有边界框标注的图⽚效果会更好。

图4:最后⼀个mlpconv层的特征图可视化,只展⽰了特征图的10%。相关特征图的分类是:ne,bile,,,

,,,,,。与输⼊图⽚的真实类别相关的特征图被圈出,左⾯板和右⾯板只是不同样例

可视化证明了NIN的有效性,通过⽤mlpconv层建模得到⼀个更强的局部感受野,使其有效,然后GAP增强了特征图类别的学习。下⼀步研究可以⽤于物体侦测,侦测结果可以基于与Farabet等⼈的场景标记⼯作相同的类别级特征图来实现。

5Conclusions

我们提出了⼀个新的深度⽹络,叫做“NetworkInNetwork”(NIN),⽤于分类任务。这个新结构有mlpconv层组成,使⽤多层感知器

对输⼊进⾏卷积,⽤GAP代替传统CNN中的全连接层。mlpconv层对局部块建模更好,GAP充当结构化正则化器,防⽌了过拟合。⽤NIN

的这两个组件,我们得到了当前在CIFAR-10,CIFAR-100和SVHN数据集上最好的表现。通过可视化特征图,我们证明了来⾃NIN的最后⼀个mlpconv层的特征图得到的分类是可信的,并且使通过NIN做物体侦测变成了可能。

-

network

发布评论

评论列表(0)

  1. 暂无评论