上篇我们提到了分段线性拟合函数Maxout之后,我们这次来谈谈另外一种非线性的激活方式,NetWork in Network。
对应的论文地址:http://arxiv.org/abs/1312.4400
经典CNN中的卷积层其实就是用线性滤波器对图像进行内积运算,在每个局部输出后面跟着一个非线性的激活函数,最终得到的叫作特征图。而这种卷积滤波器是一种广义线性模型(GLM:(Generalized linear model))。所以用CNN进行特征提取时,其实就隐含地假设了特征是线性可分的,可实际问题往往是难以线性可分的。
GLM的抽象能力是比较低水平的,自然而然地我们想到用一种抽象能力更强的模型去替换它,从而提升传统CNN的表达能力。
如我们前面提到的Maxout是凸集可分的抽象模型,还有现在的NIN是另一种可以拟合任何函数的抽象模型,没有限制。
它是如何实现的?
选择一个多层感知机作为一个微网络结构,提取抽象能力更强的特征。
优点:
1.多层感知机也是使用BP算法进行训练的,可以与CNN进行整合;
2.多层感知机也可以作为一个深层结构,也包含了特征重用的思想;
3.多层感知机非常有效的通用函数近似器。
使用了这样一种微网络结构之后,那么就可以抽象出更好的局部特征,增强了局部模型的表达能力,使特征图具有与类别之间的一致性。
基于上面这样的一种考虑,在最后softmax的前一层,不进行全连接操作,而采用全局平均池化的方法将每一张特征图的平均值作为每个类别的置信度。
例如:一共有100类,那么在最后一层的输出feature map则为100,计算这100张feature map的平均值,作为这100类的置信度。
全局平均池化的好处:
1.通过加强特征图与类别的一致性,让卷积结构更简单,可以使用更少的feature map;(因为经典的CNN为了解决广义线性模型抽象能力不足的问题,采取过多的filter集合来弥补,也就是说不通的滤波器来检查同一特征的不同变体);
2.不需要进行参数优化,减少了参数,所以这一层可以避免过拟合;
3.它对空间信息进行了求和,因而对输入的空间变换更具有稳定性。
总结:
NIN的优点:
1.更好的局部抽象;
2.更小的全局Overfitting;
3.更少的参数(没有全连接层)
之前提到的Maxout对线性函数进行最大化处理可得到分段线性函数近似器,可近似任意的凸函数!它是假设特征位于凸集内,但是实际上很多时候都不可能,所以NIN结构的任意函数拟合具有优越性,有更好的抽象能力。