首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Network In Network 论文笔记

作者:Lin M, Chen Q, Yan S 【ICLR-2014】

本文提出了一种称为“Network In Network”(NIN)的新型深度网络结构,以增强接受域内局部patches的模型可辨性。传统的卷积层使用线性滤波器,然后使用非线性激活函数来扫描输入。相反,我们建立具有更复杂结构的micro神经网络来提取感受野内的数据。我们用多层感知机实例化micro神经网络,这是一种有效的函数逼近器。通过以与CNN类似的方式在输入上滑动micro网络来获得特征映射;然后它们被送入下一层。Deep NIN可以通过堆叠多个上述结构来实现。通过micro网络增强本地建模,我们能够在分类层的特征地图上利用global average pooling,这比传统的fully connected layers更容易解释并且不太容易产生过拟合。我们在CIFAR-10和CIFAR-100上用NIN展示了最先进的分类性能,并在SVHN和MNIST数据集上表现出了合理的性能。

传统的卷积神经网络一般来说是由:线性卷积层、池化层、全连接层堆叠起来的网络。卷积层通过线性滤波器进行线性卷积运算,然后在接个非线性激活函数,最终生成特征图。以Relu激活函数为例,特征图的计算公式为:

一般来说,如果我们要提取的一些潜在的特征是线性可分的话,那么对于线性的卷积运算来说这是足够了。然而一般来说我们所要提取的特征一般是高度非线性的。在传统的CNN中,也许我们可以用超完备的滤波器,来提取各种潜在的特征。比如我们要提取某个特征,于是我就用了一大堆的滤波器,把所有可能的提取出来,这样就可以把我想要提取的特征也覆盖到,然而这样存在一个缺点,那就是网络参数太多了。

我们知道CNN高层特征其实是低层特征通过某种运算的组合。于是作者就根据这个想法,提出在每个局部感受野中进行更加复杂的运算,提出了对卷积层的改进算法:MLP卷积层。另一方面,传统的CNN最后一层都是全连接层,参数个数非常之多,容易引起过拟合(如Alexnet),一个CNN模型,大部分的参数都被全连接层给占用了,故这篇paper提出采用了:全局均值池化,替代全连接层。

一、MLP Convolution Layers

MLP Convolution Layers可以看成是每个卷积的局部感受野中还包含了一个微型的多层网络。其实在以前的卷积层中,我们局部感受野窗口的运算,可以理解为一个单层的网络,然而现在不同了,我们要采用多层的网络,提高非线性。如下图所示:

由mlpconv层执行的计算如下所示:

二、Global Average Pooling

传统的卷积神经网络卷积运算一般是出现在低层网络。对于分类问题,最后一个卷积层的特征图通过量化然后与全连接层连接,最后在接一个softmax逻辑回归分类层。这种网络结构,使得卷积层和传统的神经网络层连接在一起。我们可以把卷积层看做是特征提取器,然后得到的特征再用传统的神经网络进行分类。然而,全连接层因为参数个数太多,往往容易出现过拟合的现象,导致网络的泛化能力不尽人意。于是Hinton采用了Dropout的方法,来提高网络的泛化能力。

本文提出采用全局均值池化的方法,替代传统CNN中的全连接层。与传统的全连接层不同,我们对每个特征图一整张图片进行全局均值池化,这样每张特征图都可以得到一个输出。这样采用均值池化,连参数都省了,可以大大减小网络,避免过拟合,另一方面它有一个特点,每张特征图相当于一个输出特征,然后这个特征就表示了我们输出类的特征。这样如果我们在做1000个分类任务的时候,我们网络在设计的时候,最后一层的特征图个数就要选择1000。

三、Network In Network Structure

实现

Network in Network model

The Network in Network model is described in the followingICLR-2014 paper:

Network In NetworkM. Lin, Q. Chen, S. YanInternational Conference on Learning Representations, 2014 (arXiv:1409.1556)

please cite the paper if you use the models.

Models:

NIN-Imagenet: a small(29MB) model for imagenet, yet performs slightly better than AlexNet, and fast to train. (Note: a more caffe-compatible version with correct convolutional weights shape:https://drive.google.com/folderview?id=0B0IedYUunOQINEFtUi1QNWVhVVU&usp=drive_web)

NIN-CIFAR10: NIN model on CIFAR10, originally published in the paperNetwork In Network. The error rate of this model is 10.4% on CIFAR10.

总结

本文提出了一种称为“Network In Network”(NIN)的新型深度网络用于分类任务。 这个新的结构包括mlpconv层,它使用多层感知器来卷积输入和一个全局平均池化层,作为传统CNN中完全连接层的替代。 Mlpconv层更好地模拟局部patches,全局平均池化层充当防止全球过度配置的结构调整器。 有了NIN的这两个组件,我们在CIFAR-10,CIFAR-100和SVHN数据集上展示了最先进的性能。 通过对特征地图的可视化,我们证明了NIN的最后一个mlpconv层的特征地图是类别的置信度图,并且这激励了通过NIN执行目标检测的可能性。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409G16GAV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券