NIN:Network In Network
通过引入子网络结构代替纯卷积中的线性映射部分,替换传统卷积模式 (卷积+激活+Dropout)的卷积方式;结尾使用全局池化替代 Dropout,提高泛化能力的同时,减小网络
什么是NIN?
- Network In Network (NIN)以一种全新的角度审视了卷积神经网络中的卷积核设计,通过引入子网络结构代替纯卷积中的线性映射部分, 替换传统卷积模式 (卷积+激活+Dropout)的卷积方式;结尾使用全局池化替代 Dropout,提高泛化能力的同时,减小网络
NIN的网络结构?
- NIN包括3层mlpconv layer+1层全局池化(Global Pooling)
- 在网络推理(inference)时,这个多层感知器会对输入特征图的局部特征进行划窗计算,并且每个划窗的局部特征图对应的乘积的权重是共享的,这两点是和传统卷积操作完全一致的,最大的不同在于多层感知器对局部特征进行了非线性的映射,而传统卷积的方式是线性的
NIN的损失函数?
- 网络分类层前一层为6x6x1000,对其进行全局池化(Global Pooling) 后,生成1000长度的一维向量,最后使用交叉熵损失(CrossEntropyLoss) 计算损失
mlpconv layer的原理?
在不存在mlp层是,卷积层如图绿色线进行计算,加入mlp层后,如何人理解红色线?
上图标准卷积的输出是55x55x96,经过mlp加工后,输出仍然是55x55x96。mlp的计算过程如下图,mlp连接1个卷积核大小(实际上没有卷积核计算,全连接直接连接像素)内每个位置特征,对其进行加权处理后,得到1个值,当卷积核扫描完之后,得到和55x55长度的特征
mlp连接卷积层的输入与输出特点
输入为一个feature map, 输出为一个feature map 时
输入为多个feature map, 输出为一个feature map 时
输入为多个feature map, 输出为多个feature map 时
在Mlpconv中,不同的 feature map 之间的开头与能结尾之间的权值不一样,而在隐含层之间的权值是共享的;通过后面两张图可知,全连接的作用很像深度可分离卷积(depthwise separable convolution) 中的pointwise(1x1卷积) ,即使用同一个权重,整合不同特征图上的信息到同一张特征图上,所以实现时,使用1x1卷积替代全连接
mlpconv层的Pytorch实现:实际上就是卷积层+2个1x1卷积
全连接嵌套在中间,输入shape是不定的,如何确保全连接对上CNN输出?
- 全连接每次计算不是接上一层的所有 featrue map,而是连接固定大小搜索框的所有像素,所以其输入大小是固定的
卷积层和广义线性模型(GLM) 的关系?
- 标准卷积(Convolution) 的滤波器对一个接收域做卷积时,卷积核对其进行加权求和,然后接一个激活函数,这样的操作做可以看作是广义线性模型(GLM)
- 对于线性可分的问题来说,CNN或许可以提取特征,但是对更复杂问题就无能为力了
NIN如何使用全局池化?
- 一般来说,卷积神经网络会使用全连接层作为分类层,而NIN在最后的分类层使用全局池化(Global Pooling) ,如分类层前的输出是6x6x10,全连接作为分类层时,首先是将特征展平为6x6x10=360长度的特征,然后再使用全连接;而全局池化直接对10个特征图进行池化,得到10个值,作为10分类分类的概率
- 使用全局池化后,NIN网络比使用全连接作为分类层模型效果更好
NIN全局池化分类的特张图有什么特点?
- 上图横向为示例图片,纵向为每个图最后一层mlpconv的输出(6x6x10),输入全局池化(Global Pooling) 前,通过上图看不同图片对应每个类别的响应位置
- 可以看出,响应位置集中在标签附近 (对角线)
相比较LeNet、AlexNet和VGG,NiN有什么不同?
- LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列卷积和池化层利用空间结构提取特征,然后通过完全连接层对表示进行后处理,AlexNet和VGG对LeNet的改进主要在于这些后期网络如何扩展和深化这两个模块
- NIN提供了另一种选择。它们是基于一个非常简单的观点提出的:在每个像素的通道上分别使用MLP
NiN比较AlexNet有什么提升?
- 采用较少参数就取得了 AlexNet 的效果,AlexNet参数大小为 230M,而 Network In Network 仅为 29M
- Network In Network 通过创新的创建 MLP 卷积层,提高了网络的非线性表达同时降低了参数量,用全局均值池化代替全连接层,极大的降低了参数量
NiN与VGG比较有什么差异?
- NiN 块由一个卷积层和两个卷积层组成1×11×1卷积层充当具有 ReLU 激活的每像素全连接层