首先理解:
1、全连接层1:(输入为卷积)
全连接和普通神经元类似,输出的每一个神经元都与输入的每一个像素点相连,
把多维向量转化为1维向量
。
例如前一层的卷积输出50个feature map(图片大小为4X4),全连接层输出的是500个神经元(输出500个数字),则每一个神经元对应4X4X50=800个参数(卷积操作输出一个数字),这一层全连接层和总共有800X500=400000个参数。
理解:如下图所示,X1,X2就是前面的输入的50X4X4个像素值,Y1,Y2就是输出的500个一维值,其中的参数个数就是V11,V21,V12,V22所有的参数个数总和。
2、全连接层2:(输入为全连接层)
如上所示,上述全连接层输入为500个数字,若本层输出为10个神经元(10个数字),每个神经元都对应500个参数,则总共500X10=5000个参数
3、局部感知:
重要性:若每一个神经元都像全连接一样,则需要的参数太多了,因此采用局部感知的方法。
每一个神经元只需要感知图像中的局部信息,然后在更高层次进行信息组合就可以得到全局信息。
例如有10个10X10的卷积核,每一个卷积核对图像进行局部感知可以理解为提取图像的轮廓,光暗等信息。有10个卷积核代表了10种特征。
其中有多少个参数呢?参数只和输出神经元个数和卷积核大小有关,例如上述的参数有:10(featrue map)X10X10(卷积核大小)=1000个参数,这一层卷积层就只有1000个参数。
4、权值共享:
权值共享实际上就是局部感知的部分,当用10X10的卷积核(共包含100个参数)去卷积整张图的时候,生成的feature map的每一个像素值都是由这个卷积核产生的,这就是权值共享。
5、卷积的输入输出理解:
输入单通道图片层时的理解:对于输入图片为32X32的图片,卷积核大小为5X5,卷积核个数为6,步幅(
Stride)为1,边界扩充(
Padding)为0,公式为:
(Input_H + 2*Padding - 卷积核H)/
Stride +1 ,(宽度公式同理)
这里(32+2*0-5)/1 + 1 = 28 ,所以输出的featrue map 大小为28X28 , 总共6个feature map,代表6种特征。
输入是多通道图片时(多feature map)的理解:下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。其中需要注意的是,四个通道上每个通道对应一个卷积核,先将w2忽略,只看w1,那么在w1的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加,最后得到两个feature map, 即输出层的卷积核核个数为 feature map 的个数。
下图参数个数:4×2×2×2 = 32个参数,其中4表示4个通道,第一个2表示生成2个通道,最后的2×2表示卷积核大小。
上图是一个输入是W*H*6(6为通道数理解为厚度,W*H为侧边多边形),经过一个1*1*6的卷积,将会得到W*H的一个feature map(可以理解为红色的矩形所经过的所有参数进行叠加,得到一个数字),利用5个这样1*1*6的卷积核进行卷积,将得到5个feature map,其参数个数为5*1*1*6 = 30个。
参考网站:
http://blog.csdn.net/lien0906/article/details/51249947
http://blog.csdn.net/u014114990/article/details/51125776
http://blog.csdn.net/ture_dream/article/details/53241133
https://www.zhihu.com/question/51800873
http://blog.csdn.net/chaipp0607/article/details/73650759
http://www.sohu.com/a/160696860_610300
http://blog.csdn.net/chaipp0607/article/details/60868689
http://blog.csdn.net/yudiemiaomiao/article/details/72466402