关于神经元个数,参数个数,feature map, 卷积核大小 的一些总结

参考这个文章的部分笔记和理解:
http://blog.csdn.net/dcxhun3/article/details/46878999

输入input: 32 x 32 的图像
使用:    6个 5x5  stride为 1的卷积核

神经元 个数: (32-5+1) * (32 -5 +1) = 28 * 28 个。也就是每一个feature map的大小就是28 * 28 。  
其中,32-5是卷积核可以滑过并得到一次计算结果的次数(因为步幅是1),+1是卷积核放在最开始的位置上还没开始滑动时的一次计算结果。
那么这一层一共有 (5*5 +1)*6个可训练参数,其中5*5为卷积核的大小,1为一个bias参数, 6为6种卷积核。
注意如果是三通道,三个通道的权重并不共享。 所以对于以上的计算,三通道的参数数量应该还要乘以3。

个人总结的 feature map 和 神经元的关系 及其他概念的关系 :

feature map 和 神经元的关系:
单个卷积核情况下:
 神经元是 前一层ax+b 到下一层的计算过程,所谓这一层的连接数,也就是有多少个 ax+b的连接(一个卷积核只有一个bias)
 一个feature map 是多个(比如M个)神经元计算的结果汇总
多个卷积核情况下:
同一层可以有多个(比如N个)卷积核,每个卷积核对应(卷积的结果是)一个feature map ,也就是这一层有N个feature map, 那这一层共有 N*M个神经元。(如果每个fm的神经元个数不一样,则累加每个fm的神经元个数)

可训练参数个数, 与神经元的个数无关,只与卷积核的大小及卷积核的个数相关,还有通道数
神经元个数,       除了卷积核大小和个数,还与步幅相关。步幅越大,神经元个数越小

feature map的每个点都是一个神经元的输出。所以 神经元个数 = 特征图大小
连接个数= sigma(单个卷积核参数个数*神经元个数)  (单个卷积核会用同样的卷积核参数,每多滑动一下,多生成参数个连接)

CNN权值共享就是同一个Feature Map中神经元权值共享,该Feature Map中的所有神经元使用同一个权值。这与全连接相比,参数减少太多了(整个图像的矩阵大小到卷积核的矩阵大小)

猜你喜欢

转载自blog.csdn.net/anthea_luo/article/details/80631620