《Network In Network》论文解读
本文来自于新加坡国立大学,原文地址:
https://arxiv.org/abs/1312.4400
概述
本文提出了一种叫Network in Network的网络结构,主要贡献有两个:一是mlpconv网络结构,一是Global average pooling结构。
网络结构
网络总体的结构如图所示,前面使用了3个mlpconv层,在输出的时候使用了Global average pooling进行分类。
mlpconv
传统的卷积层结构如下。
卷积层由线性的卷积操作结合非线性的激活函数构成。写成式子就是:
本文提出的mlpconv层结构如下:
在卷积操作之后,又加上了两个mlp层。因为convolution是线性的,而mlp是非线性的,后者能够得到更高的抽象,泛化能力更强。论文指出,从跨通道(cross channel,cross feature map)角度看,mlpconv等价于卷积层+1×1卷积层。1×1只是说大小为1×1,而其深度和feature map数量相同,因此1×1卷积层可以看成是所有feature map的线性组合。
Global Average Pooling
传统的全连接层参数众多,容易发生过拟合。NIN在输出的时候,没有使用传统的全连接层,而是为每个类别生成了一个feature map,然后每个feature map取平均值,直接输出到softmax层。文章指出,这一步可以看做是regularizer,可以防止过拟合。
总结
这篇论文的思路是修改网络中卷积层的结构,不再使用经典的结构,同时引入1*1的卷积核对feature map进行线性组合。在输出的时候也没有使用全连接层,使用Global Average Pooling直接输出到softmax层。GoogLeNet对这篇文章评价很高,在看GoogLeNet之前可以看看这一篇论文。