参考链接:https://www.jianshu.com/p/362b637e2242
参考链接:https://blog.csdn.net/dcrmg/article/details/81255498/
参考链接:https://zhuanlan.zhihu.com/p/59917842
参考链接:https://www.jb51.net/article/171016.htm
一、卷积与特征图
一个简单的深度网络模型,主要是:
input -> conv -> feature_map -> maxpooling -> flatten -> fully connected -> output
CNN:卷积层、池化层、连接层
1. 卷积层
卷积层由一组卷积单元(又称"卷积核")组成,可以把这些卷积单元理解为过滤器,每个过滤器都会提取一种特定的特征。 输入图像是32*32*3,3是它的深度(即R、G、B三色通道),卷积层是一个5*5*3的filter,这里注意:filter的深度必须和输入图像的深度相同。通过一个filter与输入图像的卷积可以得到一个28*28*1的特征图,如果用了两个filter得到了两个特征图。
举个例子,input、filter、output依次是
输入是一个4*4 的image,经过两个2*2的卷积核进行卷积运算后,变成两个3*3的feature_map。
最简单的方式计算就是:
(4-2+1)×(4-2+1)=3×3
接下来,我们了解一下中间转换的过程,以上图卷积核filter1为例,filter1在图片滑过,步长为1(stride = 1):
input、filter、output如下图所示
计算第一个卷积层神经元o11的输入:
neto11=conv(input,filter)=i11×h11+i12×h12+i21×h21+i22×h22=1×1+0×(−1)+1×1+1×(−1)=1
神经元o11的输出:(此处使用Relu激活函数)
outo11=activators(neto11)=max(0, neto11)=1
而对于这个问题,最终转换后的特征图为:
以filter1为例
这样表示不太准确,但大体就是这样计算的。
了解整个过程:
参考这个动图:来源于https://blog.csdn.net/silence1214/article/details/11809947
2. 池化层(下采样层、Down-pooling)
参考链接:https://blog.csdn.net/weixin_38208741/article/details/78818882