卷积层Convolutional
给定卷积核,将卷积核应用于输入图片特征的对应维度的地方,计算乘积,下图以步长stride=1为例,得到最终输出层特征。
假设输入大小为(H,W),滤波器大小为(FH,FW),输出大小为(OH,OW),填充padding为P,步幅stride为S
OH=H+2P−FHS+1OW=W+2P−FWS+1
OH=\frac{H+2P-FH}{S}+1\\
OW=\frac{W+2P-FW}{S}+1
OH=SH+2P−FH+1OW=SW+2P−FW+1
对于多通道卷积计算,类似于单通道计算方法,只是将每个通道计算值最后相加
多个卷积核的卷积运算:
填充Padding
在每次进行卷积后,输出维度缩小,根据输入图像的大小,几轮卷积之后输出图像的维度可能变得太小,同时边缘的像素点少于中间的像素点,这也因此忽略了图像的部分数据,为了解决这个问题,Padding通过在边缘填充数据,达到保持输入输出图片维度一致效果。
池化层Pooling
池化层来减小特则行数据的大小,并使某些特征检测更加具有鲁棒性。如果使用一个4×44\times44×4的矩阵,Max池化层和Mean池化层分别进行处理后的结果如下所示,这个过程很简单。在示例中,filter是2×2,stride为 2,因此将输入分成四份 2×22\times22×2 的子区域,Max和Mean则是分别输出对应子区域的最大值和均值
的子区域,Max和Mean则是分别输出对应子区域的最大值和均值
上述图片来源于《深度学习入门:基于Python的理论与实现》以及网络图片