网络中的网络(NiN,参见论文:Network In Network)的思路简单又伟大:使用 1×1 卷积为卷积层的特征提供更组合性的能力。
NiN 架构在各个卷积之后使用空间 MLP 层,以便更好地在其他层之前组合特征。同样,你可以认为 1×1 卷积与 LeNet 最初的原理相悖,但事实上它们可以以一种更好的方式组合卷积特征,而这是不可能通过简单堆叠更多的卷积特征做到的。这和使用原始像素作为下一层输入是有区别的。其中 1×1 卷积常常被用于在卷积之后的特征映射上对特征进行空间组合,所以它们实际上可以使用非常少的参数,并在这些特征的所有像素上共享!
- 在网络中构建微型网络Mlpconv,它对conv特征进行了组合,提高了卷积的有效性
- 对单个像素, 1x1卷积等效于该像素点在所有特征上进行一次全连接计算
- MIpconv中的全连接可以通过1x1卷积快速实现
Mlpconv的作用
- 作用1:通过叠加更多的卷积结果,经过ReLU激励,能在相同的感受野范围中提取更强的非线性特征。即上层特征可以更复杂的映射到下层。
- 作用2:使用1 x1卷积进行降维,降低了计算复杂度
NIN则主要是级联的卷积层和MLPConv层。一般来说卷积层要提升表达能力,主要依靠增加输出通道数,但副作用是计算量增大和过拟合。每一个输出通道对应一个滤波器,同一个滤波器共享参数,只能提取一类特征,因此一个输出通道只能做一种特征处理。而NIN中的MLPConv则拥有更强大的能力,允许在输出通道之间组合信息,因此效果明显。可以说,MLPConv基本等效于普通卷积层后再连接1´1的卷积和ReLU激活函数。
1x1卷积
如图有32个16x16特征图即16x16x32,与一个1x1x32的卷积核相乘,得到一个16x16的特征图,如果有n个这样的卷积核,则有16x16xn的特征图,如果n小于32,此时就可达到降维的效果。
- 用于降维(e.g.,n<32)
- 图像大小保持不变(e.g.,16x16)
全局平均值池化GAP(Global Average Pooling)
用全局平均值池化代替全连接层,减小了参数数量,降低了网络复杂度和过拟合
论文中,NIN网络模型堆叠了三个mlpconv层和一个全局平均池化层