NIN
参数量:29M
2014年3月,正在攻读研究生学位的Min Lin等其他人,发表了Network in Network。在这篇文正中,首次将1x1的卷积应用在了神经网络上,它用了比AlexNet更少的参数,达到了跟其一样的效果。
CNN高层特征其实是低层特征通过某种运算的组合。于是作者就根据这个想法,提出:
- 在每个局部感受野中进行更加复杂的运算,提出了对卷积层的改进算法:MLP(multilayer perceptron,多层感知机)卷积层。
其中,左边的mlp中新增的两层卷积层,均为1x1的卷积。这种1x1卷积实际上是对每个像素点,在不同的channels上进行线性组合(信息整合),且保留了图片的原有平面结构。
当时作者采用的1x1的卷积核,与前面一层的大核卷积均保持一致的深度,因此并没有起到升维或降维的作用。不过,后来很多一些网络陆续使用1x1的卷积和,对网络层进行升维或降维操作,例如GoogLeNet的inception结构,就受到了NIN中的1x1卷积的设计思想的深度影响。VGG的网络设计结构,也参考了NIN的网络块的设计结构。
我们来对比下NIN,inception和VGG的网络结构,
- 传统的CNN最后一层都是全连接层,参数个数非常之多,容易引起过拟合(如Alexnet),一个CNN模型,大部分的参数都被全连接层给占用了,故这篇paper提出采用了:全局均值池化,替代全连接层。
与传统的全连接层不同,我们对每个特征图一整张图片进行全局均值池化,这样每张特征图都可以得到一个输出。这样采用均值池化,连参数都省了,可以大大减小网络,避免过拟合,另一方面它有一个特点,每张特征图相当于一个输出特征,然后这个特征就表示了我们输出类的特征。这样如果我们在做1000个分类任务的时候,我们网络在设计的时候,最后一层的特征图个数就要选择1000。