如何计算卷积层的参数个数

一般文献中卷积过程多是对一个通道的图像进行卷积, 但实际中图篇是多通道的,卷积核个数也大于1。比如10个卷积核,得到10个feature map, 那么输入图像为RGB三个通道呢,输出就为 30个feature map 吗, 答案肯定不是的。 输出的个数依然是 卷积核的个数,仍然是10个featuremap, 每一层输出feature map 个数 就是该层卷积核的个数。

实际上,卷积操作通过卷积核的个数可以灵活的将数据映射到更高维或更低维。

卷积神经网络

这里写图片描述

多通道多个卷积核

下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。其中需要注意的是,四个通道上每个通道对应一个2*2的卷积核,这4个2*2的卷积核上的参数是不一样的,之所以说它是1个卷积核,是因为把它看成了一个4*2*2的卷积核,4代表一开始卷积的通道数,2*2是卷积核的尺寸,实际卷积的时候其实就是4个2*2的卷积核(这四个2*2的卷积核的参数是不同的)分别去卷积对应的4个通道,然后相加,再加上偏置b,注意b对于这四通道而言是共享的,所以b的个数是和最终的featuremap的个数相同的,先将w2忽略,只看w1,那么在通道的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加,再加上偏置b1,然后再取激活函数值得到的。 所以最后得到两个feature map, 即输出层的卷积核个数为 feature map 的个数。也就是说

  • 卷积核的个数=最终的featuremap的个数
  • 卷积核的大小=开始进行卷积的通道数×每个通道上进行卷积的二维卷积核的尺寸
  • 参数的个数=卷积核个数×(卷积核大小+1)

    此处就是参数W的个数是4*(2*2)),b(偏置)的个数=卷积核的个数=featuremap的个数。

下图中k代表featuremap的个数,W的大小是(4*2*2)
这里写图片描述
卷积神经网络
这里写图片描述

所以,在上图由4个通道卷积得到2个通道的过程中,参数的数目为4×(2×2)×2+2个,其中4表示4个通道,第一个2*2表示卷积核的大小,第三个2表示featuremap个数,也就是生成的通道数,最后的2代表偏置b的个数。

同理,经典的LeNet中,箭头所处的转换所用的卷积核张量为16*6*10*10,即16个6*10*10的卷积核,卷积核的大小为10*10。 参数的数目为16*(6*10*10+1)个。
这里写图片描述

参考:
https://blog.csdn.net/dulingtingzi/article/details/79819513

CNN卷积层是深度学习中非常重要的一部分,其主要参数包括卷积核、填充、滑动步长、池化核和通道数。具体解释如下: 1. 卷积核卷积核是CNN中最重要的参数之一,它是一个小的矩阵,用于在输入图像上进行滑动卷积操作。卷积核的大小通常是正方形,例如3x3或5x5。在卷积操作中,卷积核会对输入图像的每个像素进行卷积计算,从而生成输出特征图。 2. 填充:填充是指在输入图像的边缘周围添加一些像素,以便在进行卷积操作时能够保留输入图像的边缘信息。填充可以分为两种类型:valid和same。valid表示不进行填充,same表示进行填充,使得输出特征图的大小与输入图像的大小相同。 3. 滑动步长:滑动步长是指卷积核在输入图像上滑动的步长。通常情况下,滑动步长的大小与卷积核的大小相同,例如3x3的卷积核通常使用步长为1的滑动步长。 4. 池化核:池化核是用于对输入特征图进行下采样的一种操作。常见的池化操作包括最大池化和平均池化。最大池化会选取输入特征图中每个小区域的最大值作为输出,而平均池化则会选取输入特征图中每个小区域的平均值作为输出。 5. 通道数:通道数是指输入特征图和输出特征图的数量。在CNN中,每个卷积核都会生成一个输出特征图,因此输出特征图的数量等于卷积核数量。同时,输入特征图的数量也可以通过增加通道数来实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值