本文重点
前面的课程中我们学习了众多的经典网络模型,比如LeNet、AlexNet、VGG等等,这些网络模型都有共同的特点。
它们的特点是:先由卷积层构成的模块充分提取空间特征,然后再由全连接层构成的模块来输出分类结果。也就是说它们都是下面的这种效果,先卷积后全连接:
它们的不同在于对卷积层中卷积核的大小以及卷积层的层数进行了改变,其它的变化不大。而本文我们将学习另外一个思想的卷积神经网络,这个卷积神经网络就是NiN,它的思想是:串联多个由卷积层核全连接层构成的小网络来构成一个深层网络。
1*1卷积核的应用
卷积层的输入和输出的维度信息通常是(样本、通道、长、宽)。而全连接层的输入和输出通常是二维数组(样本,特征)。
所以维度不一样,就无法让全连接层之后连上卷积层,这里我们可以使用1*1的卷积层,前面我们学习过1*1的卷积层可以看成是全连接层,使用1*1的卷积层使得空间信息自然的传递到后面的层中去。
NiN模型
不用怎么来介绍这两个模型的不同,只需要看这个图就可以看出二者的不同。
AlexNet和NiN
NiN和AlexNet比较相似,它是在AlexNet之后被提出来的,这里我们对二者做一个简单的区别:
NiN去掉了AlexNet最后的3个全连接层,它使用了输出通道数与分类类别数相等的NiN块,然后使用全局平均池化层对每个通道中的所有元素求平均并直接用于分类。这样可以有效的减少模型的参数尺寸,从而缓解过拟合问题,当然坏处就是会增加模型的训练时间。