卷积神经网络某个卷积层中的神经元的个数怎么确定

一般的人工神经网络(简称,神经网络)是通过连接多层的神经元对输入的向量进行处理,数据和神经元是全连接的形式,通过样本的训练完成权值的更新,进而达到学习的效果。
而卷积神经网络是有卷积层 激励层 池化层 全连接层组成,首先卷积神经网络的提出是优化一般神经网络的训练效率,我们知道卷积神经网络在卷积层 激励层 池化层都并非全连接状态,所以训练的权值也相对减少,但是卷积神经网络要达到的效果是减少训练参数的数量但是不减少训练样本的质量。

对于卷积神经网络,每一个卷积核代表一种feature map的提取,例如是6x6的input,第一层卷积层由三个卷积核构成,主要是提取原input的三个特征,input与每个卷积核进行内积计算,这里设置stride为1,zero-padding为0,分别生成三个4x4的特征图矩阵。

这里的计算公式是(提取出的特征图中矩阵的维数=[(input的维数-卷积核的维数+2*zero-padding)/stride]+1 )。

这里可以对比一般的神经网络,CNN一个厉害的地方就在于通过感受野(局部连接)和权值共享减少了神经网络需要训练的参数的个数,所谓权值共享就是同一个Feature Map中神经元权值共享,该Feature Map中的所有神经元使用同一个权值。因此参数个数与神经元的个数无关,只与卷积核的大小及Feature Map的个数相关。但是共有多少个连接个数就与神经元的个数相关了,神经元的个数也就是特征图中矩阵的大小,即特征图中元素的个数。一个卷积核是由多个类似于一般神经网络中的神经元与输入特征图(或原始输入)的每个局部特征之间的权值组成的矩阵。特征图中的矩阵元素的个数,即相当于该卷积核对应的神经元个数。例如这里每个卷积核对应的神经元个数是4x4=16个,即每个卷积核就是由16个神经元与输入特征图(或原始输入)的每个局部特征之间的权值组成的矩阵,然后第一层总共有三个卷积核,所以第一层总共有16*3=48个神经元。卷积核是待学参数,跟神经元个数没有关系。神经元的个数是由输出决定的,即该层所有Feature map中总的元素个数决定的,而不是卷积核(权值矩阵)。