作者提出一种方法增强感受野的分辨能力(应该是指提取特征的能力),传统卷积神经网络在非线性激活函数之后接一个线性滤波器扫描输入,作者赋予感受野一个更复杂的结构(微型神经元网络)提取数据特征,和CNN一样通过滑动窗口获取特征映射,然后传递给下一层。Deep NIN通过以上描述的多重结构实现,在分类层利用全局平均池化提高micro network的性能,这样更容易解释和防止过拟合。
特征映射的定义:传统CNN包含多重卷积层和池化层,在每个输入的局部,卷积层进行线性滤波通过内积的方式进行,后边再接一个非线性激活函数,输出的结果就叫feature map。
传统CNN网络使用的卷积核是广义线性可分模型(generalized linear model-GLM),这里有一个潜在假设,就是我们的输入数据都是线性可分,然而实际上输入经常是非线性可分,这样GLM提取或者抽象数据的能力有点低,作者使用一种“微网络(micro network)”结构代替了GLM,拥有非线性函数逼近的能力。论文使用多层感知机(MLP)实例化这种结构,是一种通用函数逼近器,是一种可以通过后向传播训练的神经网络。
最终形成的结构被作者称为mlpconv,与CNN对比如下图所示,他们都将局部感受野映射为输出特征向量。mlpconv 由包含非线性激活函数的多个全连接层组成,MLP在局部所有局部感受野上共享(滑动的时候都有份),从结构图来看就是卷积之后增加了两个全连接层,其实就是1x1卷积。
通过在输入上滑动MLP获得特征映射然后送入下一层。NIN的全体结构包含多个mlpcpnv的重叠组合。
不像传统CNN为了分类使用全连接层,作者通过一个全局平均池化直接输出特征映射(从mlpconv得到)的空间平均值作为类别的置信度,然后送到softmax。传统CNN中,由于全连接层充当一个黑盒子,很难解释来自于目标损耗层的类别信息是如何传到上一层卷积层的。而全局平均池化能够解释为它强行将特征映射和类别对应起来,这让使用微网络进行更强的局部建模成为可能。
CNN的特征映射可以用下式表示: f i , j , k = m a x ( w k T x i , j , 0 ) f_{i,j,k}=max(w_{k}^{T}x_{i,j},0) fi,j,k=max(wkTxi,j,0)这里(i,j)是特征映射的元素位置索引。 X i , j X_{i,j} Xi,j表示输入以(i,j)为中心,k用来表示特征映射的通道索引。
当潜在数据分布是线性可分时,线性卷积已经表示的足够抽象。然而在输入数据上要得到良好的抽象表示通常为非线性函数。traditional CNN通过利用over-complete set of filter 涵盖同一潜在概念的所有可能变化,即单个滤波器可以学习同一概念的不同变化情况。单一概念上有太多滤波器可能会增加下一层的负担,因此需要结合前边几层的变化考虑以减少负担。就像在CNN中,越靠后的卷积(或滤波器)映射的区域越大,因为它包含了前边卷积的信息。因此,在把前边卷积层的信息输入到后边卷积之前,在每一个局部上产生更好的抽象表示是有用的。(这里其实就是在刚开始卷积的时候要提取更多特征,有更好的抽象化表示,这样后边的卷积可以映射更多区域,包含更多信息)。
这里作者重点介绍了maxout 网络,Maxout网络,在仿射特征映射(卷积以后没有使用激活函数的结果就是仿射特征映射)上使用最大池化减少特征映射的数量。线性函数最大化产生一个分段线性逼近器可以逼近任何凸函数(没有看原文,我理解为多项式)。传统卷积层执行线性可分,而maxout网络更有效,因为他可以分离凸集内的概念。
然而,maxout 有一个前提就是输入空间上的凸集中潜在概念(latent concept)作为先验,这不一定成立。当潜在概念的分布更复杂时,采用一种更通用的函数逼近器测很有必要。由此NIN进入我们的视野。
mirco network ==每一个卷积层都计算更复杂的抽象特征。
在输入上滑动micro network 已经在其他人的工作中被提出,例如SMLP在输入图像的不同部位使用一个共享MLP,还有用于人脸检测的基于滤波器的神经网络训练等,然而,他们都是针对特定工作提出,而且仅仅包含一层滑动网络结构,NIN从一个通用的角度提出。micro network被集成到CNN结构中,对于所有等级的特征都有更好的抽象(提取)效果。
径向基函数和MLP是两种常用的通用函数逼近器,这里选择MLP,有两个原因,首先MLP更适合卷积神经网络使用(BP)后向传播训练,其次MLP本身就是一个深度网络,与特征再利用的精神一致。
mlpconv layer 计算的过程如下所示:
f i , j , k 1 1 = m a x ( ( w k 1 1 ) T x i , j + b k 1 , 0 ) f_{i,j,k_{1}}^{1}=max((w_{k_{1}}^{1})^{T}x_{i,j}+b_{k_{1}},0) fi,j,k11=max((wk11)Txi,j+bk1,0)
f i , j , k n n = m a x ( ( w k n n ) T f i , j n − 1 + b k n , 0 ) f_{i,j,k_{n}}^{n}=max((w_{k_{n}}^{n})^{T}f_{i,j}^{n-1}+b_{k_{n}},0) fi,j,knn=max((wknn)Tfi,jn−1+bkn,0)
这里n代表多层感知机的层数,整流线性单元在MLP中作为激活函数使用。
从交叉通道池化(交叉特征映射)的角度看,第二个式子相当于在普通卷积层上级联交叉通道参数,每一个池化层都将输入特征映射进行线性组合,然后通过整流线性单元。交叉通道池化特征映射被一层又一层池化,这种结构允许跨通道信息交流和学习。
交叉通道参数池化层相当于一个1*1卷积核。这种解释更直观。
与Maxout layer比较:
maxout网络中的maxout层跨多个仿射特征映射使用最大池化,maxout layer的特征映射 计算如下所示:
f i , j , k = m a x ( w k m T x i , j ) f_{i,j,k}=max(w_{k_{m}}^{T}x_{i,j}) fi,j,k=max(wkmTxi,j)
线性函数上的Maxout形成了一个分段线性函数,能够对任何凸函数建模。对于一个凸函数而言,函数值低于特定阀值的的那些样本形成了一个凸集。因此,通过逼近局部区域的凸函数,maxout具有能够对于那些凸集内的样本形成分隔超平面。mlpconv层与maxout层的区别在于凸函数逼近器被一个通用函数逼近器所代替,它具有更强的逼近能力能对潜在概念的各种分布进行建模。
传统CNN在前边几层执行卷积操作,例如分类任务中,最后一个卷积层输出的特征映射向量化并被送入全连接层后边跟着softmax逻辑回归层,这个结构将卷机结构与传统神经网络分类器联系起来,它将卷积层视为特征提取器,输出特征以一种传统方式进行分类。
全连接网络很容易过拟合,泛化能力不足,有些工作使用正则化的方法防止过拟合,作者提出了一种全局平均池化的概念取代了CNN中的全连接层。在最后一层mlpconv后不使用全连接而采用每个特征映射的平均值,产生的向量直接送到softmax。有以下好处:
1.这种结构将特征映射和分类类别对应起来。
2.全局平均池化没有需要优化的参数,也就是参数量减少了,可以防止过拟合
3.全局平均池化汇总包含了空间信息,将前边提取的特征都包含了,更具有鲁棒性。
mlpconv layer比起GLM具有更好的逼近能力,所以我们可以将Global average pooling 视为显式的强行将特征映射为类别置信度,所以Global average pooling 可以当作结构正则化。
NIN的结构就是mlpconv的组合,在最顶层是全局平均池化和目标损失层(objective cost layer).下采样层(pooling)可以根据需要添加在mpconv之间。
作者在四个基准数据集上做了实验,CIFAR-10 , CIFAR-100 , SVHN and MNIST 。
1.测试使用的网络全部包含3重mlpconv layer,后接下采样的最大池化层,输入图像放大2倍。除非特别说明,所有实验中都用global average pooling 代替fully connected layer ,
2.手动初始化权重和学习率,使用128大小 mini-batch进行训练。
3.训练一直持续到训练集上的精度不再提高,然后将学习率降低为原来的十分之一,继续训练,最后学习率是初始值得百分之一。
全局平均池化层与全连接层类似,他们都将特征映射进行线性向量化,不同的地方在于转换矩阵。对于全局平均池化来说,转换矩阵仅在块对角线元素非零(稀疏矩阵),且拥有相同的值。全连接层拥有更稠密的矩阵,数值更适合后向传播。
为了研究全局平均池化的正则化效果,在CIAR-10进行了以下实验
通过全局平均池化,NIN最后一层mlpconv特征映射与类别置信度对应起来,为了理解这种变化如何发生,进行了可视化展示。预计最大的激活发生在输入图片对应类别上的特征映射区域,显然是靠全局平均池化来实现。
下图展示了CIfAR-10测试集中10个类别的图片和相应的特征映射。
可视化进一步说明了NIN的有效性,它是利用mlpconv层形成一个十分强大的局部感受野模型来实现的。
作者为分类任务提出了一种叫NIN的新结构,mlpcnv建模local patches 表现更好,global average pooling 作为防止整体过拟合的一种结构化正则方法。在几个基准数据集上都取得了不错的效果。
参考文献点击获取