从AlexNet再次引爆深度学习后,各种神经网络结构不断实验探索出来,被实验证明有效果后,该结构就成为了后续神经网络结构的基本组件或者基类------浓缩为了经验,上升为了精华。
1.统一的卷积块概念拆解神经网络结构
纵观LeNet、AlexNet、VGGNet、NiN的网络结构,有的把它们的卷积的相关结构抽象成Lenet卷积块、AlexNet卷积块、VGGNet卷积块、NiN卷积块,但是抛开一切什么理论,只从单纯的网络结构上看,我只看到了卷积块+池化层结构(其实就是VGGNet提出的,它的标准化思想影响很广,也再次验证了直到后面的实验设计才会慢慢形成统一的概念------毕竟人类大脑可是神经网络本神经呢)。
先确定下卷积块的概念:
卷积块就是由1个或多个卷积层组成。卷积块之后紧跟池化层------也就是各卷积块之间由池化层隔开,池化层是个分割线。
以上述卷积块概念为基本单元来拆解这几个神经网络结构,那么:
LeNet就是由2个卷积块+3个全连接层组成,结构表示为1+1+3FC,也就是1个卷积层组成的卷积块+1个卷积层组成的卷积块+3个全连接层;
AlexNet就是由3个卷积块+3个全连接层组成,结构表示为1+1+3+3FC,也就是1个卷积层组成的卷积块+1个卷积层组成的卷积块+3个卷积层组成的卷积块+3个全连接层;
VGG16就是由5个卷积块+3个全连接层组成,结构表示为2+2+3+3+3+3FC,也就是2个卷积层组成的卷积块+2个卷积层组成的卷积块+3个卷积层组成的卷积块+3个卷积层组成的卷积块+3个卷积层组成的卷积块+3个全连接层;
VGG19就是由5个卷积块+3个全连接层组成,结构表示为2+2+4+4+4+3FC,也就是2个卷积层组成的卷积块+2个卷积层组成的卷积块+4个卷积层组成的卷积块+4个卷积层组成的卷积块+4个卷积层组成的卷积块+3个全连接层;
NiN就是由4个卷积块+GAP全局平均池化层,结构表示为3+3+3+3+GAP,也就是3个卷积层组成的卷积块+3个卷积层组成的卷积块+3个卷积层组成的卷积块+3个卷积层组成的卷积块+GAP全局平均池化层。
在我看来,NIN的卷积块是本文卷积块概念的特例,但也是属于本文卷积块概念的
NIN卷积块特殊在哪呢?它的第一层卷积层的卷积核一般是非1x1的,后面的卷积层的卷积核都是1x1的------假设NIN的卷积块是由3个卷积层组成,那么第一层卷积层的卷积核非1x1,第二层卷积层的卷积核是1x1,第三层卷积层的卷积核还是1x1。因此特殊情况,NIN网络确实可以单独抽象出NIN卷积块的概念。但是它依然属于本文所述卷积块概念。
这样这些网络都有了统一的基本拆解单元,在脑海中有了统一的基本单位概念,比较好记。
2 分析
基于本文的卷积块概念,把上述拆解拿来罗列如下:
LeNet就是由2个卷积块+3个全连接层组成,结构表示为1+1+3FC。
AlexNet就是由3个卷积块+3个全连接层组成,结构表示为1+1+3+3FC。
VGG16就是由5个卷积块+3个全连接层组成,结构表示为2+2+3+3+3+3FC。
VGG19就是由5个卷积块+3个全连接层组成,结构表示为2+2+4+4+4+3FC。
NiN就是由4个卷积块+GAP全局平均池化层,结构表示为3+3+3+3+GAP。
AlexNet引爆深度学习,开启AI革命之后,到VGG19这个网络结构,这个时候,大家实验探索的方向是网络层次更深,说白了,就是疯狂的堆叠深度!
但是NiN 就是"大道至简"的极致------疯狂做减法。
这是 NiN 最宝贵的经验,也是它最"反直觉"的设计。
VGG19 的痛点:VGG19 虽然深,但最后依然保留了 3 个巨大的全连接层(FC)。这些 FC 层参数极多(占整个网络参数的 90% 以上),极易导致过拟合,且对输入图像尺寸要求死板(当然也是实验探索出来的)。
NiN 的解法:NiN 直接删掉了所有全连接层,用 GAP(全局平均池化) 取而代之。这相当于告诉网络:"别搞那么多复杂的线性变换了,直接看每个特征图的平均值来判断类别。"
简直是颠覆性的革命,违背常理的出牌------逆思维方向!(想到了transformer取代RNN的故事)。
有时还真是大道至简。
NiN 的另一个创举是引入了 1x1 卷积来构建MLPConv 层(多层感知机层)。
VGG19 的逻辑:卷积层负责提取特征,全连接层负责分类,两者是割裂的。
NiN 的逻辑:在卷积块内部就完成"分类"的准备工作。它把每个卷积块的最后几层变成了"微型分类器",输出的不再是抽象的特征图,而是每个像素点对类别的置信度。最后通过 GAP 把这些置信度"投票"成最终结果。
如果说 VGG19 的实验探索经验是"深就是好",那么 NiN 的实验探索经验就是:
结构经验:GAP 比 FC 更优雅(减少参数、防止过拟合、支持任意输入尺寸)。
设计经验:1x1 卷积是神器(可以跨通道整合信息,增加非线性)。
哲学经验:网络内部也可以做决策,不必把所有压力都留给最后的全连接层。
正是 NiN 的这些宝贵的实验探索经验,为后来的 GoogLeNet(Inception) 和 ResNet 铺平了道路,特别是 GAP 的思想,至今仍是现代 CNN 的标配。
3 实验科学的探讨
你认为当前神经网络是不是实验科学?不管你怎么想,反正我认为这一观点。目前神经网络结构还处于实验探索阶段,不成体系,就像人类探索自然科学一样,牛顿哇,麦克斯韦,爱因斯坦等,一步一步探索逼近真实的世界规律,目前神经网络结构设计还没有完善的理论科学基础,还处于实验探索中。
你看从分析本文的神经网络结构(也是历史诞生顺序)上看,都是在探索,再总结经验,再站在前面人的肩膀上基于前进。
为啥要从历史顺序出现看网络结构呢?看它们不仅是为了看它们的结构是什么,而是了解神经网络结构发展的脉络,它一路怎么发展的?哦,原来是经过很多很多聪明的人类通过实验探索出来的!原来如此!就是看一个人从小孩子慢慢长大的过程,你才能知道他从哪来,要到哪去,他是什么样的人。了解发展历史才能知其然和知其所以然。------你当然可以上来看最新的架构但是就不知道它成为现在的来时模样,不知其所以然。