你举得这几个例子都是图像分类的任务,我就以图像分类任务来回答。
分类任务的神经网络的每一层实际上是在给输入图像编码,或者说的通俗一点,打分,分数越高,对最终的目标类别就越有利。比如一个3x3的卷积核一次操作可以给3x3的图像区域打个分,用这个卷积核以滑动窗口的方式提取整个图像,可以给整个图像的每个像素点打分,如果是3x3x32的卷积核,那就相当于有32个卷积核给图像打分,得到32个分值图像,我们称为特征图。
在特征图后面接上全连接层,全连接层的输出维度设置为类别的数量,这个过程相当于解码,将32个特征图不同位置的响应度解码为类别的概率。
池化层的作用主要是降低计算量和降低优化难度。原始大小的特征图直接解码成类别难度较高,通过池化层降低特征图大小,使得优化难度降低。
多个卷积堆叠就是不断地对图像、特征图进行打分,越深的网络抽象能力就越强,但并不是越深越好,太深的网络会造成梯度消失或梯度爆炸。为了解决这些问题,就引入了Batch Norm层。即使引入了BN层之后,仍然会存在太深的网络效果不如较浅的网络,是因为网络过深会导致其对于图像信息的过度解读,所以就有了resnet,在层与层之间加上shortcut,相当于加入了恒等变换。
到这里,已经基本上了解了卷积神经网络的入门结构。你所举的那几个网络的例子也是基本按照这个路线来的,Lenet >> AlexNet >> VGG >> Resnet ,中间穿插了解一个很重要的batch norm层,这样基本上你就对整体有了一个初步的了解。