来看上图的简单CNN:
从39x39x3的原始图像 不填充且步长为1的情况下经过3x3的10个filter卷积后 得到了
37x37x10的数据 不填充且步长为2的情况下经过5x5的20个filter卷积后 得到了
17x17x20的数据 不填充且步长为2的情况下经过5x5的40个filter卷积后 得到了
7x7x40的最终结果
将7x7x40的卷积层全部展开作为输入特征,建立一个输入层单元数为1960的神经网络即可
卷积神经网络常见的结构:
1.Conv卷积层如上图所见
2.Pool池化层
3.FullyConnected全连接层
Pooling layer 池化层:
池化层的作用:缩减模型大小,提高计算速度,增强提取特征的鲁棒性
最大池化层,顾名思义,就是把每次filter的卷积过程换为对区域内的所有数字求最大值的过程,如上图所示,在指定filter大小和步长s后可以得到最终的结果为2x2,然后每次求不同区域内的最大值即可。
平均池化层,这种池化层的应用要比最大池化层少。一般应用于很深的网络中,比如上浅层的信道层的网络等,原理与最大池化层相同,只是每次对filter的区域求平均值。
注意:
一般而言,池化层的超参数只有filter的大小f和步长s,在池化层中一般不用填充padding,因此p一般为0。
堆叠的池化层操作与卷积操作相同,对每个信道单独求max/average然后堆叠即可。